:root{--ink:#172b3a;--muted:#657581;--accent:#087f72;--accent-soft:#e8f5f1;--line:#e1e8ec;--surface:#fff;--canvas:#f3f6f8;--radius:14px;--shadow:0 4px 18px #1c354408;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #37a897;outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(25px,2.5vw,36px);line-height:1.2;letter-spacing:-.8px;margin:0 0 9px}h2{font-size:19px;margin:0 0 14px;letter-spacing:-.3px}h3{font-size:16px;margin:0 0 8px}p{margin:0 0 12px}.muted,.small{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:9px}.nowrap{white-space:nowrap}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.app-sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#142f3b;color:#d5e3e8;display:flex;flex-direction:column;padding:29px 16px 16px;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;color:white;font-size:22px;font-weight:700;letter-spacing:-.5px;margin:0 12px 34px}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid #608d99;border-radius:10px;color:#82d9c5}.brand:hover{text-decoration:none}.nav-label{font-size:10px;letter-spacing:1.5px;color:#8ca8b4;text-transform:uppercase;margin:17px 13px 8px}.app-nav a{color:#c6d8df;display:flex;align-items:center;gap:11px;padding:9px 12px;margin:3px 0;border-radius:9px;font-size:13px}.app-nav a:hover{background:#ffffff0c;text-decoration:none;color:white}.app-nav a.active{background:#28505a;color:#fff;box-shadow:inset 3px 0 #7bd5bc}.nav-icon{width:18px;height:18px;flex:0 0 18px;opacity:.85}.sidebar-footer{margin-top:auto;padding:24px 12px 6px;color:#9eb6c0;font-size:12px}.sidebar-footer a{color:#d3e4ea}.app-frame{margin-left:240px;min-height:100vh}.app-topbar{min-height:79px;display:flex;align-items:center;gap:18px;justify-content:space-between;padding:18px 32px;border-bottom:1px solid var(--line);background:#ffffffd9;backdrop-filter:blur(10px)}.context-name{font-size:14px;font-weight:650}.topbar-meta{color:var(--muted);font-size:12px}.topbar-right{display:flex;align-items:center;gap:17px}.company-switch select{max-width:290px;padding:6px 9px;font-size:12px}.menu-toggle{display:none}.wrap{max-width:1640px;margin:0 auto;padding:28px 32px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 24px}.page-heading .muted{margin:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading h2{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:18px;box-shadow:var(--shadow);min-width:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:20px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.kpi{padding:21px 23px;margin:0}.kpi strong{display:block;font-size:36px;font-weight:650;letter-spacing:-1px;margin-top:8px;font-variant-numeric:tabular-nums}.kpi-label{font-size:12px;color:var(--muted)}.kpi-note{font-size:12px;color:var(--muted);margin-top:4px}.kpi.highlight{background:var(--accent);border-color:var(--accent);color:#fff}.kpi.highlight .kpi-label,.kpi.highlight .kpi-note{color:#d9f0e9}.btn,.btn2,button,.ooo-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;min-height:40px;border-radius:9px;border:1px solid transparent;font-weight:600;line-height:1.25;white-space:normal}.btn{background:var(--accent);color:white}.btn:hover{background:#066b60;text-decoration:none;color:white}.btn2{background:#eef3f5;border-color:#dfe8ec;color:var(--ink)}.btn2:hover{background:#e2ebef;text-decoration:none}.btn-danger{background:#fbeded;color:#ae3737;border:1px solid #eecbcb}input,select,textarea{padding:10px 11px;border:1px solid #cbd8de;border-radius:9px;width:100%;background:#fff;color:var(--ink);min-height:42px;max-width:100%}input[type=checkbox],input[type=radio]{width:17px;height:17px;min-height:0;accent-color:var(--accent);flex:0 0 auto}label{display:block;font-size:12px;font-weight:550;color:#506471}label>input,label>select,label>textarea{margin-top:5px}textarea{resize:vertical}.form-stack{display:flex;flex-direction:column;gap:17px;margin-top:20px}.check{display:flex;gap:9px;align-items:center}.check input{margin:0}.filterbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.filterbar label{min-width:150px;flex:1}.inline-actions{display:flex;gap:6px;flex-wrap:wrap;max-width:400px}.inline-actions input{flex:1 1 100%;min-width:140px}.inline-actions button{font-size:12px;padding:8px 10px;min-height:35px}summary{cursor:pointer;font-weight:650}details[open]>summary{margin-bottom:12px}.table-scroll{overflow:auto;max-width:100%;overscroll-behavior-x:contain;border-radius:9px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #e7edf0;font-size:13px;vertical-align:middle}th{font-size:11px;letter-spacing:.3px;color:#6b7d89;font-weight:600;background:#f7f9fa;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f8fbfc}.pill,.status{display:inline-flex;padding:4px 9px;border-radius:7px;font-size:11px;font-weight:600;background:#edf2f5;white-space:nowrap}.status-approved,.status-present,.ok{background:#e8f5ef;color:#226d52}.status-pending,.status-late{background:#fff3d9;color:#90621a}.status-rejected,.err{background:#fbecec;color:#a23f3f}.status-cancelled,.status-finished{background:#eef1f4;color:#697782}.status-absent{background:#eaf0fa;color:#496b9f}.flash{padding:13px 16px;margin-bottom:17px;border-radius:10px;border:1px solid transparent}.flash.err{border-color:#edcaca}.flash.ok{border-color:#c7e8d5}.info{background:#edf3fa;color:#3f648a}.empty-state{padding:44px 16px;text-align:center;color:var(--muted)}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:11px;background:#e9f0f1;color:#487079;font-size:12px;font-weight:650}.person{display:flex;align-items:center;gap:11px}.action-list a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}.action-list a:last-child{border:0}.action-list a:hover{color:var(--accent);text-decoration:none}.request-item{padding:14px 0;border-bottom:1px solid var(--line)}.request-item:last-child{border:0}.request-item .status{margin:7px 0}.request-item form{margin-top:8px}.app-footer{font-size:11px;color:#91a0aa;display:flex;justify-content:space-between;padding:16px 0}.public-page .wrap{max-width:650px;padding:35px 20px}.public-page .card{padding:28px}.public-page .subcard{border:1px solid var(--line);border-radius:11px;background:#f8fafb;padding:17px;margin:18px 0}.public-page button{width:auto}.public-page form>.btn,.public-page form .row>.btn{width:100%}.auth-page .wrap{max-width:460px;padding-top:10vh}.auth-page h1{font-size:27px}.auth-page .brand{color:var(--ink);margin:0 0 26px}.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}.tv-person{padding:23px;background:white;border:1px solid var(--line);border-radius:14px}.tv-person h2{margin:14px 0 7px}.tv-mode .app-sidebar,.tv-mode .app-topbar,.tv-mode .app-footer{display:none}.tv-mode .app-frame{margin-left:0}.tv-mode .wrap{max-width:2400px;padding:3vw}.tv-mode .tv-person{font-size:clamp(16px,1.1vw,28px)}.tv-mode .tv-person h2{font-size:1.3em}.tv-mode .tv-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.tv-mode .status{font-size:.75em}.nav-overlay{display:none}
@media(min-width:1900px){.wrap{max-width:1900px;padding:40px 48px}.kpi strong{font-size:44px}body{font-size:16px}th,td{font-size:14px}.app-sidebar{width:260px}.app-frame{margin-left:260px}}
@media(max-width:1150px){.app-sidebar{width:215px}.app-frame{margin-left:215px}.wrap{padding:24px}.app-topbar{padding:17px 24px}.kpi-grid{gap:12px}.kpi{padding:17px}.dashboard-grid{grid-template-columns:1fr}.kpi strong{font-size:31px}}
@media(max-width:820px){.app-sidebar{transform:translateX(-100%);transition:transform .18s;width:255px}.app-frame{margin-left:0}.menu-toggle{display:inline-flex;width:40px;padding:8px;font-size:19px;background:#eef3f5}.nav-open .app-sidebar{transform:translateX(0)}.nav-open .nav-overlay{display:block;position:fixed;inset:0;background:#102b3c80;z-index:25}.topbar-right .topbar-meta{display:none}.app-topbar{padding:13px 18px;min-height:72px}.wrap{padding:22px 18px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:flex-start}.card{padding:18px}.company-switch select{max-width:190px}.topbar-right{gap:8px}.grid{gap:14px}}
@media(max-width:560px){.grid,.row2,.form-grid,.ooo-form-grid{grid-template-columns:1fr!important}.page-heading{flex-direction:column;gap:14px}.page-heading .btn2{align-self:flex-start}.wrap{padding:19px 13px}.kpi-grid{gap:10px}.kpi{padding:15px}.kpi strong{font-size:32px}.app-topbar{padding:12px 13px;gap:10px}.context-name{font-size:12px;max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right>span{display:none}.company-switch select{max-width:155px}.filterbar{gap:12px}.filterbar label{flex:1 1 40%;min-width:120px}input,select,textarea{font-size:16px}.card{border-radius:12px;padding:16px}.public-page .card{padding:20px}.public-page .wrap{padding:20px 12px}.auth-page .wrap{padding-top:8vh}.ooo-grid{display:block!important}th,td{padding:11px 10px}.app-footer{display:block}.inline-actions{min-width:190px}.tv-mode .wrap{padding:20px}.tv-mode .tv-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.app-sidebar,.app-topbar,.app-footer,.filterbar,button{display:none!important}.app-frame{margin:0}.wrap{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid}.table-scroll{overflow:visible}body{background:#fff}}

.skip-link{position:fixed;left:-9999px;top:8px;z-index:99;background:white;padding:12px 18px;border:2px solid var(--accent);border-radius:8px}.skip-link:focus{left:12px}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.btn.danger{background:#ab4040}@media(max-width:820px){.split-grid{grid-template-columns:1fr}}
/* Legacy forms share the same responsive layout without shrinking their controls. */
.app-topbar>div:first-child,.app-topbar>div:first-child>div{min-width:0}.app-topbar>div:first-child{flex:1}.menu-toggle{flex:0 0 40px}.topbar-right{flex-shrink:0}.app-footer{gap:12px}.table-scroll{min-width:0;width:100%}
@media(max-width:1100px){main form[style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}main form[style*="grid-template-columns"]>*{min-width:0!important;max-width:100%}}
@media(max-width:560px){main form[style*="grid-template-columns"],main div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}.app-topbar{flex-wrap:wrap}.app-topbar:has(.company-switch) .topbar-right{width:100%;justify-content:space-between}.context-name{max-width:100%}.app-footer span{display:block}.table-scroll table{min-width:520px}.public-page .pill{white-space:normal}}
@media(max-width:560px){main span[style*="white-space:nowrap"]{white-space:normal!important;overflow-wrap:anywhere}}
.tv-mode .wrap{max-width:none;width:min(94vw,3200px);padding:4vh 0}.tv-mode .tv-grid{grid-template-columns:repeat(auto-fit,minmax(clamp(280px,22vw,540px),1fr));gap:clamp(18px,1.2vw,40px)}.tv-mode h1{font-size:clamp(32px,2vw,72px)}.tv-mode .tv-person{padding:clamp(22px,1.8vw,54px);min-width:0}.tv-person .status{max-width:100%;white-space:normal;overflow-wrap:anywhere}.tv-mode .eyebrow,.tv-mode .page-heading .muted{font-size:clamp(14px,1vw,26px)}
@media(max-width:560px){.tv-mode .wrap{width:auto;padding:20px}.tv-mode .tv-grid{grid-template-columns:minmax(0,1fr)}}

/* Full installation and licensing screens. */
.setup-wrap{max-width:920px;margin-inline:auto}.setup-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.setup-checks p{margin:5px 0}.license-code{width:100%;min-height:130px;font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.license-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.license-summary dt{font-size:12px;color:var(--muted)}.license-summary dd{margin:3px 0 0;overflow-wrap:anywhere}.license-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.license-actions form{margin:0}.license-form textarea{min-height:100px}.setup-path{overflow-wrap:anywhere;user-select:all}.public-page .setup-wrap h2{margin-top:24px}@media(max-width:560px){.setup-checks,.license-summary{grid-template-columns:1fr}.setup-wrap .grid{grid-template-columns:1fr}.license-actions .btn,.license-actions .btn2{width:100%}}

/* Team planning and employee self-service, 1.3. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.print-only{display:none}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:20px 0 4px}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:18px 0;font-size:12px}.calendar-legend>span{display:inline-flex;align-items:center;gap:6px}.calendar-mark{display:inline-grid;place-items:center;min-width:26px;height:25px;border-radius:6px}.cell-work{background:#e7f4ef;color:#246a56}.cell-off,.cell-before{background:#f0f3f5;color:#7b8790}.cell-absence,.cell-sick,.cell-unpaid{background:#edf0fa;color:#4c6098}.cell-offsite{background:#e6f1f8;color:#316a8a}.cell-leave,.cell-partial{background:#fff3dc;color:#875e19}.pending-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#be811a;flex-shrink:0}.team-calendar{min-width:max-content!important;width:100%;table-layout:fixed}.team-calendar th,.team-calendar td{text-align:center;padding:5px 3px;border-right:1px solid #edf1f3;min-width:34px;white-space:nowrap}.team-calendar thead th{padding-top:10px;padding-bottom:10px}.team-calendar th small{display:block;font-weight:400;color:var(--muted)}.team-calendar .sticky-person{position:sticky;left:0;z-index:2;background:#fff;text-align:left;min-width:165px;max-width:185px;width:185px;padding-left:12px;overflow:hidden;text-overflow:ellipsis;font-size:12px}.team-calendar thead .sticky-person,.team-calendar tfoot .sticky-person{background:#f7f9fa}.team-calendar .calendar-cell{position:relative;display:grid;place-items:center;width:32px;min-height:36px;padding:3px;font-size:11px;border-radius:6px;margin:auto;font-weight:650}.calendar-cell:hover{filter:brightness(.95)}.calendar-cell .pending-dot{position:absolute;right:3px;top:3px}.team-calendar .calendar-today{background:#e6f3ef;box-shadow:inset 0 2px var(--accent)}.team-calendar .capacity-cell{padding:12px 3px;font-size:10px;font-variant-numeric:tabular-nums;color:#44635b}.team-calendar .capacity-low{background:#fff2d8;color:#896118;font-weight:700}.calendar-note{margin-top:18px;max-width:950px}.team-scroll{max-height:70vh;overflow:auto;border:1px solid var(--line)}.team-calendar thead th{position:sticky;top:0;z-index:3}.team-calendar thead .sticky-person{z-index:4}.team-calendar tfoot th,.team-calendar tfoot td{border-top:1px solid var(--line)}.detail-dialog{width:min(440px,calc(100vw - 28px));padding:28px;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 90px #102a3b55;color:var(--ink)}.detail-dialog::backdrop{background:#102a3b77;backdrop-filter:blur(3px)}.detail-dialog form{display:flex;justify-content:flex-end;margin:-12px -12px 4px}.attention-kpi{color:var(--ink)}.attention-kpi:hover{border-color:#77b5a5;text-decoration:none}.empty-icon{display:block;color:var(--accent);font-size:40px;margin-bottom:10px}.correction-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.correction-comparison>div{padding:16px;border:1px solid var(--line);border-radius:10px;background:#f7f9fa}.correction-comparison>.proposed-times{background:#ecf7f2;border-color:#d4e9df}.proposed-times>strong{font-size:23px}.request-reason{padding:12px 0;overflow-wrap:anywhere}.correction-card{scroll-margin-top:20px}.employee-header{max-width:1120px;margin:auto;padding:22px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.employee-brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:20px;font-weight:700;min-width:0}.employee-brand>span:last-child{min-width:0}.employee-brand small{display:block;font-size:12px;color:var(--muted);font-weight:400;overflow-wrap:anywhere}.employee-wrap{max-width:1120px;margin:auto;padding:20px 30px}.employee-links{display:flex;gap:12px 24px;flex-wrap:wrap;padding:0 0 22px}.employee-links a{font-weight:600}.employee-portal-link{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px;background:#e7f4ef;border:1px solid #c6e3d6;border-radius:12px;margin:18px 0;color:#246a56}.employee-portal-link small{display:block;color:#497466;font-size:12px;margin-top:3px}.employee-portal-link:hover{text-decoration:none;background:#dbefe5}.employee-today th,.employee-today td{background:#eef8f4}.employee-wrap .month-number{font-size:27px;margin-top:16px}.employee-wrap .section-heading{flex-wrap:wrap}.correction-shortcut{font-size:12px;min-height:34px;padding:7px 10px}#correction-form{scroll-margin-top:20px}#correction-form summary{font-weight:650}#correction-form[open] summary{margin-bottom:16px}
@media(max-width:560px){.correction-comparison{grid-template-columns:1fr;gap:10px}.correction-card .section-heading{align-items:flex-start;flex-wrap:wrap}.employee-header{padding:20px 13px;align-items:flex-start;flex-direction:column;gap:14px}.employee-header>.btn{width:100%}.employee-wrap{padding:8px 13px 20px}.employee-wrap .kpi strong{font-size:28px}.employee-wrap .month-number{font-size:23px}.team-calendar .sticky-person{min-width:125px;max-width:125px;width:125px;padding-left:7px}.team-card{padding:14px 9px}.team-calendar th,.team-calendar td{padding:5px 2px}.calendar-legend{gap:9px;font-size:11px}.employee-links{gap:12px}.pagination{gap:12px}}
@media print{.no-print,.employee-header,.employee-links,dialog{display:none!important}.print-only{display:block}.employee-wrap{max-width:none;padding:0}.employee-wrap .card{break-inside:auto}.employee-wrap th,.employee-wrap td{font-size:10px;padding:6px}.employee-wrap .kpi strong{font-size:24px}.employee-wrap a{color:inherit}.employee-wrap .kpi-grid{grid-template-columns:repeat(4,1fr)}.employee-wrap .table-scroll table{min-width:0}.employee-wrap table thead{display:table-header-group}.employee-wrap tr{break-inside:avoid}}
.employee-month-scroll{max-height:min(68vh,680px);overflow:auto}.employee-month-scroll thead th{position:sticky;top:0;z-index:2}.employee-month-scroll tbody th{position:sticky;left:0;background:#fff;z-index:1}.employee-month-scroll .employee-today th{background:#eef8f4}@media print{.employee-month-scroll{max-height:none;overflow:visible}.employee-month-scroll thead th,.employee-month-scroll tbody th{position:static}}

/* Management workspace, 1.4 */
.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.management-grid>.card{min-width:0;margin-bottom:0}.management-grid{margin-bottom:24px}.management-facts{margin:0}.management-facts>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--border,#e3e9e8)}.management-facts dd{font-weight:700;margin:0}.unit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.unit-card{padding:20px;border:1px solid #dfe8e5;border-radius:14px;background:#f7faf9}.unit-card h3{margin:8px 0}.check{display:flex!important;align-items:center;gap:9px;font-weight:500!important}.check input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}.days-inline,.actions,.version-list,.demo-industries{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.days-inline .check{margin:0}.version-list{margin-top:16px}.money-number{font-size:clamp(1.05rem,1.8vw,1.7rem)!important;overflow-wrap:anywhere}.setup-checklist{list-style:none;padding:0;margin:0}.setup-checklist li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e4eae7}.step-state{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f0f3f1;flex-shrink:0;color:#6b7973}.step-state.done{background:#e1f3e9;color:#19714b}.coverage-demo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px;background:#f3f7f5;border-radius:12px}.demo-industries{margin:24px 0}.demo-wrap{max-width:1200px}.demo-hero{background:linear-gradient(120deg,#f0f7f3,#fff)}.management-grid fieldset{min-width:0}textarea.mono{font-size:13px;tab-size:2}button[disabled]{opacity:.55;cursor:not-allowed}.card>summary{cursor:pointer;font-weight:700;padding:4px 0}details[open]>summary{margin-bottom:18px}
@media(max-width:850px){.management-grid{grid-template-columns:1fr}.management-facts>div{gap:10px}.demo-wrap .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.version-list .pill{white-space:normal}.coverage-demo{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.demo-industries>*{flex:1 1 40%;text-align:center}.management-grid .grid{grid-template-columns:1fr}.management-facts dt{max-width:67%}}
@media print{.no-print,.app-sidebar,.app-topbar,.nav-overlay,.menu-toggle,.skip-link{display:none!important}.app-frame{margin:0!important}.wrap{max-width:none!important;padding:0!important}.card{box-shadow:none!important;break-inside:avoid}.table-scroll{overflow:visible!important}.management-grid{display:block}.app-footer{display:none!important}}

/* Director digest: concise settings and a faithful HTML message preview. */
.digest-panel{scroll-margin-top:20px}.digest-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.digest-panel>summary::before{content:"▸";color:var(--accent)}.digest-panel[open]>summary::before{content:"▾"}.digest-panel .management-grid{margin-top:24px;gap:28px}.digest-panel section{min-width:0}.digest-fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0;min-width:0}.digest-fieldset legend{padding:0 6px}.digest-fieldset .days-inline{margin-top:16px;gap:14px}.digest-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.digest-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;background:#f2f7f5;border:1px solid #d9e7e0;border-radius:16px;padding:22px;font-size:14px;max-width:100%;font-variant-numeric:tabular-nums}.digest-message b{color:#193e35}.digest-message a{font-weight:600}.digest-detail-scroll{max-height:460px}#digest-preview{scroll-margin-top:24px}.digest-panel .small{overflow-wrap:anywhere}
@media(max-width:560px){.digest-message{padding:16px;font-size:13px}.digest-panel .grid{grid-template-columns:1fr}.digest-panel .status{white-space:normal}.digest-panel>summary{justify-content:flex-start}.digest-fieldset{padding:14px 12px}}

/* Replacement search: cards keep interval choices usable at narrow widths. */
.replacement-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:16px;align-items:start}.replacement-candidates .request-item{min-width:0;margin:0;overflow-wrap:anywhere}.replacement-offer select{width:100%;max-width:100%}.replacement-candidates .section-heading{align-items:flex-start;flex-wrap:wrap}

/* Accounting package identifiers and keys remain readable on narrow screens. */
.exchange-code{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
#api input,#api textarea,#mapping select{min-width:0;max-width:100%;box-sizing:border-box}

/* Industry demos share the product's layout and remain usable on narrow screens. */
.demo-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.demo-company-grid .card{margin:0;display:flex;flex-direction:column;align-items:flex-start}
.demo-company-grid .card form{margin-top:auto}
.demo-walkthrough{padding-left:24px}.demo-walkthrough>li{padding:8px 0 20px;border-bottom:1px solid var(--line,#dfe7ef);margin-bottom:14px}
.demo-reset{margin-top:24px}.demo-banner{border-left:4px solid #217b72}
@media(max-width:720px){.demo-company-grid{grid-template-columns:minmax(0,1fr)}.demo-walkthrough{padding-left:18px}}
.pilot-progress{width:100%;height:9px;accent-color:#217b72}.pilot-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.pilot-steps a{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--border,#dce7e6);border-radius:10px;text-decoration:none;font-size:14px}.pilot-steps a span{flex:0 0 24px;text-align:center;font-weight:700}.pilot-steps .is-done{background:#edf7f2;color:#126850}.pilot-schedule td{min-width:100px;font-size:13px}.pilot-schedule th:first-child{min-width:175px}.pilot-issues{padding-left:20px}.pilot-issues li{padding:7px 0;overflow-wrap:anywhere}.check-label{display:flex;align-items:flex-start;gap:10px}.check-label input{width:auto;min-width:18px;margin-top:4px}@media(max-width:720px){.pilot-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pilot-steps a{padding:10px;font-size:13px}}@media(max-width:380px){.pilot-steps{grid-template-columns:1fr}}

/* TimeSystem 1.4.7: approval routes share the product's card and form system. */
.routing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.routing-summary h2{font-size:clamp(1.1rem,2vw,1.6rem)}
.route-step{display:flex;align-items:center;gap:12px;min-width:0}.route-step label{flex:1;min-width:0}.route-step select{width:100%;max-width:100%}
.route-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#e7f1f0;color:#165950;font-weight:700}
.route-next .form-stack{padding-top:18px}.route-next summary{cursor:pointer;padding:12px 0}
.route-timeline{list-style:none;padding:0;margin:16px 0}.route-timeline li{border-left:3px solid #dbe7e5;padding:6px 0 12px 18px;margin:0 0 12px;overflow-wrap:anywhere}.route-timeline .route-current{border-left-color:#187b6b}.route-timeline p{margin:6px 0}
.route-request{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e1e8e7;text-decoration:none;overflow-wrap:anywhere}.route-request small{display:block;margin-top:4px;color:#5b6b70}.route-request>span{min-width:0}
@media(max-width:780px){.routing-summary{grid-template-columns:1fr}.route-request{align-items:flex-start;flex-direction:column;gap:8px}.route-timeline .section-heading{align-items:flex-start;gap:8px}.route-step{gap:8px}}

/* Presence check: one clear next action, including on narrow employee screens. */
.geo-panel{margin:20px 0;padding:20px;border:1px solid var(--line,#d9e3e8);border-radius:16px;background:var(--card,#fff);min-width:0}
.geo-status{padding:12px 14px;border-radius:10px;background:#eef5f6;color:#173e46;overflow-wrap:anywhere}
.geo-counter{font-size:.875rem;font-weight:600;color:#526670}
.geo-exception{display:grid;gap:14px;padding:16px;background:#fff7e8;border:1px solid #edd6a4;border-radius:12px}
.geo-exception[hidden],[data-geo-punch] [hidden]{display:none!important}
.geo-zone{min-width:0;border:1px solid #d9e3e8;border-radius:12px;padding:18px;margin:0}
.geo-zone legend{padding:0 8px;font-weight:650;max-width:100%;overflow-wrap:anywhere}
.geo-zone .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
[data-geo-punch] textarea{width:100%;box-sizing:border-box}
@media(max-width:600px){.geo-panel,.geo-zone{padding:14px}.geo-panel .actions{align-items:stretch}.geo-panel .actions>button{flex:1 1 100%}.geo-exception>.btn{width:100%}.geo-panel .section-heading{align-items:flex-start;gap:12px}}

/* Platform workspace: fluid cards and compact controls at all widths. */
.platform-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.platform-stats .card{margin:0 0 20px}.platform-number{display:block;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.2}
.app-topbar .topbar-right form{margin:0}.app-topbar .topbar-right{flex-wrap:wrap}
@media(max-width:900px){.platform-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.platform-stats{gap:10px}.platform-stats .card{padding:14px}.app-topbar .topbar-right{gap:6px}.app-topbar .topbar-right .btn2{font-size:12px}}

[hidden]{display:none!important}

/* Service workspace: reuses the product layout at every viewport. */
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;margin:16px 0}.service-check,.service-stat{border:1px solid var(--line,#dce6e9);border-radius:12px;padding:18px;min-width:0}.service-check p,.service-message p,.service-terms dd,.service-history p{overflow-wrap:anywhere;white-space:normal}.service-stat strong{display:block;font-size:2rem;line-height:1.3;color:var(--ink,#17323d)}.service-stat span{display:block;margin-top:6px}.service-check h3{font-size:1rem;margin:10px 0}.service-terms{margin:12px 0}.service-terms>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line,#dce6e9)}.service-terms dt{font-weight:600}.service-terms dd{margin:0}.service-message{border-left:3px solid #73999e;padding:4px 16px;margin:16px 0;background:var(--bg,#f7fafa);border-radius:0 8px 8px 0}.service-history{padding:14px 0;border-bottom:1px solid var(--line,#dce6e9)}.service-history summary{cursor:pointer;overflow-wrap:anywhere}@media(max-width:600px){.service-terms>div{grid-template-columns:1fr;gap:6px}.service-check,.service-stat{padding:14px}}

.cell-vacation{background:#e6f4ed;color:#246a56}.form-stack .check{display:flex;align-items:flex-start;gap:10px}.form-stack .check input{width:auto;min-height:0;margin-top:4px}select{max-width:100%}

/* Personal display timezone */
.timezone-control{max-width:24rem;white-space:normal;overflow-wrap:anywhere;font-size:.8rem;}
#timezone select{width:100%;max-width:100%;min-width:0;}
