500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#252a30;--muted:#7a7f86;--line:#e7e7e5;--bg:#f7f7f4;--red:#a32935;--red-pale:#f7e9e9;--green:#347a61;--font:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px var(--font)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button{transition:background .15s}a{color:inherit}button:hover{filter:brightness(.97)}.sidebar{width:226px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:35px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:800 24px Manrope,var(--font);letter-spacing:1px}.brand-icon{display:grid;place-items:center;width:43px;height:46px;border-radius:12px 12px 18px 18px;background:var(--red);color:white;font-size:26px;font-weight:800;box-shadow:0 4px 8px #a3293514}.brand small{display:block;font:600 8px var(--font);letter-spacing:2px;color:#73777c;margin-top:3px}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#9c9fa3;margin:51px 10px 17px}.nav{border:0;background:transparent;width:100%;text-align:left;padding:13px 12px;border-radius:7px;color:#73777d;font-size:12px;font-weight:600;margin-bottom:7px;display:flex;align-items:center;gap:11px}.nav>span{font-size:19px;width:20px;text-align:center}.nav.active{background:var(--red-pale);color:var(--red)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:24px 8px 0;font-size:12px;font-weight:600}.sidebar-bottom small{display:block;color:#92969a;font-size:10px;line-height:1.8;margin:12px 0}.status-dot,.local-badge i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#44886d;margin-right:6px}.subtle{display:block;border:0;padding:6px 0;color:#777d84;background:transparent;font-size:10px}main{margin-left:226px;padding:0 38px;max-width:1800px}.topbar{height:90px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#92969a;display:block}.top-context{display:block;font-size:12px;font-weight:500;margin-top:6px;color:#666c73}.local-badge{color:#768079;font-size:10px;white-space:nowrap}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 26px;gap:20px}.page-heading .eyebrow{color:var(--red);letter-spacing:1.4px;font-size:9px}h1{font:800 30px/1.3 Manrope,var(--font);letter-spacing:-1px;margin:8px 0 7px}.page-heading p{color:var(--muted);font-size:12px;margin:0}.heading-actions{display:flex;gap:10px}.button{border:1px solid #dedfdf;background:white;color:#51565e;padding:11px 15px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;line-height:1.3}.button.primary{border-color:var(--red);background:var(--red);color:white}.button.compact{padding:9px 11px;font-size:10px}.text-button{background:transparent;border:0;padding:5px;color:var(--red);font-size:10px;font-weight:600}.period-bar{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:8px;padding:14px 18px;background:#fff}.calendar-icon{font-size:24px;color:#a4a6aa}.period-bar small{display:block;color:#94989e;font-size:8px;letter-spacing:1px;font-weight:700;margin-bottom:3px}.period-bar strong{font-size:12px;font-weight:600}.period-bar button{margin-left:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0 28px}.stat{background:white;border:1px solid var(--line);border-radius:8px;padding:18px 20px;min-width:0;position:relative}.stat:first-child{border-top:3px solid var(--red);padding-top:16px}.stat-label{font-size:10px;font-weight:500;color:#737a81;display:flex;justify-content:space-between;gap:10px}.stat-label span{color:#999eaa}.stat-number{font:700 28px Manrope,var(--font);letter-spacing:-.8px;margin:12px 0 8px}.stat-number .unit{font-size:15px;font-weight:500;color:#93989d;margin-left:5px;letter-spacing:0}.stat small{display:block;font-size:9px;color:#93989d}.panel{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-title{padding:21px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}h2{font:700 14px Manrope,var(--font);margin:0}.panel-title p{font-size:10px;color:#999da3;margin:7px 0 0}.count{font:600 9px var(--font);padding:3px 7px;border-radius:4px;background:#f1f1f0;color:#7d8288;vertical-align:middle;margin-left:7px}.filters{display:flex;gap:9px;padding:0 22px 18px}.filters select{max-width:185px;width:auto;font-size:10px;background:#fff;color:#666b73;height:35px;padding:0 8px}.search{flex:1;min-width:145px;display:flex;align-items:center;border:1px solid #e4e5e5;border-radius:5px;padding:0 10px;gap:7px;color:#999}.search input{border:0;width:100%;min-width:0;padding:9px 0;font-size:10px;background:none}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:8px;letter-spacing:.7px;color:#91969c;background:#fafaf8;font-weight:600;padding:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}th:first-child,td:first-child{padding-left:22px}td{border-bottom:1px solid #efefed;padding:15px 18px;font-size:11px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfcfa}.date-main{font-weight:600;font-size:11px}.date-sub{display:block;color:#9a9da2;font-size:9px;margin-top:4px}.person-cell{display:flex;align-items:center;gap:9px}.avatar{display:grid;place-items:center;border-radius:50%;background:#eeedef;color:#77717c;font-size:10px;font-weight:600;height:30px;width:30px;flex-shrink:0}.avatar.filipe{background:#e9edf3;color:#687b94}.avatar.pamela{background:#f3e9eb;color:#a37682}.avatar.carolaine{background:#eeeae0;color:#938665}.person-name{font-weight:600;font-size:10px;max-width:145px;overflow:hidden;text-overflow:ellipsis}.person-meta{display:block;color:#93989d;font-size:8px;margin-top:4px}.activity-cell{max-width:240px;min-width:170px;white-space:normal;line-height:1.6;color:#6a7078;font-size:10px}.hours{font-weight:700}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:5px 7px;font-size:8px;font-weight:600}.badge.day{background:#fbf4e3;color:#a08541}.badge.night{background:#edf0f8;color:#747fa1}.badge.warning{background:#fff0db;color:#ad7539}.badge.ok{background:#eaf3ee;color:#408263}.badge.error{background:var(--red-pale);color:var(--red)}.row-actions{display:flex;gap:5px}.icon-button{border:0;background:none;color:#9a9fa5;padding:5px;font-size:14px}.icon-button:hover{color:var(--red)}.table-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:14px 22px;font-size:9px;color:#8c9299}.notice-area:not(:empty){padding:0 22px 15px}.notice{border-left:2px solid #d4a461;background:#fcf8ef;color:#947543;padding:10px 12px;font-size:10px;line-height:1.7;border-radius:0 4px 4px 0}.notice strong{font-weight:600}.page-footer{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#a3a7ab;margin:22px 0 30px}.empty{text-align:center;padding:45px!important;color:#8c9299}.helper{font-size:11px;color:#92969d;line-height:1.8}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:0 22px 22px;gap:15px}.person-card{border:1px solid var(--line);border-radius:7px;padding:20px}.person-card h3{font-size:12px;line-height:1.6;margin:12px 0 5px}.person-card p{color:#93989d;font-size:10px;line-height:1.8}.person-card .button{margin-top:10px}.settings-panel{max-width:850px}.settings-content{padding:0 25px 25px}.settings-content h3{font-size:13px;margin:25px 0 16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;color:#727981;font-weight:500}input,select,textarea{display:block;border:1px solid #dedfdf;border-radius:5px;background:white;color:var(--ink);padding:11px;width:100%;margin-top:7px;line-height:1.4}textarea{resize:vertical}.form-grid+label{margin-top:16px}.settings-content .helper{margin-top:12px}.holiday-row{display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid var(--line);border-radius:4px;margin-bottom:7px;font-size:11px}.holiday-add{display:grid;grid-template-columns:1fr 1.5fr auto;gap:12px;align-items:end;margin-top:15px}.form-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;justify-content:flex-end}dialog{border:1px solid #e5e5e3;border-radius:12px;padding:0;width:520px;max-width:calc(100vw - 30px);max-height:92vh;box-shadow:0 25px 90px #1d202438;color:var(--ink)}dialog::backdrop{background:#20252a75;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}.dialog-heading small{font-size:8px;letter-spacing:1.4px;color:var(--red);font-weight:700}.dialog-heading h2{font-size:18px;margin-top:6px}.close{font-size:26px;background:none;border:0;color:#a2a6ac;padding:0 5px}.dialog-content{padding:20px 25px;overflow:auto}.dialog-content>label,.dialog-content>.form-grid,.dialog-content>#singleDate,.dialog-content>#batchDates{margin-bottom:16px}.dialog-content h3{font-size:12px}.dialog-content>p{font-size:12px;line-height:1.8;color:#7b828a}.dialog-content .helper{font-size:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 25px;background:#fafaf8;border-top:1px solid var(--line)}.calculation-preview{border:1px solid #e4e9e5;background:#f5f8f5;padding:13px;border-radius:6px;font-size:12px;line-height:1.9;color:#557363}.form-error{font-size:11px;color:var(--red);line-height:1.8;white-space:pre-line;margin-top:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#2c3430;color:#fff;padding:13px 20px;border-radius:7px;z-index:100;font-size:12px;box-shadow:0 4px 20px #0002;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1550px){main{padding:0 55px}.activity-cell{max-width:340px}td{padding-top:18px;padding-bottom:18px}}@media(max-width:1150px){main{padding:0 23px;margin-left:190px}.sidebar{width:190px;padding:30px 14px}.filters{flex-wrap:wrap}.filters .search{min-width:200px}.filters select{flex:1}.stat{padding:16px}.stat-number{font-size:23px}.heading-actions{gap:6px}.button{padding:10px 12px}.page-heading{align-items:flex-start}.people-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:18px 20px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.brand-icon{height:36px;width:35px;font-size:21px}.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:5px;margin-top:16px;overflow:auto}.nav{white-space:nowrap;font-size:10px;justify-content:center;padding:10px 8px;min-width:max-content}.nav>span{display:none}.brand small{font-size:7px}main{margin:0;padding:0 16px}.topbar{height:65px}.eyebrow{font-size:7px;letter-spacing:1px}.local-badge{font-size:8px}.top-context{font-size:10px}.page-heading{margin:24px 0 20px;flex-wrap:wrap;gap:17px}h1{font-size:27px}.heading-actions{width:100%}.heading-actions .button{flex:1}.period-bar{padding:12px}.period-bar strong{font-size:10px}.period-bar small{font-size:7px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 20px}.stat{padding:15px}.stat-number{font-size:25px}.stat-label{font-size:10px}.stat small{font-size:8px}.panel-title{padding:17px;gap:10px}.panel-title h2{font-size:12px}.panel-title p{font-size:9px;line-height:1.5}.button.compact{font-size:9px;white-space:normal}.filters{padding:0 17px 15px}.filters .search{min-width:100%;width:100%}.filters select{max-width:100%;min-width:40%;font-size:9px}.notice-area:not(:empty){padding:0 17px 12px}.table-footer{padding:12px 17px;gap:10px;line-height:1.6}.page-footer{font-size:8px;line-height:1.6}.page-footer span:last-child{max-width:160px;text-align:right}.people-grid{grid-template-columns:1fr;padding:0 17px 17px}.settings-content{padding:0 18px 20px}.holiday-add{grid-template-columns:1fr 1fr}.holiday-add .button{grid-column:1/-1}.dialog-content{padding:18px 20px}.dialog-heading{padding:20px}.dialog-actions{padding:17px 20px}.form-grid{gap:10px}.dialog-heading h2{font-size:16px}}
#periodDetailsDialog{width:800px}.period-issue{background:#fff;border:1px solid #e7ddcb;border-radius:7px;padding:15px;margin-top:12px;color:var(--ink);font-size:11px;line-height:1.7}.issue-heading{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.issue-heading>strong{font-size:11px}.period-issue p{margin:8px 0;font-size:11px;line-height:1.7}.issue-activity{color:#676e77}.issue-reason{color:#9b6c30;background:#fff8ed;border-radius:4px;padding:9px}.period-issue .button{margin-top:5px}.issue-disclosure{margin-top:10px}.issue-disclosure>summary{font-size:11px;cursor:pointer;color:#996c33;line-height:1.7}.issue-disclosure .period-issue{padding:11px}.notice .text-button{padding:8px 0 0;font-size:11px}
.stat.budget-exceeded{border-color:#e4a0a5;background:#fff7f7}.stat.budget-exceeded .stat-number,.budget-over-text{color:#b21f30}.budget-comparison{font-size:9px;line-height:1.7;border-top:1px solid #e6e8e5;padding-top:9px;margin-top:9px;color:#778078}.budget-comparison>span,.budget-message{display:block}.budget-message{margin-top:3px;font-size:10px;font-weight:600;color:#39755e}.budget-exceeded .budget-message{color:#b21f30}.budget-comparison.budget-exceeded{border-color:#eac5c8;color:#7f6669}.budget-scope-note{grid-column:1/-1;margin:0;color:#7a8087;font-size:10px;line-height:1.8}.calculation-preview .budget-comparison{font-size:11px}.calculation-preview .budget-message{font-size:12px}
.history-toolbar{padding:0 22px 22px;display:flex;align-items:end;gap:25px;flex-wrap:wrap}.history-toolbar label{min-width:260px}.history-toolbar p{font-size:11px;color:#858b92;margin:0 0 10px}.history-records{margin-top:20px}.cycle-filter-label{font-size:10px;color:#7f858b;display:flex;align-items:center;padding:0 8px}input[readonly]{background:#f5f5f2;color:#7e8389;cursor:default}@media(max-width:760px){.history-toolbar{padding:0 17px 17px;gap:12px}.history-toolbar label{min-width:100%}.cycle-filter-label{padding:7px 0}}
.history-cycle-tabs{display:flex;gap:10px;overflow-x:auto;padding:0 22px 17px;scrollbar-width:thin}.cycle-tab{flex:0 0 195px;text-align:left;border:1px solid #e3e4e1;border-radius:7px;background:#fbfbf8;padding:13px 16px;color:#747b82;line-height:1.7;white-space:normal}.cycle-tab strong{display:block;font:700 13px Manrope,var(--font);color:#4f565d}.cycle-tab span{display:block;font-size:11px;margin:3px 0 8px}.cycle-tab small{display:block;font-size:10px;color:#8d9399}.cycle-tab.active{background:var(--red-pale);border-color:#be626a;box-shadow:inset 0 3px 0 var(--red)}.cycle-tab.active strong,.cycle-tab.active span{color:var(--red)}.cycle-tab.active small{color:#a15c64}.cycle-tab:focus-visible{outline:2px solid var(--red);outline-offset:2px}#historyCyclePanel:focus-visible{outline:2px solid #b8bdc2;outline-offset:5px}@media(max-width:760px){.history-cycle-tabs{padding:0 17px 17px;gap:8px}.cycle-tab{flex-basis:170px;padding:12px}}
.activity-name{display:block}.activity-details{display:block;color:#888e95;font-size:10px;line-height:1.7;white-space:pre-line;margin-top:4px;overflow-wrap:anywhere}
.service-fields{border:1px solid #ead4d6;background:#fdf8f8;padding:15px;border-radius:7px;margin:18px 0}.service-fields h3{color:var(--red);font-size:12px;margin:0 0 13px}.service-fields>label,.service-fields>div{margin-bottom:13px}.service-fields .helper{margin-bottom:0}.batch-activity-note{font-size:10px;color:#956c32;background:#fff6e8;padding:10px;border-radius:4px;line-height:1.7;margin-bottom:0}#recordDialog[open]>form{display:flex;flex-direction:column;max-height:90vh}#recordDialog .dialog-content{overflow-y:auto;min-height:0}#recordDialog .dialog-heading,#recordDialog .dialog-actions{flex-shrink:0}
@media print{.sidebar,.topbar,.heading-actions,.filters,.row-actions,.page-footer,.table-footer button,.period-bar button,.panel-title button,.notice-area,.stats,.history-cycle-tabs{display:none!important}main{margin:0;padding:0}.panel{border:0}.page-heading{margin-top:0}.table-scroll{overflow:visible}table{white-space:normal}td,th{padding:8px;font-size:9px}.view[hidden]{display:none!important}}

.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{background:white;border:1px solid var(--line);border-radius:12px;padding:35px;width:440px;max-width:100%;box-shadow:0 15px 55px #26322e0b}.auth-card h1{font-size:25px;margin-top:28px}.auth-card label{margin:16px 0}.auth-submit{width:100%;margin-top:12px}.auth-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:10px}.admin-pad{padding:0 22px}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label input{width:auto;margin:0}.dialog-content>label{margin-bottom:15px}#view-admin .panel-title{flex-wrap:wrap}

.telegram-content{padding:0 24px 24px}.telegram-content form{max-width:680px}.telegram-content>label{margin:18px 0 10px}.telegram-content hr{border:0;border-top:1px solid var(--line);margin:24px 0}#telegramInviteResult a{overflow-wrap:anywhere}

/* ASCOM: comfortable typography, strong contrast and distinct actions. */
:root{--ink:#192b45;--muted:#60738e;--line:#dfe7f2;--bg:#f1f5fb;--red:#b42335;--red-pale:#fff0f2;--green:#146c4b;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Aptos,Arial,sans-serif}
body{font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}.brand,h1,h2,.stat-number,.cycle-tab strong{font-family:var(--font)}button,input,select,textarea{font-family:var(--font)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6094ed;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}
.sidebar{width:260px;background:linear-gradient(160deg,#101d33,#1b304e);color:#fff;border:0;padding:32px 19px 22px;overflow-y:auto}.sidebar .brand{color:white;padding:0 9px}.brand{font-size:28px;gap:13px}.brand-icon{width:46px;height:50px;font-size:29px;background:#c22c40;box-shadow:0 6px 18px #0002}.brand small{font-size:10px;line-height:1.5}.sidebar .brand small{color:#bbc9df}.nav-label{font-size:11px;color:#9aadc8;margin:42px 14px 17px}.nav{min-height:49px;padding:12px 14px;border:1px solid transparent;border-radius:10px;color:#c7d3e5;font-size:14px;font-weight:550;gap:12px;margin-bottom:8px}.nav>span{width:22px;display:grid;place-items:center}.nav svg{width:21px;height:21px}.nav:hover{background:#ffffff0d}.nav.active{background:#ffffff12;border-color:#ffffff19;color:white;box-shadow:inset 3px 0 #f05a6e}.sidebar-bottom{border-color:#ffffff20;padding:22px 10px 0;font-size:14px}.sidebar-bottom small{color:#b2c1d7;font-size:12px;line-height:1.7;margin:11px 0 16px}.subtle{width:100%;border:1px solid #ffffff20;padding:10px 12px;color:#e2ebf9;background:#ffffff08;border-radius:8px;font-size:12px;min-height:40px;margin-top:8px;text-align:left}.subtle:hover{background:#ffffff15}#logoutBtn{color:#ffd5dc;border-color:#ed8d9c55;background:#b4233520}
main{margin-left:260px;padding:0 42px;max-width:1920px}.topbar{min-height:96px;height:auto;gap:20px}.eyebrow,.page-heading .eyebrow{font-size:11px;letter-spacing:1.3px}.top-context{font-size:14px;color:#42536e}.local-badge{color:#36644f;background:#e6f4ec;border:1px solid #cbe4d5;border-radius:20px;padding:7px 12px;font-size:12px}.status-dot,.local-badge i{width:8px;height:8px}.page-heading{margin:36px 0 26px;gap:24px}h1{font-size:clamp(29px,2.6vw,37px);letter-spacing:-1.1px;margin:9px 0 10px}.page-heading p{font-size:15px}.heading-actions{gap:12px;flex-wrap:wrap}.button{min-height:46px;padding:12px 18px;border-radius:10px;font-size:14px;font-weight:650;border-color:#ccd6e6;color:#344660;box-shadow:0 2px 4px #233b6205}.button:hover{box-shadow:0 4px 12px #233b6210}.button.primary{box-shadow:0 4px 12px #b4233518}.button.compact{min-height:40px;padding:9px 13px;font-size:13px}button.primary[type=submit],.button.success{background:var(--green);border-color:var(--green);color:white}#exportBtn,#historyExport{background:#1d4ed8;border-color:#1d4ed8;color:white}#batchBtn{background:#6d28d9;border-color:#6d28d9;color:white}#refreshAdmin,[data-account-edit],[data-person-edit]{background:#edf3ff;border-color:#c6d6f9;color:#234b98}[data-account-password]{background:#fff5e3;border-color:#efd49e;color:#81500a}[data-staff-toggle]{background:#fff1ed;border-color:#edc8bf;color:#9c341c}.text-button{font-size:13px;min-height:36px;color:#1d4ed8;padding:8px}.period-bar{padding:18px 22px;border-radius:13px;border-color:#d9e3f2;gap:15px}.calendar-icon{display:grid;place-items:center;width:45px;height:45px;background:#edf3ff;color:#1d4ed8;border-radius:11px;font-size:27px}.period-bar small{font-size:11px;color:#6e7e98}.period-bar strong{font-size:17px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:23px 0 30px}.stat{padding:22px;border-radius:14px;border-top:4px solid #d3dfef;box-shadow:0 6px 24px #25375b07}.stat:first-child{padding-top:22px;border-top:4px solid var(--red)}.stat:nth-child(2){border-top-color:#d9a130}.stat:nth-child(3){border-top-color:#7c6bd0}.stat:nth-child(4){border-top-color:#3b7bb6}.stat-label{font-size:13px;color:#576882;font-weight:600;line-height:1.5}.stat-number{font-size:35px;font-weight:750;line-height:1.2;margin:15px 0 10px;font-variant-numeric:tabular-nums}.stat-number[style]{font-size:clamp(26px,2vw,32px)!important}.stat-number .unit{font-size:19px;color:#74829b}.stat small{font-size:12px;color:#687992;line-height:1.6}.panel{border-radius:14px;box-shadow:0 6px 24px #25375b07}.panel-title{padding:24px;gap:20px;flex-wrap:wrap}h2{font-size:19px;line-height:1.4;letter-spacing:-.3px}.panel-title p{font-size:13px;color:var(--muted)}.count{font-size:12px;padding:4px 9px;border-radius:7px;background:#edf2f9;color:#4c607e}.filters{padding:0 24px 22px;gap:11px;flex-wrap:wrap;align-items:center}.filters select{flex:1;min-width:190px;max-width:260px;font-size:13px;min-height:45px;height:auto;padding:10px 12px;margin:0;color:#425671}.search{flex:1.5;min-width:240px;border-color:#ccd7e8;background:#fbfcff;border-radius:9px;padding:0 12px}.search>span{font-size:22px}.search input{font-size:14px;padding:12px 0;margin:0}.cycle-filter-label{font-size:12px;color:#5e728e;padding:8px}th{font-size:11px;letter-spacing:.5px;color:#526681;background:#f3f6fb;font-weight:700;padding:16px 18px}th:first-child,td:first-child{padding-left:24px}td{font-size:14px;padding:18px;color:#344761;border-bottom-color:#eaf0f7}tbody tr:hover{background:#f8faff}.date-main{font-size:14px}.date-sub{font-size:12px;color:#6c7b92}.person-cell{gap:11px}.avatar{width:40px;height:40px;border-radius:12px;font-size:13px}.avatar.filipe{background:#e8effb;color:#315a98}.avatar.pamela{background:#fcebef;color:#9c3d60}.avatar.carolaine{background:#fff1d7;color:#8b661d}.person-name{font-size:14px;max-width:220px;color:#20354f}.person-meta{font-size:11px;color:#6e7d93;margin-top:5px}.activity-cell{font-size:13px;max-width:340px;min-width:210px;color:#445a75;line-height:1.65}.activity-details{font-size:12px;color:#64748b;margin-top:6px}.hours{font-weight:750;color:#1f3552}.badge{font-size:11px;padding:6px 9px;border:1px solid transparent;border-radius:6px}.badge.day{background:#fff5d9;color:#805815;border-color:#f5e5b1}.badge.night{background:#eeeafd;color:#5943a6;border-color:#ded6fa}.badge.warning{background:#fff2da;color:#875313;border-color:#f2ddb2}.badge.ok{background:#e8f5ed;color:#246646;border-color:#cfe7d8}.badge.error{background:#ffedf0;color:#a02035;border-color:#eec6cf}.row-actions{gap:7px}.icon-button{min-width:38px;min-height:38px;border:1px solid #dce4ef;border-radius:8px;background:#f5f8fc;color:#596e8b;padding:8px 11px;font-size:17px;font-weight:600}.icon-button[data-edit]{background:#eaf2ff;border-color:#c8dafa;color:#1d4e9f;font-size:12px}.icon-button[data-delete],.icon-button[data-holiday-delete]{background:#fff0f2;border-color:#edc4ce;color:#a51f3a;font-size:12px}.icon-button[data-holiday-delete]{font-size:19px}.table-footer{padding:17px 24px;font-size:12px;color:#65758d;gap:16px}.notice-area:not(:empty){padding:0 24px 19px}.notice{border:1px solid #ead9b0;border-left:4px solid #c68b2b;border-radius:9px;background:#fff9eb;color:#805e24;padding:14px 17px;font-size:13px}.notice .text-button{font-size:13px}.page-footer{font-size:12px;color:#72829b;margin:24px 0 32px}.empty{color:#697b94;white-space:normal}.helper{font-size:13px;color:#61728b;line-height:1.8}
.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 24px 24px;gap:18px}.person-card{padding:24px;border-radius:12px;background:linear-gradient(145deg,#fff,#f8faff)}.person-card h3{font-size:16px}.person-card p{font-size:13px;color:#64748b}.settings-panel{max-width:960px}.settings-content{padding:0 26px 26px}.settings-content h3{font-size:17px;color:#283f60;margin:28px 0 18px}.form-grid{gap:18px}label{font-size:14px;color:#394f6e;font-weight:600}input,select,textarea{font-size:16px;min-height:46px;padding:12px 13px;border-color:#cbd6e6;border-radius:9px;color:#233951;line-height:1.5;margin-top:8px}input::placeholder,textarea::placeholder{color:#8491a7;opacity:1;font-weight:400}input[readonly]{background:#f0f4f9;color:#667a95}.holiday-row{padding:12px 15px;border-radius:8px;font-size:14px;gap:12px}.holiday-add{gap:14px}.form-actions{padding-top:24px}.dialog-content>label{margin-bottom:19px}dialog{width:620px;border-radius:18px;border-color:#d7e0ed;box-shadow:0 30px 110px #12264440}dialog::backdrop{background:#0d1c34a3;backdrop-filter:blur(5px)}.dialog-heading{padding:24px 28px;background:#f8faff;gap:18px}.dialog-heading small{font-size:11px;letter-spacing:1.2px}.dialog-heading h2{font-size:23px}.close{display:grid;place-items:center;min-width:42px;height:42px;padding:0;border-radius:10px;background:#eaf0f8;color:#465e7e;font-size:28px;flex-shrink:0}.dialog-content{padding:24px 28px}.dialog-content h3{font-size:16px}.dialog-content>p{font-size:14px;color:#5a6e88}.dialog-content .helper{font-size:13px}.dialog-actions{padding:20px 28px;background:#f4f7fc;gap:12px}.calculation-preview{padding:17px;font-size:14px;border-radius:10px;border-color:#cde4d5;background:#eff8f2;color:#34634a}.form-error{font-size:14px;color:#ac2238}.toast{font-size:14px;padding:16px 24px;border-radius:12px;background:#203c59;max-width:min(90vw,650px)}.service-fields{padding:20px;background:#f4f8ff;border-color:#d3dff3;border-radius:12px}.service-fields h3{font-size:16px;color:#2b5396}.service-fields>label,.service-fields>div{margin-bottom:17px}.batch-activity-note{font-size:13px;line-height:1.8;padding:13px;border-radius:8px}.period-issue{padding:18px;border-radius:10px;font-size:14px}.issue-heading>strong,.period-issue p{font-size:14px}.issue-reason{padding:12px}.issue-disclosure>summary{font-size:14px}.budget-comparison{font-size:12px;padding-top:11px;margin-top:12px;color:#546d61}.budget-message{font-size:13px;color:#246646}.calculation-preview .budget-comparison,.calculation-preview .budget-message{font-size:14px}.stat.budget-exceeded{background:#fff4f5;border-color:#dd8b9a;border-top-color:#b21f37}.stat.budget-exceeded .stat-number,.budget-over-text,.budget-exceeded .budget-message{color:#b21f37}
.history-toolbar{padding:0 24px 23px}.history-toolbar p{font-size:14px;color:#5d708e}.history-cycle-tabs{gap:13px;padding:0 24px 23px;scroll-padding:24px}.cycle-tab{flex-basis:218px;padding:17px 19px;border-radius:12px;background:#f7f9fd;border-color:#d6e0ee}.cycle-tab strong{font-size:17px;color:#344c6c}.cycle-tab span{font-size:14px;margin:5px 0 11px}.cycle-tab small{font-size:12px;color:#6c7f99}.cycle-tab.active{background:#fff0f2;border-color:#cd7b8c;box-shadow:inset 0 4px 0 var(--red)}.cycle-tab.active strong,.cycle-tab.active span{color:#a0243b}.cycle-tab.active small{color:#8c5362}
@media(max-width:1380px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:235px;padding:28px 15px 20px}main{margin-left:235px;padding:0 28px}.page-heading{flex-wrap:wrap;align-items:flex-start}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{font-size:13px;padding:12px}.stat-number[style]{font-size:32px!important}}
@media(max-width:900px){.sidebar{width:210px}.brand{font-size:25px}.brand small{font-size:8px}.sidebar .brand{padding:0 5px}.nav{font-size:12px;gap:9px;padding:12px 9px}.subtle{font-size:11px}main{margin-left:210px;padding:0 21px}.local-badge{font-size:11px}.topbar .eyebrow{font-size:10px}.stat{padding:19px}.stats{gap:13px}.filters select{max-width:none}.people-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:20px 18px 0;overflow:visible}.sidebar .brand{padding:0}.brand{font-size:25px}.brand-icon{height:43px;width:41px;font-size:26px}.brand small{font-size:9px}.sidebar nav{gap:7px;margin-top:21px;padding-bottom:12px}.nav{min-height:43px;width:auto;font-size:13px;padding:10px 13px;margin:0}.nav>span{display:grid;width:18px}.nav svg{width:18px;height:18px}.sidebar-bottom{display:flex;margin:0;border:0;padding:0 0 15px;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px}.sidebar-bottom small,.sidebar-bottom>.status-dot{display:none}.sidebar-bottom .subtle{width:auto;font-size:11px;margin:0;min-height:34px;padding:7px 10px}.sidebar-bottom>#signedUser{width:100%}main{margin:0;padding:0 17px}.topbar{min-height:78px;height:auto;gap:12px}.topbar .eyebrow{font-size:9px;letter-spacing:.7px}.top-context{font-size:12px}.local-badge{font-size:10px;padding:6px 9px}.page-heading{margin:26px 0 22px;gap:19px}.page-heading .eyebrow{font-size:10px}h1{font-size:30px}.page-heading p{font-size:14px}.heading-actions{gap:10px}.heading-actions .button{font-size:13px;padding:12px}.period-bar{padding:16px;gap:12px;flex-wrap:wrap}.calendar-icon{height:39px;width:39px;font-size:24px}.period-bar strong{font-size:15px}.period-bar small{font-size:10px}.stats{gap:11px;margin:18px 0 22px}.stat{padding:17px 14px}.stat:first-child{padding-top:17px}.stat-label{font-size:12px}.stat-number{font-size:30px}.stat-number[style]{font-size:25px!important}.stat small{font-size:11px}.budget-comparison{font-size:11px}.budget-message{font-size:12px}.panel-title{padding:19px;gap:14px}.panel-title h2{font-size:17px}.panel-title p{font-size:12px}.button.compact{font-size:12px}.filters{padding:0 19px 19px}.filters .search{min-width:100%}.filters select{min-width:45%;font-size:12px}.notice-area:not(:empty){padding:0 19px 17px}.notice{font-size:12px}.table-footer{padding:16px 19px;flex-wrap:wrap;font-size:12px}.page-footer{font-size:11px;flex-wrap:wrap}.people-grid{padding:0 19px 19px}.settings-content{padding:0 19px 22px}.dialog-content,.dialog-heading{padding:21px}.dialog-actions{padding:18px 21px}.dialog-heading h2{font-size:21px}.dialog-actions .button{flex:1}.service-fields{padding:16px}.history-toolbar{padding:0 19px 20px}.history-cycle-tabs{padding:0 19px 20px;gap:10px}.cycle-tab{flex-basis:190px;padding:15px}.cycle-tab strong{font-size:16px}.cycle-tab span{font-size:13px}}
@media(max-width:380px){.stats,.form-grid{grid-template-columns:1fr}.stat-number[style]{font-size:31px!important}.local-badge{white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{font-size:11px;background:white}.sidebar,.stats{display:none!important}main{margin:0;padding:0}.panel{box-shadow:none;border:0;border-radius:0}td,th{font-size:10px;padding:8px}}

.brand-icon.brand-emblem{background:transparent;box-shadow:none;border-radius:0;flex-shrink:0}.brand-emblem img{display:block;width:100%;height:100%;object-fit:contain}
#exportDialog{width:820px}.rh-preview{margin:16px 0;border:1px solid var(--line);border-radius:8px;background:#fff}.rh-preview td:first-child{white-space:normal;min-width:190px}.rh-preview table{font-size:14px}.rh-preview th,.rh-preview td{padding:12px}
.bulletin-controls{display:flex;gap:18px;align-items:end;flex-wrap:wrap;padding:0 24px 16px}.bulletin-controls label{max-width:230px}.bulletin-summary{padding:0 24px}.bulletin-metadata{margin:18px 24px;padding:16px;border:1px solid var(--line);border-radius:10px}.bulletin-metadata summary{cursor:pointer;font-weight:600}.bulletin-metadata form{padding-top:18px}.bulletin-metadata form>label{margin:16px 0}.bulletin-metadata .form-actions{gap:10px;flex-wrap:wrap}.bulletin-paper{padding:28px}.bulletin-paper-heading{text-align:center;padding:15px 0 30px;font-family:Georgia,'Times New Roman',serif}.bulletin-paper-heading p{line-height:1.9;font-weight:bold}.bulletin-paper-heading h2{font-size:19px;margin-top:30px}.bulletin-paper-heading h3{margin-top:26px}.bulletin-day{margin:0 0 30px;border:1px solid #bcc2cb}.bulletin-day-heading{display:flex;justify-content:space-between;gap:16px;background:#fff68a;color:#181818;padding:10px 14px;font-size:14px}.bulletin-day-heading.weekend{background:#d12f3b;color:white}.bulletin-day h4{padding:8px 14px;margin:0;background:#e9edf3;color:#222e42;font-size:13px}.bulletin-day td,.bulletin-day th{font-size:13px}.bulletin-day td:nth-child(5){white-space:normal;min-width:150px}.bulletin-parts{padding:16px;line-height:1.7}.bulletin-parts h3{margin-top:30px}.bulletin-parts h4{margin-top:24px}.bulletin-unfilled{color:#95621d}.bulletin-paper .empty{padding:16px!important}@media(max-width:760px){.bulletin-paper{padding:14px}.bulletin-day-heading{flex-direction:column;gap:2px}.bulletin-controls,.bulletin-summary{padding-left:16px;padding-right:16px}.bulletin-metadata{margin-left:16px;margin-right:16px}}

/* Compact review table for imported bulletins. */
#biImportPanel .table-scroll{max-height:min(420px,55vh);overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#biImportPanel table{min-width:880px;white-space:normal}
#biImportPanel th{position:sticky;top:0;z-index:1;padding:8px 10px;font-size:10px;line-height:1.3}
#biImportPanel td{padding:7px 10px;font-size:12px;vertical-align:top;line-height:1.35}
#biImportPanel th:first-child,#biImportPanel td:first-child{padding-left:14px;width:54px;text-align:center}
#biImportPanel td:nth-child(2){width:25%;min-width:200px}
#biImportPanel td:nth-child(3){width:23%;min-width:190px}
#biImportPanel td:nth-child(4){width:28%;min-width:220px}
#biImportPanel td:nth-child(5){min-width:170px}
#biImportRows input:not([type=checkbox]),#biImportRows select,#biImportRows textarea{font-size:12px;line-height:1.3;min-height:29px;padding:5px 7px;margin:3px 0;border-radius:6px}
#biImportRows textarea{height:34px;min-height:34px;resize:vertical}
#biImportRows small{display:block;font-size:11px;line-height:1.35;margin:2px 0;color:var(--muted)}
#biImportRows p{margin:3px 0;font-size:11px;line-height:1.35}
#biImportRows label{font-size:11px;margin:4px 0;line-height:1.35}
#biImportRows input[type=checkbox]{width:16px;height:16px;min-height:0;margin:5px 3px;vertical-align:middle}
#biImportRows .button.compact{font-size:11px;min-height:28px;padding:4px 8px;margin-top:4px}
#biImportRows .bi-import-times{display:grid;grid-template-columns:1fr 1fr;gap:0 5px}
#biImportRows .bi-import-times input[type=date]{grid-column:1/-1}
#biImportRows .bi-import-times input{width:100%;min-width:0}
#biImportPanel>#biImportSummary{font-size:12px}
@media print{#biImportPanel .table-scroll{max-height:none;overflow:visible}#biImportPanel th{position:static}}

#fileReviewDialog{width:min(1240px,96vw);max-width:96vw;max-height:94vh;padding:0}#fileReviewName{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0}.file-review-toolbar{padding:12px 22px;background:#f3f6fb;border-bottom:1px solid var(--line)}.file-review-toolbar p{font-size:12px;margin:10px 0 0;color:var(--muted)}#fileReviewTabs{display:flex;gap:8px;flex-wrap:wrap}#fileReviewContent{height:59vh;overflow:auto;background:#e9edf3;padding:18px}#fileReviewContent iframe{display:block;width:100%;height:100%;border:0;background:white}.xlsx-review-table{background:white;border-collapse:collapse;table-layout:fixed;width:max-content!important;white-space:normal!important;box-shadow:0 2px 12px #24345615;margin:auto}.xlsx-review-table td{border:1px solid #ccd2da;padding:4px 6px;white-space:pre-wrap;overflow-wrap:anywhere;color:#111;line-height:1.3}.xlsx-review-table td:first-child{padding-left:6px}#fileReviewError{padding:0 22px}#fileReviewDialog .dialog-actions{position:sticky;bottom:0;background:white}

/* Optional graphite appearance. Exported documents keep their original palette. */
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.theme-toggle{white-space:nowrap}.auth-theme-toggle{position:absolute;top:20px;right:22px}.auth-page{position:relative;padding-top:85px}
@media(max-width:760px){.topbar{flex-wrap:wrap;padding:16px 0}.topbar-actions{justify-content:flex-start;gap:8px}.theme-toggle{font-size:12px}.auth-theme-toggle{top:16px;right:16px}}
@media screen{
html[data-theme=dark]{color-scheme:dark;--ink:#f1f3f6;--muted:#b4becd;--line:#424851;--bg:#18191b;--red:#ff9eaf;--red-pale:#402832;--green:#98dfb9}
html[data-theme=dark] body{background:var(--bg);color:var(--ink)}
html[data-theme=dark] :is(.panel,.stat,.period-bar,dialog,.auth-card,.person-card,.rh-preview,.period-issue){background:#222426;color:var(--ink);border-color:var(--line);box-shadow:0 6px 24px #10111435}
html[data-theme=dark] .auth-page{background:radial-gradient(ellipse at top left,#273346,transparent 65%),#18191b}
html[data-theme=dark] .sidebar{background:linear-gradient(160deg,#1b1e23,#222832)}
html[data-theme=dark] :is(.dialog-heading,.dialog-actions,.file-review-toolbar,.service-fields){background:#282c32;border-color:var(--line)}
html[data-theme=dark] #fileReviewDialog .dialog-actions{background:#282c32}
html[data-theme=dark] #fileReviewContent{background:#191c20}
html[data-theme=dark] :is(h1,h2,h3,.person-name,.hours,.date-main,.cycle-tab strong,.settings-content h3,label,.filters select,.activity-cell,.dialog-content>p,.service-fields h3){color:var(--ink)}
html[data-theme=dark] :is(.helper,.stat-label,.stat small,.stat-number .unit,.top-context,.date-sub,.person-meta,.activity-details,.table-footer,.page-footer,.empty,.person-card p,.history-toolbar p,.cycle-filter-label,.cycle-tab small,.period-bar small,.issue-activity,.budget-scope-note){color:var(--muted)}
html[data-theme=dark] :is(input,select,textarea,.search){background:#292d32;color:#f1f3f6;border-color:#59616d}
html[data-theme=dark] .search input{background:transparent}
html[data-theme=dark] :is(input,textarea)::placeholder{color:#aab4c2}
html[data-theme=dark] input[readonly]{background:#343940;color:#c3cbd6}
html[data-theme=dark] :is(input,select,textarea):disabled{color:#b4becd;opacity:.7}
html[data-theme=dark] input[type=checkbox]{accent-color:#80acf7}
html[data-theme=dark] :is(.button,.icon-button,.close,.cycle-tab){background:#30353d;border-color:#59616d;color:#f1f3f6}
html[data-theme=dark] .button.primary{background:#ad2942;border-color:#d35b70;color:#fff}
html[data-theme=dark] :is(button.primary[type=submit],.button.success){background:#176344;border-color:#389773;color:#fff}
html[data-theme=dark] :is(#exportBtn,#historyExport){background:#2457a7;border-color:#5b8cda;color:#fff}
html[data-theme=dark] :is(#refreshAdmin,[data-account-edit],[data-person-edit],.icon-button[data-edit]){background:#263e60;border-color:#526e98;color:#c9dfff}
html[data-theme=dark] [data-account-password]{background:#443921;border-color:#846d3e;color:#ffdb9b}
html[data-theme=dark] :is([data-staff-toggle],.icon-button[data-delete],.icon-button[data-holiday-delete]){background:#492a32;border-color:#925366;color:#ffc3cf}
html[data-theme=dark] :is(.text-button,.issue-disclosure>summary){color:#a4c8ff}
html[data-theme=dark] :is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-color:#a4c8ff}
html[data-theme=dark] button:hover{filter:brightness(1.12)}
html[data-theme=dark] :is(th,.count,.calendar-icon){background:#2c323a;color:#d8e1ef}
html[data-theme=dark] td{color:#e1e7ef;border-bottom-color:#3b4149}
html[data-theme=dark] tbody tr:hover{background:#2c3138}
html[data-theme=dark] .cycle-tab.active{background:#482b35;border-color:#da7b91;box-shadow:inset 0 4px 0 #ff9eaf}
html[data-theme=dark] .cycle-tab.active :is(strong,span,small){color:#ffbfcb}
html[data-theme=dark] :is(.badge.day,.badge.warning,.notice,.batch-activity-note,.issue-reason){background:#403624;color:#ffdb9b;border-color:#806b43}
html[data-theme=dark] .badge.night{background:#37304e;color:#dfcaff;border-color:#756295}
html[data-theme=dark] :is(.badge.ok,.local-badge,.calculation-preview){background:#223c31;color:#b8ebcf;border-color:#47795e}
html[data-theme=dark] :is(.budget-comparison,.budget-message){color:#b8ebcf;border-color:#47795e}
html[data-theme=dark] :is(.badge.error,.stat.budget-exceeded){background:#44282f;border-color:#af5c70}
html[data-theme=dark] :is(.badge.error,.form-error,.stat.budget-exceeded .stat-number,.budget-over-text,.budget-exceeded .budget-message){color:#ffacbc}
html[data-theme=dark] .budget-comparison.budget-exceeded{color:#ffacbc;border-color:#af5c70}
html[data-theme=dark] .avatar.filipe{background:#2b4060;color:#c5dcff}
html[data-theme=dark] .avatar.pamela{background:#4c2f40;color:#ffd0e1}
html[data-theme=dark] .avatar.carolaine{background:#443923;color:#ffe1a3}
html[data-theme=dark] .toast{background:#dce8f8;color:#192b45}
html[data-theme=dark] .bulletin-day-heading{background:#493f25;color:#ffe9ab}
html[data-theme=dark] .bulletin-day-heading.weekend{background:#783342;color:#fff}
html[data-theme=dark] .bulletin-day h4{background:#313842;color:#e1e7ef}
html[data-theme=dark] .bulletin-unfilled{color:#ffdb9b}
/* Paper preview intentionally reproduces the file, even in dark appearance. */
html[data-theme=dark] .xlsx-review-table{background:#fff;color:#111;color-scheme:light}
html[data-theme=dark] .xlsx-review-table td{color:#111;border:1px solid #ccd2da}
html[data-theme=dark] .xlsx-review-table tr:hover{background:transparent}
}

.copyright{line-height:1.7;overflow-wrap:anywhere}.page-footer{flex-wrap:wrap;gap:12px}.auth-card .copyright{font-size:12px;margin:16px 0 0}

#pendingApprovalDialog{width:min(600px,94vw);border-top:5px solid #b42335}#pendingApprovalDialog .dialog-heading h2{font-size:24px;line-height:1.3}.pending-approval-body{text-align:center}.pending-approval-count{display:inline-grid;place-items:center;min-width:86px;height:86px;padding:0 18px;border-radius:22px;background:#fff0f2;color:#a02035;font-size:42px;font-weight:800;font-variant-numeric:tabular-nums}#pendingApprovalMessage{font-size:20px;font-weight:700;line-height:1.5;color:var(--ink);margin:20px 0 10px}#pendingApprovalDialog .dialog-actions{flex-wrap:wrap}@media screen{html[data-theme=dark] #pendingApprovalDialog{border-top-color:#ff9eaf}html[data-theme=dark] .pending-approval-count{background:#482b35;color:#ffbfcb}}

/* Service decision colors: text and symbols also identify each state. */
.approval-status{display:inline-block;font-weight:700;margin:0 0 7px;white-space:nowrap}.approval-status>span{font-size:14px}.approval-status:not(.ok):not(.warning):not(.error){background:#edf2f9;color:#4c607e;border-color:#d6e0ee}
@media screen{#recordsBody,#requestsBody{--approval-approved-bg:#f3faf6;--approval-pending-bg:#fffaf0;--approval-rejected-bg:#fff3f5;--approval-approved-line:#29805a;--approval-pending-line:#b77a12;--approval-rejected-line:#ba3850}
#recordsBody tr.approval-approved,#requestsBody tr.approval-approved{background:var(--approval-approved-bg)}#recordsBody tr.approval-pending,#requestsBody tr.approval-pending{background:var(--approval-pending-bg)}#recordsBody tr.approval-rejected,#requestsBody tr.approval-rejected{background:var(--approval-rejected-bg)}
:is(#recordsBody,#requestsBody) tr.approval-approved>td:first-child{box-shadow:inset 4px 0 var(--approval-approved-line)}:is(#recordsBody,#requestsBody) tr.approval-pending>td:first-child{box-shadow:inset 4px 0 var(--approval-pending-line)}:is(#recordsBody,#requestsBody) tr.approval-rejected>td:first-child{box-shadow:inset 4px 0 var(--approval-rejected-line)}
:is(#recordsBody,#requestsBody) tr:hover>td{background:#25375b06}
html[data-theme=dark] :is(#recordsBody,#requestsBody){--approval-approved-bg:#22312b;--approval-pending-bg:#342f23;--approval-rejected-bg:#37272e;--approval-approved-line:#77c89f;--approval-pending-line:#e5bc69;--approval-rejected-line:#ef93a7}
html[data-theme=dark] .approval-status:not(.ok):not(.warning):not(.error){background:#30353d;color:#d8e1ef;border-color:#59616d}
html[data-theme=dark] :is(#recordsBody,#requestsBody) tr:hover>td{background:#ffffff07}}

.nav .nav-pending-count{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:auto;min-width:23px;min-height:23px;margin-left:auto;padding:2px 6px;border:1px solid #68758b;border-radius:12px;background:#303b4d;color:#d9e2ef;font-size:11px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.nav .nav-pending-count.has-pending{background:#ffdb9b;border-color:#ffdb9b;color:#49350d}.nav .nav-pending-count[hidden]{display:none}@media(max-width:760px){.nav .nav-pending-count{margin-left:4px;min-height:21px;min-width:21px;font-size:10px}}

/* Color-coded current-cycle dashboard, with restrained financial accent. */
@media screen{
#periodBar{background:linear-gradient(115deg,#e8efff,#f4f7ff);border-color:#bacced;border-left:5px solid #446fc1;box-shadow:0 4px 16px #274f8610}
#periodBar small{color:#3f5881;font-weight:800}#periodBar strong{color:#213f72;font-weight:800}#periodBar .calendar-icon{background:#d6e3ff;color:#2d54a2}
#stats>.stat{border-width:1px;border-top-width:4px;position:relative;overflow:hidden}
#stats>.stat:nth-child(1){background:linear-gradient(135deg,#eaf2ff,#f7faff);border-color:#b5cbef;border-top-color:#3d6db2;color:#234f8e}
#stats>.stat:nth-child(2){background:linear-gradient(135deg,#fff3d7,#fffbf1);border-color:#ead09b;border-top-color:#b38122;color:#79500f}
#stats>.stat:nth-child(3){background:linear-gradient(135deg,#eee8ff,#faf8ff);border-color:#cdbded;border-top-color:#8060b9;color:#624397}
#stats>.stat .stat-label{font-weight:800;color:inherit}#stats>.stat .stat-label>span{color:inherit;opacity:.85;font-weight:800}#stats>.stat .stat-number{font-weight:850;letter-spacing:-1px;color:inherit}#stats>.stat .stat-number .unit{font-weight:750;color:inherit;opacity:.85}#stats>.stat small{font-weight:600;color:inherit;opacity:.9}
#stats>.stat:nth-child(4):not(.budget-exceeded){background:linear-gradient(135deg,#dcf4e6,#f2fcf5);border-color:#7fbea0;border-top-color:#268657;color:#175b38;box-shadow:0 5px 20px #26724d14,inset 0 0 0 1px #a3efbb66}
#stats>.stat:nth-child(4):not(.budget-exceeded)::after{content:"";position:absolute;bottom:0;left:22px;right:22px;height:3px;border-radius:3px;background:#4cdd85;box-shadow:0 0 9px #36df8670;pointer-events:none}
#stats>.stat:nth-child(4):not(.budget-exceeded) .stat-number{text-shadow:0 0 14px #36df8626}
#stats>.stat:nth-child(4):not(.budget-exceeded) :is(.budget-comparison,.budget-message){color:#205d3e;border-color:#a6cfb7}
#stats>.stat.budget-exceeded{background:linear-gradient(135deg,#ffe7ec,#fff6f8);border-color:#db879a;border-top-color:#b21f37;color:#9a1f35;box-shadow:0 5px 20px #b21f3714}
#stats>.stat.budget-exceeded :is(.budget-comparison,.budget-message,.budget-over-text){color:#9a1f35;border-color:#e1b4bf}
html[data-theme=dark] #periodBar{background:linear-gradient(115deg,#26364f,#252b35);border-color:#48628b;border-left-color:#8eb6f4;box-shadow:0 4px 16px #10111435}
html[data-theme=dark] #periodBar :is(small,strong){color:#c7dcff}html[data-theme=dark] #periodBar .calendar-icon{background:#334a6b;color:#d3e4ff}
html[data-theme=dark] #stats>.stat:nth-child(1){background:linear-gradient(135deg,#293b57,#252c37);border-color:#48628b;border-top-color:#8eb6f4;color:#c7dcff}
html[data-theme=dark] #stats>.stat:nth-child(2){background:linear-gradient(135deg,#403721,#302d27);border-color:#75633f;border-top-color:#e8bf6b;color:#ffe0a2}
html[data-theme=dark] #stats>.stat:nth-child(3){background:linear-gradient(135deg,#3a3052,#2e2938);border-color:#6c588b;border-top-color:#baa0ec;color:#e2d0ff}
html[data-theme=dark] #stats>.stat:nth-child(4):not(.budget-exceeded){background:linear-gradient(135deg,#213d30,#242f29);border-color:#477a5e;border-top-color:#67d397;color:#b4efcd;box-shadow:0 5px 22px #10291b40,inset 0 0 0 1px #7bea9b16}
html[data-theme=dark] #stats>.stat:nth-child(4):not(.budget-exceeded)::after{background:#73f59f;box-shadow:0 0 11px #62f39685}
html[data-theme=dark] #stats>.stat:nth-child(4):not(.budget-exceeded) :is(.budget-comparison,.budget-message){color:#b4efcd;border-color:#477a5e}
html[data-theme=dark] #stats>.stat.budget-exceeded{background:linear-gradient(135deg,#4b2933,#34262c);border-color:#ad6174;border-top-color:#f394a9;color:#ffb5c4;box-shadow:0 5px 20px #29101740}
html[data-theme=dark] #stats>.stat.budget-exceeded :is(.stat-number,.budget-comparison,.budget-message,.budget-over-text){color:#ffb5c4;border-color:#ad6174}
}

/* Readable service ledger: stronger hierarchy without losing decision colors. */
@media screen{
#view-records{--records-heading:#254b83;--records-text:#253a55;--records-secondary:#526580;--records-header-bg:#e7effb;--records-filter-bg:#f4f7fc;--records-field-bg:#fff;--records-field-line:#aabedc;--records-separator:#c5d4e8;--records-footer-bg:#eef4fc}
#view-records>.panel{border-color:var(--records-separator)}
#view-records .panel-title{background:linear-gradient(110deg,var(--records-header-bg),var(--records-filter-bg));border-bottom:1px solid var(--records-separator);padding:24px}
#view-records .panel-title h2{color:var(--records-heading);font-size:22px;font-weight:800;letter-spacing:-.3px}
#view-records .panel-title p{color:var(--records-secondary);font-size:14px;font-weight:550;line-height:1.6}
#view-records #recordCount{display:inline-block;background:var(--records-field-bg);color:var(--records-heading);border:1px solid var(--records-field-line);font-weight:800;font-size:13px;line-height:1.5;padding:3px 10px;vertical-align:middle}
#view-records #newBtn{background:#285aa0;border-color:#285aa0;color:#fff;font-size:14px;font-weight:750;min-height:44px;box-shadow:0 3px 10px #254b831c}
#view-records .filters{background:var(--records-filter-bg);padding-top:20px;padding-bottom:20px;gap:12px}
#view-records :is(.search,.filters select){background:var(--records-field-bg);border-color:var(--records-field-line);color:var(--records-text);font-weight:600;min-height:46px}
#view-records .search input{color:var(--records-text);font-size:15px;font-weight:550}
#view-records .search input::placeholder{color:var(--records-secondary)}
#view-records .search>span{color:var(--records-heading)}
#view-records .filters select{font-size:14px}
#view-records .cycle-filter-label{background:var(--records-header-bg);color:var(--records-heading);font-weight:700;border:1px solid var(--records-separator);border-radius:7px;padding:7px 10px}
#view-records th{background:var(--records-header-bg);color:var(--records-heading);font-size:12px;font-weight:800;letter-spacing:.6px;border-bottom:2px solid var(--records-separator);padding-top:16px;padding-bottom:16px}
#view-records td{font-size:15px;color:var(--records-text);line-height:1.6;border-bottom-color:var(--records-separator);padding-top:20px;padding-bottom:20px}
#view-records :is(.date-main,.person-name){color:var(--records-text);font-size:15px;font-weight:750}
#view-records .activity-name{display:block;font-size:14px;font-weight:750;color:var(--records-text);line-height:1.6}
#view-records :is(.date-sub,.person-meta,.activity-details){font-size:12px;font-weight:500;color:var(--records-secondary);line-height:1.65}
#view-records .activity-details{margin-top:5px}
#view-records .hours{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--records-heading)}
#view-records .badge{font-size:12px;font-weight:700;line-height:1.4}
#view-records .row-actions{flex-wrap:wrap}
#view-records .icon-button{font-size:12px;font-weight:750;min-height:38px}
#view-records .table-footer{background:var(--records-footer-bg);color:var(--records-secondary);font-size:13px;font-weight:600;line-height:1.7;border-top:1px solid var(--records-separator)}
#view-records #csvBtn{color:var(--records-heading);font-weight:750}
html[data-theme=dark] #view-records{--records-heading:#c7dcff;--records-text:#e8eef7;--records-secondary:#bbc7d8;--records-header-bg:#2b3d57;--records-filter-bg:#252e3c;--records-field-bg:#293442;--records-field-line:#5c7291;--records-separator:#465b75;--records-footer-bg:#252f3e}
html[data-theme=dark] #view-records #newBtn{background:#315f9f;border-color:#79a5e4;color:#fff;box-shadow:0 3px 12px #10172540}
@media(max-width:760px){#view-records .panel-title{padding:19px}#view-records .panel-title h2{font-size:20px}#view-records .panel-title p{font-size:13px}#view-records .filters{padding-top:16px;padding-bottom:16px}#view-records .filters select{font-size:13px}#view-records td{padding-top:17px;padding-bottom:17px}#view-records .table-footer{font-size:12px}}
}

.holiday-add{display:flex;align-items:flex-end;flex-wrap:wrap}.holiday-add>label:first-child{flex:0 1 190px}.holiday-add>label:nth-child(2){flex:1 1 240px}.holiday-add #addHoliday{min-height:46px;margin-bottom:0}#holidayFeedback{margin:14px 0 0;line-height:1.7}#holidayFeedback.holiday-success{color:#21633f;font-weight:600}#holidayFeedback.form-error{color:#ac2238}html[data-theme=dark] #holidayFeedback.holiday-success{color:#b8ebcf}html[data-theme=dark] #holidayFeedback.form-error{color:#ffacbc}@media(max-width:760px){.holiday-add #addHoliday{width:100%}.holiday-add>label:first-child{flex:1 1 100%}}

.bulletin-day-heading .bulletin-holiday{display:block;font-size:12px;font-weight:650;line-height:1.5;margin-top:4px;white-space:normal;overflow-wrap:anywhere}

.auth-card{width:490px;border-radius:18px;padding:36px;box-shadow:0 15px 60px #1e365b12}.auth-card h1{font-size:32px}.auth-card .auth-foot{font-size:13px}.auth-card .auth-submit{min-height:48px}.auth-page{background:radial-gradient(ellipse at top left,#dfeafa,transparent 60%),#f2f5fb}.auth-card label{font-size:14px}.auth-card .helper{font-size:13px}
