*{box-sizing:border-box}body{margin:0;background:#f4f7fa;color:#18324a;font-family:Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}
.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,#082d4a,#0a3a5d);color:#dce9f3;padding:0 14px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{padding:22px 12px 20px;border-bottom:1px solid #ffffff18}.brandmark{width:58px;height:58px;border-radius:15px;background:#fff;color:#0b75d1;display:grid;place-items:center;font-size:22px;font-weight:900;margin-bottom:13px;box-shadow:0 8px 20px #001b2c44}.brand strong{font-size:20px;color:#fff;display:block}.brand small{display:block;color:#a8c3d8;margin-top:6px;line-height:1.35}
.nav{padding:15px 0 25px}.nav a{display:flex;gap:11px;align-items:center;padding:11px 12px;border-radius:9px;margin:4px 0;font-size:14px}.nav a:hover,.nav a.on{background:#1484df;color:#fff}.ico{width:22px;text-align:center;opacity:.95}
.main{min-width:0}.top{height:70px;background:#fff;border-bottom:1px solid #e0e7ed;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.top-title{font-size:18px;font-weight:800}.userchip{background:#f2f6f9;border:1px solid #e0e8ee;padding:8px 12px;border-radius:9px}
.content{padding:26px;max-width:1600px;margin:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card{background:#fff;border:1px solid #e0e8ef;border-radius:14px;padding:19px;box-shadow:0 3px 14px #17324d0a}.kpi{position:relative;overflow:hidden}.kpi b{font-size:30px;display:block;margin-top:9px}.kpi .symbol{position:absolute;right:17px;top:17px;width:40px;height:40px;border-radius:11px;background:#eef6fd;display:grid;place-items:center;font-size:20px}.muted{color:#73879a}.eyebrow{font-size:12px;font-weight:800;color:#0b79d0;text-transform:uppercase;letter-spacing:.08em}
.title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.title h1{font-size:25px;margin:0}.btn{border:0;border-radius:9px;padding:10px 14px;background:#0b7af3;color:#fff;font-weight:700;cursor:pointer;display:inline-block}.btn.gray{background:#e8eef4;color:#28465f}.btn.red{background:#d94c4c}.btn.green{background:#2d9b65}.btn.sm{padding:7px 10px;font-size:12px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:12px 11px;border-bottom:1px solid #e8eef3;font-size:13px}th{color:#657b8e;background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.tablewrap{overflow:auto;border:1px solid #e0e8ef;border-radius:12px;background:#fff}
.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #cbd8e3;border-radius:8px;background:#fff}.span2{grid-column:span 2}.span3{grid-column:span 3}
.alert{padding:12px 14px;border-radius:8px;margin-bottom:15px}.alert.ok{background:#e9f7ef;color:#26704c}.alert.err{background:#fdecec;color:#a33131}.badge{padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800;background:#e8eef4;white-space:nowrap}.badge.ok{background:#ddf5e8;color:#26704c}.badge.warn{background:#fff0cf;color:#8b650c}.badge.bad{background:#fde1e1;color:#9e3030}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs a{padding:9px 12px;background:#fff;border:1px solid #dce5ed;border-radius:8px}
.two{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:16px}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sectionhead h3{margin:0}.statusrow{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #edf1f4}.avatar{width:38px;height:38px;border-radius:50%;background:#e9f2f9;display:grid;place-items:center;font-weight:900;color:#1976c9;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.statusrow .grow{flex:1}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#32a66a;margin-right:6px}
.profile{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center}.profilepic{width:135px;height:135px;border-radius:18px;background:#edf3f7;display:grid;place-items:center;font-size:42px;overflow:hidden}.profilepic img{width:100%;height:100%;object-fit:cover}.profile h2{margin:0 0 5px}.profilemeta{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.loginbrand{background:linear-gradient(135deg,#061f35,#0b416b);color:#fff;padding:9vw 8vw}.loginbrand h1{font-size:45px;margin:20px 0 10px}.loginbox{display:flex;align-items:center;justify-content:center;background:#fff;padding:30px}.loginbox form{width:min(390px,100%)}.loginbox input{width:100%;padding:13px;border:1px solid #cbd8e3;border-radius:8px;margin:6px 0 14px}
.terminal{min-height:100vh;background:linear-gradient(145deg,#061f35,#0b416b);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center}.terminalbox{width:min(720px,92%)}.clock{font-size:72px;font-weight:800}.rfid{background:#ffffff12;border:1px solid #ffffff33;border-radius:18px;padding:35px;margin-top:25px}.rfid input{font-size:24px;padding:14px;width:80%;text-align:center}.result{font-size:26px;min-height:80px;margin-top:20px}.mobilebar{display:none}
@media(max-width:1150px){.grid5{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app{display:block}.side{position:fixed;left:-285px;z-index:20;width:270px;transition:.2s}.side.open{left:0}.mobilebar{display:inline-block}.formgrid{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.login{display:block}.loginbrand{padding:35px 25px}.loginbrand h1{font-size:30px}.loginbox{min-height:55vh}.content{padding:16px}.top{padding:0 16px}.two{grid-template-columns:1fr}.profile{grid-template-columns:1fr}.profilepic{width:100px;height:100px}}
@media(max-width:560px){.grid,.grid5{grid-template-columns:1fr}.clock{font-size:50px}.userchip{font-size:12px}.title{align-items:flex-start;flex-direction:column}}

/* v1.1.1 desktop dashboard safeguard */
@media(min-width:1151px){.grid5{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid5>.card{min-width:0}}

/* v1.2 funcionários */
.employeetabs .active{background:#0b7af3;color:#fff;border-color:#0b7af3}.employeehero{margin-bottom:14px}.formsection{margin:22px 0 12px;padding-bottom:8px;border-bottom:1px solid #e8eef3;color:#31536e}.filterbar{margin-bottom:16px}.filtergrid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.filterbutton{padding-bottom:1px}.employeegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.employeecard{background:#fff;border:1px solid #e0e8ef;border-radius:13px;padding:15px;display:flex;align-items:center;gap:13px;transition:.15s;box-shadow:0 2px 10px #17324d08}.employeecard:hover{transform:translateY(-1px);border-color:#b9d5eb;box-shadow:0 6px 18px #17324d12}.avatar.large{width:52px;height:52px;flex:0 0 52px;font-size:18px}.grow{flex:1;min-width:0}.minirow{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#6f8496;margin-top:7px}.scheduleline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin:18px 0}.scheduleline>div{background:#f6f9fb;border:1px solid #e3ebf1;border-radius:11px;padding:15px;text-align:center}.scheduleline span{display:block;color:#75899a;font-size:12px}.scheduleline b{display:block;font-size:23px;margin-top:5px}.scheduleline i{font-style:normal;color:#8da0af}.timelineitem{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f4}.timelineitem>span{width:10px;height:10px;border-radius:50%;background:#1683dc;margin-top:5px;flex:0 0 10px}
@media(max-width:1000px){.employeegrid{grid-template-columns:1fr}.filtergrid{grid-template-columns:1fr 1fr}.scheduleline{grid-template-columns:1fr 1fr}.scheduleline i{display:none}}
@media(max-width:600px){.filtergrid{grid-template-columns:1fr}.employeecard{align-items:flex-start}.scheduleline{grid-template-columns:1fr}}

.scheduleline.friday{grid-template-columns:1fr auto 1fr;max-width:600px}.hoursnote{font-weight:800;color:#31536e}

.segmented{display:flex;gap:8px;flex-wrap:wrap}.segmented label{border:1px solid #d7e1ea;border-radius:10px;padding:12px 15px;background:#f7fafc;cursor:pointer;font-weight:700}.segmented input{margin-right:7px}.absence-options{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}.absence-options label{font-weight:700}.actions{display:flex;gap:7px;align-items:center}.actions form{margin:0}.btn.small{padding:8px 11px;font-size:13px}

.absence-version{display:inline-block;padding:6px 10px;border-radius:999px;background:#eaf5ff;color:#0876c9;font-size:12px;font-weight:800;margin-bottom:10px}
.period-choice{display:flex;gap:10px;flex-wrap:wrap}.period-choice label{cursor:pointer}.period-choice input{position:absolute;opacity:0}.period-choice span{display:block;padding:12px 18px;border:1px solid #d3e0ea;border-radius:10px;background:#f7fafc;font-weight:800}.period-choice input:checked+span{background:#147fe5;color:#fff;border-color:#147fe5}
.actions{display:flex;gap:7px}.actions form{margin:0}.btn.small{padding:8px 11px;font-size:13px}

.employee-login{min-height:100vh;background:#f2f6fa;display:grid;place-items:center;padding:20px}.employee-login-box{width:min(440px,100%);background:#fff;border:1px solid #dce6ee;border-radius:20px;padding:34px;box-shadow:0 16px 45px rgba(15,45,70,.08)}.rhmark{width:64px;height:64px;border-radius:17px;background:#eef6fd;display:grid;place-items:center;color:#117bd1;font-weight:900;font-size:25px}.employee-login-btn{width:100%;margin-top:10px}.employee-head{height:72px;background:#0b3957;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1100px)/2));gap:20px}.employee-head div{display:flex;gap:14px;align-items:center}.employee-head span{opacity:.75}.employee-head a{color:#fff}.employee-main{max-width:1100px;margin:0 auto;padding:26px 18px 50px}.employee-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.employee-balance{font-size:38px;font-weight:900;margin-top:8px}.employee-main>.card{margin-bottom:16px}.portal-access-card{margin:14px 0}@media(max-width:700px){.employee-grid{grid-template-columns:1fr}.employee-head div{display:block}.employee-main .formgrid{grid-template-columns:1fr}.employee-login-box{padding:24px}}

.employee-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:6px 0 20px}.employee-welcome h1{font-size:30px;margin:4px 0}.employee-welcome p{margin:0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.08em;color:#147fe5}.employee-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.employee-stats .stat{display:flex;flex-direction:column;min-height:145px}.employee-stats strong{font-size:34px;margin:10px 0 4px}.employee-stats strong.schedule-name{font-size:19px;line-height:1.25}.employee-stats small{color:#7a8ca0}.employee-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:16px}.employee-columns>.card{margin:0}.portal-movements>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e5edf3}.portal-movements>div:last-child{border-bottom:0}.portal-movements span{display:flex;flex-direction:column;gap:4px}.portal-movements small{color:#7a8ca0}.portal-movements strong{white-space:nowrap}
@media(max-width:900px){.employee-stats{grid-template-columns:repeat(2,1fr)}.employee-columns{grid-template-columns:1fr}}
@media(max-width:600px){.employee-head{height:auto;padding:14px 18px}.employee-head div{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.employee-welcome{align-items:flex-start;flex-direction:column}.employee-welcome .btn{width:100%;text-align:center}.employee-stats{grid-template-columns:1fr 1fr;gap:10px}.employee-stats .stat{min-height:120px;padding:16px}.employee-stats strong{font-size:28px}.employee-main{padding:18px 12px 40px}.employee-main .card{border-radius:14px}.employee-main table{min-width:600px}}

.vacation-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.vacation-stats .card{display:flex;flex-direction:column;gap:10px}.vacation-stats strong{font-size:27px}@media(max-width:850px){.vacation-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.vacation-stats{grid-template-columns:1fr 1fr}}

.calendar-actions{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-bottom:16px}.calendar-actions>.card{margin:0}.calendar-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.calendar-summary .card{margin:0;display:flex;flex-direction:column;gap:8px}.calendar-summary span{color:#71859a}.calendar-summary strong{font-size:25px}.company-vac .formgrid{grid-template-columns:1fr 1fr 2fr}@media(max-width:850px){.calendar-actions{grid-template-columns:1fr}.calendar-summary{grid-template-columns:1fr 1fr}.company-vac .formgrid{grid-template-columns:1fr}}
.payment-top{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}.payment-top>.card{margin:0}@media(max-width:850px){.payment-top{grid-template-columns:1fr}}
.pdf-progress{margin:16px 0}.progress-track{height:9px;background:#e8eef4;border-radius:20px;overflow:hidden;margin-top:8px}.progress-track>div{height:100%;width:0;background:#147fe5;transition:width .15s ease}

/* v3.1.3 responsive menu */

/* v3.1.6 - menu tablet/telemóvel definitivo */
.menu-backdrop{display:none}
@media(max-width:900px){
  .app{display:block!important}
  .side{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:-290px!important;
    right:auto!important;
    bottom:0!important;
    width:270px!important;
    height:100dvh!important;
    max-height:100dvh!important;
    z-index:2000!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain;
    padding:0 14px 90px!important;
    transition:left .22s ease!important;
  }
  .side.open{left:0!important}
  .side .brand{display:block!important}
  .side .nav{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:15px 0 80px!important;
  }
  .side .nav a{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:44px!important;
    flex:none!important;
  }
  .mobilebar{display:inline-block!important}
  .menu-backdrop{
    display:none;
    position:fixed;
    inset:0;
    z-index:1999;
    background:rgba(0,0,0,.42);
  }
  body.mobile-menu-open .menu-backdrop{display:block!important}
  body.mobile-menu-open{overflow:hidden!important}
}
\n\n/* v3.2.0 - Relogio de Ponto reorganizado */
.point-title{margin-bottom:12px}.point-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 1px 12px;scrollbar-width:thin}.point-tabs a{flex:0 0 auto;text-decoration:none;color:#52677c;background:#fff;border:1px solid #dfe7ef;border-radius:10px;padding:9px 14px;font-weight:700;font-size:13px}.point-tabs a:hover,.point-tabs a.on{color:#147fe5;border-color:#a9d0f5;background:#eef7ff}.point-status{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:15px 18px}.point-online{display:flex;align-items:center;gap:8px;margin-bottom:4px}.point-online span{width:10px;height:10px;border-radius:50%;display:inline-block;background:#9aa8b5}.point-online.is-online span{background:#27ae60;box-shadow:0 0 0 4px rgba(39,174,96,.12)}.point-online.is-offline span{background:#e59b25}.point-status-links{display:flex;gap:26px;align-items:center}.point-status-links span{display:flex;flex-direction:column;min-width:95px}.point-status-links b{font-size:20px}.point-status-links small{color:#71859a;white-space:nowrap}.point-filter{margin-bottom:16px}.point-section{margin:22px 0 10px}.point-section h3,.point-section p{margin:0}.point-section p{margin-top:3px}@media(max-width:700px){.point-title{align-items:flex-start;gap:10px}.point-status{align-items:flex-start;flex-direction:column}.point-status-links{width:100%;justify-content:space-between;gap:10px}.point-status-links span{min-width:0}.point-tabs{margin-right:-12px;padding-right:12px}.point-section{align-items:flex-start}}


/* v3.3.0 - dashboard Relogio de Ponto */
.point-system{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;margin-bottom:16px;border:1px solid #dfe8ef;border-radius:13px;background:#fff}.point-system-main{display:flex;align-items:center;gap:11px}.point-system-main>div{display:flex;flex-direction:column;gap:2px}.point-system-main small{color:#74889a}.point-dot{width:11px;height:11px;border-radius:50%;background:#e39a28;box-shadow:0 0 0 4px rgba(227,154,40,.12)}.point-system.online .point-dot{background:#27ae60;box-shadow:0 0 0 4px rgba(39,174,96,.12)}.point-system-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.point-system-actions a{text-decoration:none;color:#31536e;background:#f5f8fa;border:1px solid #e1e8ee;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800}.point-system-actions a:hover{background:#eaf5ff;color:#147fe5;border-color:#bedcf4}
.point-overview{display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;gap:12px;margin-bottom:16px}.point-stat{background:#fff;border:1px solid #e0e8ef;border-radius:14px;padding:17px 18px;box-shadow:0 2px 10px #17324d08;display:flex;flex-direction:column;min-height:116px}.point-stat span{font-size:12px;font-weight:800;color:#71859a;text-transform:uppercase;letter-spacing:.03em}.point-stat strong{font-size:30px;line-height:1.1;margin:10px 0 3px;color:#173b57}.point-stat small{color:#8a9aa8}.point-stat.point-last strong{font-size:18px;margin-top:14px;white-space:normal}.point-today{margin-bottom:16px;padding:0;overflow:hidden}.point-today .sectionhead{padding:17px 18px 13px;margin:0}.point-today .sectionhead h3,.point-today .sectionhead p{margin:0}.point-today .sectionhead p{margin-top:3px}.point-date{font-size:12px;font-weight:800;color:#61798c;background:#f2f6f9;padding:7px 10px;border-radius:8px}.today-table th{background:#f7fafc}.today-table td,.today-table th{padding-top:12px;padding-bottom:12px}.point-detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.point-detail-kpis .card{margin:0}.point-section{border-top:1px solid #e5edf3;padding-top:20px}
@media(max-width:1050px){.point-overview{grid-template-columns:1fr 1fr}.point-detail-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.point-system{align-items:flex-start;flex-direction:column}.point-system-actions{width:100%;justify-content:flex-start}.point-overview{grid-template-columns:1fr 1fr;gap:9px}.point-stat{min-height:105px;padding:14px}.point-stat strong{font-size:25px}.point-stat.point-last{grid-column:1/-1;min-height:auto}.point-today{padding:0}.today-table{min-width:690px}.point-detail-kpis{grid-template-columns:1fr 1fr;gap:9px}}
@media(max-width:430px){.point-overview{grid-template-columns:1fr 1fr}.point-system-actions a{flex:1;text-align:center}.point-detail-kpis{grid-template-columns:1fr 1fr}.point-title .btn{padding:9px 11px}}

/* v3.4.0 ausencias e anomalias */
.point-stat-link{text-decoration:none;color:inherit;transition:.15s}.point-stat-link:hover{border-color:#f0b75d;transform:translateY(-1px)}.anomaly-top{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.anomaly-top>.card{margin:0}.anomaly-tabs{display:flex;gap:8px;margin:18px 0}.anomaly-tabs a{text-decoration:none;padding:9px 14px;border-radius:9px;background:#f2f6f9;color:#50687c;font-weight:800}.anomaly-tabs a.on{background:#eaf5ff;color:#147fe5}.anomaly-card{margin-bottom:12px}.anomaly-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.anomaly-head h3{margin:8px 0 3px}.anomaly-head p{margin:0;color:#61798c}.ignore-form{display:flex;gap:8px;margin-top:10px}.ignore-form input{max-width:420px}.regularized-info{background:#f5f8fa;border-radius:10px;padding:12px 14px}.anomaly-card input[type=file]{padding:9px;background:#fff}@media(max-width:800px){.anomaly-top{grid-template-columns:1fr}.anomaly-head{flex-direction:column}.ignore-form{flex-direction:column}.anomaly-tabs{overflow-x:auto}}

/* v3.5.0 processamento salarial e validacao */
.salary-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0;overflow:hidden;margin-bottom:16px}.salary-flow>div{padding:15px 14px;border-right:1px solid #e5edf3;display:grid;grid-template-columns:30px 1fr;column-gap:9px;align-items:center}.salary-flow>div:last-child{border-right:0}.salary-flow span{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eaf5ff;color:#147fe5;font-weight:900}.salary-flow b{font-size:13px}.salary-flow small{color:#7c8e9d}.salary-close{display:flex;justify-content:space-between;gap:20px;align-items:center}.salary-close h3{margin:0 0 5px}.salary-close p{margin:0 0 10px}.salary-close-actions{display:flex;gap:8px;flex:none}.salary-close-actions form{margin:0}.vbadge{display:inline-block;padding:5px 8px;border-radius:8px;font-size:11px;font-weight:900;white-space:nowrap}.vbadge.ok{background:#e8f7ee;color:#23844b}.vbadge.bad{background:#fdecec;color:#b93838}.vbadge.warn{background:#fff4dc;color:#9a6812}.vdetails{margin-top:6px;min-width:210px}.vdetails summary{cursor:pointer;font-size:11px;font-weight:800;color:#51718a}.vdetails div{font-size:11px;padding:3px 0;color:#5f7282}@media(max-width:900px){.salary-flow{grid-template-columns:1fr 1fr}.salary-flow>div{border-bottom:1px solid #e5edf3}.salary-close{align-items:flex-start;flex-direction:column}.salary-close-actions{width:100%;flex-wrap:wrap}}@media(max-width:520px){.salary-flow{grid-template-columns:1fr}.salary-close-actions form,.salary-close-actions button{width:100%}}

/* v3.6.1 - validacao RH x recibo */
.vbadge.info{background:#edf3f7;color:#536b7d}.validation-grid{display:grid!important;grid-template-columns:minmax(130px,1.2fr) minmax(110px,1fr) minmax(150px,1.4fr) 45px;gap:0!important;margin-top:8px;border:1px solid #e2e9ef;border-radius:9px;overflow:hidden;min-width:520px}.validation-grid>div{padding:7px 8px!important;border-bottom:1px solid #edf1f4;font-size:11px!important;background:#fff}.validation-grid>.vh{background:#f6f9fb;font-weight:900;color:#526b7e}.vstate{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:900}.vstate.ok{background:#e8f7ee;color:#23844b}.vstate.erro{background:#fdecec;color:#b93838}.vstate.aviso{background:#fff4dc;color:#9a6812}.vstate.info{background:#edf3f7;color:#536b7d}@media(max-width:700px){.vdetails{max-width:75vw;overflow-x:auto}.validation-grid{min-width:520px}}


/* =========================================================
   RH v4.0.0 — Sistema visual unificado
   ========================================================= */
:root{
  --rh-bg:#f7f9fc;--rh-surface:#fff;--rh-surface-soft:#f8fafc;
  --rh-text:#16324a;--rh-muted:#667d90;--rh-border:#dce5ed;
  --rh-primary:#147fe5;--rh-primary-hover:#0d6fca;--rh-primary-soft:#eef7ff;
  --rh-success:#269764;--rh-success-soft:#e9f7f0;
  --rh-danger:#cf4b4b;--rh-danger-soft:#fff0f0;
  --rh-warning:#b77a16;--rh-warning-soft:#fff6e5;
  --rh-radius:12px;--rh-radius-lg:16px;--rh-shadow:0 4px 18px rgba(20,49,73,.055);
}
html{background:var(--rh-bg)}
body{background:var(--rh-bg);color:var(--rh-text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
.main{background:var(--rh-bg)}
.content{padding:28px 30px 42px;max-width:1540px;width:100%}
.top{height:68px;border-color:var(--rh-border);padding:0 30px;box-shadow:0 1px 0 rgba(22,50,74,.02)}
.top-title{font-size:18px;letter-spacing:-.01em}.userchip{background:#fff;border-color:var(--rh-border);padding:8px 12px;border-radius:10px}
.userchip a{color:var(--rh-primary);font-weight:700}
.side{width:auto;background:#0b3858;padding:0 14px}.brand{padding:20px 12px 18px}.brandmark{width:54px;height:54px;border-radius:14px;margin-bottom:12px;box-shadow:none}.brand strong{font-size:18px}.brand small{font-size:12px}
.nav{padding-top:12px}.nav a{min-height:43px;margin:3px 0;padding:10px 12px;border-radius:10px;color:#dce9f3;transition:background .15s ease,color .15s ease}.nav a:hover{background:rgba(255,255,255,.09)}.nav a.on{background:var(--rh-primary);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.title{margin-bottom:20px;min-height:42px}.title h1{font-size:26px;letter-spacing:-.025em}.title .muted{margin-top:3px}
h1,h2,h3,h4{color:var(--rh-text)}h2{letter-spacing:-.015em}h3{letter-spacing:-.01em}.muted{color:var(--rh-muted)}
.card,.employeecard,.point-stat,.point-system{border:1px solid var(--rh-border);border-radius:var(--rh-radius-lg);box-shadow:var(--rh-shadow);background:var(--rh-surface)}
.card{padding:20px}.card>h3:first-child{margin-top:0}.sectionhead{margin-bottom:14px}.sectionhead h3{font-size:17px}
.kpi b,.point-stat strong{color:var(--rh-text)}.kpi .symbol{background:var(--rh-primary-soft);color:var(--rh-primary)}
.btn{min-height:39px;border:1px solid transparent;border-radius:10px;padding:9px 14px;background:var(--rh-primary);font:inherit;font-weight:750;line-height:1.2;box-shadow:none;transition:background .15s ease,border-color .15s ease,transform .05s ease}.btn:hover{background:var(--rh-primary-hover)}.btn:active{transform:translateY(1px)}
.btn.gray{background:#fff;color:#3c5870;border-color:var(--rh-border)}.btn.gray:hover{background:#f5f8fb;border-color:#cbd8e2}.btn.green{background:var(--rh-success)}.btn.green:hover{background:#218457}.btn.red{background:var(--rh-danger)}.btn.red:hover{background:#ba4141}.btn.sm,.btn.small{min-height:32px;padding:6px 10px;font-size:12px;border-radius:8px}
.actions{gap:8px;flex-wrap:wrap}
.field{min-width:0}.field label,.loginbox label{display:block;font-size:12px;font-weight:800;color:#38556d;margin:0 0 6px}
.field input,.field select,.field textarea,.loginbox input,.ignore-form input,.rfid input{min-height:42px;width:100%;padding:9px 11px;border:1px solid #cbd8e3;border-radius:10px;background:#fff;color:var(--rh-text);font:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.field textarea{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.loginbox input:focus{border-color:#74b4ed;box-shadow:0 0 0 3px rgba(20,127,229,.10)}
.field input:disabled,.field select:disabled,.field textarea:disabled{background:#f3f6f8;color:#788b9a}
.formgrid{gap:16px}.formsection{margin:25px 0 14px;padding-bottom:9px;color:#294b66;font-size:15px}
.filterbar{padding:16px 18px}.filtergrid{gap:12px}.filterbutton .btn{min-width:90px}
.tablewrap{border-color:var(--rh-border);border-radius:var(--rh-radius-lg);box-shadow:var(--rh-shadow);background:#fff}
table{background:#fff}th,td{padding:12px 12px;border-bottom:1px solid #e8eef3;vertical-align:middle}th{background:#f7f9fb;color:#587085;font-size:11px;font-weight:850;letter-spacing:.045em}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfdff}
.badge,.vbadge{border-radius:999px;padding:5px 9px;font-weight:850}.badge.ok,.vbadge.ok{background:var(--rh-success-soft);color:#237a51}.badge.warn,.vbadge.warn{background:var(--rh-warning-soft);color:#936112}.badge.bad,.vbadge.bad{background:var(--rh-danger-soft);color:#a73b3b}.vbadge.info{background:#eef3f7;color:#526b7d}
.alert{border-radius:11px;border:1px solid transparent;padding:12px 14px}.alert.ok{background:var(--rh-success-soft);border-color:#cdebdc}.alert.err{background:var(--rh-danger-soft);border-color:#f2d0d0}
.tabs,.anomaly-tabs{gap:7px}.tabs a,.anomaly-tabs a{border:1px solid var(--rh-border);background:#fff;border-radius:10px;padding:8px 12px;font-weight:750}.tabs a:hover,.anomaly-tabs a:hover{background:#f7fafc}.tabs a.active,.tabs a.on,.anomaly-tabs a.on{background:var(--rh-primary-soft);border-color:#bcdcf7;color:var(--rh-primary)}
.segmented label,.period-choice span{background:#fff;border-color:var(--rh-border)}
.loginbox{background:var(--rh-bg)}.loginbox form,.employee-login-box{background:#fff;border:1px solid var(--rh-border);border-radius:18px;padding:30px;box-shadow:0 14px 40px rgba(18,49,73,.08)}.loginbox form{width:min(420px,100%)}.loginbox h2{font-size:28px;margin:0 0 6px}.loginbrand{background:linear-gradient(145deg,#082c48,#0c456d)}
.point-overview{gap:14px}.point-stat{min-height:112px}.point-stat span{color:var(--rh-muted)}.point-system-actions a{background:#fff;border-color:var(--rh-border)}.point-today{border-radius:var(--rh-radius-lg)}
.salary-flow{border:1px solid var(--rh-border);border-radius:var(--rh-radius-lg);box-shadow:var(--rh-shadow);background:#fff}.salary-flow>div{border-color:#e8eef3}.salary-close{gap:16px}.vdetails{min-width:0}.validation-grid{min-width:0;width:min(100%,720px);grid-template-columns:minmax(120px,1.2fr) minmax(100px,1fr) minmax(135px,1.35fr) 48px;border-radius:11px;border-color:var(--rh-border)}.validation-grid>div{padding:9px 10px!important}.validation-grid>.vh{background:#f7f9fb}
.profilepic{border:1px solid var(--rh-border)}.employeecard:hover{border-color:#b7d7f1;box-shadow:0 7px 20px rgba(23,50,77,.08)}
input[type=file]::file-selector-button{border:0;border-radius:8px;background:#eef5fb;color:#31536e;padding:7px 10px;font-weight:750;margin-right:10px;cursor:pointer}
@media(max-width:900px){.content{padding:18px 16px 32px}.top{padding:0 16px}.side{width:270px!important}.mobilebar{min-width:40px;padding:7px 10px}.userchip{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salary-flow{box-shadow:none}}
@media(max-width:700px){.card{padding:16px}.title h1{font-size:23px}.formgrid{gap:12px}.tablewrap{box-shadow:none}.validation-grid{min-width:0!important;display:grid!important;grid-template-columns:1fr 1fr!important}.validation-grid>.vh{display:none}.validation-grid>div{border-bottom:1px solid #edf1f4}.validation-grid>div:nth-child(4n+1){font-weight:850;background:#f8fafc}.validation-grid>div:nth-child(4n+4){text-align:right}.vdetails{max-width:100%;overflow:visible}.salary-close-actions{display:grid;grid-template-columns:1fr;width:100%}.salary-close-actions form,.salary-close-actions .btn{width:100%}}
@media(max-width:560px){.content{padding:14px 12px 28px}.top{height:62px}.top-title{font-size:16px}.userchip{padding:7px 9px}.card{border-radius:13px}.grid,.grid5{gap:10px}.point-overview{gap:10px}.point-stat{border-radius:13px}.actions>.btn,.actions>form{max-width:100%}}

/* RH v4.1.0 — Processamento salarial em linhas/cartões */
.payroll-panel{padding:0;overflow:hidden}.payroll-panel>.sectionhead{padding:18px 20px;margin:0;border-bottom:1px solid var(--rh-border)}.payroll-panel>.sectionhead h3{margin:0 0 3px}.payroll-period{display:flex;gap:8px;align-items:center}.payroll-period input{width:88px}.payroll-period input[name="ano"]{width:108px}.payroll-list{display:grid}.payroll-item{background:#fff;border-bottom:1px solid var(--rh-border)}.payroll-item:last-child{border-bottom:0}.payroll-form{margin:0}.payroll-main{display:grid;grid-template-columns:minmax(210px,1.6fr) minmax(155px,.9fr) 125px 145px 155px 86px;gap:16px;align-items:end;padding:18px 20px}.payroll-person{align-self:center;min-width:0}.payroll-person>strong{display:block;font-size:15px;color:var(--rh-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:5px;font-size:12px;color:var(--rh-muted)}.payroll-pdf{font-weight:750;text-decoration:none}.payroll-check{align-self:center}.payroll-main label{display:block;margin:0 0 6px;font-size:11px;font-weight:800;color:#6d8191;text-transform:uppercase;letter-spacing:.03em}.payroll-main input,.payroll-main select{width:100%;height:40px}.money-input{display:grid;grid-template-columns:1fr 24px;align-items:center}.money-input input{border-radius:9px 0 0 9px}.money-input span{height:40px;display:grid;place-items:center;border:1px solid var(--rh-border);border-left:0;border-radius:0 9px 9px 0;background:#f8fafb;font-weight:800;color:#526b7e}.payroll-save{display:flex;align-items:end}.payroll-save .btn{height:40px;width:100%;padding:0 12px}.payroll-detail{padding:0 20px 18px}.payroll-validation{margin:0;max-width:760px}.payroll-validation summary{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:8px;background:#f5f8fa;color:#42637a;font-size:12px}.payroll-validation summary span{font-size:17px;line-height:10px}.payroll-validation[open] summary{margin-bottom:10px}.payroll-empty{padding:24px 20px;text-align:center}
@media(max-width:1200px){.payroll-main{grid-template-columns:minmax(200px,1.4fr) 150px 120px 140px 150px}.payroll-save{grid-column:5}.payroll-check{grid-column:2}.payroll-amount{grid-column:3}.payroll-status{grid-column:4}.payroll-date{grid-column:5}.payroll-save{grid-column:6}.payroll-main{grid-template-columns:minmax(190px,1.4fr) 145px 115px 135px 145px 82px;gap:10px}}
@media(max-width:980px){.payroll-main{grid-template-columns:1fr 1fr 1fr}.payroll-person{grid-column:1/3}.payroll-check{grid-column:3;text-align:right}.payroll-amount,.payroll-status,.payroll-date{grid-column:auto}.payroll-save{grid-column:3;justify-self:end}.payroll-save .btn{width:auto;min-width:90px}.payroll-detail{padding-top:0}.payroll-period{flex-wrap:wrap}}
@media(max-width:640px){.payroll-panel>.sectionhead{align-items:flex-start}.payroll-period{width:100%;display:grid;grid-template-columns:72px 1fr}.payroll-period input,.payroll-period input[name="ano"]{width:100%}.payroll-period .btn{grid-column:1/3;width:100%}.payroll-main{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.payroll-person{grid-column:1/3}.payroll-person>strong{white-space:normal}.payroll-check{grid-column:1/3;text-align:left}.payroll-amount,.payroll-status{grid-column:auto}.payroll-date{grid-column:1/3}.payroll-save{grid-column:1/3;justify-self:stretch}.payroll-save .btn{width:100%}.payroll-detail{padding:0 16px 16px}.payroll-validation{max-width:none}.validation-grid{grid-template-columns:1fr 1fr!important}.payroll-meta span{display:none}}

/* v4.1.1 — alinhamento com o sistema visual global do RH */
.payroll-panel{border-radius:14px;background:#fff}
.payroll-panel>.sectionhead{background:#fff;padding:16px 18px}
.payroll-main{grid-template-columns:minmax(280px,1.8fr) 135px 165px 170px 92px;gap:14px;padding:15px 18px;align-items:center}
.payroll-person{align-self:center}.payroll-person>strong{font-size:15px;line-height:1.25}
.payroll-meta{gap:8px;margin-top:6px;min-height:26px}.payroll-meta .vbadge{margin-left:2px}.payroll-iban{color:#7b8d9b}
.payroll-main label{margin-bottom:5px;color:#6a7f91;font-size:10px;letter-spacing:.055em}
.payroll-main input,.payroll-main select,.money-input span{height:38px;border-color:#d8e2ea;background:#fff}
.payroll-main input:focus,.payroll-main select:focus{border-color:#8fc4ee;box-shadow:0 0 0 3px rgba(20,127,229,.10);outline:0}
.money-input span{background:#f7f9fb;color:#587085}.payroll-save .btn{height:38px;border-radius:9px;font-size:12px;box-shadow:none}
.payroll-save .btn:not(.is-dirty){background:#eef3f7;color:#60788b;border:1px solid #dce5ec}
.payroll-save .btn.is-dirty{background:#147fe5;color:#fff;border-color:#147fe5}
.payroll-detail{padding:0 18px 15px}.payroll-validation{max-width:820px}.payroll-validation summary{background:#f5f8fa;border:1px solid #e3eaf0;padding:6px 9px}
.payroll-item:hover{background:#fbfdff}.payroll-item:hover .payroll-main{background:#fbfdff}
@media(max-width:1050px){.payroll-main{grid-template-columns:minmax(230px,1.5fr) 125px 150px 155px 86px;gap:10px}}
@media(max-width:900px){.payroll-main{grid-template-columns:1fr 1fr 1fr;padding:15px 16px}.payroll-person{grid-column:1/4}.payroll-amount,.payroll-status,.payroll-date{grid-column:auto}.payroll-save{grid-column:3;justify-self:end}.payroll-save .btn{min-width:86px}.payroll-iban{display:none}}
@media(max-width:640px){.payroll-main{grid-template-columns:1fr 1fr}.payroll-person{grid-column:1/3}.payroll-amount,.payroll-status{grid-column:auto}.payroll-date,.payroll-save{grid-column:1/3}.payroll-save{justify-self:stretch}.payroll-save .btn{width:100%}.payroll-meta{align-items:center}.payroll-meta .vbadge{order:2}.payroll-detail{padding:0 16px 14px}}


/* v4.1.2 — Processamento Salarial: usar exatamente o sistema visual global do RH */
.payroll-period input,
.payroll-main input,
.payroll-main select{
  min-height:42px;
  height:42px;
  width:100%;
  padding:9px 11px;
  border:1px solid #cbd8e3;
  border-radius:10px;
  background:#fff;
  color:var(--rh-text);
  font:inherit;
  outline:none;
  box-shadow:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.payroll-period input:focus,
.payroll-main input:focus,
.payroll-main select:focus{
  border-color:#74b4ed;
  box-shadow:0 0 0 3px rgba(20,127,229,.10);
}
.payroll-main select{appearance:auto}
.money-input{display:block;position:relative}
.money-input input{border-radius:10px!important;padding-right:34px!important}
.money-input span{
  position:absolute;right:11px;top:0;
  height:42px!important;width:auto;
  display:flex;align-items:center;
  border:0!important;background:transparent!important;
  color:#587085;font-weight:800;pointer-events:none;
}
.payroll-save .btn{height:42px;border-radius:10px}
.payroll-period .btn{min-height:42px;border-radius:10px}
.payroll-main label{color:#38556d;font-size:12px;letter-spacing:0;text-transform:none;margin-bottom:6px}


/* v4.1.4 — ações do Processamento Salarial */
.payroll-save{
  align-self:end;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding-bottom:0;
}
.payroll-save .btn{
  min-width:96px;
  height:42px;
  border-radius:10px;
  background:#eef3f7;
  color:#60788b;
  border:1px solid #dce5ec;
  box-shadow:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.payroll-save .btn.is-dirty{
  background:#2d9b65;
  border-color:#2d9b65;
  color:#fff;
}
.payroll-save .btn.is-dirty:hover{
  background:#278858;
  border-color:#278858;
  transform:translateY(-1px);
}
.payroll-validation summary{
  background:#eaf5ff;
  border:1px solid #cfe6f8;
  color:#0b6fbd;
  font-weight:800;
  border-radius:9px;
  padding:7px 11px;
}
.payroll-validation summary:hover{
  background:#dcefff;
  border-color:#b8daf4;
  color:#075f9f;
}
.payroll-validation[open] summary{
  background:#dcefff;
  border-color:#b8daf4;
}
@media(max-width:900px){
  .payroll-save{align-self:end;justify-self:end}
}
@media(max-width:640px){
  .payroll-save{justify-self:stretch}
  .payroll-save .btn{width:100%}
}


/* v4.1.5 — Guardar sempre verde */
.payroll-save .btn,
.payroll-save .btn:not(.is-dirty){
  background:#2d9b65!important;
  border-color:#2d9b65!important;
  color:#fff!important;
  box-shadow:0 2px 5px rgba(45,155,101,.16)!important;
}
.payroll-save .btn:hover,
.payroll-save .btn:not(.is-dirty):hover{
  background:#278858!important;
  border-color:#278858!important;
  color:#fff!important;
  transform:translateY(-1px);
}
.payroll-save .btn:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(45,155,101,.18)!important;
}
/* v4.2.0 · email de processamento para contabilidade */
.accounting-mail{margin:18px 0}.accounting-mail .sectionhead{align-items:center}.accounting-mail-form{margin-top:18px;border-top:1px solid #e6edf5;padding-top:18px}.accounting-mail textarea{width:100%;resize:vertical;min-height:230px;line-height:1.55}.mail-attachments{margin-top:14px;padding:12px 14px;background:#f7faff;border:1px solid #e0eaf6;border-radius:10px;color:#526173}.mail-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.mail-actions .btn.green{background:#198754;color:#fff;border-color:#198754}.mail-actions .btn.green:hover{background:#157347}@media(max-width:720px){.mail-actions{flex-direction:column}.mail-actions .btn{width:100%}.accounting-mail .sectionhead{align-items:flex-start;gap:12px}}

/* v4.3.0 - processamento salarial automático */
.auto-mail-ready{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0 2px}.auto-mail-ready h4{margin:8px 0 5px;font-size:16px}.auto-mail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.auto-mail-actions form{margin:0}.mail-preview{margin-top:16px;padding-top:16px;border-top:1px solid var(--line,#dfe7f0)}.readonly-box,.mail-body-preview{width:100%;box-sizing:border-box;border:1px solid #d8e2ee;border-radius:10px;background:#f8fafc;padding:11px 13px;color:#26374a}.mail-body-preview{white-space:pre-wrap;font-family:inherit;line-height:1.55;min-height:180px}.checkline{display:flex!important;align-items:center;gap:9px;min-height:42px}.checkline input{width:auto!important;height:auto!important}
@media(max-width:760px){.auto-mail-ready{align-items:flex-start;flex-direction:column}.auto-mail-actions{width:100%}.auto-mail-actions .btn,.auto-mail-actions form{flex:1}.auto-mail-actions form .btn{width:100%}}

/* v4.4.3 - barra compacta de estados e ações do processamento salarial */
.payroll-actionbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px 16px;flex-wrap:wrap}
.payroll-states,.payroll-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.status-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1.2}
.status-pill.success{background:#e9f7ef;color:#18784a}.status-pill.success.soft{background:#f0f7f3;color:#3d745b}.status-pill.warning{background:#fff4df;color:#946000}
.action-link{appearance:none;border:1px solid #d9e5ee;background:#fff;color:#315f7e;border-radius:9px;min-height:32px;padding:6px 10px;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}.action-link:hover{background:#f4f9fc;border-color:#c7dce9}
.more-actions{position:relative}.more-actions>summary{list-style:none;cursor:pointer;width:34px;height:32px;border:1px solid #d9e5ee;border-radius:9px;background:#fff;color:#42637a;font-weight:900;display:grid;place-items:center}.more-actions>summary::-webkit-details-marker{display:none}.more-actions-menu{position:absolute;right:0;top:38px;z-index:30;min-width:165px;padding:6px;background:#fff;border:1px solid #d9e5ee;border-radius:10px;box-shadow:0 10px 28px rgba(28,55,75,.14)}.more-actions-menu form{margin:0}.more-actions-menu button{width:100%;border:0;background:transparent;border-radius:7px;padding:9px 10px;text-align:left;color:#315f7e;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.more-actions-menu button:hover{background:#f4f8fb}
@media(max-width:640px){.payroll-actionbar{padding:0 16px 14px;align-items:flex-start}.payroll-states,.payroll-links{width:100%}.payroll-links{justify-content:flex-start}}

/* v4.4.5 - ações e estados integrados no bloco do funcionário */
.payroll-item-compact{position:relative}
.payroll-item-compact .payroll-main{align-items:center}
.payroll-person-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}
.payroll-person-actions .action-link.compact,
.payroll-validation-inline>summary{min-height:28px;padding:4px 9px;border:1px solid #d9e5ee;border-radius:8px;background:#fff;color:#315f7e;font-size:11px;font-weight:800;line-height:18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.payroll-validation-inline>summary:hover,.payroll-person-actions .action-link.compact:hover{background:#f4f9fc;border-color:#c7dce9}
.payroll-validation-inline{position:relative;margin:0;max-width:none}
.payroll-validation-inline[open] .validation-grid{position:absolute;left:0;top:34px;z-index:40;width:min(680px,72vw);background:#fff;border:1px solid #d9e5ee;border-radius:10px;box-shadow:0 12px 32px rgba(28,55,75,.16);overflow:hidden}
.payroll-validation-inline[open]>summary{margin-bottom:0}
.payroll-person-states{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.payroll-person-states .status-pill{min-height:24px;padding:3px 8px;font-size:11px}
.payroll-person-actions .more-actions>summary{width:30px;height:28px;border-radius:8px}
.payroll-person-actions .more-actions-menu{left:0;right:auto;top:34px}
.payroll-item-compact .payroll-meta{min-height:0;margin-top:5px}
.payroll-item-compact .payroll-meta .vbadge,.payroll-item-compact .payroll-iban{display:none}
.payroll-actionbar{display:none!important}
@media(max-width:640px){.payroll-person-actions,.payroll-person-states{width:100%}.payroll-validation-inline[open] .validation-grid{position:fixed;left:12px;right:12px;top:110px;width:auto;max-height:65vh;overflow:auto}}


/* v4.4.6 - validação expande por baixo de toda a linha, sem sobreposição */
.payroll-panel{overflow:visible}
.payroll-item-compact{overflow:visible}
.payroll-validation-panel{border-top:1px solid #e5edf3;background:#fbfdff;padding:14px 20px 18px}
.payroll-validation-panel[hidden]{display:none!important}
.payroll-validation-panel .validation-grid{max-width:900px;border:1px solid #d9e5ee;border-radius:10px;overflow:hidden;background:#fff}
.js-toggle-validation[aria-expanded="true"]{background:#eaf5ff;border-color:#bcdcf3;color:#0b6cae}
@media(max-width:640px){.payroll-validation-panel{padding:12px 16px 16px;overflow-x:auto}.payroll-validation-panel .validation-grid{min-width:620px}}

/* v4.4.7 - alinhar Guardar com os campos Liquido/Pagamento/Data */
@media(min-width:901px){
  .payroll-item-compact .payroll-main{align-items:start}
  .payroll-item-compact .payroll-save{
    align-self:start;
    justify-self:stretch;
    padding-top:24px;
    padding-bottom:0;
  }
  .payroll-item-compact .payroll-save .btn{
    width:100%;
    height:42px;
    min-height:42px;
    margin:0;
  }
}

/* RH v4.7.0 — visual compacto e moderno do relógio de ponto */
.point-compact-wrap{overflow:visible}
.point-compact-table{table-layout:auto}
.point-compact-table th,.point-compact-table td{padding:10px 10px}
.point-compact-table th{white-space:nowrap}
.point-person{min-width:165px}.point-person b{font-size:13px;color:#173b57}
.point-schedule{display:inline-grid;place-items:center;min-width:48px;padding:5px 8px;border-radius:8px;background:#f1f5f8;color:#3c5870;font-weight:800}
.point-times{display:flex;gap:5px;align-items:center;flex-wrap:nowrap}
.point-time{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:8px;background:#f6f9fb;border:1px solid #e4ebf1;white-space:nowrap}
.point-time small{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:900;background:#e8f3fc;color:#147fe5}.point-time b{font-size:12px;font-variant-numeric:tabular-nums}
.point-time-inicio_pausa small{background:#fff3dc;color:#a66b0e}.point-time-fim_pausa small{background:#eef8f2;color:#27805a}.point-time-saida small{background:#f2eefb;color:#6c4cad}
.point-balance{font-weight:900;padding:5px 8px;border-radius:8px;white-space:nowrap}.point-balance.pos{background:#e9f7f0;color:#237a51}.point-balance.neg{background:#fff0f0;color:#a73b3b}
.point-situation{min-width:150px}.point-extra-action{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.point-extra-action>div{display:flex;gap:5px}.point-extra-action form{margin:0}
.point-detail-cell{width:82px}.point-row-details{position:relative}.point-row-details>summary{list-style:none;cursor:pointer;color:#147fe5;font-weight:800;font-size:12px;padding:6px 8px;border-radius:8px;text-align:center}.point-row-details>summary::-webkit-details-marker{display:none}.point-row-details>summary:hover{background:#eef7ff}
.point-detail-panel{position:absolute;right:0;top:34px;z-index:12;width:min(620px,80vw);padding:16px;background:#fff;border:1px solid #dce6ee;border-radius:14px;box-shadow:0 18px 45px rgba(18,49,73,.16)}
.point-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.point-detail-metrics span{padding:10px;border-radius:10px;background:#f6f9fb}.point-detail-metrics small{display:block;color:#71859a;font-size:10px;text-transform:uppercase;font-weight:800}.point-detail-metrics b{display:block;margin-top:3px;font-size:12px}
.point-mark-list{border-top:1px solid #e8eef3;padding-top:8px}.point-mark-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 2px;border-bottom:1px solid #edf2f5}.point-mark-row>div{display:flex;gap:8px;align-items:center}.point-mark-row span{color:#61798c;font-size:12px}
.point-edit-box{padding:12px;margin:7px 0;background:#f7fafc;border:1px solid #e1e9ef;border-radius:10px}.point-edit-box form{display:grid;grid-template-columns:1.4fr 1fr 1.5fr auto;gap:7px;margin:0 0 7px}.point-edit-box form:last-child{grid-template-columns:1fr auto;margin-bottom:0}.point-edit-box input,.point-edit-box select{min-height:36px;border:1px solid #cbd8e3;border-radius:8px;padding:6px 8px}
@media(max-width:1200px){.point-compact-wrap{overflow-x:auto}.point-compact-table{min-width:980px}.point-times{gap:4px}.point-time{padding:4px 6px}}
@media(max-width:700px){.point-compact-wrap{overflow:visible;border:0;box-shadow:none;background:transparent}.point-compact-table,.point-compact-table tbody{display:block;min-width:0}.point-compact-table>tbody>tr:first-child{display:none}.point-compact-table>tbody>tr:not(:first-child){display:grid;grid-template-columns:1fr auto;gap:8px;background:#fff;border:1px solid var(--rh-border);border-radius:14px;padding:13px;margin-bottom:10px;box-shadow:var(--rh-shadow)}.point-compact-table td{display:block;border:0!important;padding:2px 0!important}.point-person{grid-column:1}.point-compact-table td:nth-child(2){grid-column:2;grid-row:1}.point-compact-table td:nth-child(3){grid-column:1/3}.point-times{flex-wrap:wrap}.point-compact-table td:nth-child(4),.point-compact-table td:nth-child(5){display:inline-block}.point-situation{grid-column:1/3;min-width:0}.point-detail-cell{grid-column:1/3;width:auto}.point-row-details>summary{text-align:left;background:#f5f9fc}.point-detail-panel{position:static;width:100%;box-shadow:none;margin-top:7px}.point-detail-metrics{grid-template-columns:1fr 1fr}.point-edit-box form,.point-edit-box form:last-child{grid-template-columns:1fr}.point-time{flex:1 1 calc(50% - 5px);justify-content:center}}


/* RH v4.7.1 — relógio de ponto: leitura rápida, sem tabela gigante */
.point-compact-wrap{overflow-x:auto!important;overflow-y:visible!important;border-radius:14px}
.point-compact-table{width:100%;min-width:1050px;table-layout:auto!important}
.point-compact-table th{font-size:11px;letter-spacing:.045em;color:#60758a;background:#f7fafc;padding:11px 12px!important}
.point-compact-table td{padding:12px!important;vertical-align:middle}
.point-person{min-width:180px}.point-person b{font-size:14px;color:#0e3552}
.point-schedule{background:#edf4f8;border:1px solid #dbe7ef;color:#36576f}
.point-times{display:grid!important;grid-template-columns:repeat(4,minmax(104px,1fr));gap:7px!important;min-width:455px}
.point-time{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:2px!important;padding:7px 9px!important;border-radius:10px!important;border:1px solid #dce7ef!important;background:#f8fbfd!important;line-height:1.1}
.point-time small{display:block!important;width:auto!important;height:auto!important;background:transparent!important;font-size:9px!important;letter-spacing:.035em;text-transform:uppercase;color:#6c8294!important}
.point-time b{font-size:12px!important;color:#143a57;font-variant-numeric:tabular-nums}
.point-time-entrada{border-left:3px solid #2388e8!important;background:#f3f9ff!important}
.point-time-inicio_pausa{border-left:3px solid #e5a02b!important;background:#fff9ef!important}
.point-time-fim_pausa{border-left:3px solid #7659c8!important;background:#f8f5ff!important}
.point-time-saida{border-left:3px solid #2c9a69!important;background:#f2fbf7!important}
.point-balance{display:inline-flex;align-items:center;justify-content:center;min-width:62px}
.point-situation{min-width:185px}.point-situation .badge{white-space:nowrap}
.point-detail-cell{width:92px!important;position:relative}
.point-row-details{position:static!important}
.point-row-details>summary{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d7e4ee;background:#fff!important;color:#24506e!important;padding:7px 10px!important;border-radius:9px!important;white-space:nowrap}
.point-row-details>summary:hover{border-color:#9ec8e8;background:#f4faff!important}
.point-detail-panel{position:absolute!important;right:12px!important;top:calc(100% - 5px)!important;z-index:50!important;width:min(650px,calc(100vw - 330px))!important;min-width:520px;background:#fff!important;border:1px solid #d7e4ee!important;border-radius:14px!important;padding:14px!important;box-shadow:0 18px 45px rgba(14,53,82,.18)!important}
.point-detail-metrics{grid-template-columns:repeat(4,minmax(105px,1fr))!important;gap:8px!important}
.point-detail-metrics span{border:1px solid #e5edf3;background:#f8fafc!important}
.point-mark-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-top:0!important;padding-top:2px!important}
.point-mark-row{border:1px solid #e5edf3!important;border-radius:10px;padding:8px!important;background:#fff}
.point-edit-box{grid-column:1/-1}
@media(max-width:1250px){.point-compact-table{min-width:980px}.point-times{grid-template-columns:repeat(2,minmax(108px,1fr));min-width:235px}.point-detail-panel{width:620px!important;min-width:0}}
@media(max-width:700px){.point-compact-table{min-width:0!important}.point-times{display:grid!important;grid-template-columns:1fr 1fr!important;min-width:0}.point-time{min-width:0}.point-detail-panel{position:static!important;width:100%!important;min-width:0!important}.point-mark-list{grid-template-columns:1fr}.point-detail-metrics{grid-template-columns:1fr 1fr!important}}

/* RH v4.7.2 — compactar relógio de ponto e eliminar scroll horizontal no desktop */
@media(min-width:701px){
  .point-compact-wrap{overflow-x:visible!important}
  .point-compact-table{min-width:0!important;width:100%!important;table-layout:fixed!important}
  .point-compact-table th,.point-compact-table td{padding:9px 7px!important}
  .point-compact-table th:nth-child(1){width:15%}
  .point-compact-table th:nth-child(2){width:6.5%}
  .point-compact-table th:nth-child(3){width:39%}
  .point-compact-table th:nth-child(4){width:8%}
  .point-compact-table th:nth-child(5){width:8%}
  .point-compact-table th:nth-child(6){width:15%}
  .point-compact-table th:nth-child(7){width:8.5%}
  .point-person{min-width:0!important}.point-person b{font-size:13px!important;line-height:1.25}
  .point-schedule{min-width:44px!important;padding:5px 6px!important;font-size:12px}
  .point-times{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;min-width:0!important;width:100%}
  .point-time{min-width:0!important;padding:6px 7px!important;border-radius:9px!important;overflow:hidden}
  .point-time small{font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .point-time b{font-size:11px!important;white-space:nowrap}
  .point-compact-table td:nth-child(4)>b{font-size:12px;white-space:nowrap}
  .point-balance{min-width:54px!important;padding:5px 6px!important;font-size:11px}
  .point-situation{min-width:0!important}.point-situation .badge{font-size:10px!important;padding:5px 7px!important;max-width:100%;white-space:normal;text-align:center;line-height:1.15}
  .point-extra-action{gap:4px!important}.point-extra-action>div{gap:3px!important}.point-extra-action .btn{padding:5px 7px!important;font-size:10px!important;min-height:30px!important}
  .point-detail-cell{width:auto!important;text-align:right}
  .point-row-details>summary{padding:6px 8px!important;font-size:11px!important}
  .point-detail-panel{right:8px!important;width:min(620px,70vw)!important}
}
@media(min-width:701px) and (max-width:1100px){
  .point-compact-table th:nth-child(1){width:14%}.point-compact-table th:nth-child(3){width:41%}.point-compact-table th:nth-child(6){width:14%}.point-compact-table th:nth-child(7){width:9%}
  .point-time small{font-size:7.5px!important}.point-time b{font-size:10.5px!important}
}

/* RH v4.7.3 — estrutura compacta: horário integrado, resumo único e detalhes em faixa */
@media(min-width:701px){
  .point-compact-wrap{overflow-x:hidden!important}
  .point-grid-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .point-grid-table th,.point-grid-table td{padding:10px 9px!important}
  .point-grid-table th:nth-child(1){width:16%!important}
  .point-grid-table th:nth-child(2){width:49%!important}
  .point-grid-table th:nth-child(3){width:10%!important}
  .point-grid-table th:nth-child(4){width:17%!important}
  .point-grid-table th:nth-child(5){width:8%!important}
  .point-person{min-width:0!important}
  .point-person b{display:block;font-size:13px!important;line-height:1.25}
  .point-person small{display:block;margin-top:5px;color:#70869a;font-size:10px;font-weight:800}
  .point-times{grid-template-columns:repeat(4,minmax(0,1fr))!important;min-width:0!important;gap:6px!important}
  .point-time{padding:6px 8px!important;min-width:0!important}
  .point-time small{font-size:8px!important}
  .point-time b{font-size:11px!important}
  .point-summary{white-space:nowrap;text-align:center}
  .point-summary>b{display:block;font-size:12px;margin-bottom:5px}
  .point-summary .point-balance{font-size:10px!important;min-width:50px!important;padding:4px 6px!important}
  .point-situation{min-width:0!important;text-align:left}
  .point-situation .badge{display:inline-flex;max-width:100%;white-space:normal!important;line-height:1.15;font-size:10px!important;padding:6px 8px!important}
  .point-detail-cell{text-align:right!important;width:auto!important}
  .point-detail-toggle{padding:7px 9px!important;font-size:10px!important;white-space:nowrap}
  .point-detail-toggle.active{background:#eaf5ff!important;border-color:#9bc9eb!important;color:#0c6fbd!important}
  .point-detail-row td{padding:0 10px 12px!important;background:#f8fbfd!important}
  .point-detail-band{border:1px solid #dce7ef;border-radius:12px;background:#fff;padding:12px 14px;box-shadow:0 8px 24px rgba(18,49,73,.07)}
  .point-detail-band .point-detail-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important;margin-bottom:10px!important}
  .point-detail-band .point-mark-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1100px) and (min-width:701px){
  .point-grid-table th:nth-child(1){width:15%!important}.point-grid-table th:nth-child(2){width:51%!important}.point-grid-table th:nth-child(3){width:9%!important}.point-grid-table th:nth-child(4){width:17%!important}.point-grid-table th:nth-child(5){width:8%!important}
  .point-time{padding:5px 6px!important}.point-time small{font-size:7.5px!important}.point-time b{font-size:10.5px!important}
}
@media(max-width:700px){
  .point-grid-table>tbody>tr.point-main-row{display:grid!important;grid-template-columns:1fr auto!important}
  .point-grid-table>tbody>tr.point-main-row td:nth-child(1){grid-column:1}.point-grid-table>tbody>tr.point-main-row td:nth-child(2){grid-column:1/3}.point-grid-table>tbody>tr.point-main-row td:nth-child(3){grid-column:1}.point-grid-table>tbody>tr.point-main-row td:nth-child(4){grid-column:1/3}.point-grid-table>tbody>tr.point-main-row td:nth-child(5){grid-column:2;grid-row:3}
  .point-person small{display:block;margin-top:3px;color:#70869a;font-size:10px}.point-summary{text-align:left}.point-summary>b{margin-right:7px}.point-detail-row{display:none}.point-detail-row td{display:block!important;padding:0!important}.point-detail-band{padding:10px;border:1px solid #dce7ef;border-radius:12px;background:#fff}.point-detail-band .point-detail-metrics{grid-template-columns:1fr 1fr!important}
}


/* RH v4.7.4 — grelha final compacta: 5 blocos, sem scroll horizontal */
@media(min-width:901px){
  .app{grid-template-columns:240px minmax(0,1fr)!important}
  .content{padding-left:22px!important;padding-right:22px!important;max-width:none!important}
}
@media(min-width:701px){
  .point-compact-wrap{overflow:visible!important;width:100%!important}
  .point-grid-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .point-grid-table th,.point-grid-table td{box-sizing:border-box;padding:9px 8px!important}
  .point-grid-table th:nth-child(1){width:17%!important}
  .point-grid-table th:nth-child(2){width:48%!important}
  .point-grid-table th:nth-child(3){width:10%!important}
  .point-grid-table th:nth-child(4){width:17%!important}
  .point-grid-table th:nth-child(5){width:8%!important}
  .point-person b{font-size:12.5px!important;line-height:1.22!important}
  .point-person small{font-size:9px!important;margin-top:3px!important}
  .point-times{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;width:100%!important;min-width:0!important}
  .point-time{padding:5px 6px!important;min-width:0!important;overflow:hidden!important}
  .point-time small{font-size:7px!important;line-height:1!important;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .point-time b{font-size:10.5px!important;line-height:1.1!important}
  .point-summary>b{font-size:11px!important;margin-bottom:4px!important}
  .point-summary .point-balance{font-size:9.5px!important;min-width:46px!important;padding:4px 5px!important}
  .point-situation .badge{font-size:9.5px!important;padding:5px 7px!important}
  .point-extra-action{display:grid!important;grid-template-columns:1fr!important}
  .point-extra-action>div{display:flex!important;flex-wrap:wrap!important}
  .point-extra-action .btn{padding:4px 6px!important;font-size:9px!important;min-height:27px!important}
  .point-detail-cell{padding-left:4px!important;padding-right:4px!important}
  .point-detail-toggle{width:100%!important;padding:6px 4px!important;font-size:9.5px!important}
  .point-detail-row td{padding:0 8px 10px!important}
}
@media(min-width:701px) and (max-width:1150px){
  .point-grid-table th:nth-child(1){width:16%!important}
  .point-grid-table th:nth-child(2){width:50%!important}
  .point-grid-table th:nth-child(3){width:9%!important}
  .point-grid-table th:nth-child(4){width:17%!important}
  .point-grid-table th:nth-child(5){width:8%!important}
}

/* v4.7.5 — acabamento visual do Relógio de Ponto */
.point-detail-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:5px}
.point-detail-toggle.active{background:#eaf5ff!important;border-color:#9bc9eb!important;color:#0c6fbd!important}
.point-detail-band .point-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.point-detail-metrics>span{position:relative;overflow:hidden}
.point-detail-metrics>span:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#c9d7e2}
.point-detail-metrics .metric-justified.has-value:before{background:#2f9e6f}
.point-detail-metrics .metric-delay.has-value,.point-detail-metrics .metric-early.has-value{background:#fff7ed!important;border-color:#fed7aa!important}
.point-detail-metrics .metric-delay.has-value:before,.point-detail-metrics .metric-early.has-value:before{background:#f59e0b}
.point-detail-metrics .metric-extra.has-value{background:#f4f0ff!important;border-color:#ddd0ff!important}
.point-detail-metrics .metric-extra.has-value:before{background:#805ad5}
.point-mark-row{border-left-width:4px!important}
.point-mark-row.point-mark-entrada{border-left-color:#2196f3!important;background:#f4f9ff!important}
.point-mark-row.point-mark-inicio_pausa{border-left-color:#f0a51a!important;background:#fffaf1!important}
.point-mark-row.point-mark-fim_pausa{border-left-color:#805ad5!important;background:#faf7ff!important}
.point-mark-row.point-mark-saida{border-left-color:#2f9e6f!important;background:#f3fbf7!important}
.point-mark-row>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.point-mark-row>div:first-child>span:not(.badge){color:#60788d;font-size:12px}
.point-mark-row .btn.gray{background:#fff!important;color:#35556d!important;border-color:#d7e4ee!important;box-shadow:none!important}
.point-mark-row .btn.gray:hover{background:#f4f9fc!important;border-color:#aac9dd!important}
@media(max-width:900px){.point-detail-band .point-detail-metrics{grid-template-columns:1fr 1fr!important}}

/* RH v4.9.0 — NOVO VISUAL 2026: moderno, elegante e responsivo */
:root{--ui-bg:#f5f7fb;--ui-panel:#fff;--ui-text:#172b3a;--ui-muted:#748493;--ui-line:#e6ebf0;--ui-primary:#1769aa;--ui-primary2:#0d4d7d;--ui-nav:#102d43;--ui-nav2:#0b2233;--ui-radius:16px;--ui-shadow:0 8px 28px rgba(19,44,64,.055)}
html{background:var(--ui-bg)}body{background:var(--ui-bg);color:var(--ui-text);font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.app{grid-template-columns:248px minmax(0,1fr)!important}.side{width:auto!important;padding:0 12px;background:linear-gradient(180deg,var(--ui-nav),var(--ui-nav2));border-right:1px solid rgba(255,255,255,.05);scrollbar-width:thin;scrollbar-color:#315067 transparent}
.brand{padding:22px 10px 18px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-head{display:flex;align-items:center;gap:12px}.brandmark{width:46px;height:46px;flex:0 0 46px;margin:0;border-radius:13px;background:linear-gradient(145deg,#fff,#eaf3fa);color:#1769aa;font-size:17px;letter-spacing:-.04em;box-shadow:0 8px 22px rgba(0,0,0,.18)}.brand-copy{min-width:0}.brand strong{font-size:14px;line-height:1.2;letter-spacing:-.01em}.brand small{font-size:10px;margin-top:4px;color:#91a9ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{padding:14px 0 24px}.nav a{position:relative;gap:11px;padding:10px 11px;margin:3px 0;border-radius:10px;color:#b8c8d4;font-size:13px;font-weight:600;transition:background .16s,color .16s,transform .16s}.nav a:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(1px)}.nav a.on{background:linear-gradient(90deg,rgba(45,139,207,.28),rgba(45,139,207,.13));color:#fff;box-shadow:inset 3px 0 #56b1ef}.nav a.on:after{content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:#65baf2}.ico{width:20px;height:20px;display:grid;place-items:center;font-size:15px;color:#91b7d0}
.main{background:var(--ui-bg)}.top{height:68px;padding:0 26px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--ui-line);box-shadow:0 1px 0 rgba(22,42,57,.02)}.top-left{display:flex;align-items:center;gap:10px;min-width:0}.top-title{font-size:17px;font-weight:750;letter-spacing:-.02em;color:#1d3445}.userchip{display:flex;align-items:center;gap:9px;padding:6px 8px 6px 6px;background:#f7f9fb;border:1px solid #e6ebef;border-radius:12px;font-size:12px;color:#506677}.user-avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#e7f1f8;color:#1769aa;font-size:11px;font-weight:850}.userchip a{padding-left:8px;border-left:1px solid #dde5eb;color:#1769aa;font-weight:700}
.content{max-width:1560px;padding:26px 28px 38px}.title{margin-bottom:20px}.title h1{font-size:26px;line-height:1.15;letter-spacing:-.035em;color:#172c3c}.muted{color:var(--ui-muted)}.eyebrow{font-size:10px;letter-spacing:.11em;color:#2b78b3}
.card,.tablewrap,.employeecard,.salary-flow,.payroll-panel{border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}.card{padding:20px}.kpi{min-height:116px}.kpi b{font-size:29px;letter-spacing:-.035em;color:#183247}.kpi .symbol{right:16px;top:16px;width:38px;height:38px;border-radius:11px;background:#edf5fb;color:#1769aa}
.btn{min-height:38px;padding:9px 14px;border-radius:10px;background:linear-gradient(180deg,#2378b9,#1769aa);font-size:12px;font-weight:750;box-shadow:0 3px 9px rgba(23,105,170,.12);transition:transform .14s,box-shadow .14s,filter .14s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(23,105,170,.16);filter:brightness(1.02)}.btn.gray{background:#f0f4f7;color:#405a6d;border:1px solid #e1e8ed;box-shadow:none}.btn.red{background:#c84d55}.btn.green{background:#25865f}
.tabs{gap:7px}.tabs a{padding:8px 11px;border-color:#e2e8ed;border-radius:10px;font-size:12px;font-weight:650;color:#587084}.tabs a:hover{background:#f7fafc;border-color:#ccd9e2}.tabs a.active,.tabs a.on{background:#eaf3fa;color:#1769aa;border-color:#cfe2f0}
.tablewrap{overflow:auto}table{background:var(--ui-panel)}th,td{padding:12px 13px;border-bottom-color:#edf0f3}th{background:#fafbfc;color:#7a8996;font-size:10px;letter-spacing:.055em;font-weight:800}tbody tr{transition:background .12s}tbody tr:hover{background:#fbfcfd}
.field label{font-size:11px;color:#53697a}.field input,.field select,.field textarea,input,select,textarea{border-color:#d7e0e7!important;border-radius:10px!important;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:#80b4d9!important;box-shadow:0 0 0 3px rgba(23,105,170,.09)!important}
.badge{padding:5px 8px;font-size:10px}.badge.ok{background:#e5f5ed;color:#247454}.badge.warn{background:#fff4db;color:#8a6518}.badge.bad{background:#fbe8e9;color:#a44349}.alert{border-radius:11px;border:1px solid transparent}.alert.ok{border-color:#d5ebdf}.alert.err{border-color:#f2d5d7}
.sectionhead h3{font-size:15px;letter-spacing:-.015em}.avatar{background:#eaf3fa;color:#1769aa}.profilepic{border-radius:20px}
.login{background:#fff}.loginbrand{position:relative;overflow:hidden;background:linear-gradient(145deg,#102f46 0%,#0c4368 60%,#1769aa 100%);padding:9vw 8vw}.loginbrand:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-170px;bottom:-190px;border:90px solid rgba(255,255,255,.035)}.loginbrand small{font-size:11px;letter-spacing:.18em;color:#a9c8dc;font-weight:800}.loginbrand h1{font-size:48px;line-height:1.05;letter-spacing:-.045em;max-width:600px}.loginbrand p{max-width:560px;color:#c6d8e4;line-height:1.65}.loginbox form{width:min(380px,100%)}.loginbox h2{font-size:28px;letter-spacing:-.035em;margin-bottom:7px}.loginbox label{display:block;margin:14px 0 5px;font-size:11px;font-weight:750;color:#526979}.loginbox input{height:44px;margin:0;padding:11px 12px}.loginbox .btn{height:44px;margin-top:18px}
.menu-backdrop{display:none}
@media(max-width:900px){.app{display:block!important}.side{position:fixed!important;left:-280px!important;top:0;bottom:0;width:260px!important;height:100dvh!important;z-index:100!important;box-shadow:18px 0 45px rgba(5,24,38,.22);transition:left .22s ease!important}.side.open{left:0!important}.side.open~*{}body.menu-open .menu-backdrop,.menu-backdrop.show{display:block;position:fixed;inset:0;background:rgba(7,24,37,.42);backdrop-filter:blur(2px);z-index:90}.mobilebar{display:inline-grid!important;place-items:center;width:38px;height:38px;padding:0!important;font-size:18px;border-radius:10px!important}.top{height:62px;padding:0 14px}.top-title{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:18px 14px 30px}.userchip{background:transparent;border:0;padding:0}.user-avatar{display:none}.userchip span{display:none}.userchip a{border:0;padding:8px}.loginbrand{padding:45px 28px}.loginbrand h1{font-size:34px}.loginbrand p:last-child{margin-top:35px!important}.loginbox{padding:36px 24px}}
@media(max-width:560px){.grid,.grid5{gap:11px}.card{padding:16px}.title h1{font-size:23px}.top{gap:8px}.top-left{max-width:72%}.brand{padding-top:18px}.nav a{padding:10px}.loginbrand{padding:36px 22px}.loginbrand h1{font-size:30px}.loginbox{min-height:52vh;padding:30px 22px}}

/* RH v4.9.2 — CORPORATE PREMIUM */
:root{--cp-navy:#071f35;--cp-navy2:#0b2d4b;--cp-blue:#1677d2;--cp-blue2:#0d5fae;--cp-bg:#f4f7fb;--cp-text:#102a43;--cp-muted:#71849a;--cp-line:#e3eaf1;--cp-shadow:0 8px 24px rgba(23,43,77,.06)}
body,.main{background:var(--cp-bg)!important;color:var(--cp-text)!important}.app{grid-template-columns:236px minmax(0,1fr)!important}
.side{background:linear-gradient(180deg,var(--cp-navy) 0%,var(--cp-navy2) 100%)!important;padding:0 11px!important;border-right:0!important}.brand{padding:20px 9px 17px!important}.brandmark{width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:12px!important;color:var(--cp-blue)!important}.brand strong{font-size:13.5px!important}.brand small{color:#8fa9bf!important}
.nav{padding-top:10px!important}.nav-group{padding:14px 11px 5px;color:#6f91ad;font-size:8.5px;font-weight:900;letter-spacing:.14em}.nav a{min-height:38px;padding:9px 10px!important;margin:2px 0!important;border-radius:8px!important;color:#c3d1dc!important;font-size:12px!important;font-weight:600!important}.nav a:hover{background:rgba(255,255,255,.065)!important}.nav a.on{background:#126fc2!important;box-shadow:0 5px 15px rgba(0,0,0,.13)!important;color:#fff!important}.nav a.on:after{display:none!important}.ico{font-size:13px!important;color:#9eb8cc!important}.nav a.on .ico{color:#fff!important}
.top{height:64px!important;background:rgba(255,255,255,.97)!important;padding:0 24px!important}.top-title{font-size:16px!important;color:#102a43!important}.userchip{background:#fff!important;border-color:#dfe7ef!important;border-radius:10px!important;box-shadow:0 2px 7px rgba(20,42,66,.035)!important}.user-avatar{border-radius:50%!important;background:#176fca!important;color:#fff!important}
.content{max-width:none!important;padding:25px 26px 40px!important}.title{padding-bottom:16px;border-bottom:1px solid var(--cp-line);margin-bottom:20px!important}.title h1{font-size:25px!important;color:#0f2d47!important}.eyebrow{color:#1677d2!important;font-size:9.5px!important;font-weight:900!important}.muted{color:var(--cp-muted)!important}
.card,.tablewrap,.employeecard,.salary-flow,.payroll-panel{background:#fff!important;border:1px solid var(--cp-line)!important;border-radius:13px!important;box-shadow:var(--cp-shadow)!important}.card{padding:18px!important}.kpi{min-height:108px!important}.kpi b{color:#102f4a!important}.kpi .symbol{background:#edf5fd!important;color:#1677d2!important;border-radius:10px!important}
.btn{border-radius:9px!important;background:#1677d2!important;box-shadow:none!important}.btn:hover{background:#0d69bf!important;box-shadow:0 4px 10px rgba(22,119,210,.16)!important}.btn.green{background:#21966a!important}.btn.gray{background:#fff!important;border:1px solid #dce6ef!important;color:#294a65!important}.btn.red{background:#ca4c57!important}
.tablewrap{border-radius:13px!important}th{background:#f7f9fc!important;color:#61778b!important}tbody tr:hover{background:#f8fbfe!important}.tabs{background:#eaf0f5!important;border-radius:10px!important;padding:4px!important;width:max-content}.tabs a{background:transparent!important;border:0!important}.tabs a.active,.tabs a.on{background:#fff!important;color:#126fc2!important;box-shadow:0 1px 5px rgba(25,50,75,.08)!important}
.field input,.field select,.field textarea,input,select,textarea{background:#fff!important;border-color:#d5e0e9!important;border-radius:9px!important}.badge{border-radius:999px!important;font-weight:800!important}.alert{border-radius:10px!important}
@media(max-width:900px){.side{width:250px!important}.content{padding:18px 14px 30px!important}.nav-group{padding-top:12px}.top{padding:0 13px!important}}

/* RH v4.9.3 — Corporate Premium: dashboard corrigido */
.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.dash-head h1{margin:6px 0 7px;font-size:28px;line-height:1.1;letter-spacing:-.035em;color:#102a43}.dash-head p{margin:0;color:#71849a}.dash-date{text-align:right}.dash-date small{display:block;color:#8a9aaa;font-size:10px;font-weight:900;letter-spacing:.08em}.dash-date b{display:block;margin-top:4px;color:#123653;font-size:14px}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.dash-kpi{position:relative;display:flex;align-items:center;gap:14px;min-height:112px;padding:18px;background:#fff;border:1px solid #e1e9f0;border-radius:14px;box-shadow:0 7px 22px rgba(23,43,77,.055);overflow:hidden}.dash-kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#1677d2}.dash-kpi.green:after{background:#26a269}.dash-kpi.amber:after{background:#e7a526}.dash-kpi.violet:after{background:#7857d8}.dash-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:#eaf4ff;color:#1677d2;font-size:20px;font-weight:900}.dash-kpi.green .dash-icon{background:#e9f7f0;color:#22935f}.dash-kpi.amber .dash-icon{background:#fff4df;color:#d78d13}.dash-kpi.violet .dash-icon{background:#f1edff;color:#6f50d3}.dash-kpi small{display:block;color:#657b8e;font-size:9px;font-weight:900;letter-spacing:.045em}.dash-kpi strong{display:block;margin:3px 0 1px;color:#102f4a;font-size:27px;line-height:1}.dash-kpi em{display:block;color:#8b9aa8;font-size:10px;font-style:normal}.dash-main{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:16px}.dash-panel{background:#fff;border:1px solid #e1e9f0;border-radius:14px;padding:18px;box-shadow:0 7px 22px rgba(23,43,77,.055)}.dash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.dash-panel-head small{display:block;color:#74899b;font-size:9px;font-weight:900;letter-spacing:.1em}.dash-panel-head h3{margin:4px 0 0;color:#102f4a;font-size:17px}.dash-panel-head>a{color:#1677d2;font-size:11px;font-weight:800}.outlock-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#f7fafc;border:1px solid #e8eef3;border-radius:12px}.outlock-stats>div{position:relative;padding-left:44px;min-height:44px}.outlock-stats>div>span{position:absolute;left:0;top:1px;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf4ff;color:#1677d2}.outlock-stats small{display:block;color:#74899b;font-size:9px;font-weight:800}.outlock-stats b{display:block;margin-top:3px;color:#102f4a;font-size:17px}.outlock-foot{display:flex;justify-content:space-between;gap:15px;margin-top:11px;color:#8191a0;font-size:10px}.outlock-foot b{color:#29485f}.dash-warning{margin-top:11px;padding:9px 11px;border-radius:9px;background:#fff0f1;color:#b4424a;font-size:10px;font-weight:700}.dash-list{display:flex;flex-direction:column}.dash-row{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 2px;border-bottom:1px solid #edf1f4}.dash-row:last-child{border-bottom:0}.dash-row .avatar{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:900}.dash-row>div:not(.avatar){min-width:0;flex:1}.dash-row b{display:block;color:#173650;font-size:11px}.dash-row small{display:block;margin-top:2px;color:#8a9aaa;font-size:9px}.dash-row time{margin-left:auto;color:#24455f;font-size:10px;font-weight:800}.dash-pending{margin-bottom:20px}.dash-pending .dash-list{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
@media(max-width:1100px){.dash-kpis{grid-template-columns:1fr 1fr}.dash-main{grid-template-columns:1fr}.dash-pending .dash-list{grid-template-columns:1fr}}
@media(max-width:600px){.dash-head{align-items:flex-start;flex-direction:column}.dash-date{text-align:left}.dash-kpis{grid-template-columns:1fr}.dash-kpi{min-height:96px}.outlock-stats{grid-template-columns:1fr}.outlock-foot{flex-direction:column;gap:4px}}

/* RH v4.9.6 — Marcações do dia em cartões horizontais legíveis */
.point-day-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.point-day-card{background:#fff;border:1px solid #dfe8ef;border-radius:15px;box-shadow:0 5px 18px rgba(20,45,70,.045);overflow:hidden}
.point-day-main{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(520px,3.2fr) 120px minmax(210px,1.25fr) 108px;gap:18px;align-items:center;padding:16px 18px}
.point-day-card .point-person b{display:block;font-size:15px!important;line-height:1.25;color:#123653}
.point-day-card .point-person small{display:block;margin-top:5px;font-size:11px!important;font-weight:750;color:#71869a}
.point-day-card .point-times{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;gap:8px!important;min-width:0!important}
.point-day-card .point-time{min-height:54px!important;padding:8px 10px!important;border-radius:11px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;overflow:visible!important}
.point-day-card .point-time small{font-size:9px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:.055em!important;text-transform:uppercase!important;max-width:none!important;overflow:visible!important}
.point-day-card .point-time b{font-size:15px!important;line-height:1.15!important;margin-top:3px!important;letter-spacing:-.015em}
.point-day-card .point-summary{display:grid!important;grid-template-columns:1fr auto;align-items:center;column-gap:7px;text-align:left!important}
.point-day-card .point-summary>small{grid-column:1/3;display:block;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#8293a1;margin-bottom:2px}
.point-day-card .point-summary>b{font-size:16px!important;margin:0!important;color:#15364f}
.point-day-card .point-summary .point-balance{font-size:11px!important;min-width:50px!important;padding:5px 7px!important;text-align:center;border-radius:9px}
.point-day-card .point-situation{min-width:0}.point-day-card .point-situation .badge{font-size:11px!important;line-height:1.25!important;padding:7px 10px!important;white-space:normal!important;display:inline-flex!important;max-width:100%}
.point-day-card .point-detail-cell{padding:0!important;width:auto!important}.point-day-card .point-detail-toggle{width:100%!important;min-height:40px!important;font-size:11px!important;padding:8px 10px!important}
.point-day-card .point-detail-row{border-top:1px solid #e7edf2;background:#fbfdff;padding:14px 16px 16px}
.point-day-card .point-detail-band{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
@media(max-width:1250px){.point-day-main{grid-template-columns:180px minmax(430px,1fr) 105px minmax(180px,.8fr) 94px;gap:10px;padding:14px}.point-day-card .point-time b{font-size:14px!important}}
@media(max-width:1000px){.point-day-main{grid-template-columns:1fr auto;gap:12px}.point-day-main>.point-person{grid-column:1}.point-day-main>.point-detail-cell{grid-column:2;grid-row:1}.point-day-main>.point-times{grid-column:1/3}.point-day-main>.point-summary{grid-column:1}.point-day-main>.point-situation{grid-column:2;text-align:right}.point-day-card .point-times{grid-template-columns:repeat(4,minmax(105px,1fr))!important}}
@media(max-width:700px){.point-day-list{gap:9px}.point-day-main{padding:13px}.point-day-card .point-person b{font-size:14px!important}.point-day-card .point-times{grid-template-columns:1fr 1fr!important}.point-day-card .point-situation{grid-column:1/3;text-align:left}.point-day-card .point-summary{grid-column:1/3;width:max-content}.point-day-card .point-time{min-height:52px!important}.point-day-card .point-time b{font-size:14px!important}}


/* RH v4.9.7 TESTE — navegação superior sem barra lateral */
body.topnav-layout{background:#f4f7fa!important}
.topnav-layout .topnav-app{display:block!important;min-height:100vh!important}
.topnav-layout .side,.topnav-layout .top{display:none!important}
.topnav-shell{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);border-bottom:1px solid #dfe7ee;box-shadow:0 4px 18px rgba(20,45,70,.055);backdrop-filter:blur(10px)}
.topnav-main{height:76px;display:flex;align-items:center;gap:10px;max-width:1700px;margin:0 auto;padding:0 24px}
.topnav-brand{display:flex;align-items:center;gap:10px;min-width:210px;text-decoration:none;color:#15364f}.topnav-brand .brandmark{width:44px;height:44px;flex:0 0 44px;margin:0;border-radius:12px}.topnav-brand-copy{display:flex;flex-direction:column;min-width:0}.topnav-brand-copy strong{font-size:14px}.topnav-brand-copy small{max-width:155px;margin-top:2px;font-size:9px;color:#7a8e9f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topnav{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0}.topnav-link,.topnav-group-btn{height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:#496477;text-decoration:none;font:700 11px/1 Inter,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap}.topnav-link:hover,.topnav-group:hover>.topnav-group-btn{background:#f0f6fb;color:#126fc2}.topnav-link.on,.topnav-group.on>.topnav-group-btn{background:#e7f3ff;color:#126fc2;box-shadow:inset 0 -2px #1683df}.topnav-ico{width:22px;height:22px;display:grid;place-items:center;font-size:17px}.chev{font-size:11px;margin-left:1px}.topnav-group{position:relative}.topnav-dropdown{display:none;position:absolute;top:48px;left:0;min-width:205px;padding:7px;background:#fff;border:1px solid #dfe7ee;border-radius:13px;box-shadow:0 16px 38px rgba(20,45,70,.16)}.topnav-group:hover .topnav-dropdown,.topnav-group:focus-within .topnav-dropdown{display:block}.topnav-dropdown a{display:flex;align-items:center;gap:9px;padding:10px;border-radius:9px;color:#405d72;text-decoration:none;font-size:11px;font-weight:700}.topnav-dropdown a:hover,.topnav-dropdown a.on{background:#edf6fd;color:#126fc2}
.topnav-user{display:flex;align-items:center;gap:8px;min-width:130px;justify-content:flex-end}.topnav-user-copy{display:flex;flex-direction:column}.topnav-user-copy strong{font-size:10px;color:#365469;max-width:95px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topnav-user-copy a{margin-top:2px;color:#1677d2;font-size:9px;font-weight:800;text-decoration:none}.topnav-sub{height:42px;display:flex;align-items:center;gap:10px;max-width:1700px;margin:0 auto;padding:0 24px;border-top:1px solid #f0f3f6;background:#fbfcfd}.topnav-sub .top-title{font-size:15px}.topnav-context{padding-left:10px;border-left:1px solid #dfe6ec;color:#8a9aa7;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.topnav-content{background:#f4f7fa!important}.topnav-layout .content{max-width:1700px!important;margin:0 auto!important;padding:24px 24px 40px!important}.topnav-mobile-toggle{display:none}
@media(max-width:1150px){.topnav-main{padding:0 14px}.topnav-brand{min-width:auto}.topnav-brand-copy{display:none}.topnav-link,.topnav-group-btn{padding:0 9px}.topnav-user{min-width:auto}.topnav-user-copy strong{display:none}}
@media(max-width:820px){.topnav-main{height:62px}.topnav-mobile-toggle{display:grid;place-items:center;width:40px;height:40px;margin-left:auto;border:1px solid #dce6ee;border-radius:10px;background:#fff;color:#173d5b;font-size:19px}.topnav{display:none;position:absolute;left:10px;right:10px;top:62px;padding:8px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #dfe7ee;border-radius:14px;box-shadow:0 16px 38px rgba(20,45,70,.16)}body.topnav-open .topnav{display:flex}.topnav-link,.topnav-group-btn{width:100%;justify-content:flex-start}.topnav-group{width:100%}.topnav-dropdown{position:static;display:none!important;box-shadow:none;border:0;padding:0 0 4px 30px}.topnav-group.open .topnav-dropdown{display:block!important}.topnav-user{margin-left:6px}.topnav-sub{padding:0 14px}.topnav-layout .content{padding:16px 12px 28px!important}}

/* RH v4.9.8 — navegação superior maior e mais legível */
.topnav-main{height:92px!important;gap:18px!important;padding:0 30px!important}
.topnav-brand{min-width:235px!important;gap:13px!important}
.topnav-brand .brandmark{width:54px!important;height:54px!important;flex:0 0 54px!important;border-radius:15px!important;font-size:19px!important}
.topnav-brand-copy strong{font-size:16px!important}.topnav-brand-copy small{max-width:175px!important;font-size:10px!important;margin-top:4px!important}
.topnav{gap:9px!important}
.topnav-link,.topnav-group-btn{height:64px!important;min-width:94px!important;gap:9px!important;padding:0 16px!important;border-radius:15px!important;font-size:14px!important;font-weight:800!important;flex-direction:column!important;line-height:1.05!important}
.topnav-link:hover,.topnav-group:hover>.topnav-group-btn{background:#edf6fd!important;color:#126fc2!important;box-shadow:0 5px 14px rgba(18,111,194,.08)!important}
.topnav-link.on,.topnav-group.on>.topnav-group-btn{background:#e4f2ff!important;color:#0f6fc4!important;box-shadow:inset 0 -3px #1683df,0 5px 16px rgba(18,111,194,.10)!important}
.topnav-ico{width:28px!important;height:28px!important;font-size:24px!important;line-height:1!important}.chev{position:absolute;margin:0 0 0 68px;font-size:12px!important}.topnav-group-btn{position:relative}
.topnav-dropdown{top:66px!important;min-width:230px!important;padding:9px!important;border-radius:15px!important}.topnav-dropdown a{min-height:43px!important;padding:11px 12px!important;font-size:13px!important}.topnav-dropdown .topnav-ico{width:22px!important;height:22px!important;font-size:17px!important}
.topnav-user{min-width:165px!important;gap:10px!important}.topnav-user .user-avatar{width:38px!important;height:38px!important;font-size:13px!important}.topnav-user-copy strong{font-size:12px!important;max-width:115px!important}.topnav-user-copy a{font-size:10px!important}
.topnav-sub{height:48px!important;padding:0 30px!important}.topnav-sub .top-title{font-size:16px!important}.topnav-context{font-size:10px!important}
@media(max-width:1250px) and (min-width:821px){.topnav-main{padding:0 16px!important;gap:10px!important}.topnav-brand{min-width:64px!important}.topnav-brand-copy{display:none!important}.topnav-link,.topnav-group-btn{min-width:82px!important;padding:0 11px!important;font-size:13px!important}.topnav-user{min-width:52px!important}.topnav-user-copy{display:none!important}}
@media(max-width:820px){.topnav-main{height:68px!important;padding:0 14px!important}.topnav-brand{min-width:auto!important}.topnav-brand .brandmark{width:46px!important;height:46px!important;flex-basis:46px!important}.topnav-brand-copy{display:flex!important}.topnav-brand-copy strong{font-size:14px!important}.topnav-brand-copy small{font-size:9px!important;max-width:145px!important}.topnav{top:68px!important;gap:5px!important}.topnav-link,.topnav-group-btn{height:52px!important;min-width:0!important;flex-direction:row!important;justify-content:flex-start!important;font-size:14px!important}.topnav-ico{width:26px!important;height:26px!important;font-size:20px!important}.chev{position:static!important;margin-left:auto!important}.topnav-user{min-width:auto!important}.topnav-sub{height:44px!important;padding:0 14px!important}}
/* RH v4.9.9 — página dedicada de Horas Extra */
.extra-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.extra-kpi{padding:20px 22px;border-top:4px solid #cbd5e1}.extra-kpi span{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.extra-kpi b{display:block;font-size:28px;line-height:1.15;margin:8px 0 4px}.extra-kpi small{color:#64748b}.extra-kpi.warn{border-top-color:#f59e0b;background:linear-gradient(180deg,#fffaf0,#fff)}.extra-kpi.ok{border-top-color:#22c55e;background:linear-gradient(180deg,#f0fdf4,#fff)}.extra-kpi.neutral{border-top-color:#94a3b8}.extra-filters{grid-template-columns:160px minmax(220px,1fr) 200px auto}.extra-list table td,.extra-list table th{vertical-align:middle}.extra-list .inline-form{display:inline-block;margin-right:6px}
@media(max-width:900px){.extra-kpis{grid-template-columns:1fr}.extra-filters{grid-template-columns:1fr 1fr}.extra-filters .filterbutton{grid-column:1/-1}}
@media(max-width:600px){.extra-filters{grid-template-columns:1fr}}

/* RH v4.9.11 — Anomalias: página operacional dedicada */
.anomaly-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.anomaly-kpi{padding:18px 20px;border-top:4px solid #cbd5e1}.anomaly-kpi span{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.anomaly-kpi b{display:block;font-size:30px;line-height:1;margin:8px 0}.anomaly-kpi small{color:#718096}.anomaly-kpi.warn{border-top-color:#f59e0b;background:linear-gradient(180deg,#fffaf0,#fff)}.anomaly-kpi.delay{border-top-color:#ef4444;background:linear-gradient(180deg,#fff5f5,#fff)}.anomaly-kpi.absence{border-top-color:#8b5cf6;background:linear-gradient(180deg,#f8f5ff,#fff)}.anomaly-kpi.ok{border-top-color:#22c55e;background:linear-gradient(180deg,#f0fdf4,#fff)}
.anomaly-filter-card{margin-bottom:14px}.anomaly-filters{display:grid;grid-template-columns:160px minmax(220px,1fr) 190px 190px auto;gap:12px;align-items:end}.anomaly-filters .filterbutton{padding-bottom:1px}.anomaly-list{display:grid;gap:12px}.anomaly-item{padding:0;overflow:hidden}.anomaly-item-main{display:grid;grid-template-columns:68px minmax(280px,1fr) 120px 140px 130px;gap:16px;align-items:center;padding:16px 18px}.anomaly-date{width:54px;height:54px;border-radius:14px;background:#eef5fb;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#244b68}.anomaly-date b{font-size:20px;line-height:1}.anomaly-date span{font-size:9px;font-weight:900;margin-top:4px}.anomaly-person h3{margin:4px 0 2px;font-size:15px}.anomaly-person p{margin:0;color:#64748b;font-size:12px}.anomaly-type{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:#fff3cd;color:#8a5a00}.anomaly-type.delay{background:#fee2e2;color:#b91c1c}.anomaly-type.absence{background:#ede9fe;color:#6d28d9}.anomaly-time small,.anomaly-bank small{display:block;color:#7b8d9a;font-size:10px;font-weight:800;text-transform:uppercase}.anomaly-time b,.anomaly-bank b{display:block;margin-top:4px;font-size:15px}.anomaly-state{text-align:right}.anomaly-action-panel{border-top:1px solid #e7edf2;background:#fbfdff;padding:14px 18px 16px}.anomaly-action-grid{display:grid;grid-template-columns:180px 210px minmax(220px,1fr) minmax(240px,1.3fr);gap:12px}.anomaly-actions{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.anomaly-actions form{display:flex;gap:8px;align-items:center}.anomaly-actions input{min-width:230px}.anomaly-resolved{border-top:1px solid #e7edf2;background:#f8fbfd;padding:12px 18px;color:#526b7c;font-size:12px}.anomaly-empty{text-align:center;padding:30px}.anomaly-settings{margin-top:16px}.anomaly-settings summary{cursor:pointer;font-weight:800;color:#365469}.anomaly-settings[open] summary{margin-bottom:16px}
@media(max-width:1050px){.anomaly-kpis{grid-template-columns:1fr 1fr}.anomaly-filters{grid-template-columns:1fr 1fr}.anomaly-filters .filterbutton{grid-column:1/-1}.anomaly-item-main{grid-template-columns:58px 1fr 100px 120px}.anomaly-state{grid-column:2/5;text-align:left}.anomaly-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.anomaly-kpis{grid-template-columns:1fr 1fr;gap:8px}.anomaly-kpi{padding:14px}.anomaly-kpi b{font-size:24px}.anomaly-filters{grid-template-columns:1fr}.anomaly-item-main{grid-template-columns:52px 1fr;gap:10px}.anomaly-time,.anomaly-bank,.anomaly-state{grid-column:2;text-align:left}.anomaly-action-grid{grid-template-columns:1fr}.anomaly-actions form{width:100%;flex-wrap:wrap}.anomaly-actions input{min-width:0;flex:1}.anomaly-state{margin-top:2px}}


/* RH v4.9.12 — Mapa Mensal visual */
.monthly-filter{margin-bottom:14px}.monthly-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.monthly-kpi{padding:18px 20px;border-top:4px solid #94a3b8}.monthly-kpi span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.monthly-kpi b{display:block;font-size:27px;line-height:1.1;margin:7px 0 3px}.monthly-kpi small{color:#718096}.monthly-kpi.work{border-top-color:#1683df;background:linear-gradient(180deg,#f1f8ff,#fff)}.monthly-kpi.extra{border-top-color:#22c55e;background:linear-gradient(180deg,#f0fdf4,#fff)}.monthly-kpi.warn{border-top-color:#f59e0b;background:linear-gradient(180deg,#fffaf0,#fff)}.monthly-kpi.ok{border-top-color:#22c55e;background:linear-gradient(180deg,#f0fdf4,#fff)}
.monthly-map-card{padding:0;overflow:hidden}.monthly-head{padding:18px 20px 14px;margin:0;border-bottom:1px solid #e7edf2;align-items:flex-start}.monthly-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;font-weight:800;color:#607485}.monthly-legend span{display:flex;align-items:center;gap:5px}.monthly-legend .lg{width:10px;height:10px;border-radius:3px;background:#e5e7eb}.monthly-legend .lg.ok{background:#d9f6e4;border:1px solid #22c55e}.monthly-legend .lg.extra{background:#dff3ff;border:1px solid #1683df}.monthly-legend .lg.just{background:#eee7ff;border:1px solid #8b5cf6}.monthly-legend .lg.warn{background:#fff0c7;border:1px solid #f59e0b}.monthly-legend .lg.off{background:#f1f5f9;border:1px solid #cbd5e1}
.monthly-scroll{overflow:auto;max-width:100%;scrollbar-color:#b9c8d4 #f4f7fa}.monthly-grid{border-collapse:separate;border-spacing:0;min-width:1260px;width:max-content;background:#fff}.monthly-grid th,.monthly-grid td{border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4;padding:0;text-align:center}.monthly-grid thead th{position:sticky;top:0;z-index:4;background:#f7fafc;height:50px;color:#526b7c}.monthly-grid .employee-col{position:sticky;left:0;z-index:3;width:220px;min-width:220px;max-width:220px;text-align:left;padding:0 14px;background:#fff}.monthly-grid thead .employee-col{z-index:6;background:#eef4f8}.monthly-grid tbody tr:hover .employee-col{background:#f8fbfd}.monthly-grid .day-head{width:36px;min-width:36px}.monthly-grid .day-head b{display:block;font-size:12px}.monthly-grid .day-head small{display:block;font-size:7px;margin-top:3px;color:#91a0ac}.monthly-grid .day-head.weekend{background:#f1f3f5}.monthly-grid .day-cell{width:36px;min-width:36px;height:44px;background:#fff}.day-dot{display:grid;place-items:center;width:27px;height:27px;margin:auto;border-radius:8px;text-decoration:none;font-size:12px;font-weight:900;color:#657b8b;background:#f1f5f9;border:1px solid #dbe4ea;transition:.12s}.day-dot:hover{transform:scale(1.08);box-shadow:0 3px 9px rgba(31,66,91,.13)}.day-dot.ok{background:#e8f9ee;border-color:#8bd7a6;color:#16803b}.day-dot.extra{background:#e5f4ff;border-color:#8cc7ef;color:#0f6fc4}.day-dot.just{background:#f0ebff;border-color:#c1adf5;color:#6d28d9}.day-dot.warn{background:#fff2ce;border-color:#f5c451;color:#9a6200}.day-dot.off{color:#a7b3bd}.day-dot.future{background:#fafbfc;border-color:#eef1f3;color:#d1d8de}.day-dot.weekend{box-shadow:inset 0 0 0 999px rgba(100,116,139,.035)}.monthly-total-col{position:sticky;right:0;z-index:3;width:145px;min-width:145px;background:#fbfdff!important;padding:6px 10px!important;text-align:left!important;box-shadow:-5px 0 12px rgba(29,55,74,.04)}.monthly-grid thead .monthly-total-col{z-index:6;background:#eef4f8!important;text-align:center!important}.monthly-total-col b{display:block;font-size:13px}.monthly-total-col small{display:block;font-size:9px;margin-top:2px;color:#718096}.monthly-total-col small.pos{color:#16803b}.monthly-total-col small.neg,.monthly-total-col .warn-txt{color:#b45309}.monthly-note{margin-top:10px;font-size:11px}
@media(max-width:900px){.monthly-kpis{grid-template-columns:1fr 1fr}.monthly-head{display:block}.monthly-legend{justify-content:flex-start;margin-top:10px}.monthly-grid .employee-col{width:175px;min-width:175px;max-width:175px}.monthly-total-col{width:125px;min-width:125px}}
@media(max-width:560px){.monthly-kpis{grid-template-columns:1fr 1fr;gap:8px}.monthly-kpi{padding:14px}.monthly-kpi b{font-size:22px}.monthly-grid .employee-col{width:150px;min-width:150px;max-width:150px;font-size:11px}.monthly-total-col{width:110px;min-width:110px}.monthly-legend{gap:7px}}
/* RH v4.9.13 — legenda reforçada e estados de ausência no Mapa Mensal */
.monthly-legend-panel{padding:12px 20px 14px;background:#fbfdff;border-bottom:1px solid #e7edf2;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.monthly-legend-panel>b{font-size:12px;color:#314b5e;text-transform:uppercase;letter-spacing:.05em}.monthly-legend-panel .monthly-legend{justify-content:flex-start;gap:9px}.monthly-legend-panel .monthly-legend span{padding:6px 9px;border:1px solid #e3eaf0;border-radius:10px;background:#fff;font-size:10px}.monthly-legend .symbol{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;font-style:normal;font-size:11px;font-weight:900;border:1px solid #dbe4ea}.monthly-legend .symbol.ok{background:#e8f9ee;border-color:#8bd7a6;color:#16803b}.monthly-legend .symbol.extra{background:#e5f4ff;border-color:#8cc7ef;color:#0f6fc4}.monthly-legend .symbol.vacation{background:#fff1dc;border-color:#f4b860;color:#a75b00}.monthly-legend .symbol.sick{background:#ffe8ec;border-color:#ef9baa;color:#b4233d}.monthly-legend .symbol.absence{background:#ffe9e5;border-color:#f3a08f;color:#b43c28}.monthly-legend .symbol.just{background:#f0ebff;border-color:#c1adf5;color:#6d28d9}.monthly-legend .symbol.warn{background:#fff2ce;border-color:#f5c451;color:#9a6200}.monthly-legend .symbol.off{background:#f1f5f9;border-color:#cbd5e1;color:#8a99a5}.day-dot.vacation{background:#fff1dc;border-color:#f4b860;color:#a75b00}.day-dot.sick{background:#ffe8ec;border-color:#ef9baa;color:#b4233d}.day-dot.absence{background:#ffe9e5;border-color:#f3a08f;color:#b43c28}
@media(max-width:700px){.monthly-legend-panel{padding:10px 12px;gap:8px}.monthly-legend-panel .monthly-legend span{padding:5px 7px}}
/* v4.9.14 — Banco de Horas operacional */
.bank-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.bank-kpi{padding:18px 20px}.bank-kpi span{display:block;font-size:13px;font-weight:700;color:#64748b}.bank-kpi b{display:block;font-size:28px;line-height:1.15;margin:5px 0}.bank-kpi small{color:#94a3b8}.bank-kpi.ok b{color:#16835f}.bank-kpi.debit b{color:#b45309}.bank-extra-card,.bank-adjust,.bank-balances,.bank-history{margin-top:16px}.bank-actions{display:flex;gap:7px;flex-wrap:wrap}.bank-empty{padding:16px;border-radius:12px;background:#ecfdf5;color:#166534;font-weight:700}.bank-adjust summary{cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:space-between}.bank-adjust summary span{font-size:13px;color:#64748b;font-weight:400}.bank-adjust[open] summary{margin-bottom:18px}.bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bank-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e7edf4;border-radius:13px;background:#fff}.bank-person small{display:block;color:#7b8797;margin-top:4px}.bank-person strong{font-size:19px;white-space:nowrap}.bank-person strong.positive{color:#16835f}.bank-person strong.negative{color:#b42318}.bank-person strong.neutral{color:#64748b}.bank-history .sectionhead form select{min-width:220px}.pos{color:#16835f}.neg{color:#b42318}@media(max-width:900px){.bank-kpis{grid-template-columns:1fr}.bank-grid{grid-template-columns:1fr}.bank-extra-card .sectionhead,.bank-history .sectionhead{align-items:flex-start;gap:10px;flex-direction:column}.bank-history .sectionhead form,.bank-history .sectionhead select{width:100%}}

/* v4.9.69 - identidade texomc no cabeçalho */
.topnav-brand .topnav-logo{width:76px;height:54px;flex:0 0 76px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.topnav-brand .topnav-logo img{display:block;max-width:100%;max-height:50px;width:auto;height:auto;object-fit:contain}
@media(max-width:1250px) and (min-width:821px){.topnav-brand .topnav-logo{width:60px;height:48px;flex-basis:60px}.topnav-brand .topnav-logo img{max-height:44px}}
@media(max-width:820px){.topnav-brand .topnav-logo{width:62px;height:46px;flex-basis:62px}.topnav-brand .topnav-logo img{max-height:42px}}

/* v4.10.49 — organização do tratamento de anomalias */
.anomaly-action-main{grid-template-columns:minmax(180px,.8fr) minmax(210px,.95fr) minmax(300px,1.6fr);align-items:start}
.anomaly-action-secondary{grid-template-columns:minmax(280px,1fr) minmax(360px,1.35fr);gap:14px;margin-top:12px;align-items:end}
.anomaly-action-secondary .field{margin:0}
.anomaly-action-secondary input[type=file]{width:100%}
.anomaly-actions{padding-top:2px}
.anomaly-ignore{display:inline-block;position:relative}
.anomaly-ignore>summary{list-style:none;cursor:pointer;user-select:none}
.anomaly-ignore>summary::-webkit-details-marker{display:none}
.anomaly-ignore[open]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.anomaly-ignore[open]>summary{display:none}
.anomaly-ignore form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.anomaly-ignore form input{min-width:260px}
@media(max-width:1050px){.anomaly-action-main{grid-template-columns:1fr 1fr}.anomaly-action-main .field:last-child{grid-column:1/-1}.anomaly-action-secondary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.anomaly-action-main,.anomaly-action-secondary{grid-template-columns:1fr}.anomaly-action-main .field:last-child{grid-column:auto}.anomaly-ignore,.anomaly-ignore[open]{width:100%}.anomaly-ignore>summary{width:max-content}.anomaly-ignore form{width:100%}.anomaly-ignore form input{min-width:0;flex:1 1 180px}}

/* v4.10.50 — ajustes compactos de horário e regularização */
.point-regime-row{display:flex;align-items:stretch;gap:10px;width:100%}
.point-regime-row select{flex:1 1 auto;min-width:0}
.point-regime-save{flex:0 0 auto;white-space:nowrap;margin:0}
.anomaly-action-secondary{grid-template-columns:minmax(340px,.9fr) minmax(460px,1.1fr);width:100%}
.anomaly-action-secondary input:not([type=file]){min-height:52px}
.anomaly-action-secondary input[type=file]{min-height:52px}
@media(max-width:850px){.point-regime-row{flex-direction:column;align-items:stretch}.point-regime-save{align-self:flex-start}.anomaly-action-secondary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.anomaly-action-secondary{grid-template-columns:1fr}}

/* v4.10.51 - layout estrutural: regime e regularização */
.point-regime-field{margin:0}
.point-regime-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch;width:100%}
.point-regime-row select,.point-regime-row .point-regime-save{height:52px;min-height:52px;margin:0}
.point-regime-save{display:inline-flex;align-items:center;justify-content:center;padding-inline:20px}
.anomaly-action-secondary{display:grid!important;grid-template-columns:minmax(420px,1fr) minmax(520px,1.2fr)!important;gap:16px!important;width:100%!important}
.anomaly-action-secondary .field{min-width:0;width:100%}
.anomaly-action-secondary input{width:100%;min-height:56px!important;box-sizing:border-box}
@media(max-width:900px){.point-regime-row{grid-template-columns:1fr auto}.anomaly-action-secondary{grid-template-columns:1fr 1fr!important}}
@media(max-width:650px){.point-regime-row{grid-template-columns:1fr}.point-regime-save{justify-self:start}.anomaly-action-secondary{grid-template-columns:1fr!important}}

/* v4.10.53 - cartões de anomalias expansíveis */
.anomaly-collapsible>summary{list-style:none;cursor:pointer;user-select:none}
.anomaly-collapsible>summary::-webkit-details-marker{display:none}
.anomaly-collapsible>summary:hover{background:#fbfdff}
.anomaly-collapsible .anomaly-chevron{display:inline-flex;margin-left:10px;width:28px;height:28px;border-radius:9px;align-items:center;justify-content:center;background:#f1f5f9;color:#5f7485;font-size:18px;font-weight:900;transition:transform .18s ease,background .18s ease}
.anomaly-collapsible[open] .anomaly-chevron{transform:rotate(180deg);background:#e8f2fb}
.anomaly-collapsible[open] .anomaly-item-main{background:#fff}
.anomaly-collapsible .anomaly-action-panel,.anomaly-collapsible .anomaly-resolved{animation:anomalyReveal .16s ease-out}
@keyframes anomalyReveal{from{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:650px){.anomaly-collapsible .anomaly-chevron{margin-left:6px}}

/* Segurança Social — documentos do processamento v4.10.132 */
.ss-doc-panel .sectionhead{align-items:flex-start;gap:18px;flex-wrap:wrap}.ss-summary{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ss-summary span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #e2e9ef;border-radius:999px;background:#f8fafc;color:#607487;font-size:11px;white-space:nowrap}.ss-summary b{font-size:12px;color:#173b57}.ss-summary .ss-sum-warn{background:#fff8e8;border-color:#f3dfad}.ss-summary .ss-sum-ok{background:#eefaf3;border-color:#cdebd9}.ss-summary .ss-sum-bad{background:#fff0f0;border-color:#f2d0d0}.ss-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.ss-doc-card{border:1px solid #dfe8ef;border-radius:14px;background:#fff;padding:14px;box-shadow:0 2px 10px rgba(26,55,78,.045);transition:.15s ease}.ss-doc-card:hover{border-color:#c8d8e4;box-shadow:0 5px 16px rgba(26,55,78,.07)}.ss-doc-card.ss-state-validado{border-left:4px solid #22a06b}.ss-doc-card.ss-state-rejeitado{border-left:4px solid #d94b4b}.ss-doc-card.ss-state-por_validar{border-left:4px solid #e2a72e}.ss-doc-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.ss-file-icon{width:38px;height:38px;border-radius:10px;background:#eef4f8;color:#48677e;display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:.3px}.ss-doc-info{min-width:0}.ss-doc-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#173b57;font-size:13px}.ss-doc-date{font-size:11px;margin-top:3px}.ss-doc-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #edf2f5}.ss-doc-actions form{margin:0;display:inline-flex}.ss-delete-form{margin-left:auto!important}.ss-delete-btn{color:#a63d3d!important;border-color:#efd0d0!important;background:#fff7f7!important}@media(max-width:900px){.ss-doc-grid{grid-template-columns:1fr}.ss-summary{justify-content:flex-start}}@media(max-width:560px){.ss-doc-top{grid-template-columns:36px minmax(0,1fr)}.ss-doc-top>.vbadge{grid-column:2;justify-self:start}.ss-doc-actions .btn,.ss-doc-actions form{flex:1}.ss-doc-actions form .btn{width:100%}.ss-delete-form{margin-left:0!important}}

/* Estado global de validação visível sem abrir detalhes — v4.10.137 */
.validation-overview{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;border:1px solid transparent;white-space:nowrap}
.validation-overview.ok{background:#eefaf3;border-color:#cce9d7;color:#18784d}
.validation-overview.pending{background:#fff8e8;border-color:#efdda9;color:#916a0d}
.validation-overview.danger{background:#fff0f0;border-color:#efcccc;color:#b13b3b}
.payroll-person-actions .validation-overview{margin:0 2px}

/* Validação RH explícita — v4.10.138 */
.validation-overview.manual{background:#eaf8ef;border-color:#bfe3cc;color:#12683f}
.validate-rh-link{background:#eefaf3!important;border-color:#c8e7d4!important;color:#157347!important;font-weight:800!important}

/* v4.10.143 - ações dos recibos simplificadas */
.payroll-person-actions{gap:8px!important}.payroll-person-actions .primary-action{background:#f7fbff;border-color:#c7dce9}.payroll-person-actions .validation-overview{order:-1;margin-right:2px}.payroll-person-actions .more-actions{margin-left:1px}.more-actions-menu .menu-danger{color:#b42318!important}.more-actions-menu .menu-danger:hover{background:#fff1f0!important}.payroll-validation-panel{margin-top:10px}


/* v4.10.190 — pagamentos e comprovativos simplificados */
.simple-pay-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:16px 0}.simple-pay-summary>div{border:1px solid #e2e8f0;border-radius:12px;padding:13px 15px;background:#fff}.simple-pay-summary span{display:block;color:#64748b;font-size:12px}.simple-pay-summary strong{display:block;font-size:25px;margin-top:3px}.simple-pay-summary .ok{background:#f0fdf4;border-color:#bbf7d0}.simple-pay-summary .warn{background:#fffbeb;border-color:#fde68a}.simple-pay-summary .bad{background:#fff7f7;border-color:#fecaca}.simple-next-action{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:12px;margin:12px 0}.simple-next-action span{display:block;color:#64748b;margin-top:3px}.simple-proof-list{display:grid;gap:10px;margin-top:14px}.simple-proof-item{border:1px solid #e2e8f0;border-left:5px solid #cbd5e1;border-radius:12px;background:#fff;overflow:hidden}.simple-proof-item.state-ok,.simple-proof-item.state-ready{border-left-color:#22c55e}.simple-proof-item.state-warn{border-left-color:#f59e0b}.simple-proof-item.state-bad{border-left-color:#ef4444}.simple-proof-main{display:grid;grid-template-columns:minmax(240px,2fr) minmax(100px,.7fr) minmax(110px,.8fr) minmax(180px,1.25fr) auto;gap:18px;align-items:center;padding:14px 16px}.simple-proof-person strong{display:block;font-size:14px;color:#0f172a}.simple-proof-person span,.simple-proof-fact span,.simple-proof-state span,.simple-label{display:block;color:#64748b;font-size:11px;margin-top:3px}.simple-proof-fact b{font-size:14px}.simple-proof-state b{font-size:13px}.state-ok .simple-proof-state b,.state-ready .simple-proof-state b{color:#15803d}.state-warn .simple-proof-state b{color:#b45309}.state-bad .simple-proof-state b{color:#b91c1c}.simple-proof-buttons{display:flex;gap:7px;white-space:nowrap}.simple-proof-details{border-top:1px solid #e2e8f0;background:#f8fafc;padding:14px 16px}.simple-proof-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.simple-proof-detail-grid>div{background:#fff;border:1px solid #e2e8f0;border-radius:9px;padding:9px 10px}.simple-proof-detail-grid span{display:block;color:#64748b;font-size:11px}.simple-proof-detail-grid b{display:block;margin-top:3px;font-size:12px;word-break:break-word}.simple-proof-reason{margin-top:10px;padding:9px 10px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.simple-checks{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.simple-checks>div{border-radius:999px;padding:6px 9px;background:#fff;border:1px solid #e2e8f0;font-size:11px}.simple-checks small{margin-left:5px;color:#64748b}.simple-checks .check-ok{border-color:#bbf7d0;background:#f0fdf4}.simple-checks .check-erro{border-color:#fecaca;background:#fff7f7}.simple-proof-admin{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px}.simple-proof-admin form{display:flex;gap:7px;align-items:center}.simple-paid-row{padding:0!important}.simple-paid-main{display:grid;grid-template-columns:minmax(260px,2fr) 110px 110px 150px minmax(220px,auto);gap:18px;align-items:center;padding:15px 17px}.simple-paid-person strong{display:block}.simple-paid-person span{display:block;color:#64748b;font-size:11px;margin-top:3px}.simple-paid-status{color:#15803d;font-weight:700;font-size:12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:7px 10px;text-align:center}.simple-paid-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.simple-paid-actions .payroll-person-actions{display:flex;gap:6px;align-items:center;margin:0}.simple-paid-actions .validation-overview,.simple-paid-actions .js-toggle-validation{display:none!important}.simple-paid-edit{border-top:1px solid #e2e8f0;background:#f8fafc;padding:14px 17px}.simple-edit-grid{display:grid;grid-template-columns:140px 170px 170px auto;gap:12px;align-items:end}
@media(max-width:1000px){.simple-pay-summary{grid-template-columns:repeat(2,1fr)}.simple-proof-main,.simple-paid-main{grid-template-columns:1fr 1fr}.simple-proof-person,.simple-paid-person{grid-column:1/-1}.simple-proof-buttons,.simple-paid-actions{grid-column:1/-1;justify-content:flex-start}.simple-proof-detail-grid{grid-template-columns:1fr 1fr}.simple-edit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.simple-pay-summary{grid-template-columns:1fr 1fr}.simple-next-action{align-items:flex-start;flex-direction:column}.simple-proof-main,.simple-paid-main{grid-template-columns:1fr}.simple-proof-person,.simple-paid-person,.simple-proof-buttons,.simple-paid-actions{grid-column:auto}.simple-proof-detail-grid,.simple-edit-grid{grid-template-columns:1fr}.simple-proof-buttons,.simple-paid-actions{flex-wrap:wrap}.simple-proof-admin{align-items:stretch;flex-direction:column}.simple-proof-admin form{flex-wrap:wrap}.simple-proof-admin select{max-width:100%}}

/* v4.10.191 — Processamento salarial guiado */
.salary-guide{margin:12px 0 16px!important;padding:0!important;overflow:hidden}.salary-guide-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;border-bottom:1px solid #e6edf3}.salary-guide-head h3{margin:2px 0 4px;font-size:20px}.salary-big-state{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.salary-big-state.attention{background:#fff4dc;color:#8a5c0a}.salary-big-state.done{background:#e8f7ee;color:#237847}.salary-steps{display:grid;grid-template-columns:repeat(4,1fr)}.salary-steps a{position:relative;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;padding:16px 18px;text-decoration:none;color:#183247;border-right:1px solid #e6edf3;background:#fff}.salary-steps a:last-child{border-right:0}.salary-steps a:hover{background:#f8fbfd}.salary-steps span{grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf5ff;color:#147fe5;font-weight:900}.salary-steps b{font-size:13px}.salary-steps small{font-size:11px;color:#73879a;margin-top:2px}.salary-attention{margin:0 20px 18px;border:1px solid #f1d39a;background:#fffaf0;border-radius:11px}.salary-attention summary{cursor:pointer;padding:11px 13px;display:flex;justify-content:space-between;gap:10px;color:#7c5713}.salary-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 13px 12px;font-size:12px;color:#5e6873}.salary-attention-list>div{padding:7px 9px;background:#fff;border:1px solid #f1dfbd;border-radius:8px}.salary-all-ok{margin:0 20px 18px;padding:10px 12px;border-radius:10px;background:#ecfdf5;border:1px solid #bbf7d0;color:#237847;font-weight:750}.salary-import-actions{scroll-margin-top:20px}.salary-conference,.payroll-panel,#contabilidade-preview{scroll-margin-top:20px}@media(max-width:850px){.salary-steps{grid-template-columns:1fr 1fr}.salary-steps a{border-bottom:1px solid #e6edf3}.salary-attention-list{grid-template-columns:1fr}}@media(max-width:520px){.salary-guide-head{align-items:flex-start;flex-direction:column}.salary-steps{grid-template-columns:1fr}.salary-steps a{border-right:0}.salary-attention{margin:0 12px 14px}}

/* v4.10.197 palette */
body{background:#f3f8fc}.content{background:transparent}.card{border-color:#e1eaf0}.tablewrap{border-radius:14px;overflow:auto}table th{background:#f5f9fc;color:#506a7e}

/* v4.10.198 — páginas mais vivas: superfícies pastel e hierarquia visual */
body.topnav-layout{background:linear-gradient(135deg,#eef6fb 0%,#f7f4fb 48%,#f6faf7 100%)!important}
.content{padding-top:24px!important}
.content>.title{padding:18px 20px;border:1px solid #dfe9f0;border-radius:16px;background:linear-gradient(120deg,var(--section-tint,#edf5ff),rgba(255,255,255,.88));box-shadow:0 5px 18px rgba(37,68,92,.045);margin-bottom:18px!important}
.content>.title h1{margin-bottom:3px!important}.content>.title p{color:#688095!important}
.card,.tablewrap,.salary-flow,.payroll-panel,.monthly-map-card,.ss-doc-panel{border-color:#dce7ee!important;box-shadow:0 7px 22px rgba(34,67,94,.055)!important}
.card{background:linear-gradient(145deg,#fff 0%,var(--section-tint,#f2f7fb) 180%)!important}
.content .card:nth-of-type(3n+1){background:linear-gradient(145deg,#fff 0%,#eef8ff 180%)!important}
.content .card:nth-of-type(3n+2){background:linear-gradient(145deg,#fff 0%,#f2f9f2 180%)!important}
.content .card:nth-of-type(3n){background:linear-gradient(145deg,#fff 0%,#fff6e9 180%)!important}
.sectionhead{padding:3px 0 9px;border-bottom:1px solid color-mix(in srgb,var(--section-accent,#2f80ed) 18%,#e4ebf0)!important}
.sectionhead h3,.sectionhead h2{color:#29465c!important}.sectionhead h3:before,.sectionhead h2:before{content:'';display:inline-block;width:5px;height:18px;border-radius:5px;background:var(--section-accent,#2f80ed);vertical-align:-3px;margin-right:9px}
.grid>.card,.grid5>.card{position:relative;overflow:hidden}.grid>.card:after,.grid5>.card:after{content:'';position:absolute;right:-22px;top:-28px;width:80px;height:80px;border-radius:50%;background:color-mix(in srgb,var(--section-accent,#2f80ed) 8%,transparent);pointer-events:none}
.kpi,.point-stat,.bank-kpi{border-top:3px solid color-mix(in srgb,var(--section-accent,#2f80ed) 62%,white)!important}
.tablewrap{background:rgba(255,255,255,.88)!important}table th{background:color-mix(in srgb,var(--section-tint,#eef5fb) 75%,white)!important;color:#405f76!important;border-bottom:1px solid #dbe6ed!important}table tbody tr:nth-child(even){background:rgba(246,250,252,.62)}table tbody tr:hover{background:color-mix(in srgb,var(--section-tint,#eef5fb) 72%,white)!important}
.simple-pay-summary>div{box-shadow:0 5px 16px rgba(34,67,94,.045);border-top:3px solid #8ab8d8}.simple-pay-summary>div:nth-child(2){background:#f1f7ff!important;border-color:#c8ddf2!important;border-top-color:#6d9ed0!important}.simple-pay-summary>div:nth-child(3){background:#eefaf4!important;border-color:#cdebdc!important;border-top-color:#4ea97a!important}.simple-pay-summary>div:nth-child(4){background:#fff7e9!important;border-color:#f2dfba!important;border-top-color:#dda347!important}
.salary-overview,.salary-guide,.payroll-panel{background:linear-gradient(145deg,#fff 0%,#fff8e9 170%)!important}.salary-guide-head,.payroll-panel>.sectionhead{background:#fffaf1!important}.salary-steps a{background:#fffdf8!important}.salary-steps a:nth-child(2){background:#f6fbff!important}.salary-steps a:nth-child(3){background:#f3fbf6!important}.salary-steps a:nth-child(4){background:#fff7ed!important}
.ss-doc-panel{background:linear-gradient(145deg,#fff 0%,#f2f8ff 180%)!important}.ss-doc-card{background:#fbfdff!important}
.field input,.field select,.field textarea{background:#fbfdff!important}.btn.gray{background:#f8fbfd!important}
body:has(.topnav-link[href*="p=funcionarios"].on) .content>.title{background:linear-gradient(120deg,#e7f8f4,#f9fffd)}
body:has(.topnav-group:nth-of-type(1).on) .content>.title{background:linear-gradient(120deg,#f0ebff,#fcfaff)}
body:has(.topnav-group:nth-of-type(2).on) .content>.title{background:linear-gradient(120deg,#eaf8ee,#fbfffc)}
body:has(.topnav-link[href*="p=pagamentos"].on) .content>.title{background:linear-gradient(120deg,#fff2da,#fffdf8)}
body:has(.topnav-group:nth-of-type(3).on) .content>.title{background:linear-gradient(120deg,#ffedef,#fffafb)}
@media(max-width:700px){.content>.title{padding:14px 15px;border-radius:13px}.sectionhead h3:before,.sectionhead h2:before{height:15px}}
