@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800&display=swap');
:root{--forest:#193d33;--leaf:#285944;--paper:#f7f8f4;--ink:#20392e;--muted:#7e9183;--line:#e1e8df;--red:#b65e54;--gold:#ac813d;--green:#2d916b;font-family:'Golos Text',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #84b79b;outline-offset:2px}button{border:1px solid transparent;border-radius:9px;padding:11px 15px;font-weight:600;font-size:13px;background:#edf3ed;color:var(--leaf)}.primary{background:var(--leaf);color:white}.primary:hover{background:#1c4835}.secondary{border-color:#d9e5d9;background:white}.danger{color:var(--red)}.danger-button{color:var(--red);background:#fff1ef}.text-button{border:0;background:transparent;color:var(--leaf);padding:9px 0;text-align:left}.icon-button{font-size:25px;padding:1px 9px;background:none;color:var(--muted)}[hidden]{display:none!important}a{color:var(--leaf)}h1,h2,h3,p{margin-top:0}h1{font-size:29px;font-weight:600;letter-spacing:-.8px;margin-bottom:7px}h2{font-size:17px;letter-spacing:-.3px;margin-bottom:8px}h3{font-size:14px}p{line-height:1.6}.muted,small{color:var(--muted)}small{font-size:11px;line-height:1.5}.eyebrow{display:block;font-size:9px;font-weight:700;letter-spacing:2px;color:var(--muted);margin-bottom:10px}.wordmark{font-size:23px;font-weight:800;letter-spacing:4px}.wordmark span{display:block;font-size:8px;font-weight:500;letter-spacing:1.8px;color:#afc9bc;margin-top:8px}.shell{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--forest);color:white;display:flex;flex-direction:column;padding:35px 17px 20px;z-index:30}.sidebar .wordmark{padding:0 13px;margin-bottom:48px}.sidebar-label{font-size:8px;letter-spacing:1.5px;color:#8fb09e;padding:0 13px;margin-bottom:15px}.sidebar nav{display:grid;gap:4px}.nav-button{display:flex;gap:12px;align-items:center;text-align:left;background:transparent;color:#bed2c5;width:100%;padding:12px 13px;font-size:12px;border-radius:8px}.nav-button .nav-icon{font-size:17px;width:20px;text-align:center}.nav-button.active{background:#365f4b;color:white}.nav-button:hover{background:#2b5141}.sidebar-bottom{margin-top:auto;border-top:1px solid #426050;padding-top:17px}#identity{font-size:11px;line-height:1.8;padding:0 13px 10px;color:#c1d3c8}main{margin-left:238px;padding:31px 35px 18px;max-width:1920px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:0 0 25px}header p{font-size:12px;margin:0}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-control{display:flex;align-items:center;gap:10px;padding:8px 12px;background:white;border:1px solid var(--line);border-radius:9px;font-size:11px}.date-control input{border:0;padding:2px;max-width:140px;font-size:12px}label{font-size:11px;color:#5b7362;display:grid;gap:7px;font-weight:500}input,select,textarea{border:1px solid #dce6db;border-radius:7px;padding:10px 11px;width:100%;min-width:0;color:var(--ink);background:white;font-size:12px}input[type=checkbox]{width:auto}input[type=file]{font-size:11px;padding:8px}textarea{resize:vertical;min-height:80px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric{background:white;border:1px solid var(--line);padding:21px 22px;border-radius:13px;box-shadow:0 4px 16px #183b2b03}.metric.highlight{background:#e9f1e4;border-color:#d8e4d1}.metric span{display:block;font-size:9px;letter-spacing:1.2px;font-weight:600;color:#7c927f;margin-bottom:14px}.metric strong{display:block;font-size:25px;font-weight:600;letter-spacing:-.7px;margin-bottom:9px}.metric small{font-size:10px}.panel{background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:20px;box-shadow:0 7px 24px #193c3305;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #edf0e9}.panel-head h2{margin:0}.panel-head p{font-size:11px;margin:6px 0 0;color:var(--muted)}.panel-body{padding:20px 22px}.columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.85fr);gap:20px}.cash-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.cash-tile{padding:15px;border:1px solid #e1e8dd;background:#f8faf5;border-radius:10px;min-height:104px}.cash-tile span{display:block;font-size:9px;color:#849381;text-transform:uppercase;letter-spacing:.6px;margin-bottom:11px}.cash-tile strong{display:block;font-size:19px;font-weight:600;letter-spacing:-.3px}.cash-tile small{display:block;font-size:10px;margin-top:6px}.cash-tile.emphasis{background:#eef4e8}.cash-form{display:grid;gap:15px}.cash-form .form-grid{border-bottom:1px solid var(--line);padding-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.full{grid-column:1/-1}.section-label{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:23px 0 13px}.empty{padding:34px 25px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.empty strong{display:block;font-size:14px;font-weight:500;color:#5e7865;margin-bottom:7px}.empty-icon{display:block;font-size:24px;color:#a9bda4;margin-bottom:14px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#8a9c89;background:#fafbf8;padding:12px 17px;white-space:nowrap;font-weight:500}td{padding:14px 17px;border-top:1px solid #edf1e8;vertical-align:middle}td small{display:block}tr:hover td{background:#fafcf7}.table-actions{display:flex;gap:6px}.table-actions button{font-size:10px;padding:6px 9px;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:#edf4e8;border-radius:6px;font-size:10px;color:#628359}.badge.warn{background:#fbf2de;color:#a0803c}.badge.red{background:#fcf0ed;color:#b66e5c}.balance-list{display:grid;gap:0}.balance-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1e8;font-size:12px}.balance-row:last-child{border:0}.balance-row strong{margin-left:auto;font-weight:500}.balance-dot{width:8px;height:8px;border-radius:50%;background:#a1bd94}.note{padding:13px 16px;background:#f3f7ee;border-radius:8px;font-size:11px;line-height:1.7;color:#6b8267}.note.warn{background:#fcf7e9;color:#947e43}#pageStatus{font-size:12px;color:var(--red);margin-bottom:12px}footer{font-size:9px;color:#98a593;padding:12px 0;text-align:right;letter-spacing:.5px}.auth{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:var(--forest);color:white;padding:70px 12%;display:flex;flex-direction:column;justify-content:center}.auth-story .wordmark{margin-bottom:80px}.auth-story h1{font-size:clamp(32px,4vw,55px);line-height:1.2;font-weight:500;letter-spacing:-1.5px}.auth-story p{color:#a9c3b1;font-size:14px;max-width:350px}.auth-rule{font-size:9px;letter-spacing:2px;color:#86a88f;margin-top:65px}.auth-card{align-self:center;justify-self:center;display:grid;gap:17px;padding:45px;width:min(460px,100%)}.auth-card h2{font-size:28px}.auth-card p{font-size:12px}.auth-card .primary{padding:13px}.auth-card #authStatus{color:var(--red)}dialog{border:1px solid var(--line);border-radius:16px;padding:0;color:var(--ink);max-height:92dvh;width:min(780px,94vw);box-shadow:0 20px 80px #10251d35}dialog::backdrop{background:#132f2777;backdrop-filter:blur(3px)}dialog form{padding:25px}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}.dialog-head h2{font-size:22px;margin:0}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;border-top:1px solid var(--line);margin-top:23px;padding-top:17px;position:sticky;bottom:-25px;background:white;padding-bottom:9px}#dialogStatus{font-size:12px;color:var(--red);margin:15px 0}.signature-pad{width:100%;height:150px;border:1px dashed #b3c5ae;border-radius:8px;touch-action:none;background:linear-gradient(white 78%,#e2eadb 78.5%,white 79%)}.saved-signature{height:80px;width:260px;max-width:100%;background:#f9fbf7;border:1px solid var(--line);border-radius:8px}.payout-part{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:8px;margin-bottom:10px}.payout-part button{padding:7px}.history-item{display:flex;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}.history-item .history-main{flex:1;font-size:12px}.history-item strong{font-size:13px}.history-item small{display:block;margin-top:4px}.hall-wrap{background:#f8faf4;position:relative;overflow:auto}.hall-svg{width:100%;display:block;min-width:500px;max-height:70vh}.hall-svg [data-table]{cursor:pointer}.hall-svg [data-table]:focus{outline:none;filter:drop-shadow(0 0 3px #669673)}.hall-svg text{pointer-events:none}.hall-legend{display:flex;gap:20px;font-size:10px;color:var(--muted);padding:13px 22px;border-top:1px solid var(--line)}.hall-editor{position:fixed;inset:0;background:var(--paper);z-index:90;display:grid;grid-template-rows:auto 1fr}.hall-editor .panel-head{background:white}.hall-editor .hall-wrap{overflow:auto}.hall-editor .hall-svg{min-width:900px;max-height:none;height:100%}.hall-editor .editor-form{display:flex;gap:10px;align-items:end;background:white;border-top:1px solid var(--line);padding:10px 20px;flex-wrap:wrap}.hall-editor .editor-form label{min-width:90px;max-width:180px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar input{max-width:250px}.timesheet-cell{width:25px;min-height:25px;text-align:center;padding:2px 0;border-radius:4px;cursor:pointer;background:#f0f4eb;font-size:10px}.timesheet-cell.worked{background:#5d8c68;color:white}.timesheet-table th,.timesheet-table td{padding:4px 3px;white-space:nowrap}.timesheet-table th:first-child,.timesheet-table td:first-child{min-width:145px;max-width:205px;white-space:normal;padding-inline:8px}.timesheet-table td:first-child{line-height:1.2}.timesheet-table td:first-child small{font-size:10px;margin-top:2px}.timesheet-table td:last-child button{font-size:10px;padding:4px 6px;margin:1px 2px}@media(max-width:760px){.timesheet-cell{width:28px;min-height:28px}}.receipt{display:inline-block;margin-top:5px;font-size:10px}.file-note{font-size:10px;color:var(--muted)}.import-preview{max-height:350px;overflow:auto;border:1px solid var(--line);border-radius:8px}.import-errors{font-size:11px;color:var(--red)}#toast{position:fixed;right:24px;bottom:24px;background:var(--forest);color:white;padding:13px 20px;border-radius:9px;font-size:12px;z-index:200;box-shadow:0 5px 25px #153a2533;display:none}#toast.show{display:block}.progress{height:5px;background:#edf2e7;border-radius:4px;margin:10px 0}.progress span{display:block;height:100%;background:#779c6a;border-radius:4px}.check-row{display:flex;align-items:center;gap:8px;font-size:12px}.check-row input{width:auto}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.access-card{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}.access-card p{margin:0;font-size:12px}.access-card select{width:auto}.skeleton{height:120px;background:linear-gradient(90deg,#f0f3eb,#fafbf8,#f0f3eb);border-radius:12px}
@media(min-width:1650px){main{padding-left:45px;padding-right:45px}.cash-tile{min-height:115px}.metric strong{font-size:29px}}
@media(max-width:1150px){main{padding:25px 24px}.sidebar{width:210px}main{margin-left:210px}.columns{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:17px 15px}.metric strong{font-size:21px}}
@media(max-width:760px){.sidebar{position:sticky;top:0;width:100%;height:auto;padding:10px;display:block}.sidebar .wordmark{font-size:17px;margin:0 10px 10px}.sidebar .wordmark span,.sidebar-label{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.nav-button{width:auto;white-space:nowrap;padding:9px;font-size:11px}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;border:0;margin:0;padding:7px 5px 0}#identity{font-size:10px;padding:0}main{margin:0;padding:20px 15px}header{align-items:start;flex-direction:column;gap:12px}h1{font-size:25px}.metrics{grid-template-columns:repeat(2,1fr)}.cash-tiles{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:1fr 1fr}.auth{grid-template-columns:1fr}.auth-story{padding:30px}.auth-story h1,.auth-story p,.auth-rule{display:none}.auth-story .wordmark{margin:0}.auth-card{padding:30px}.payout-part{grid-template-columns:1fr 1fr}.payout-part button{grid-column:2;justify-self:end}.panel-head{padding:16px}.panel-body{padding:16px}.details-grid{grid-template-columns:1fr}}
@media(max-width:430px){.form-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr}.metric strong{font-size:19px}.cash-tile strong{font-size:17px}.metric span{font-size:8px}.sidebar-bottom #identity{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-actions{flex-wrap:wrap}}
/* Compact desktop workspace; retain natural scrolling on small screens. */
main{padding-top:16px}main>header{padding-bottom:10px;gap:12px}main>header h1{font-size:25px;margin-bottom:3px}main>header p{margin-bottom:0;font-size:11px}main>header .eyebrow{font-size:8px;margin-bottom:4px}
.date-control{position:relative;cursor:pointer;min-height:38px}.date-control input{cursor:pointer}.date-control input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer}
.home-page .metrics{gap:10px;margin-bottom:12px}.home-page .metric{padding:12px 15px;border-radius:10px}.home-page .metric span{margin-bottom:7px;font-size:9px;letter-spacing:.7px}.home-page .metric strong{font-size:23px;margin-bottom:3px}.home-page .metric small{font-size:10px}
.home-page .columns{gap:12px}.home-page .panel{margin-bottom:10px;border-radius:11px}.home-page .panel-head{padding:10px 13px;gap:8px}.home-page .panel-head h2{font-size:14px;margin-bottom:2px}.home-page .panel-head p{font-size:10px;margin-bottom:0}.home-page .panel-body{padding:10px 13px}.home-page button{padding:8px 10px;font-size:11px}.home-page .actions{gap:6px}
.home-page .cash-tiles{gap:7px}.home-page .cash-tile{padding:9px 10px;min-height:72px;border-radius:8px}.home-page .cash-tile span{font-size:8px;margin-bottom:6px;letter-spacing:.3px}.home-page .cash-tile strong{font-size:17px}.home-page .cash-tile small{font-size:9px;line-height:1.3}.home-page .note{padding:8px 10px;font-size:10px}.home-page .balance-row{padding:6px 0;font-size:11px}.home-page .file-note{font-size:9px;margin:7px 0 0}.home-page .empty{padding:15px;font-size:11px}.home-page .empty-icon{font-size:22px;margin-bottom:4px}.home-page .empty strong{margin-bottom:3px}.home-page .table-wrap{max-height:170px;overflow:auto}.home-page th,.home-page td{padding:9px 12px;font-size:11px}.home-page footer{padding:3px 0;font-size:8px}
.home-page .columns>aside>.panel:nth-child(2) .panel-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}.home-page .columns>aside>.panel:last-child .panel-body h2{font-size:20px;margin:4px 0}.home-page .columns>aside>.panel:last-child .panel-body p{margin-bottom:7px;font-size:10px!important;line-height:1.4}
@media(min-width:1000px){.home-page .columns{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}}
@media(min-width:1000px) and (max-height:800px){.home-page .cash-tile{min-height:65px;padding:7px 9px}.home-page .metric{padding:9px 13px}.home-page .panel-head{padding:8px 12px}.home-page .balance-row{padding:4px 0}.home-page .table-wrap{max-height:120px}.home-page .panel-body{padding:8px 12px}.home-page .columns>aside>.panel:last-child .panel-body p{margin-bottom:5px}}
@media(max-width:760px){main>header{gap:8px}main>header h1{font-size:23px}.home-page .columns>aside>.panel:nth-child(2) .panel-body{grid-template-columns:1fr 1fr}.home-page .table-wrap{max-height:260px}.home-page .cash-tile{min-height:76px}}
/* Keep every navigation item reachable, including on short windows and zoom. */
.sidebar{height:100dvh;overflow:hidden;padding-top:22px;gap:0}.sidebar>.wordmark{flex-shrink:0;margin-bottom:24px}.sidebar-label{flex-shrink:0}.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#799b87 transparent;padding-bottom:8px}.sidebar nav .nav-button{min-width:0;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}.sidebar-bottom{flex:0 0 auto;margin-top:10px;padding-top:10px}#identity{overflow-wrap:anywhere}
@media(min-width:761px) and (max-height:800px){.sidebar{padding-top:16px;padding-bottom:12px}.sidebar>.wordmark{margin-bottom:18px}.sidebar-label{margin-bottom:9px}.sidebar nav{gap:2px}.sidebar nav .nav-button{padding:9px 11px;font-size:11px}.sidebar-bottom{margin-top:6px;padding-top:7px}}
@media(max-width:760px){.sidebar{height:auto;max-height:65dvh;padding:10px;display:flex;inset:auto;top:0}.sidebar>.wordmark{margin:0 10px 8px;padding:0;align-self:flex-start}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:36dvh;width:100%;gap:4px;padding-bottom:4px;overflow-y:auto;overflow-x:hidden}.sidebar nav .nav-button{width:100%;padding:8px 9px;white-space:normal;font-size:11px}.sidebar-bottom{width:100%;padding-top:6px;margin-top:4px;gap:8px}.sidebar-bottom #identity{max-width:none;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;flex:1}}
.home-page .balance-summary{grid-column:span 2}.balance-summary-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:5px}.balance-summary-values>div{min-width:0}.home-page .balance-summary-values small{display:block;margin-bottom:3px}.home-page .balance-summary-values strong{font-size:16px;overflow-wrap:anywhere}.balance-difference.shortage strong{color:var(--red)}.balance-difference.surplus strong{color:var(--gold)}.balance-difference.balanced strong{color:var(--green)}
@media(max-width:760px){.home-page .balance-summary{grid-column:1/-1}.home-page .balance-summary-values strong{font-size:14px}}
@media(max-width:430px){.balance-summary-values{gap:7px}.home-page .balance-summary-values strong{font-size:12px}.home-page .balance-summary-values small{font-size:8px}}
.hall-wrap .hall-portrait{width:100%;max-width:620px;min-width:0;max-height:none;height:auto;margin:0 auto;background:#fbfdf9;touch-action:pan-y}.hall-portrait [data-table]{cursor:pointer}.hall-portrait [data-table]:hover{filter:drop-shadow(0 0 2px #527f64)}.hall-editor{grid-template-rows:auto minmax(0,1fr) auto}.hall-editor .hall-wrap{min-height:0;touch-action:none}.hall-editor .hall-portrait{min-width:0;max-width:none;width:100%;height:100%;max-height:none;touch-action:none}
/* Mobile navigation opens as a modal drawer, leaving only a compact bar. */
.mobile-bar{display:none}.mobile-menu{padding:0;border:0;border-radius:0;margin:0 auto 0 0;width:min(330px,88vw);max-width:88vw;height:100dvh;max-height:100dvh;background:var(--forest);color:white;overflow:hidden;box-shadow:12px 0 40px #10251d55}.mobile-menu[open]{display:flex;flex-direction:column}.mobile-menu::backdrop{background:#10251d88;backdrop-filter:blur(2px)}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #426050;flex-shrink:0}.mobile-menu-head strong{font-size:15px}.mobile-menu-head button{color:white;background:transparent;font-size:27px;padding:2px 10px;min-height:44px;min-width:44px}.mobile-menu nav{display:grid;align-content:start;gap:4px;min-height:0;overflow-y:auto;padding:12px;flex:1;overscroll-behavior:contain;scrollbar-width:thin}.mobile-menu .nav-button{width:100%;font-size:14px;padding:12px;min-height:44px;white-space:normal;overflow-wrap:anywhere}.mobile-menu-footer{flex-shrink:0;border-top:1px solid #426050;padding:12px}.mobile-menu-footer>div{font-size:11px;color:#bed2c5;overflow-wrap:anywhere;padding:0 12px 8px}
@media(max-width:760px){#shell>.sidebar{display:none}.mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:40;min-height:50px;padding:6px 15px;background:var(--forest);color:white;box-shadow:0 2px 8px #10251d15}.mobile-brand{font-size:18px;font-weight:800;letter-spacing:3px}.mobile-bar button{display:flex;align-items:center;gap:8px;background:#365f4b;color:white;padding:8px 11px;min-height:38px;font-size:12px}.mobile-bar button span{font-size:18px;line-height:1}}
.dialog-validation{position:sticky;top:0;z-index:2;margin-bottom:16px;border:1px solid #d9b57d;background:#fff6e5!important;color:#734c1e;line-height:1.5}
.report-dialog{width:min(1200px,96vw)}.report-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.report-totals>div{padding:9px;border:1px solid var(--line);border-radius:7px;background:#f8faf5}.report-totals small,.report-totals strong{display:block}.report-totals strong{font-size:14px;overflow-wrap:anywhere}.report-row-list{display:grid;gap:10px;max-height:55vh;overflow:auto}.report-row{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(260px,1.5fr);gap:12px;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff}.report-row>div:first-child{display:grid;align-content:start;gap:7px}.report-row-mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-content:start}.report-row-status{grid-column:1/-1;font-size:11px;color:var(--red)}.report-row small{font-size:10px}.report-row-mapping select{font-size:11px}.report-row .check-row{font-size:11px}#reportWarnings p{font-size:11px;margin-bottom:8px}#reportServerStatus{font-size:12px;line-height:1.5;color:var(--leaf)}
@media(max-width:760px){.report-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.report-row{grid-template-columns:1fr}.report-row-mapping{grid-template-columns:1fr}.report-row-list{max-height:none}.report-dialog form{padding:16px}}

.employee-group th{background:#e5eee8;color:#244c3d;text-align:left;font-weight:700;padding:10px 14px}.employee-subgroup th{background:#f3f7f4;color:#527561;text-align:left;font-weight:600;padding:7px 22px}

.bulk-payroll-row{padding:16px;border:1px solid #cbded2;border-radius:12px;margin:16px 0}.bulk-payroll-row .signature-pad{width:100%;max-width:600px}.bulk-payroll-row [data-time]{font-size:12px}

.signature-layout{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:20px;align-items:center;width:100%}.signature-drawing{min-width:0}.signature-layout .signature-pad,.bulk-payroll-row .signature-layout .signature-pad{display:block;width:100%;height:auto;max-width:320px;aspect-ratio:1/1;touch-action:none}.signature-controls{display:flex;flex-direction:column;gap:18px;min-width:0}.signature-controls .dialog-actions{display:flex;flex-direction:column;align-items:stretch;margin:0;padding:0;border:0}.signature-controls .check-row{align-items:flex-start;line-height:1.5}@media(max-width:560px){.signature-layout{grid-template-columns:1fr}.signature-drawing{max-width:320px;width:100%;margin:auto}.signature-controls .dialog-actions{flex-direction:row;flex-wrap:wrap}}

.mfa-qr{display:block;width:min(100%,220px);height:auto;margin:12px auto;background:white;padding:8px}.mfa-secret{overflow-wrap:anywhere;user-select:all}.auth-card [data-code]{display:grid;gap:12px;margin:16px 0}

.employee-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:650px}
.employee-weekday{text-align:center;font-size:12px;color:var(--leaf)}
.employee-day{min-width:0;display:grid;gap:3px;text-align:center;padding:5px 2px;border-radius:7px;background:#edf3ed;color:var(--leaf);font-size:12px}
.employee-day span{font-size:10px;font-weight:400}
.employee-day.worked{background:#d7eadc}

.attendance-toolbar{position:sticky;top:0;z-index:4;background:#f6faf6;border:1px solid #dce8df;border-radius:10px;padding:9px 12px;margin-bottom:12px}
.attendance-options{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.attendance-options button,.attendance-options select{font-size:12px;padding:7px 10px}
.attendance-options select{width:auto;max-width:100%}
.attendance-options button[aria-pressed="true"]{background:var(--leaf);color:white}
.attendance-toolbar small{display:block;margin-top:5px;color:var(--leaf)}
[data-attendance][aria-busy="true"]{opacity:.55;cursor:wait}
@media(max-width:760px){.attendance-toolbar{top:50px}}

.personnel-search{display:grid;gap:3px;font-size:11px;width:clamp(145px,26vw,225px);max-width:100%}
