:root{--blue:#1955d7;--blue-hover:#1245b8;--navy:#142647;--navy-dark:#0e1c34;--text:#18243b;--muted:#63718a;--line:#dce3ed;--bg:#f4f7fb;--white:#fff;--blue-light:#edf4ff;--blue-medium:#d7e6ff;--red:#b91c1c;--red-bg:#fff0f0;--amber:#945b00;--amber-bg:#fff4d9;--green:#13704b;--green-bg:#eaf7f0;--radius:6px;--shadow:0 4px 18px rgba(20,38,71,.04);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue)}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6fa3ff;outline-offset:3px}button svg{flex-shrink:0}svg{display:inline-block;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:750}h2{font-size:18px;line-height:1.35;letter-spacing:-.3px}h3{font-size:15px;line-height:1.4}strong{font-weight:650}small{font-size:12px}button{border:0}input,select,textarea{width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid #bfcbdc;border-radius:5px;background:#fff;color:var(--text)}input::placeholder,textarea::placeholder{color:#8994a6}textarea{min-height:95px;resize:vertical}label{font-size:13px;font-weight:650;display:block;margin-bottom:7px}label small{font-weight:400;color:var(--muted)}.field{margin-bottom:18px}.field-hint{font-size:12px;color:var(--muted);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .field{margin:0}.divider{height:1px;background:var(--line);margin:22px 0}.muted{color:var(--muted)}.text-blue{color:var(--blue)}.text-red{color:var(--red)}.text-small{font-size:12px}.nowrap{white-space:nowrap}.space-top{margin-top:20px}.mb-12{margin-bottom:12px}.flex{display:flex;align-items:center;gap:10px}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:1000;left:10px;top:-80px;padding:10px 16px;background:white;border:2px solid var(--blue)}.skip-link:focus{top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:650;text-decoration:none;line-height:1.35;transition:background .15s,border-color .15s;white-space:normal}.btn-primary{background:var(--blue);color:white;border-color:var(--blue)}.btn-primary:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover)}.btn-secondary{background:#fff;border-color:#c5d0e0;color:var(--navy)}.btn-secondary:hover:not(:disabled){background:#f0f5ff;border-color:#9ab3da}.btn-ghost{background:transparent;color:var(--blue)}.btn-ghost:hover:not(:disabled){background:var(--blue-light)}.btn-danger{background:#fff;color:var(--red);border-color:#ecc8c8}.btn-danger:hover:not(:disabled){background:var(--red-bg)}.btn-sm{font-size:12px;padding:8px 11px;min-height:38px}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--muted)}.icon-btn:hover{color:var(--blue);background:var(--blue-light)}.icon-btn.plain{border:0;background:transparent}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:4px;font-size:11px;line-height:1.4;font-weight:650;background:#eef2f7;color:#536079}.badge-blue{color:#194da8;background:#eaf1ff}.badge-green{color:var(--green);background:var(--green-bg)}.badge-amber{color:var(--amber);background:var(--amber-bg)}.badge-red{color:var(--red);background:var(--red-bg)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--blue-medium);color:#174a9d;font-size:12px;font-weight:750;letter-spacing:.2px}.avatar-lg{width:56px;height:56px;font-size:20px}.avatar-white{background:#e8f1ff;color:var(--blue)}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-body{padding:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--muted)}.notice{display:flex;align-items:flex-start;gap:9px;border-radius:5px;padding:12px 14px;font-size:13px;background:var(--blue-light);color:#274d87;line-height:1.5}.notice svg{margin-top:1px}.notice-amber{background:var(--amber-bg);color:var(--amber)}.notice-error{background:var(--red-bg);color:var(--red)}.notice-muted{background:#f1f4f8;color:var(--muted)}.empty-state{padding:40px 24px;text-align:center;color:var(--muted)}.empty-state>svg{color:#8b9bb4;margin-bottom:15px}.empty-state h3{color:var(--text);font-size:16px;margin-bottom:7px}.empty-state p{max-width:370px;margin:0 auto 16px;font-size:13px}.empty-state.compact{padding:26px 17px}.empty-state.compact>svg{margin-bottom:9px}.empty-state.compact p{margin-bottom:0}.initial-loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--muted)}.initial-loading strong{color:var(--navy);font-size:22px}.loading-mark{width:36px;height:36px;border:3px solid var(--blue-medium);border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.noscript{padding:24px;text-align:center}
/* Sign in and first access */
.auth-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(340px, .92fr) 1.08fr;background:white}.auth-story{background:var(--navy);color:white;padding:50px clamp(30px,5vw,90px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.brand{display:flex;align-items:center;gap:11px;font-weight:750;font-size:20px;line-height:1.2;letter-spacing:-.3px}.brand svg{color:var(--blue)}.brand-light svg{color:#91bbff}.brand-light{color:white}.brand-sub{display:block;font-size:12px;letter-spacing:.2px;font-weight:400;margin-top:4px;opacity:.7}.auth-story h1{font-size:clamp(36px,3.7vw,54px);max-width:490px;line-height:1.12;letter-spacing:-1.8px;margin:56px 0 22px}.auth-story p{color:#bccbe1;max-width:370px;font-size:16px;line-height:1.7}.auth-points{margin-top:35px;display:grid;gap:18px}.auth-point{display:flex;align-items:center;gap:12px;color:#d7e4f9;font-size:14px}.auth-point svg{color:#7daeff}.auth-footer{font-size:12px;color:#96abc8;margin-top:56px}.auth-main{display:flex;align-items:center;justify-content:center;padding:44px 28px}.auth-card{width:100%;max-width:400px}.auth-card h1{font-size:29px;margin-bottom:10px}.auth-card>.muted{font-size:14px;margin-bottom:28px}.auth-mobile-brand{display:none}.auth-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--blue-light);color:var(--blue);border-radius:8px;margin-bottom:22px}.password-field{position:relative}.password-field input{padding-right:52px}.password-field .icon-btn{position:absolute;right:2px;top:1px;height:44px;min-width:44px;background:transparent;border:0}.auth-form .btn-block{margin-top:8px}.auth-help{font-size:12px;color:var(--muted);margin-top:24px;text-align:center;line-height:1.7}.auth-account{display:flex;align-items:center;gap:12px;padding:14px;background:#f5f8fc;border-radius:6px;margin-bottom:22px}.password-checklist{padding-left:17px;color:var(--muted);font-size:12px;line-height:1.8;margin:8px 0 20px}.auth-card .notice{margin-bottom:20px}
/* Application shell */
.app-shell{min-height:100dvh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{background:var(--navy);color:#dce7f7;position:fixed;inset:0 auto 0 0;width:224px;display:flex;flex-direction:column;padding:28px 16px 20px;z-index:30}.sidebar .brand{padding:0 10px;font-size:19px;min-height:49px;margin-bottom:39px}.sidebar .brand svg{color:#fff}.sidebar .brand-sub{font-size:14px;font-weight:500;opacity:.95}.side-nav{display:grid;gap:6px}.side-nav button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:13px 14px;border-radius:5px;background:transparent;color:#dce7f7;font-size:14px;min-height:47px;font-weight:500}.side-nav button:hover{background:#213859;color:white}.side-nav button.active{background:var(--blue);color:white;font-weight:650;box-shadow:0 4px 10px #0b173c30}.nav-count{margin-left:auto;font-size:11px;padding:1px 6px;min-width:20px;background:#ffffff22;border-radius:4px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-note{font-size:10px;line-height:1.5;color:#9baecc;padding:14px 11px 0}.sidebar-user{width:100%;display:flex;align-items:center;gap:10px;padding:12px 10px;background:#1d3354;border-radius:5px;text-align:left;color:white}.sidebar-user .avatar{background:#304e78;color:white}.sidebar-user small{display:block;font-size:10px;color:#b1c2da;margin-top:1px}.sidebar-user .grow{font-size:12px}.shell-content{grid-column:2;min-width:0}.topbar{height:81px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 36px}.topbar-breadcrumb{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.topbar-user{display:flex;align-items:center;gap:11px;background:transparent;padding:0;text-align:left}.topbar-user strong{display:block;font-size:12px}.topbar-user small{display:block;font-size:10px;color:var(--muted)}.topbar-date{font-size:12px;color:var(--muted);border-right:1px solid var(--line);padding-right:20px;margin-right:5px}.mobile-brand{display:none}.main-content{max-width:1720px;padding:32px 36px 40px;margin:auto;min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-header .muted{font-size:13px;margin-top:9px;max-width:620px}.page-header-action{display:flex;align-items:center;gap:10px;flex-shrink:0}.scope-switch,.segmented{display:inline-flex;align-items:center;border:1px solid #c8d3e3;border-radius:5px;background:#fff;padding:3px;gap:3px}.scope-switch button,.segmented button{min-height:36px;padding:7px 13px;font-size:12px;font-weight:600;background:transparent;color:var(--muted);border-radius:3px;white-space:nowrap}.scope-switch button.active,.segmented button.active{background:var(--blue);color:white}.scope-row{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.scope-row .muted{font-size:12px}.bottom-nav{display:none}.mobile-menu{display:none}.refresh-btn{gap:6px}.data-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:20px;line-height:1.5}.section-space{margin-top:26px}.error-banner{margin-bottom:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:8px;min-width:0}.search-field{position:relative;min-width:220px;max-width:340px;width:100%}.search-field>svg{position:absolute;left:13px;top:14px;color:var(--muted)}.search-field input{padding-left:40px;min-height:44px;font-size:13px;border-color:var(--line)}.filter-select{min-width:150px;width:auto;font-size:13px;min-height:44px;border-color:var(--line)}.filter-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.filter-tab{background:transparent;padding:9px 12px;min-height:40px;font-size:12px;border:1px solid transparent;border-radius:5px;color:var(--muted);font-weight:600;white-space:nowrap}.filter-tab.active{background:var(--blue-light);border-color:#c3d8ff;color:var(--blue)}.filter-tab span{margin-left:5px;font-size:10px}.filter-tab:hover{background:#edf2f8}
/* Calendar */
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.month-control{display:flex;align-items:center;gap:9px;min-width:0}.month-title{font-size:17px;font-weight:700;text-transform:capitalize;min-width:150px;text-align:center;letter-spacing:-.3px}.today-btn{padding:9px 11px;min-height:40px;font-size:12px}.calendar{background:white;border:1px solid #cbd5e3;border-radius:6px;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f0f4f9;border-bottom:1px solid #cbd5e3}.calendar-weekdays span{padding:12px 2px;text-align:center;font-size:12px;font-weight:700;border-right:1px solid #dbe2ec}.calendar-weekdays span:last-child{border-right:0}.calendar-weekdays span.weekend{color:#8490a2;background:#e9edf3}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;min-height:121px;border-bottom:1px solid var(--line)}.calendar-week:last-child{border-bottom:0}.calendar-day{min-width:0;min-height:121px;padding:10px 9px 8px;background:#fff;border:0;border-right:1px solid var(--line);text-align:left;display:flex;align-items:flex-start;flex-direction:column;position:relative;color:var(--text);border-radius:0}.calendar-day:last-of-type{border-right:0}.calendar-day.weekend{background:#f3f5f8;color:#7b879b}.calendar-day.other-month{background:#fafbfd;color:#b6becc}.calendar-day.holiday{background:#fff4d9;color:#985700}.calendar-day:hover{background:#edf4ff}.calendar-day.holiday:hover{background:#ffedbf}.day-number{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border-radius:50%;margin:-3px 0 0 -3px;line-height:1}.calendar-day.today .day-number{outline:1px solid var(--blue);color:var(--blue);font-weight:750}.holiday-label{font-size:9px;line-height:1.2;font-weight:600;margin-top:2px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-lanes{position:absolute;left:5px;right:5px;top:48px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:20px;gap:4px 0;pointer-events:none}.calendar-event{pointer-events:auto;display:block;text-align:left;border-radius:4px;background:#c5ddff;color:#194e9d;font-size:10px;line-height:16px;padding:2px 6px;margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;border-left:3px solid #4d8bf1}.calendar-event.proposed{background:#fff1d2;color:#8b5b08;border:1px dashed #cc9b3c;font-weight:500;padding:1px 5px}.calendar-event:hover{filter:brightness(.97);box-shadow:0 0 0 1px var(--blue)}.day-overflow{position:absolute;bottom:5px;left:8px;font-size:9px;color:var(--muted);font-weight:600}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:13px;font-size:10px;color:var(--muted)}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:2px;background:#8dbaff}.legend-dot.proposed{background:#fff4d9;border:1px dashed #b58428}.legend-dot.holiday{background:#f6d98a}.legend-dot.weekend{background:#e3e8f0}.calendar-no-events{font-size:12px;line-height:1.5;color:var(--muted);margin-top:13px;display:flex;align-items:center;gap:7px}.calendar-side{display:grid;gap:20px}.alerts-panel{border-left:3px solid var(--red)}.alerts-panel .panel-head{background:#fff0f0;color:var(--red);padding:15px 16px;border-bottom:1px solid #f0dcdc}.alerts-panel .panel-head h2{font-size:16px}.alert-person{display:flex;align-items:center;gap:10px;padding:15px 15px;border-bottom:1px solid var(--line)}.alert-person:last-child{border-bottom:0}.alert-person .avatar{width:31px;height:31px;font-size:11px}.alert-person strong{display:block;font-size:12px;line-height:1.3}.alert-person small{font-size:10px;display:block;margin-top:3px}.alert-person .alert-link{color:var(--blue);background:white;border:1px solid #bfd2ee;border-radius:4px;font-size:10px;font-weight:600;min-height:38px;padding:6px 7px;line-height:1.25;max-width:72px}.alert-total{padding:10px 15px;border-top:1px solid var(--line);text-align:center}.coverage-title{font-size:15px;display:flex;align-items:center;gap:9px}.coverage-bar-row{display:flex;align-items:center;gap:12px;margin:19px 0 13px}.coverage-bar{height:12px;border-radius:4px;background:#e0e8f5;overflow:hidden;flex:1}.coverage-bar span{display:block;height:100%;background:var(--blue);border-radius:4px}.coverage-bar-row strong{font-size:17px}.coverage-count{font-size:12px;color:var(--muted)}.coverage-foot{font-size:10px;line-height:1.6;color:var(--muted);margin-top:10px}.panel-link{font-size:12px;text-decoration:none;color:var(--blue);font-weight:600;background:transparent;padding:0}.panel-link:hover{text-decoration:underline}.balance-card{padding:20px;background:var(--blue-light);border:1px solid #d6e4fb;border-radius:6px}.balance-caption{font-size:12px;color:#4d6589;display:flex;align-items:center;gap:7px}.balance-value{font-size:32px;font-weight:750;letter-spacing:-1px;color:var(--navy);line-height:1.2;margin:8px 0 6px}.balance-value small{font-size:16px;font-weight:550;letter-spacing:0}.balance-value.unknown{font-size:23px;letter-spacing:-.4px}.balance-warning{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--red);margin-top:12px}.balance-source{font-size:10px;color:var(--muted);margin-top:10px;line-height:1.6}.worker-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.worker-main{min-width:0}.worker-top-balance{display:none}.alternative-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.alternative-tab{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 8px;border:1px solid #c8d4e6;background:white;color:var(--muted);border-radius:5px;font-size:13px;font-weight:650}.alternative-tab.active{color:white;background:var(--blue);border-color:var(--blue)}.alternative-tab .done-dot{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:#dcefe4;border-radius:50%;color:var(--green)}.alternative-tab.active .done-dot{background:#ffffff30;color:white}.selection-hint{margin-bottom:15px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.range-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.range-fields label{font-size:11px;margin-bottom:5px}.range-fields input{font-size:13px;min-height:44px}.worker-calendar .calendar-week{min-height:64px}.worker-calendar .calendar-day{min-height:64px;align-items:center;justify-content:center;padding:8px 2px;text-align:center}.worker-calendar .day-number{margin:0;width:31px;height:31px;font-size:14px}.worker-calendar .calendar-day:disabled{opacity:1;color:#b8c0cd;cursor:default}.worker-calendar .calendar-day:disabled:hover{background:inherit}.worker-calendar .calendar-day.weekend:disabled{background:#f3f5f8}.worker-calendar .calendar-day.selected-range{background:#dceaff;color:#184a98}.worker-calendar .calendar-day.selected-range.weekend{background:#edf0f5;color:#8b95a6}.worker-calendar .calendar-day.selected-range.holiday{background:#ffedc1;color:#985700}.worker-calendar .calendar-day.range-start .day-number,.worker-calendar .calendar-day.range-end .day-number{color:#fff;background:var(--blue);outline:0}.worker-calendar .holiday-label{font-size:9px;margin-top:0}.worker-calendar .calendar-day.other-month:not(.selected-range){background:#f9fafc;color:#b4bfce}.calendar-note{margin-top:12px;font-size:11px;padding:10px 12px}.selection-summary{display:flex;align-items:center;gap:12px;border:1px solid #c9d8ec;border-radius:5px;background:#fff;margin-top:17px;padding:17px}.selection-summary>svg{color:var(--blue)}.selection-summary strong{font-size:15px;display:block;line-height:1.4}.selection-summary small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.worker-calendar-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.worker-calendar-actions .btn-primary{flex:1}.option-summary{padding:14px 17px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}.option-summary:last-child{border-bottom:0}.option-number{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:var(--blue-light);color:var(--blue);font-size:11px;font-weight:700;flex-shrink:0}.option-summary .grow>strong{font-size:11px;display:block}.option-summary small{font-size:10px;color:var(--muted)}.option-summary .icon-btn{min-width:30px;min-height:30px;padding:5px;border:0;background:transparent}.worker-side{display:grid;gap:18px}.worker-side .panel-head{padding:14px 17px}.worker-side .panel-head h2{font-size:14px}.request-note{margin-top:19px}.request-note label{font-size:12px}.request-note textarea{min-height:80px;font-size:13px}.draft-footer{font-size:10px;line-height:1.7;color:var(--muted);margin-top:13px}.worker-calendar .calendar-toolbar{margin-bottom:13px}.worker-calendar .month-title{font-size:16px}.worker-calendar .calendar-weekdays span{font-size:11px}.employee-own-callout{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 19px;margin-bottom:23px}.employee-own-callout strong{font-size:13px}.employee-own-callout p{font-size:12px;color:var(--muted);margin-top:3px}
/* Summary, requests and directories */
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat-card{background:white;border:1px solid var(--line);border-radius:6px;padding:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stat-card .stat-label{font-size:11px;color:var(--muted);font-weight:600}.stat-card .stat-value{font-size:29px;font-weight:750;letter-spacing:-.7px;line-height:1.2;margin:8px 0}.stat-card .stat-foot{font-size:10px;color:var(--muted)}.stat-icon{color:var(--blue);padding:9px;border-radius:5px;background:var(--blue-light)}.stat-card.alert .stat-icon{color:var(--red);background:var(--red-bg)}.summary-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:22px}.summary-columns .panel-head h2{font-size:16px}.recent-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);width:100%;background:white;text-align:left}.recent-row:last-child{border-bottom:0}.recent-row:hover{background:#f9fbff}.recent-row strong{display:block;font-size:12px}.recent-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.recent-row .badge{font-size:10px}.quick-actions{display:grid;gap:12px}.quick-action{padding:16px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:5px;background:#fff;text-align:left}.quick-action:hover{border-color:#a8c3eb;background:#f9fbff}.quick-action>svg{color:var(--blue)}.quick-action strong{font-size:12px;display:block}.quick-action small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.request-list{display:grid;gap:13px}.request-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:6px;display:grid;grid-template-columns:minmax(180px,.9fr) minmax(250px,1.3fr) auto;align-items:center;gap:22px}.request-person{display:flex;align-items:center;gap:12px;min-width:0}.request-person strong{display:block;font-size:13px}.request-person small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.request-ranges{display:flex;gap:7px;flex-wrap:wrap}.request-range{font-size:11px;color:#51617a;background:#f2f5fa;border:1px solid #e2e8f1;border-radius:4px;padding:6px 8px;line-height:1.5}.request-range.selected{background:#eaf3ff;border-color:#bad2f7;color:#1c54a8}.request-range small{font-size:9px;color:inherit}.request-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}.request-card-meta{display:flex;gap:7px;align-items:center;margin-top:8px;flex-wrap:wrap}.request-card-meta .badge{font-size:9px}.request-card-note{font-size:11px;color:var(--muted);margin-top:8px;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap{width:100%;overflow-x:auto;border-radius:6px}.data-table{width:100%;border-collapse:collapse;text-align:left;background:white}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:13px 18px;background:#f5f8fc;border-bottom:1px solid var(--line);font-weight:650;white-space:nowrap}.data-table td{padding:15px 18px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fbfcfe}.data-table td .muted{font-size:10px}.table-person{display:flex;align-items:center;gap:10px;min-width:160px}.table-person strong{font-size:12px;display:block}.table-person small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.table-person .avatar{width:32px;height:32px;font-size:10px}.balance-inline{font-weight:700;white-space:nowrap;font-size:13px}.balance-inline.high{color:var(--red)}.balance-inline.unknown{font-size:11px;color:var(--muted);font-weight:500}.table-actions{display:flex;align-items:center;gap:5px;justify-content:flex-end;white-space:nowrap}.table-actions .icon-btn{min-width:36px;min-height:36px;padding:7px;border:1px solid #e0e6ef}.table-actions .btn-sm{white-space:nowrap}.directory-count{font-size:12px;color:var(--muted)}.directory-legend{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--muted);padding:13px 18px;border-top:1px solid var(--line);background:#fcfdff}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:22px;max-width:980px}.profile-identity{display:flex;align-items:center;gap:16px;margin-bottom:25px}.profile-identity h2{font-size:20px;margin-bottom:5px}.detail-list{display:grid;gap:0}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #edf0f5;font-size:12px}.detail-row:last-child{border-bottom:0}.detail-row>span:first-child{color:var(--muted);flex-shrink:0}.detail-row>strong{text-align:right;font-weight:550;overflow-wrap:anywhere}.profile-security{display:flex;align-items:flex-start;gap:13px}.profile-security>svg{color:var(--blue);margin-top:2px}.profile-security h3{margin-bottom:6px}.profile-security p{font-size:12px;color:var(--muted);margin-bottom:17px}.profile-grid .balance-card{margin-bottom:20px}.danger-zone{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}.profile-mobile-admin{display:none}.date-list{display:grid;gap:10px}.date-entry{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:5px}.date-tile{width:47px;height:50px;border-radius:5px;background:var(--blue-light);color:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.date-tile strong{font-size:18px;line-height:1.1}.date-tile small{font-size:9px;text-transform:uppercase}.date-entry .grow>strong{font-size:12px;display:block}.date-entry .grow>small{font-size:10px;color:var(--muted)}
/* Dialogs and feedback */
.modal-backdrop{position:fixed;inset:0;background:#0b193a70;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(2px)}.modal{background:#fff;width:100%;max-width:600px;max-height:calc(100dvh - 48px);border-radius:9px;box-shadow:0 25px 80px #101b4140;display:flex;flex-direction:column;overflow:hidden}.modal.wide{max-width:820px}.modal-header{padding:21px 25px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);flex-shrink:0}.modal-header h2{font-size:20px}.modal-header p{font-size:12px;color:var(--muted);margin-top:3px}.modal-body{padding:25px;overflow:auto;overscroll-behavior:contain}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 25px;border-top:1px solid var(--line);background:#fafbfd;flex-shrink:0;flex-wrap:wrap}.modal-footer .grow{font-size:11px;color:var(--muted)}.modal-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.modal-option{display:block;text-align:left;border:1px solid #cbd6e6;padding:16px 14px;background:white;border-radius:6px;min-width:0}.modal-option.selected{border:2px solid var(--blue);padding:15px 13px;background:#f2f7ff}.modal-option.disabled{opacity:.7}.modal-option .option-caption{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:600;margin-bottom:15px}.modal-option.selected .option-caption{color:var(--blue)}.modal-option strong{font-size:13px;display:block}.modal-option p{font-size:11px;color:var(--muted);margin-top:5px}.modal-option .badge{margin-top:12px;font-size:9px}.modal-request-person{display:flex;align-items:center;gap:12px}.modal-request-person strong{display:block;font-size:15px}.modal-request-person small{font-size:11px;color:var(--muted)}.calculation-box{padding:16px;background:var(--blue-light);border:1px solid #d5e4fa;border-radius:5px;display:flex;align-items:center;gap:10px;font-size:13px;color:#305582}.calculation-box strong{color:var(--navy);font-size:16px}.request-detail-note{padding:13px 16px;border-left:3px solid #cbd9ed;background:#f6f8fb;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;color:#51617a}.review-list{display:grid;gap:10px;margin:20px 0}.review-option{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:5px}.review-option strong{font-size:13px;display:block}.review-option small{font-size:11px;color:var(--muted)}.review-option .option-number{width:30px;height:30px;font-size:13px}.review-option>strong{margin-left:auto;white-space:nowrap;font-size:12px}.form-summary{margin-top:18px;background:var(--blue-light);border-radius:5px;padding:13px 14px;font-size:13px;color:#315785;display:flex;gap:9px;align-items:center}.modal .notice{margin-bottom:18px}.modal-person-summary{padding:14px;background:#f3f7fc;border-radius:5px;display:flex;gap:12px;align-items:center;margin-bottom:20px}.modal-person-summary strong{display:block;font-size:13px}.modal-person-summary small{color:var(--muted);font-size:11px}.dialog-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:var(--muted);margin:22px 0 12px}.toast-region{position:fixed;bottom:25px;right:25px;z-index:120;display:grid;gap:10px;width:min(430px,calc(100vw - 40px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;border:1px solid #d3ddeb;border-left:4px solid var(--green);background:white;box-shadow:0 8px 30px #162c4b26;padding:14px 15px;border-radius:6px;font-size:13px;pointer-events:auto;animation:toast-in .2s ease-out}.toast>svg{color:var(--green);margin-top:1px}.toast.error{border-left-color:var(--red)}.toast.error>svg{color:var(--red)}.toast .icon-btn{min-width:25px;min-height:25px;padding:3px;margin:-2px -5px -2px 0}.toast .grow{line-height:1.6}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-loading{display:flex;align-items:center;justify-content:center;padding:30px;gap:12px}.inline-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.btn[aria-busy=true]{pointer-events:none}
@media(min-width:1600px){.calendar-layout{grid-template-columns:minmax(0,1fr) 320px}.calendar-week,.calendar-day{min-height:140px}.calendar-event-lanes{grid-auto-rows:24px;gap:5px 0;top:49px}.calendar-event{font-size:11px;line-height:20px}.calendar-day{padding:12px}.day-number{font-size:14px}.worker-calendar-layout{grid-template-columns:minmax(0,1fr) 320px}.worker-calendar .calendar-week,.worker-calendar .calendar-day{min-height:80px}}
@media(max-width:1279px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding-left:12px;padding-right:12px}.sidebar .brand{font-size:17px}.topbar{padding:0 25px}.main-content{padding:28px 25px 35px}.calendar-layout{grid-template-columns:minmax(0,1fr) 244px;gap:17px}.calendar-side{gap:17px}.calendar-toolbar{gap:10px}.month-title{font-size:15px;min-width:128px}.month-control{gap:6px}.calendar-toolbar .segmented button{padding:7px 10px}.calendar-day{padding:9px 6px}.alert-person{padding:13px 11px;gap:7px}.alert-person .avatar{display:none}.alerts-panel .panel-head{padding:14px 12px}.alerts-panel .panel-head h2{font-size:14px}.coverage-title{font-size:14px}.calendar-side .panel-body{padding:17px 14px}.worker-calendar-layout{grid-template-columns:minmax(0,1fr) 244px;gap:18px}.request-card{grid-template-columns:minmax(160px,.9fr) minmax(180px,1fr) auto;gap:15px;padding:17px}.request-actions{flex-direction:column;gap:8px;align-items:flex-end}.data-table td,.data-table th{padding-left:13px;padding-right:13px}.stat-card{padding:17px}.stat-grid{gap:13px}.stat-icon{padding:7px}.stat-card .stat-value{font-size:25px}.page-header h1{font-size:27px}.page-header-action{gap:7px}.page-header-action .btn{padding-left:12px;padding-right:12px}}
@media(max-width:1099px){.calendar-layout{grid-template-columns:1fr}.calendar-side{grid-template-columns:1.1fr 1fr}.calendar-side>.notice{grid-column:1/-1}.calendar-week,.calendar-day{min-height:113px}.calendar-event-lanes{grid-auto-rows:18px;gap:3px 0;top:45px}.calendar-event{line-height:14px;font-size:9px}.worker-calendar-layout{grid-template-columns:minmax(0,1fr) 230px}.worker-calendar .calendar-toolbar{gap:7px}.worker-calendar .today-btn{display:none}.page-header{gap:15px}.page-header-action{flex-wrap:wrap;justify-content:flex-end;max-width:230px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-columns{grid-template-columns:1fr}.request-card{grid-template-columns:1fr auto;gap:14px}.request-ranges{grid-column:1/-1;grid-row:2}.request-actions{grid-column:2;grid-row:1;flex-direction:row;align-items:center}.table-hide-md{display:none}.profile-grid{grid-template-columns:1fr}.topbar-date{display:none}.auth-story{padding:40px 32px}.auth-story h1{font-size:39px}}
@media(max-width:799px){.app-shell{display:block}.sidebar{display:none}.shell-content{width:100%}.topbar{height:67px;padding:0 20px;position:sticky;top:0;z-index:25}.topbar-breadcrumb{display:none}.topbar-user .user-label{display:none}.topbar-user>.chevron{display:none}.topbar-user .avatar{width:32px;height:32px;font-size:11px}.mobile-brand{display:flex;font-size:17px}.mobile-brand svg{width:25px;height:25px}.mobile-brand .brand-sub{display:none}.main-content{padding:25px 20px 105px}.page-header{margin-bottom:22px}.page-header h1{font-size:26px}.page-header .muted{font-size:12px}.page-header-action .refresh-btn{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:35;padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(10px);border-top:1px solid var(--line)}.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:transparent;color:#718099;padding:7px 4px;min-height:53px;font-size:10px;position:relative}.bottom-nav button.active{color:var(--blue);font-weight:700}.bottom-nav button.active:after{content:"";position:absolute;top:-6px;width:27px;height:3px;background:var(--blue);border-radius:0 0 3px 3px}.bottom-nav .mobile-count{position:absolute;top:3px;left:calc(50% + 7px);background:var(--blue);color:white;border:2px solid white;border-radius:10px;padding:0 4px;font-size:9px;line-height:15px;min-width:18px}.mobile-menu{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.mobile-menu button{min-height:40px;padding:8px 13px;border:1px solid var(--line);background:white;border-radius:5px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.mobile-menu button.active{background:var(--blue-light);border-color:#bed5f8;color:var(--blue)}.scope-row{margin-bottom:18px}.scope-row .muted{font-size:11px}.calendar-layout{gap:19px}.calendar-side{gap:16px}.worker-calendar-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.worker-calendar .calendar-week,.worker-calendar .calendar-day{min-height:58px}.worker-calendar .month-title{font-size:14px;min-width:120px}.worker-calendar .calendar-toolbar .icon-btn{min-width:38px;min-height:40px}.worker-calendar .calendar-day{padding:5px 1px}.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-main{padding:34px 24px;min-height:100dvh;align-items:flex-start}.auth-card{max-width:420px;margin-top:15px}.auth-mobile-brand{display:flex;margin-bottom:50px}.auth-card h1{font-size:29px}.profile-mobile-admin{display:grid;gap:9px;margin-bottom:20px}.profile-mobile-admin .quick-action{padding:14px}.profile-grid{gap:18px}.toast-region{bottom:calc(85px + env(safe-area-inset-bottom));left:20px;right:20px;width:auto}.table-wrap{overflow-x:auto}.calendar-toolbar .today-btn{display:inline-flex}.modal-backdrop{padding:18px}.modal{max-height:calc(100dvh - 36px)}.modal.wide{max-width:680px}.modal-header{padding:18px 20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}.modal-option-grid{gap:8px}.modal-option{padding:13px 11px}.modal-option.selected{padding:12px 10px}.modal-option strong{font-size:12px}}
@media(max-width:599px){body{font-size:14px}.main-content{padding:23px 15px 100px}.topbar{padding:0 15px;height:63px}.mobile-brand{font-size:16px;gap:8px}.page-header h1{font-size:25px;letter-spacing:-.6px}.page-header .muted{line-height:1.6;margin-top:7px}.page-header{gap:12px;align-items:flex-start;margin-bottom:20px}.page-header-action{max-width:160px}.page-header-action .btn{font-size:11px;padding:10px;min-height:42px}.page-header-action .btn svg{width:16px;height:16px}.page-header-action .header-action-label{max-width:76px}.page-header-action .scope-switch{display:none}.page-header.employee-page{margin-bottom:17px}.page-header.employee-page h1{font-size:26px}.page-header.employee-page .muted{display:none}.scope-row{align-items:flex-start}.scope-row .muted{max-width:145px;font-size:10px;padding-top:4px}.scope-switch button{padding:7px 12px;font-size:11px;min-height:34px}.mobile-menu{gap:6px;margin-bottom:18px}.mobile-menu button{padding:7px 10px;font-size:11px;min-height:38px}.mobile-menu button svg{width:15px;height:15px}.calendar-toolbar{gap:9px;margin-bottom:13px}.month-control{gap:5px}.month-title{font-size:14px;min-width:124px}.calendar-toolbar .icon-btn{min-width:37px;min-height:40px;padding:8px}.calendar-toolbar .segmented{padding:2px;gap:1px}.calendar-toolbar .segmented button{font-size:10px;padding:6px 9px;min-height:34px}.calendar-toolbar .today-btn{display:none}.calendar-weekdays span{font-size:10px;padding:10px 0}.calendar-week,.calendar-day{min-height:96px}.calendar-day{padding:7px 3px}.day-number{font-size:11px;width:24px;height:24px;margin:-2px 0 0 -1px}.holiday-label{font-size:8px;margin-top:0}.calendar-event-lanes{left:2px;right:2px;top:39px;grid-auto-rows:15px;gap:3px 0}.calendar-event{font-size:8px;padding:1px 3px;margin-right:2px;line-height:13px;border-left-width:2px;border-radius:3px}.calendar-event.proposed{padding:0 2px}.day-overflow{font-size:8px;left:4px;bottom:2px}.calendar-legend{gap:11px;font-size:9px;margin-top:12px}.legend-dot{width:8px;height:8px}.calendar-no-events{font-size:11px}.calendar-side{grid-template-columns:1fr;gap:15px}.alerts-panel .panel-head{padding:14px 15px}.alerts-panel .panel-head h2{font-size:15px}.alert-person{padding:13px 15px;gap:10px}.alert-person .avatar{display:inline-flex}.alert-person .alert-link{font-size:11px;min-height:40px;max-width:none;padding:8px 11px}.alert-person strong{font-size:13px}.alert-person small{font-size:11px}.calendar-side .panel-body{padding:18px}.coverage-title{font-size:15px}.coverage-bar-row{margin:16px 0 10px}.coverage-foot{font-size:10px}.worker-calendar-layout{display:block}.worker-side{display:none}.worker-top-balance{display:block;margin-bottom:16px}.worker-top-balance .balance-card{padding:12px 14px;display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px}.worker-top-balance .balance-caption{font-size:12px;color:#3b5377}.worker-top-balance .balance-value{font-size:20px;letter-spacing:-.5px;margin:0}.worker-top-balance .balance-value small{font-size:13px}.worker-top-balance .balance-value.unknown{font-size:16px;letter-spacing:0}.worker-top-balance .balance-warning{margin:3px 0 0;width:100%;font-size:10px}.worker-top-balance .balance-source{display:none}.alternative-tabs{gap:5px;margin-bottom:16px}.alternative-tab{font-size:12px;min-height:43px;padding:9px 4px;gap:4px}.alternative-tab .done-dot{width:14px;height:14px}.selection-hint{font-size:11px;margin-bottom:11px}.range-fields{gap:10px;margin-bottom:15px}.range-fields input{font-size:13px;padding:10px 9px;min-height:44px}.range-fields label{font-size:10px}.worker-calendar .calendar-toolbar{margin-bottom:12px}.worker-calendar .month-title{font-size:15px;min-width:145px}.worker-calendar .calendar-toolbar .icon-btn{min-width:42px;min-height:42px}.worker-calendar .calendar-weekdays span{padding:9px 0;font-size:10px}.worker-calendar .calendar-week,.worker-calendar .calendar-day{min-height:49px}.worker-calendar .calendar-day{padding:4px 1px}.worker-calendar .day-number{width:29px;height:29px;font-size:13px}.worker-calendar .holiday-label{font-size:8px}.calendar-note{font-size:10px;padding:10px;line-height:1.6}.selection-summary{padding:14px 12px;gap:10px;margin-top:14px}.selection-summary strong{font-size:14px}.selection-summary small{font-size:11px}.worker-calendar-actions{margin-top:13px}.worker-calendar-actions .btn{min-height:47px;font-size:13px}.request-note{margin-top:17px}.request-note textarea{font-size:14px}.draft-footer{font-size:10px}.employee-own-callout{padding:13px 14px;gap:10px;margin-bottom:18px}.employee-own-callout strong{font-size:12px}.employee-own-callout p{font-size:10px}.employee-own-callout .btn{font-size:11px;padding:8px 10px;min-height:40px}.stat-grid{gap:10px;margin-bottom:20px}.stat-card{padding:14px 12px}.stat-card .stat-label{font-size:10px}.stat-card .stat-value{font-size:25px;margin:6px 0}.stat-card .stat-foot{font-size:9px}.stat-icon{padding:6px}.stat-icon svg{width:17px;height:17px}.summary-columns{gap:18px}.panel-head{padding:16px}.panel-body{padding:17px}.panel-head h2{font-size:16px}.recent-row{padding:14px 15px;gap:9px}.recent-row .avatar{width:30px;height:30px;font-size:10px}.recent-row strong{font-size:11px}.recent-row small{font-size:9px}.recent-row .badge{font-size:9px}.recent-row>.chevron{display:none}.summary-columns .panel-head h2{font-size:15px}.panel-link{font-size:10px}.toolbar{gap:12px}.toolbar-group{width:100%;gap:8px}.search-field{min-width:0;max-width:none;flex:1}.search-field input{font-size:14px}.filter-select{min-width:125px;max-width:155px;font-size:12px;padding:10px}.filter-tabs{gap:3px}.filter-tab{font-size:11px;padding:8px 9px;min-height:38px}.filter-tab span{font-size:9px}.request-card{padding:15px;grid-template-columns:1fr auto;gap:13px 8px}.request-person{gap:9px}.request-person .avatar{width:32px;height:32px;font-size:10px}.request-person strong{font-size:12px}.request-person small{font-size:10px}.request-actions{flex-direction:column;gap:7px;align-items:flex-end}.request-actions .badge{font-size:9px}.request-actions .btn{font-size:10px;min-height:34px;padding:7px 9px}.request-ranges{gap:5px}.request-range{font-size:10px;padding:5px 7px}.request-card-note{max-width:180px;font-size:10px}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{display:none}.data-table tr{position:relative;padding:16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.data-table tr:last-child{border-bottom:0}.data-table td{border:0!important;padding:0!important;font-size:11px}.data-table td.cell-person{grid-column:1;grid-row:1}.data-table td.cell-balance{grid-column:2;grid-row:1;text-align:right;align-self:center}.data-table td.table-hide-md,.data-table td.table-hide-mobile{display:none}.data-table td.cell-actions{grid-column:1/-1;grid-row:3;border-top:1px solid #eef1f6!important;padding-top:10px!important;margin-top:1px}.data-table td.cell-role{grid-column:1;grid-row:2;display:flex;align-items:center;gap:7px}.data-table td.cell-role:before{content:"Rol";color:var(--muted);font-size:10px}.data-table td.cell-area{grid-column:1;grid-row:2;font-size:10px;color:var(--muted)}.data-table .table-person{min-width:0}.table-person strong{font-size:12px}.table-person small{font-size:10px}.table-actions{justify-content:flex-start;gap:8px}.table-actions .icon-btn{min-width:40px;min-height:40px}.table-actions .btn-sm{font-size:11px;min-height:40px}.data-table td.cell-balance .muted{font-size:9px}.balance-inline{font-size:13px}.balance-inline.unknown{font-size:10px}.directory-legend{padding:13px 16px;font-size:10px}.directory-count{font-size:11px}.profile-identity{gap:12px;margin-bottom:20px}.profile-identity h2{font-size:19px}.profile-grid .panel-body{padding:19px 17px}.profile-identity .avatar-lg{width:48px;height:48px;font-size:17px}.detail-row{font-size:11px;gap:15px}.profile-security{gap:11px}.profile-security p{font-size:11px}.data-note{font-size:10px;margin-top:17px;align-items:flex-start}.data-note>svg{margin-top:1px}.modal-backdrop{padding:10px;align-items:center}.modal{max-height:calc(100dvh - 20px);border-radius:8px}.modal-header{padding:17px 16px;gap:10px}.modal-header h2{font-size:19px}.modal-header p{font-size:11px}.modal-body{padding:18px 16px}.modal-footer{padding:14px 16px;gap:8px}.modal-footer .btn{flex:1;font-size:12px}.modal-footer .grow{flex-basis:100%;font-size:10px;margin-bottom:3px}.modal-option-grid{grid-template-columns:1fr;gap:8px;margin:17px 0}.modal-option{padding:13px 14px;display:grid;grid-template-columns:1fr auto;gap:5px 10px}.modal-option.selected{padding:12px 13px}.modal-option .option-caption{margin-bottom:2px;grid-column:1/-1;font-size:10px}.modal-option strong{font-size:13px}.modal-option p{font-size:11px;margin-top:0;align-self:center;text-align:right}.modal-option .badge{margin-top:4px;justify-self:start;font-size:9px}.modal-request-person strong{font-size:13px}.modal-request-person small{font-size:10px}.modal-request-person .badge{font-size:9px}.modal-request-person .avatar{width:32px;height:32px;font-size:11px}.calculation-box{font-size:11px;padding:13px;gap:8px;flex-wrap:wrap}.calculation-box strong{font-size:14px}.modal .notice{font-size:11px;padding:11px;margin-bottom:16px}.modal-body label{font-size:12px}.modal-body input,.modal-body select,.modal-body textarea{font-size:16px}.modal-body .form-grid{gap:10px}.modal-body .form-grid input{padding:10px 8px;font-size:14px}.modal-body .field-hint{font-size:10px}.review-option{padding:12px;gap:9px}.review-option strong{font-size:12px}.review-option small{font-size:10px}.review-option>strong{font-size:10px}.toast-region{left:12px;right:12px;bottom:calc(81px + env(safe-area-inset-bottom))}.toast{font-size:12px;padding:12px}.auth-main{padding:28px 22px}.auth-mobile-brand{margin-bottom:44px}.auth-card h1{font-size:27px}.auth-card input{font-size:16px}.auth-card>.muted{font-size:13px}.auth-help{font-size:11px}.auth-icon{width:47px;height:47px}.request-detail-note{font-size:11px}.form-summary{font-size:12px}.modal-person-summary{padding:12px}.modal-person-summary strong{font-size:12px}.modal-person-summary small{font-size:10px}}
.modal-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.modal-form>.modal-body{min-height:0}.date-entry{color:var(--text);text-align:left;background:white}.date-entry:hover{background:var(--blue-light)}
/* Phone readability and touch targets take priority over fitting a viewport. */
@media(max-width:799px){
 .btn,.btn-sm,.icon-btn,.filter-tab,.mobile-menu button,.scope-switch button,.segmented button,.alternative-tab,.calendar-toolbar .icon-btn,.calendar-toolbar .segmented button,.worker-calendar .calendar-toolbar .icon-btn,.employee-own-callout .btn,.request-actions .btn,.table-actions .icon-btn,.table-actions .btn-sm,.alert-person .alert-link{min-height:44px;min-width:44px}
 input,select,textarea,.range-fields input,.search-field input,.filter-select,.request-note textarea,.modal-body input,.modal-body select,.modal-body textarea,.modal-body .form-grid input{font-size:16px}
 .field-hint,.data-note,.directory-legend,.directory-count,.coverage-foot,.coverage-count,.balance-source,.balance-warning,.draft-footer,.selection-hint,.calendar-note,.calendar-no-events,.auth-help,.request-card-note,.request-person small,.request-card-meta .text-small,.request-range,.request-range small,.request-actions .badge,.request-card-meta .badge,.table-person small,.data-table td.cell-area,.data-table td.cell-balance .muted,.balance-inline.unknown,.detail-row,.profile-security p,.recent-row small,.recent-row .badge,.quick-action small,.stat-card .stat-label,.stat-card .stat-foot,.alert-person small,.alert-person .alert-link,.date-entry .grow>small,.modal-request-person small,.modal-request-person .badge,.modal-option .option-caption,.modal-option p,.modal-option .badge,.modal-body label,.modal-body .field-hint,.review-option small,.review-option>strong,.request-detail-note,.modal-person-summary small,.modal .notice,.modal-footer .grow{font-size:12px}
 .range-fields label,.request-note label,.filter-tab,.filter-tab span,.mobile-menu button,.scope-switch button,.calendar-toolbar .segmented button,.bottom-nav button,.table-actions .btn-sm,.request-actions .btn,.page-header-action .btn,.panel-link,.selection-summary small,.calendar-legend,.table-person strong,.request-person strong,.recent-row strong,.quick-action strong,.modal-option strong,.review-option strong,.modal-person-summary strong,.modal-request-person strong,.scope-row .muted,.employee-own-callout p,.employee-own-callout strong,.employee-own-callout .btn{font-size:12px}
 .holiday-label,.worker-calendar .holiday-label{font-size:10px}.calendar-day .day-number{font-size:13px}.calendar-weekdays span,.worker-calendar .calendar-weekdays span{font-size:12px}.worker-calendar .calendar-week,.worker-calendar .calendar-day{min-height:54px}
 .filter-tabs{gap:4px}.filter-tab{padding:8px 10px}.scope-switch button{padding:8px 11px}.calendar-legend{gap:10px 14px}.toolbar-group{flex-wrap:wrap}.table-actions{gap:10px}.table-actions .icon-btn{min-width:44px}.data-table td.cell-balance{max-width:125px}.data-table tr{grid-template-columns:minmax(0,1fr) auto}.modal-footer .btn{font-size:13px}.selection-summary strong{font-size:15px}.mobile-brand{font-size:17px}.request-ranges{gap:7px}.request-range{padding:7px 9px}.stat-grid{gap:12px}.stat-card{padding:16px 13px}.stat-icon{display:none}.profile-mobile-admin .quick-action{min-height:52px}.calendar-toolbar .segmented button{padding:7px 9px}.month-title{min-width:116px;font-size:14px}.month-control{gap:4px}
}
@media(max-width:399px){.calendar-toolbar{align-items:flex-start}.calendar-toolbar>.segmented{margin-left:auto}.calendar-toolbar .month-title{min-width:122px}.calendar-toolbar .month-control{flex:1;justify-content:space-between}.calendar-toolbar .month-control .icon-btn{flex-shrink:0}.calendar-toolbar:has(>.segmented)>.month-control{width:100%;flex-basis:100%}.worker-calendar .calendar-toolbar{flex-wrap:nowrap}.worker-calendar .month-title{min-width:125px}.page-header-action .btn{max-width:136px}.calendar-event{font-size:9px}.calendar-event-lanes{grid-auto-rows:17px;top:40px;gap:3px 0}.calendar-week,.calendar-day{min-height:104px}.worker-calendar .calendar-week,.worker-calendar .calendar-day{min-height:54px}.calendar-day{padding-left:3px;padding-right:3px}.data-table td.cell-balance{max-width:110px}}
@media(min-width:1100px){
 .calendar-layout .calendar-week,.calendar-layout .calendar-day{min-height:84px}
 .calendar-layout .calendar-day{padding:7px 9px}
 .calendar-layout .day-number{width:23px;height:23px;font-size:13px;margin:0}
 .calendar-layout .holiday-label{font-size:9px;margin:0}
 .calendar-layout .calendar-event-lanes{top:43px;grid-auto-rows:17px;gap:3px 0}
 .calendar-layout .calendar-event{font-size:10px;line-height:13px;padding:2px 5px}
 .calendar-layout .calendar-event.proposed{padding:1px 4px}
 .calendar-layout .day-overflow{top:10px;right:7px;bottom:auto;left:auto;font-size:10px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
