:root{--presence:#2fc784;color-scheme:dark;--bg:#0e141c;--surface:#151e29;--input:#0f1722;--ink:#f2f5fa;--muted:#9caec3;--line:#2a3545;--red:#de2727;--sidebar:244px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:#b9d2ff}p{margin:0;color:var(--muted)}h1{font-size:27px;margin:7px 0 0;letter-spacing:-.5px}h2{font-size:20px;margin:0 0 7px}h3{font-size:15px;margin:0 0 6px}.portal-brand{display:flex;align-items:center;gap:13px}.portal-brand b{font-size:18px;letter-spacing:.1px;color:#fff}.portal-brand small{display:block;font-size:12px;font-weight:normal;color:#b8c9dd;margin-top:2px}.portal-symbol{flex:none;display:block;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#e83228,#b61920);position:relative}.portal-symbol:after{content:"";position:absolute;inset:8px;border:2px solid white;border-radius:50%}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#0e141c;border-right:1px solid var(--line);padding:20px 18px;z-index:20;overflow-y:auto}.sidebar>.portal-brand{padding:0 3px 24px;border-bottom:1px solid var(--line)}.menu-caption{font-size:10px;letter-spacing:1.6px;font-weight:bold;margin:26px 10px 12px;color:#788ba4}#appMenu{display:grid;gap:6px}#appMenu button{display:flex;align-items:center;gap:12px;text-align:left;white-space:normal;width:100%;border:1px solid transparent;border-radius:7px;padding:12px 10px;background:none;color:#aab9ca;font-size:13px}#appMenu button:hover{background:#192332;color:#fff}#appMenu button.active{background:#df282818;border-color:#df28283d;color:#fff}.menu-dot{flex:none;width:7px;height:7px;border:1px solid #788ba4;border-radius:2px}#appMenu .active .menu-dot{background:var(--red);border-color:var(--red)}header{height:68px;margin-left:var(--sidebar);border-bottom:1px solid var(--line);background:#111a25;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:18px}.header-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:bold}.header-right{display:flex;align-items:center;gap:14px;min-width:0}.header-right>span{overflow-wrap:anywhere}#menuToggle{display:none}.wrap{max-width:1500px;margin-left:var(--sidebar);padding:28px 30px 40px;min-width:0}.intro{margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:bold;color:#91a3b9}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px;min-width:0}.fields,.field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:23px}label{font-size:12px;font-weight:bold;display:block}input,select{display:block;width:100%;min-width:0;height:44px;border:1px solid #354155;border-radius:6px;background:var(--input);padding:0 12px;color:var(--ink);margin-top:7px;outline:none}input:focus,select:focus{border-color:#e04848;box-shadow:0 0 0 3px #de272720}input[readonly]{color:#9aa9ba}.btn{border:1px solid #39465a;border-radius:6px;padding:10px 16px;background:#1d2939;color:#e8eef7;font-weight:bold;font-size:12px;white-space:normal}.btn:hover{background:#2a394c}.btn.primary{background:var(--red);border-color:var(--red);color:#fff}.btn.primary:hover{background:#c82020}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.footer{border-top:1px solid var(--line);margin-top:26px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.help,.footer-note{font-weight:normal;font-size:11px;color:var(--muted);margin-top:8px}.footer-note{margin-top:20px;max-width:860px}.info{margin-top:23px;padding:16px;background:#101925;border:1px solid var(--line);border-radius:7px;font-size:12px;color:#b9c7d8}.info summary{cursor:pointer;color:var(--ink)}.notice,.alert{padding:13px 16px;background:#2c2417;border:1px solid #5c4627;color:#edd7ab;border-radius:7px;margin:16px 0;font-size:12px}.alert p{margin-top:5px;color:inherit}.error{background:#351d24;border-color:#69303d;color:#ffb5bb}.success{background:#142b25;border-color:#285347;color:#b0dfc8}.listrow{padding:20px 0;border-bottom:1px solid var(--line)}.rowhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.rowhead h3{margin:0}.meta{font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.status{display:inline-block;background:#273348;color:#cad5e6;padding:4px 10px;font-size:11px;border-radius:14px}.mini{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.sectiongap{margin-top:26px}.checks{display:grid;gap:10px;margin:14px 0}.checks label{display:flex;gap:9px;align-items:center;font-weight:normal}.checks input,.choice input{margin:0;width:17px;height:17px;flex:none;accent-color:var(--red)}.choice{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:14px}.choice label{font-weight:normal}.upload{border:1px dashed #475970;border-radius:8px;padding:25px;text-align:center;margin:20px 0;background:#111b28}.upload input{height:auto;border:0;background:none}.photo{width:100px;height:115px;object-fit:cover;border-radius:8px;margin-bottom:12px}.photo-detail{max-width:180px;max-height:220px;border-radius:8px;display:block;margin:12px 0}.hidden{display:none!important}.review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}.review>div{border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.review small{display:block;color:var(--muted);font-size:11px}.empty{padding:42px 16px;text-align:center}.csv-info{font-size:12px;margin-top:12px}.search{max-width:450px;margin:14px 0}.full{grid-column:1/-1}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-page>.sidebar,.login-page>header,.login-page .intro{display:none}.login-page .wrap{margin:0;width:100%;max-width:410px;padding:0}.login-page .authbox{padding:32px;box-shadow:0 18px 60px #0003}.authbox>.portal-brand{padding-bottom:27px;margin-bottom:25px;border-bottom:1px solid var(--line)}.authbox form label{margin-top:18px;color:#dce5f0}.authbox form input{margin-top:8px;height:46px}.authbox form .primary{margin-top:26px;width:100%;height:45px;font-size:13px}.login-page #message:empty{display:none}.login-page #message:not(:empty){margin-bottom:18px}.authbox{max-width:420px;margin:auto}button:focus-visible{outline:2px solid #f28383;outline-offset:3px}@media(min-width:1744px){.wrap{margin-right:auto}}@media(max-width:1000px){:root{--sidebar:220px}.sidebar{padding:20px 14px}header{padding:0 22px}.wrap{padding:24px 22px}.portal-brand{gap:11px}.portal-brand b{font-size:16px}.portal-brand small{font-size:11px}.portal-symbol{width:44px;height:44px}}@media(max-width:760px){header{margin-left:0;padding:0 18px}.wrap{margin-left:0;padding:22px 18px}.sidebar{display:none;top:68px;box-shadow:18px 0 45px #0007}#menuToggle{display:inline-block;padding:7px 11px}.menu-open .sidebar{display:block}.header-right{gap:8px}.header-right>span{max-width:140px;font-size:11px!important}.fields,.field-grid,.review{grid-template-columns:minmax(0,1fr)}.card{padding:20px}.full{grid-column:auto}.footer{align-items:flex-start;flex-wrap:wrap}.login-page .authbox{padding:28px}.login-page .wrap{padding:0}.login-page #menuToggle{display:none}.upload{padding:18px}.mini{align-items:flex-start}}

input[name=nome],input[name=funcao],input[name=matricula],input[name=rg],input[name=razao_social],input[name=fantasia],input[name=responsavel],input[name=display_name],input[name=obra_solicitada],input[name=obra],input[name=unidade],input[name=cc]{text-transform:uppercase}
input[name=empresa]{text-transform:uppercase}
.quick-wrap{max-width:900px;margin:auto}.quick-heading{margin-bottom:20px}.quick-share{margin-bottom:22px;padding:14px 18px;border:1px solid var(--line);border-radius:9px}.quick-share summary{cursor:pointer;font-weight:600}.quick-share label{margin:14px 0 10px}.quick-wrap fieldset{border:1px solid var(--line);border-radius:10px;padding:20px;margin:0 0 22px;min-width:0}.quick-wrap legend{font-weight:700;padding:0 8px;color:#e7edf5}.quick-wrap input,.quick-wrap select{min-height:48px;font-size:16px}.quick-photo-area{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:center}.quick-photo{display:block;width:160px;height:200px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:#0e141c}.quick-photo-placeholder{display:grid;place-items:center;width:160px;height:200px;border:1px dashed var(--line);border-radius:9px;text-align:center;padding:14px;color:var(--muted)}.quick-photo-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.quick-photo-actions .btn{min-height:48px;white-space:normal;line-height:1.35}.quick-file{display:none!important}.quick-success{max-width:680px;margin:auto;padding:24px 0}.quick-success h3{margin:20px 0 6px}.quick-success .status{display:inline-block;margin:18px 0}.quick-success .actions{margin-top:24px}.quick-wrap .choice{align-items:flex-start;font-size:14px;line-height:1.6}.quick-wrap .choice input{min-height:0;margin-top:5px;flex:0 0 18px}.quick-wrap .footer{gap:18px}.quick-wrap .footer .primary{min-height:50px}.quick-wrap .hidden{display:none!important}@media(max-width:760px){.quick-wrap fieldset{padding:16px 12px}.quick-photo-area{grid-template-columns:1fr}.quick-photo,.quick-photo-placeholder{width:180px;height:220px;margin:auto}.quick-photo-actions{display:grid;grid-template-columns:1fr 1fr}.quick-photo-actions .btn{padding:12px 9px;font-size:13px}.quick-wrap .footer{display:grid}.quick-wrap .footer .primary{width:100%}.quick-success .actions{display:grid}.quick-wrap input,.quick-wrap select{width:100%}}

.batch-person{display:grid;grid-template-columns:112px minmax(0,1fr) minmax(0,200px);gap:18px;align-items:center;padding:18px 0}.batch-photo-link{display:flex;flex-direction:column;gap:6px;color:var(--muted);text-align:center;text-decoration:none}.batch-photo{display:block;width:112px;height:136px;object-fit:contain;background:#0e141c;border:1px solid var(--line);border-radius:8px}.batch-photo-link:hover .batch-photo{border-color:#e32828}.batch-photo-link small{font-size:11px}.batch-photo-missing{width:112px;height:136px;display:grid;place-content:center;text-align:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px}.batch-person-data{min-width:0;line-height:1.7;overflow-wrap:anywhere}.batch-filename{overflow-wrap:anywhere;font-size:12px;text-align:right}@media(max-width:760px){.batch-person{grid-template-columns:90px minmax(0,1fr);gap:12px}.batch-photo,.batch-photo-missing{width:90px;height:112px}.batch-filename{grid-column:2;text-align:left}.batch-person-data{font-size:12px}}

.sec-photo-button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px}.sec-photo-dialog{background:#151f2b;color:#fff;border:1px solid #334155;border-radius:12px;padding:20px;max-width:90vw}.sec-photo-dialog::backdrop{background:#000b}.sec-photo-dialog img{display:block;max-width:75vw;max-height:70vh;margin-bottom:15px}

header{height:auto;min-height:68px}.header-title{min-width:0}.header-title>span{min-width:0;overflow-wrap:anywhere;line-height:1.3}

.dispatch-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}.dispatch-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.dispatch-metrics>div{padding:16px;border:1px solid var(--line);border-radius:9px;background:#0e1722}.dispatch-metrics small{display:block;color:var(--muted);font-size:12px}.dispatch-metrics b{display:block;font-size:25px;margin-top:8px}.dispatch-person{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.dispatch-preview-list{margin:18px 0}.dispatch-preview-list .mini{display:block;overflow-wrap:anywhere}.dispatch-person .choice{max-width:100%}#ibPreview{scroll-margin-top:90px}#ibSearch{margin:20px 0}#ibResults{margin-top:22px}@media(max-width:760px){.dispatch-metrics{grid-template-columns:1fr}.dispatch-person{grid-template-columns:90px minmax(0,1fr);gap:12px}.dispatch-heading .btn{width:100%}}

#psPreview{scroll-margin-top:90px}#psSearch{margin:20px 0}#psResults{margin-top:22px}

.employee-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;margin:16px 0}.employee-filters label{min-width:0}.employee-filters select{width:100%;min-width:0}.employee-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;padding:20px 0}.employee-avatar a{display:flex;flex-direction:column;gap:6px;text-align:center;color:var(--muted);text-decoration:none;font-size:11px}.employee-photo{display:block;width:96px;height:116px;object-fit:contain;background:#0e141c;border:1px solid var(--line);border-radius:8px}.employee-no-photo{width:96px;height:116px;display:grid;place-content:center;text-align:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:11px}.employee-data{min-width:0;overflow-wrap:anywhere}.employee-data .rowhead{flex-wrap:wrap}.employee-data .actions{flex-wrap:wrap}@media(max-width:600px){.employee-row{grid-template-columns:72px minmax(0,1fr);gap:12px}.employee-photo,.employee-no-photo{width:72px;height:90px}.employee-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.employee-summary{margin:22px 0}.employee-type-cards,.employee-company-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.employee-type-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.employee-summary h3{margin:14px 0 10px}.employee-count-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:18px;background:#101a27;color:#edf2f7;border:1px solid var(--line);border-radius:10px;text-align:left;cursor:pointer;font:inherit}.employee-count-card span{font-size:12px;font-weight:700;overflow-wrap:anywhere}.employee-count-card strong{font-size:30px;line-height:1.1}.employee-count-card small{font-size:10px;color:var(--muted)}.employee-count-card:hover,.employee-count-card:focus-visible{border-color:#f05b5b;outline:2px solid #f05b5b;outline-offset:2px}.employee-count-card[aria-pressed=true]{background:#3b1d26;border-color:#e32828;box-shadow:inset 4px 0 #e32828}@media(max-width:600px){.employee-company-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-count-card{padding:13px}}

.food-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.food-metrics .info{margin:0;min-width:0;overflow-wrap:anywhere}.food-metrics strong{display:block;font-size:27px;margin:12px 0}.food-metrics small{font-size:11px}.food-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.food-summary .info{min-width:0;overflow-wrap:anywhere}#foodApp .fields label{min-width:0}#foodApp input,#foodApp select,#foodApp textarea{max-width:100%;min-width:0}#foodApp textarea{width:100%;min-height:80px}#foodEditor{scroll-margin-top:85px}#foodApp .rowhead{flex-wrap:wrap}@media(max-width:900px){.food-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.food-summary{grid-template-columns:1fr}}

#foodQuick{scroll-margin-top:85px}#foodQuickFields{border:0;padding:0;margin:0;min-width:0}.food-quick-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:14px 0}.food-quick-table th,.food-quick-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}.food-quick-table th{font-size:12px;color:var(--muted)}.food-quick-table input{width:100%;padding:10px!important}.food-saved{display:block;color:#8ed5ab;font-size:10px;margin-top:4px}@media(max-width:600px){.food-quick-table th,.food-quick-table td{padding:8px 3px;font-size:11px}.food-quick-table input{padding:8px 4px!important}.food-quick-table th:nth-child(1){width:25%}.food-quick-table th:nth-child(2){width:29%}}

.ponto-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:20px 0}.ponto-filters label{min-width:0}
.ponto-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:17px 0}.ponto-card{border:1px solid var(--line);border-radius:8px;background:#111b29;color:var(--ink);padding:13px;text-align:left}.ponto-card strong{font-size:23px;display:block}.ponto-card small{font-size:11px;color:var(--muted)}.ponto-card.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.ponto-table{width:100%;border-collapse:collapse;font-size:12px}.ponto-table th,.ponto-table td{padding:10px 7px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}.ponto-table th{color:#9cadc2}.ponto-table-wrap{overflow-x:auto;max-width:100%}.ponto-note{margin:12px 0;padding:11px;border:1px solid var(--line);border-radius:7px;font-size:12px}.ponto-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}

.relogio-box{margin-top:15px}.relogio-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin:18px 0}.relogio-filters label{min-width:0}.relogio-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:10px;margin:18px 0}.relogio-stat{background:#101925;border:1px solid var(--line);padding:12px;border-radius:8px;text-align:left;color:var(--ink)}.relogio-stat.active{border-color:#e24747}.relogio-stat b{display:block;font-size:23px;line-height:1.3}.relogio-stat small{font-size:11px;color:var(--muted)}.relogio-rows{display:grid;gap:9px;margin-top:12px}.relogio-person{border:1px solid var(--line);border-radius:9px;padding:12px;display:grid;grid-template-columns:65px minmax(0,1fr) auto;gap:12px;align-items:center}.relogio-photo{width:62px;height:69px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#0e141c}.relogio-name{font-weight:bold;overflow-wrap:anywhere}.relogio-person .meta{margin-top:2px}.relogio-person label{display:flex;align-items:center;gap:6px}.relogio-person input[type=checkbox]{width:18px;height:18px;margin:0}.relogio-warning{font-size:12px;padding:12px;border:1px solid #685438;background:#302719;border-radius:7px;margin-top:10px;color:#f3d4a1}.relogio-states{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}.relogio-pill{padding:3px 8px;border:1px solid var(--line);border-radius:12px;color:#cfd8e4;font-size:11px}.relogio-pill.good{color:#b0e9ce;border-color:#36634e}.relogio-pill.pending{color:#e9d49a;border-color:#665936}@media(max-width:650px){.relogio-person{grid-template-columns:52px minmax(0,1fr)}.relogio-person label{grid-column:2}.relogio-photo{width:48px;height:55px}}

/* Importacao por multiplas empresas: resumo compacto, sem rolagem horizontal */
.batch-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px}
.batch-totals span{border:1px solid var(--line);background:#101925;border-radius:8px;padding:10px 12px;min-width:0}
.batch-totals b{display:block;font-size:21px;line-height:1.1}
.batch-totals small{display:block;font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:.04em}
.batch-company-groups{margin:13px 0 18px}
.batch-company-groups h3{margin:0 0 6px;font-size:15px}
.batch-company-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(125px,190px) minmax(90px,145px);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}
.batch-company-row>div{min-width:0;overflow-wrap:anywhere}
.batch-company-row small{display:block;color:var(--muted);margin-top:4px}
.batch-company-count strong{font-size:21px}
.batch-company-state{font-size:10px;line-height:1.4;padding:5px 7px;border-radius:6px;background:#183326;color:#b0e9ce;text-align:center}
.batch-company-state.warning{background:#4a3020;color:#f7d49b}
.batch-warning{padding:11px;margin:8px 0 14px;border:1px solid #7a4e31;color:#f7d49b;border-radius:7px;background:#342417;font-size:12px}
@media(max-width:650px){.batch-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-company-row{grid-template-columns:minmax(0,1fr) auto}.batch-company-state{grid-column:1/-1;justify-self:start}.batch-company-count{text-align:right}}

/* Escopo multiobra: blocos compactos sem rolagem horizontal. */
.work-access{min-width:0;border:1px solid var(--line, #46515d);border-radius:10px;padding:12px;display:grid;gap:10px;margin:0}
.work-access legend{padding:0 6px;font-weight:650}
.work-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:6px;max-height:240px;overflow-y:auto}
.work-option{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0;overflow-wrap:anywhere;cursor:pointer}
.work-option input{flex:0 0 auto;width:16px;height:16px}
.work-option:has(input:disabled){opacity:.55}

/* Cadastro de empresa: pesquisa incremental compacta, sem rolagem horizontal. */
.company-lookup{margin:12px 0 16px;min-width:0}
.company-lookup-results{display:grid;gap:6px;min-width:0;max-height:260px;overflow-y:auto}
.company-suggestion{display:block;text-align:left;border:1px solid var(--line,#374353);background:transparent;color:inherit;width:100%;padding:10px 12px;border-radius:9px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;font-size:13px}
.company-suggestion:hover,.company-suggestion:focus-visible{background:var(--surface,#1b2939);border-color:var(--accent,#829dcc)}
.company-suggestion small{display:block;margin-top:4px;color:var(--muted,#9cadbe);font-size:11px}

/* Navegacao completa por empresas: consulta paginada e pesquisa sem rolagem horizontal. */
.company-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.company-search-row label{min-width:0}
.company-directory{margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#374353);min-width:0}
.company-directory input{width:100%;max-width:100%;min-width:0}
.company-directory .company-lookup-results{max-height:390px;overflow-y:auto;overflow-x:hidden}
.company-directory #companyDirectoryMore{margin-top:10px}
.company-lookup .company-lookup-results:empty{display:none}
@media(max-width:620px){.company-search-row{grid-template-columns:1fr}.company-search-row button{width:100%}}


/* Cadastro rapido: consulta de empresas e alerta de CPF existente. */
.quick-lookup{min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px}
.quick-lookup label{display:block;min-width:0}
.quick-lookup input{width:100%;max-width:100%}
.quick-company-items{display:grid;gap:5px;max-height:280px;overflow-y:auto;overflow-x:hidden;margin:8px 0}
.quick-company-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;max-width:100%;padding:9px 12px;background:#101a27;border:1px solid var(--line);border-radius:7px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.quick-company-item:hover,.quick-company-item:focus-visible{border-color:var(--red)}
.quick-company-item small{color:var(--muted);font-size:11px}
#quickListToggle{margin:8px 0}
#quickCompanyDirectory{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
.quick-cpf-status{min-width:0;font-size:12px}
.quick-cpf-status:not(:empty){padding:12px;background:#142234;border:1px solid #43546b;border-radius:8px}
.quick-cpf-status p{margin:6px 0;overflow-wrap:anywhere}
/* Contagem autoritativa por unidade titular, com drilldown por empresa. */
.employee-work-overall{display:flex;flex-wrap:wrap;gap:6px 11px;align-items:baseline;margin:10px 0 15px;padding:12px;border:1px solid var(--line);border-radius:9px}
.employee-work-overall strong{font-size:25px}
.employee-work-overall span{font-weight:650}
.employee-work-overall small{flex-basis:100%;color:var(--muted);font-size:11px}
.employee-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.employee-work-card{min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#101a27}
.employee-work-main{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;padding:6px;color:var(--ink);background:transparent;border:0;text-align:left;cursor:pointer}
.employee-work-main small{width:100%;font-size:10px;color:var(--muted);font-weight:750}
.employee-work-main strong{font-size:25px}
.employee-work-main span{font-size:12px;font-weight:600}
.employee-work-main[aria-pressed=true]{outline:1px solid var(--red);border-radius:6px}
.employee-work-card details{margin:5px 0;font-size:11px}
.employee-work-card summary{cursor:pointer;color:#a9bad0}
.employee-work-companies{display:grid;gap:3px;max-height:185px;overflow-y:auto;overflow-x:hidden;margin-top:6px}
.employee-work-companies button{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#1d2a3b;border:0;color:var(--ink);padding:8px;border-radius:5px;text-align:left;cursor:pointer}
.employee-work-companies button span{min-width:0;overflow-wrap:anywhere}
.employee-work-types{display:block;color:var(--muted);font-size:10px;margin:6px 0 0}
@media(max-width:620px){.employee-work-grid{grid-template-columns:1fr}.employee-work-overall{margin:10px 0}}

/* Presenca diaria consolidada no banco oficial, sem rolagem horizontal da pagina. */
.ponto-daily{border:1px solid var(--line);border-radius:9px;padding:17px;margin:17px 0;background:#101925;min-width:0}.ponto-daily h3{margin:0 0 8px}.ponto-daily-head{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin:14px 0}.ponto-daily-head strong{font-size:32px}.ponto-daily-head small{color:var(--muted)}.ponto-daily-plot{display:flex;gap:8px;align-items:end;min-height:190px;max-height:200px;overflow-x:auto;padding:8px 2px 12px;border-bottom:1px solid var(--line)}.ponto-daily-day{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;flex:1 0 27px;min-width:27px;font-size:11px}.ponto-daily-day b{font-size:11px}.ponto-daily-day small{font-size:9px;color:var(--muted)}.ponto-daily-bar{width:100%;max-width:30px;min-height:2px;border-radius:4px 4px 0 0;background:var(--presence)}.ponto-daily-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0 8px}.ponto-daily-actions h3{margin:0}.ponto-daily .ponto-table-wrap{max-height:340px;overflow:auto}@media(max-width:600px){.ponto-daily{padding:12px}.ponto-daily-head strong{font-size:26px}}

/* Seletor de relogios: escolha multipla por codigo + serie + obra, sem scroll da pagina */
.ponto-clock-picker{grid-column:span 2;position:relative;min-width:0}
.ponto-clock-toggle{width:100%;margin-top:7px;text-align:left;min-height:44px;display:flex;align-items:center;justify-content:flex-start}
.ponto-clock-options{position:absolute;z-index:60;top:100%;left:0;right:0;border:1px solid #465970;background:#152231;padding:12px;border-radius:8px;box-shadow:0 14px 40px #0009;min-width:300px}
.ponto-clock-options input[type=search]{height:38px;margin-top:2px;font-size:12px}
.ponto-clock-tools .actions{margin:8px 0;gap:6px}.ponto-clock-tools .btn{padding:7px 10px;font-size:11px}
.ponto-clock-list{overflow-y:auto;max-height:310px;overscroll-behavior:contain}
.ponto-clock-group{padding:5px 0 8px;border-bottom:1px solid var(--line)}
.ponto-clock-group>strong{display:block;padding:6px 4px;color:#dce5f1;font-size:11px}
.ponto-clock-option{display:flex;align-items:center;gap:9px;padding:9px 5px;cursor:pointer;border-radius:6px;font-weight:normal;min-width:0}
.ponto-clock-option:hover{background:#253447}.ponto-clock-option input{width:16px;height:16px;flex:none;margin:0;accent-color:var(--red)}
.ponto-clock-option span{min-width:0;overflow-wrap:anywhere;font-size:12px}.ponto-clock-option small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.ponto-clock-cell{min-width:220px;max-width:380px;white-space:normal}
.ponto-clock-chip{display:block;margin:2px 0;padding:5px 7px;background:#203043;border:1px solid #3b5066;border-radius:5px;line-height:1.4;overflow-wrap:anywhere}
.ponto-clock-cell>small{display:block;color:var(--muted);margin:4px 0}
@media(max-width:760px){.ponto-clock-picker{grid-column:1/-1}.ponto-clock-options{position:static;min-width:0;box-shadow:none;margin-top:7px}.ponto-clock-cell{min-width:165px}}

.ponto-clock-group-head{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap}.ponto-clock-group-head strong{font-size:11px;color:#dce5f1;flex:1;min-width:100px}.ponto-clock-group-head .btn{padding:5px 8px;font-size:10px}

/* Origem física ou digital: compacta, independente dos filtros de CC e relógio */
.ponto-origin-filter{grid-column:1/-1;min-width:0}
.ponto-origin-options{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px}
.ponto-origin-pill{border:1px solid #405166;background:#182535;color:#d5deeb;border-radius:6px;padding:8px 11px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}
.ponto-origin-pill.active{border-color:#ec2b2b;background:#5e242a;color:#fff}
.ponto-origin-pill:hover{border-color:#d9e1eb}
.ponto-origin-summary{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 15px}
.ponto-origin-total{display:flex;gap:7px;align-items:baseline;border:1px solid #344559;background:#152433;border-radius:6px;padding:6px 9px;font-size:11px}
.ponto-origin-total b{font-size:15px}.ponto-origin-total small{color:var(--muted);font-size:10px}
.ponto-origin-cell{min-width:160px;white-space:normal}
.ponto-origin-chip{display:block;white-space:normal;overflow-wrap:anywhere;background:#1c3040;border:1px solid #304858;border-radius:5px;padding:5px 7px;margin:2px 0;font-size:11px}
@media(max-width:800px){.ponto-origin-pill{padding:7px 8px}.ponto-origin-summary{gap:5px}.ponto-origin-total{font-size:10px}}

/* Presença diária: gráfico protagonista com data e dia da semana legíveis. */
.ponto-daily{padding:22px 22px 18px}
.ponto-daily>h3{font-size:18px;line-height:1.25;margin-bottom:8px}
.ponto-daily-head strong{font-size:38px;line-height:1.1;color:#def9ec}
.ponto-daily-plot{min-height:305px;max-height:350px;gap:12px;padding:14px 8px 16px;align-items:flex-end}
.ponto-daily-day{flex:1 0 48px;min-width:48px;gap:7px}
.ponto-daily-day .ponto-daily-value{font-size:13px;line-height:1.2}
.ponto-daily-day .ponto-daily-date{font-size:14px;line-height:1.2;font-weight:700;color:#e9f3fd;white-space:nowrap}
.ponto-daily-day .ponto-daily-weekday{font-size:12px;line-height:1.15;letter-spacing:.06em;font-weight:700;color:#aec4da;white-space:nowrap}
.ponto-daily-bar{max-width:46px;border-radius:5px 5px 0 0}
@media(max-width:600px){
 .ponto-daily{padding:14px}
 .ponto-daily-plot{gap:9px;padding:12px 2px 16px;min-height:302px}
 .ponto-daily-day{flex-basis:44px;min-width:44px}
 .ponto-daily-day .ponto-daily-date{font-size:13px}
 .ponto-daily-day .ponto-daily-weekday{font-size:11px}
}
