:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--brand-950:#062334;--brand-900:#0b2f45;--brand-800:#0d3c55;--brand-700:#0f4c66;--accent-700:#0f766e;--accent-100:#ccfbf1;--info-700:#1d4ed8;--info-100:#dbeafe;--success-700:#15803d;--success-100:#dcfce7;--warning-700:#b45309;--warning-100:#fef3c7;--danger-700:#b91c1c;--danger-100:#fee2e2;--text:#17202a;--muted:#52606d;--border:#d7dee7;--control-border:#6b7280;--canvas:#f5f7fa;--surface:#fff;--surface-muted:#f8fafc;--shadow-sm:0 1px 2px #0b2f4514;--shadow-md:0 12px 28px #0b2f451f;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--focus:0 0 0 3px #0f766e47;font-family:Inter,Segoe UI,Roboto,Noto Sans,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);color:var(--text)}body{background:radial-gradient(circle at 100% 0, #0f766e14, transparent 28rem), var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--brand-700)}a:hover{color:var(--brand-900)}:focus-visible{outline:2px solid var(--accent-700);outline-offset:2px}.ds-button{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 16px;font-weight:700;line-height:1.2;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.ds-button:active:not(:disabled){transform:translateY(1px)}.ds-button:disabled{cursor:not-allowed;opacity:.56}.ds-button--primary{background:var(--brand-700);color:#fff}.ds-button--primary:hover:not(:disabled){background:var(--brand-900)}.ds-button--secondary{border-color:var(--control-border);background:var(--surface);color:var(--text)}.ds-button--secondary:hover:not(:disabled),.ds-button--ghost:hover:not(:disabled){background:#edf4f7}.ds-button--ghost{color:var(--brand-700);background:0 0}.ds-button--danger{background:var(--danger-700);color:#fff}.ds-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite ds-spin}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.ds-page-header h1{color:var(--brand-950);letter-spacing:-.025em;margin:3px 0 6px;font-size:clamp(1.55rem,2vw,2rem)}.ds-eyebrow{color:var(--accent-700);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.ds-page-header__description{max-width:68ch;color:var(--muted);margin:0;line-height:1.55}.ds-page-header__meta{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:.875rem;display:flex}.ds-page-header__actions{flex:none;gap:8px;display:flex}.ds-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.ds-status{color:#334155;white-space:nowrap;background:#eef2f6;border-radius:999px;align-items:center;gap:7px;min-height:28px;padding:4px 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.ds-status__dot{background:currentColor;border-radius:50%;width:7px;height:7px}.ds-status--success{background:var(--success-100);color:var(--success-700)}.ds-status--warning{background:var(--warning-100);color:#92400e}.ds-status--danger{background:var(--danger-100);color:var(--danger-700)}.ds-status--info{background:var(--info-100);color:var(--info-700)}.ds-state{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:auto 1fr;gap:14px;padding:24px;display:grid}.ds-state--compact{padding:16px}.ds-state__mark{width:34px;height:34px;color:var(--brand-700);background:#eef2f6;border-radius:50%;place-items:center;font-weight:900;display:grid}.ds-state--info .ds-state__mark{background:var(--info-100);color:var(--info-700)}.ds-state--warning .ds-state__mark{background:var(--warning-100);color:var(--warning-700)}.ds-state--danger .ds-state__mark{background:var(--danger-100);color:var(--danger-700)}.ds-state h2{margin:2px 0 6px;font-size:1rem}.ds-state p{color:var(--muted);margin:0;line-height:1.55}.ds-state__action{margin-top:14px}.ds-field{gap:7px;display:grid}.ds-field label{color:var(--text);font-size:.875rem;font-weight:700}.ds-field__hint,.ds-field__error{margin:0;font-size:.8125rem;line-height:1.4}.ds-field__hint{color:var(--muted)}.ds-field__error{color:var(--danger-700);font-weight:650}.ds-input,.ds-select,.ds-textarea{border:1px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:44px;color:var(--text);padding:9px 11px}.ds-input:hover,.ds-select:hover,.ds-textarea:hover{border-color:var(--brand-700)}.ds-input:focus,.ds-select:focus,.ds-textarea:focus{border-color:var(--accent-700);box-shadow:var(--focus);outline:0}.ds-input:disabled,.ds-select:disabled{border-color:var(--border);color:var(--muted);background:#eef2f6}.ds-error-summary{border:1px solid var(--danger-700);border-radius:var(--radius-md);background:var(--danger-100);border-left-width:5px;padding:18px 20px}.ds-error-summary h2{margin:0 0 8px;font-size:1rem}.ds-error-summary ul{margin:0;padding-left:20px}.ds-skeleton-list{gap:10px;display:grid}.ds-skeleton-row{border-radius:var(--radius-md);background:linear-gradient(90deg,#eef2f6 25%,#f8fafc 45%,#eef2f6 65%) 0 0/220% 100%;height:54px;animation:1.4s ease-in-out infinite ds-shimmer}@keyframes ds-shimmer{to{background-position-x:-220%}}.ds-metric{gap:4px;display:grid}.ds-metric>span{color:var(--muted);font-size:.8125rem;font-weight:650}.ds-metric>strong{color:var(--brand-950);font-variant-numeric:tabular-nums;font-size:1.45rem}.ds-metric>small{color:var(--muted)}@media (max-width:639px){body{font-size:16px}.ds-page-header{gap:16px;display:grid}.ds-page-header__actions{width:100%}.ds-page-header__actions>*{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{min-height:100vh}.skip-link{z-index:100;color:var(--brand-900);background:#fff;border-radius:6px;padding:10px 14px;font-weight:700;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.app-sidebar{z-index:30;background:linear-gradient(180deg, #ffffff0a, transparent 28%), var(--brand-950);color:#fff;flex-direction:column;width:264px;padding:22px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{border-bottom:1px solid #ffffff21;align-items:center;gap:12px;padding:0 6px 22px;display:flex}.sidebar-close-button{display:none}.brand__mark{background:var(--accent-700);color:#fff;border:1px solid #ffffff52;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:1.1rem;font-weight:900;display:grid;box-shadow:0 8px 20px #0003}.brand strong,.brand span{display:block}.brand strong{letter-spacing:.02em;font-size:1rem}.brand span{color:#b7cad5;margin-top:2px;font-size:.75rem}.side-nav{gap:20px;padding:24px 0;display:grid}.side-nav__group{gap:4px;display:grid}.side-nav__group>p{color:#93adbb;letter-spacing:.09em;text-transform:uppercase;margin:0 10px 5px;font-size:.6875rem;font-weight:800}.side-nav__link{color:#d8e5eb;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:9px 12px;font-size:.875rem;font-weight:650;text-decoration:none;display:flex}.side-nav__link:hover{color:#fff;background:#ffffff12}.side-nav__link.is-active{color:#fff;background:#0f766e57;box-shadow:inset 3px 0 #5eead4}.side-nav__bullet{border:1px solid #82a0af;border-radius:50%;flex:none;width:7px;height:7px}.side-nav__link.is-active .side-nav__bullet{background:#5eead4;border-color:#5eead4}.sidebar-note{background:#ffffff0d;border:1px solid #ffffff24;border-radius:10px;margin-top:auto;padding:14px}.sidebar-note>span{color:#5eead4;letter-spacing:.08em;font-size:.75rem;font-weight:850}.sidebar-note p{color:#b7cad5;margin:6px 0 0;font-size:.75rem;line-height:1.45}.app-main{min-height:100vh;margin-left:264px}.app-topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;align-items:center;gap:16px;min-height:72px;padding:12px 28px;display:flex;position:sticky;top:0;box-shadow:0 1px #0b2f450a}.menu-button{border:1px solid var(--border);background:#fff;border-radius:8px;place-items:center;width:44px;height:44px;padding:11px;display:none}.menu-button span{background:var(--brand-900);width:20px;height:2px;margin:3px 0;display:block}.context{gap:2px;display:grid}.context__label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:750}.context strong{color:var(--brand-950);font-size:.875rem}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.environment-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:750}.environment-badge--preview{background:var(--warning-100);color:#92400e;border-color:#fcd34d}.account-button{border:1px solid var(--border);min-height:44px;color:var(--text);cursor:default;background:#fff;border-radius:999px;align-items:center;gap:9px;padding:5px 10px 5px 6px;font-weight:650;display:flex}.account-button__avatar{width:32px;height:32px;color:var(--brand-900);background:#dce8ed;border-radius:50%;place-items:center;font-size:.75rem;font-weight:850;display:grid}.logout-button{border:1px solid var(--border);min-height:36px;color:var(--brand-900);font:inherit;cursor:pointer;background:#fff;border-radius:9px;padding:7px 11px;font-size:.75rem;font-weight:750}.logout-button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.logout-button:focus-visible{outline-offset:2px;outline:3px solid #0ea5e938}.preview-banner{background:var(--warning-100);color:#78350f;border-bottom:1px solid #f6c453;padding:9px 28px;font-size:.8125rem}.page-container{width:min(100%,1500px);margin:0 auto;padding:32px 32px 56px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.section-heading h2{color:var(--brand-950);margin:2px 0 0;font-size:1.15rem}.section-heading>p{max-width:42ch;color:var(--muted);margin:0;font-size:.875rem}.section-kicker{color:var(--accent-700);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:850}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-card{background:linear-gradient(145deg, #0f766e08, transparent 44%), var(--surface);border-top:3px solid #b8d7d3;min-height:280px;padding:24px;transition:transform .16s,border-color .16s,box-shadow .16s;position:relative;overflow:hidden}.module-card:hover{border-top-color:var(--accent-700);box-shadow:var(--shadow-md);transform:translateY(-2px)}.module-card:after{content:"";border:22px solid #0f766e12;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-72px;right:-48px}.module-card__number{color:#dce8ed;letter-spacing:-.07em;font-size:2.3rem;font-weight:900;position:absolute;top:16px;right:18px}.module-card h3{max-width:85%;color:var(--brand-950);margin:15px 0 8px;font-size:1.25rem}.module-card>p:not(.ds-eyebrow){min-height:68px;color:var(--muted);margin:0;font-size:.875rem;line-height:1.55}.module-card__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-size:.75rem;font-weight:650;display:flex}.text-link{z-index:1;min-height:44px;color:var(--brand-700);align-items:center;gap:8px;margin-top:16px;font-size:.875rem;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.text-link:hover{text-decoration:underline}.scope-panel{border-radius:var(--radius-lg);background:linear-gradient(110deg,#0f766e14,#0000 45%),#fff;border:1px solid #b8d7d3;grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:36px;margin-top:24px;padding:26px;display:grid}.scope-panel h2{color:var(--brand-950);margin:5px 0 0;font-size:1.12rem}.scope-panel ul{color:var(--muted);gap:10px;margin:0;padding-left:20px;line-height:1.5;display:grid}.toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(110deg, #0f766e08, transparent 36%), var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px;display:flex}.toolbar .ds-field{min-width:180px}.toolbar__spacer{flex:1}.table-card{margin-top:16px;overflow:hidden}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.875rem}.data-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:13px 16px}.data-table th{color:#344955;letter-spacing:.025em;background:#f0f5f7;font-size:.75rem;font-weight:800;box-shadow:inset 0 -1px #cbd7df}.data-table tbody tr:hover{background:#f8fbfc}.data-table tbody tr:last-child td{border-bottom:0}.data-table__primary{color:var(--brand-950);font-weight:750}.data-table__secondary{color:var(--muted);margin-top:3px;font-size:.75rem;display:block}.row-link{min-height:44px;color:var(--brand-700);border-radius:6px;align-items:center;padding:6px 10px;font-weight:750;text-decoration:none;display:inline-flex}.row-link:hover{background:#e6f1f3}.pagination{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.pagination p{color:var(--muted);margin:0;font-size:.8125rem}.pagination>div{align-items:center;gap:12px;display:flex}.pagination .ds-button{min-height:44px;padding:7px 12px}.pagination span{color:var(--muted);font-size:.8125rem}.mobile-list{gap:12px;margin-top:16px;display:none}.mobile-record{border-left:3px solid #b8d7d3;gap:12px;min-width:0;padding:16px;display:grid}.mobile-record__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mobile-record__header>div{min-width:0}.mobile-record h2{min-width:0;color:var(--brand-950);overflow-wrap:anywhere;margin:0;font-size:1rem}.mobile-record p{min-width:0;color:var(--muted);overflow-wrap:anywhere;margin:3px 0 0;font-size:.8125rem}.mobile-record dl{grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:8px 16px;min-width:0;margin:0;display:grid}.mobile-record dt{color:var(--muted);font-size:.8125rem}.mobile-record dd{min-width:0;color:var(--text);text-align:right;overflow-wrap:anywhere;margin:0;font-size:.8125rem;font-weight:700}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.form-card{max-width:880px;padding:24px;box-shadow:0 10px 28px #0b2f4512}.form-section{border-bottom:1px solid var(--border);gap:18px;padding:20px 0;display:grid}.form-section:first-of-type{padding-top:0}.form-section:last-of-type{border-bottom:0}.form-section h2{color:var(--brand-950);align-items:center;gap:9px;margin:0;font-size:1rem;display:flex}.form-section h2:before{background:var(--accent-700);content:"";border-radius:999px;width:4px;height:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;display:flex}.form-note{border-left:4px solid var(--accent-700);color:#31505a;background:#ecf8f6;border-radius:6px;padding:13px 14px;font-size:.8125rem;line-height:1.5}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.detail-section{padding:20px;position:relative;overflow:hidden}.detail-section:before{content:"";background:#b8d7d3;width:3px;position:absolute;inset:0 auto 0 0}.detail-section--wide{grid-column:1/-1}.detail-section h2{color:var(--brand-950);margin:0 0 16px;font-size:1rem}.definition-grid{grid-template-columns:minmax(130px,.7fr) 1.3fr;gap:11px 18px;margin:0;display:grid}.definition-grid dt{color:var(--muted);font-size:.8125rem}.definition-grid dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:650}.list-clean{gap:10px;margin:0;padding:0;list-style:none;display:grid}.list-clean li{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;padding:12px 14px}.list-clean strong,.list-clean span{display:block}.list-clean span{color:var(--muted);margin-top:4px;font-size:.8125rem}.back-link{min-height:44px;color:var(--brand-700);align-items:center;gap:8px;margin-bottom:12px;font-size:.875rem;font-weight:750;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.selection-panel{border:1px solid var(--control-border);border-radius:var(--radius-md);background:#fff;gap:10px;max-height:270px;padding:10px;display:grid;overflow-y:auto}.selection-row{border-radius:6px;align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:flex}.selection-row:hover{background:#eef6f7}.selection-row input{width:19px;height:19px;accent-color:var(--accent-700)}.selection-row span{gap:2px;display:grid}.selection-row small{color:var(--muted)}.result-meta{border:1px solid var(--border);color:var(--muted);background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:16px 0 0;padding:12px 16px;font-size:.75rem;display:flex}.scope-banner{background:#effaf8;border:1px solid #b8d7d3;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding:14px 16px;display:flex}.scope-banner strong{color:#134e4a;font-size:.875rem;display:block}.scope-banner p{color:#486766;margin:4px 0 0;font-size:.8125rem}.scope-banner span{color:#0f766e;background:#fff;border-radius:999px;flex:none;padding:5px 9px;font-size:.75rem;font-weight:750}.segmented-nav{border:1px solid var(--border);background:#edf2f5;border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.segmented-nav a{min-height:40px;color:var(--muted);border-radius:7px;align-items:center;padding:8px 14px;font-size:.875rem;font-weight:750;text-decoration:none;display:inline-flex}.segmented-nav a[aria-current=page]{color:var(--brand-900);box-shadow:var(--shadow-sm);background:#fff}.radio-group{flex-wrap:wrap;gap:10px;display:flex}.radio-fieldset{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.radio-fieldset legend{color:var(--text);margin-bottom:7px;padding:0;font-size:.875rem;font-weight:700}.radio-fieldset legend span{color:var(--danger-700)}.radio-option{border:1px solid var(--control-border);background:#fff;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:9px 12px;display:flex}.radio-option:has(input:checked){border-color:var(--accent-700);box-shadow:var(--focus);background:#ecf8f6}.radio-option input{width:18px;height:18px;accent-color:var(--accent-700)}.attendance-loading-card{gap:18px;padding:22px;display:grid}.attendance-loading-card>p{color:var(--brand-950);margin:0;font-weight:750}.attendance-toolbar-card{border-top:3px solid var(--accent-700);padding:18px;box-shadow:0 10px 28px #0b2f4512}.attendance-toolbar{grid-template-columns:minmax(240px,1.45fr) minmax(190px,.9fr) minmax(160px,.7fr) auto;align-items:end;gap:14px;display:grid}.attendance-period-control,.attendance-roster-count{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(120deg, #0f766e0d, transparent 60%), var(--surface-muted);align-content:center;gap:4px;min-height:72px;padding:10px 13px;display:grid}.attendance-period-control>span,.attendance-roster-count>span{color:var(--muted);font-size:.75rem;font-weight:700}.attendance-period-control>strong,.attendance-roster-count>strong{color:var(--brand-950);font-size:1rem}.attendance-period-control>small,.attendance-roster-count>small{max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.attendance-roster-count{grid-template-columns:1fr auto}.attendance-roster-count>strong{color:var(--accent-700);grid-area:1/2/3;align-self:center;font-size:1.75rem;line-height:1}.attendance-toolbar>.ds-button{white-space:nowrap;min-height:46px}.attendance-toolbar__message,.attendance-query-error,.attendance-empty-projection{margin-top:14px}.attendance-toolbar.ds-card{border-top:3px solid var(--accent-700);margin-top:16px;padding:18px;box-shadow:0 10px 28px #0b2f4512}.attendance-page-actions{justify-content:flex-end;align-items:center;gap:9px;min-height:72px;display:flex}.attendance-page-actions>span{min-width:92px;color:var(--brand-950);text-align:center;white-space:nowrap;font-size:.75rem;font-weight:800}.attendance-page-actions .ds-button{white-space:nowrap;min-height:44px}.attendance-scope-guard{background:linear-gradient(112deg,#f59e0b17,#0000 44%),#fff;border-color:#e4c98f #e4c98f #e4c98f #c78918;border-left-style:solid;border-left-width:4px;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:18px;display:flex}.attendance-scope-guard h2,.attendance-scope-guard p{margin:0}.attendance-scope-guard h2{color:var(--brand-950);margin-top:3px;font-size:1rem}.attendance-scope-guard p:not(.ds-eyebrow){max-width:740px;color:var(--muted);margin-top:5px;font-size:.8125rem;line-height:1.5}.attendance-scope-guard__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.attendance-save-message{color:#16603c;background:#ecf9f2;border:1px solid #aad8c2;border-radius:8px;margin:0;padding:10px 12px;font-size:.8125rem;font-weight:700}.attendance-catalog-item--disabled{opacity:.78;color:#75828a!important;background:#f5f6f7!important;border-style:dashed!important}.attendance-catalog-item--disabled strong{background:#77848a!important}.attendance-draft-toolbar{background:linear-gradient(112deg,#f59e0b14,#0000 44%),#fff;border-color:#e4c98f #e4c98f #e4c98f #c78918;border-left-style:solid;border-left-width:4px;gap:14px;margin-top:16px;padding:18px;display:grid;box-shadow:0 10px 28px #4d360a12}.attendance-draft-toolbar__main{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.attendance-draft-toolbar__main h2,.attendance-draft-toolbar__main p{margin:0}.attendance-draft-toolbar__main h2{color:var(--brand-950);margin-top:3px;font-size:1.05rem}.attendance-draft-toolbar__main p:not(.ds-eyebrow){max-width:680px;color:var(--muted);margin-top:5px;font-size:.8125rem;line-height:1.5}.attendance-draft-toolbar__status{color:#6a562f;text-align:right;justify-items:end;gap:5px;font-size:.75rem;display:grid}.attendance-draft-toolbar__status small{color:var(--muted)}.attendance-draft-catalog{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attendance-draft-catalog>span{color:#66532d;background:#fffbeb;border:1px solid #dac79f;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:5px 9px 5px 6px;font-size:.75rem;display:inline-flex}.attendance-draft-catalog strong{color:#fff;background:#9a670e;border-radius:999px;place-items:center;min-width:25px;min-height:23px;padding:2px 5px;font-size:.6875rem;display:inline-grid}.attendance-draft-catalog>small{color:var(--muted);margin-left:auto;font-size:.6875rem}.attendance-draft-toolbar__actions{border-top:1px solid #eadbbd;justify-content:flex-end;gap:10px;padding-top:12px;display:flex}.attendance-fill-tools{background:linear-gradient(110deg,#0d948814,#0000 52%),#f8fbfb;border:1px solid #c4d9d7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;padding:11px 12px;display:flex}.attendance-fill-tools__actions{flex-wrap:wrap;flex:0 auto;gap:8px;display:flex}.attendance-fill-tools__actions .ds-button{white-space:nowrap;min-height:40px}.attendance-fill-status{border:1px solid #b8d5d2;border-left:4px solid var(--accent-700);min-width:min(100%,260px);min-height:40px;color:var(--brand-950);background:#edf8f7;border-radius:8px;flex:320px;align-items:center;margin:0;padding:8px 11px;font-size:.75rem;font-weight:700;line-height:1.45;transition:border-color .12s,background-color .12s;display:inline-flex}.attendance-grid-card{border-color:#bfd0d7;margin-top:16px;overflow:hidden;box-shadow:0 14px 38px #0b2f4517}.attendance-grid-heading{background:linear-gradient(105deg,#0f766e17,#0000 46%),#f9fbfc;border-bottom:1px solid #cad8de;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.attendance-grid-heading .ds-eyebrow,.attendance-grid-heading h2,.attendance-grid-heading p{margin:0}.attendance-grid-heading h2{color:var(--brand-950);margin-top:4px;font-size:1.15rem}.attendance-grid-heading p:not(.ds-eyebrow){color:var(--muted);margin-top:4px;font-size:.8125rem}.attendance-grid-legend{color:#49636f;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;font-size:.75rem;display:flex}.attendance-grid-legend span{align-items:center;gap:6px;display:inline-flex}.attendance-grid-legend i{border:1px solid #c5d4da;border-radius:5px;place-items:center;width:24px;height:22px;font-style:normal;display:inline-grid}.attendance-grid-legend__weekend{background:#fff5e7}.attendance-grid-legend__empty{color:#8ba0a9;background:#fff}.attendance-grid-scroll{--attendance-index-width:54px;--attendance-employee-width:228px;--attendance-department-width:190px;overscroll-behavior:contain;scrollbar-color:#8aa6b2 #eef3f5;scrollbar-gutter:stable;max-height:min(66vh,720px);position:relative;overflow:auto}.attendance-grid-scroll:focus{outline-offset:-3px;outline:3px solid #0d948859}.attendance-grid-scroll--filling{-webkit-user-select:none;user-select:none;outline-offset:-3px;cursor:crosshair;scroll-behavior:auto;outline:3px solid #0d94886b}.attendance-grid-scroll--filling .attendance-grid__input{caret-color:#0000}.attendance-grid-table{border-collapse:separate;border-spacing:0;table-layout:fixed;color:#203b48;background:#fff;width:100%;font-size:.75rem}.attendance-grid-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.attendance-grid-col--index{width:var(--attendance-index-width)}.attendance-grid-col--employee{width:var(--attendance-employee-width)}.attendance-grid-col--department{width:var(--attendance-department-width)}.attendance-grid-col--day{width:46px}.attendance-grid-col--summary{width:66px}.attendance-grid-col--lock{width:126px}.attendance-grid-table th,.attendance-grid-table td{text-align:center;vertical-align:middle;background-clip:padding-box;border-bottom:1px solid #d4dfe4;border-right:1px solid #d4dfe4;height:42px;padding:7px 8px}.attendance-grid-table thead th{z-index:5;color:#1b4656;letter-spacing:.02em;text-transform:uppercase;background:#e8f1f3;height:42px;font-size:.6875rem;font-weight:850;position:sticky;top:0;box-shadow:inset 0 -1px #aebfc7}.attendance-grid-table thead tr:nth-child(2) th{z-index:6;color:#5a707a;height:34px;font-size:.625rem;top:42px}.attendance-grid-table thead th[rowspan="2"]{z-index:7}.attendance-grid-table tbody tr:not(.attendance-grid__group-row):hover>th,.attendance-grid-table tbody tr:not(.attendance-grid__group-row):hover>td{background-color:#f2f9f8}.attendance-grid-table tbody tr:focus-within>th,.attendance-grid-table tbody tr:focus-within>td{background-color:#edf8f6}.attendance-grid__sticky{z-index:2;background-color:#fff;position:sticky}.attendance-grid__sticky--index{width:var(--attendance-index-width);min-width:var(--attendance-index-width);font-variant-numeric:tabular-nums;left:0}.attendance-grid__sticky--employee{left:var(--attendance-index-width);width:var(--attendance-employee-width);min-width:var(--attendance-employee-width);text-align:left!important}.attendance-grid__sticky--department{left:calc(var(--attendance-index-width) + var(--attendance-employee-width));width:var(--attendance-department-width);min-width:var(--attendance-department-width);color:#42606c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-shadow:4px 0 8px #1e405014;text-align:left!important}.attendance-grid-table thead th.attendance-grid__sticky{z-index:10;background:#dcebed}.attendance-grid__employee strong,.attendance-grid__employee span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-grid__employee strong{color:#123f50;font-size:.75rem}.attendance-grid__employee span{color:#61757e;margin-top:3px;font-size:.6875rem;font-weight:500}.attendance-grid__day{color:#8aa0aa;font-variant-numeric:tabular-nums;padding-inline:3px!important}.attendance-grid__day--editor{padding:3px!important}.attendance-grid__input{color:#164e57;width:100%;min-width:0;height:44px;font:inherit;text-align:center;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:5px;padding:2px;font-size:.75rem;font-weight:850}.attendance-grid-table--authoritative .attendance-grid-col--day{width:68px}.attendance-grid-table--authoritative .attendance-grid__input{text-transform:none}.attendance-grid-table--authoritative th,.attendance-grid-table--authoritative td{min-height:48px}.attendance-grid__input:hover:not(:disabled){background:#ffffffb8;border-color:#9bb9ba}.attendance-grid__input:focus{z-index:1;background:#fff;border-color:#0f766e;outline:0;position:relative;box-shadow:0 0 0 3px #0d948847,0 2px 8px #0f4c5224}.attendance-grid__input:disabled{cursor:not-allowed;opacity:.48}.attendance-grid-table tbody tr>td.attendance-grid__day--saved{color:#146c43;background-color:#eaf8f1}.attendance-grid-table tbody tr>td.attendance-grid__day--dirty{background-color:#fff3d7;box-shadow:inset 0 -3px #d89316}.attendance-grid-table tbody tr>td.attendance-grid__day--invalid{background-color:#fff0f0;box-shadow:inset 0 0 0 2px #c24141}.attendance-grid-table .attendance-grid__weekend{background-color:#fff6e9}.attendance-grid-table tbody tr:hover .attendance-grid__weekend{background-color:#fff0d7}.attendance-grid-table tbody tr>td.attendance-grid__day--fill-selected{background:repeating-linear-gradient(135deg,#0d948829 0 6px,#ffffffad 6px 12px),#e6f6f3;position:relative;box-shadow:inset 0 0 0 2px #0f766e,inset 0 -4px #0f766e47}.attendance-grid-table tbody tr>td.attendance-grid__day--fill-selected .attendance-grid__input{background:#ffffff8a}.attendance-grid-table tbody tr>td.attendance-grid__day--fill-skipped{outline-offset:-3px;color:#45565e;background:repeating-linear-gradient(135deg,#59697130 0 5px,#ffffffc7 5px 10px),#eef1f2;outline:2px dashed #697980;position:relative;box-shadow:inset 0 0 0 1px #45565e3d}.attendance-grid-table tbody tr>td.attendance-grid__day--fill-skipped:after{content:"×";z-index:3;color:#45565e;pointer-events:none;background:#fff;border:1px solid #697980;border-radius:50%;place-items:center;width:15px;height:15px;font-size:.6875rem;font-weight:900;line-height:1;display:grid;position:absolute;top:3px;right:4px}.attendance-grid-table tbody tr>td.attendance-grid__day--fill-source{z-index:2;outline-offset:-2px;background:linear-gradient(135deg,#0d948826,#0000 62%),#f4fbfa;outline:2px solid #075f59;position:relative;box-shadow:inset 0 0 0 4px #ffffffdb,inset 0 0 0 6px #0f766e}.attendance-grid__fill-handle{z-index:6;color:#0000;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px 0 4px;place-items:end;width:28px;height:28px;padding:0 3px 3px 0;display:grid;position:absolute;bottom:0;right:0}.attendance-grid__fill-handle:before{content:"";background:var(--accent-700);border:2px solid #fff;border-radius:3px;width:10px;height:10px;transition:width .1s,height .1s,background-color .1s;box-shadow:0 0 0 1px #075f59,0 2px 5px #0b2f453d}.attendance-grid__fill-handle:hover:before{background:#0f766e;width:12px;height:12px}.attendance-grid__fill-handle:focus-visible{outline-offset:-2px;outline:3px solid #0d948885}.attendance-grid__fill-handle:disabled,.attendance-grid__fill-handle[aria-disabled=true]{cursor:not-allowed;opacity:.5}.attendance-grid-scroll--filling .attendance-grid__fill-handle{cursor:grabbing}.attendance-grid__group-row th{color:#164e57;text-align:left;background:linear-gradient(90deg,#0f766e1a,#0000 48%),#eef6f6;height:36px;padding:7px 12px}.attendance-grid__group-label{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#eef6f6f0;border-radius:6px;align-items:center;gap:9px;width:max-content;max-width:calc(100vw - 64px);padding:3px 8px;display:inline-flex;position:sticky;left:12px;box-shadow:8px 0 14px #1e40500f}.attendance-grid__group-label strong{font-weight:850}.attendance-grid__group-label small{color:#617b82;font-weight:600}.attendance-grid__summary-cell{font-variant-numeric:tabular-nums;background:#fbfcfd}.attendance-grid__summary-cell--strong{color:#0b5d66;font-weight:850}.attendance-grid__summary-cell .ds-status{justify-content:center;min-width:34px;padding-inline:6px}.attendance-grid__lock-cell{white-space:nowrap;background:#fbfcfd}.attendance-grid__lock-cell .ds-status{font-size:.6875rem}.attendance-grid-table tfoot th,.attendance-grid-table tfoot td{z-index:4;color:#173f4e;background:#e4eef0;font-weight:850;position:sticky;bottom:0;box-shadow:inset 0 1px #aebfc7}.attendance-grid-table tfoot .attendance-grid__weekend{background:#f5ead9}.attendance-grid__total-label{left:0;z-index:8!important;text-align:left!important;padding-left:14px!important}.attendance-grid-scroll-hint{border-top:1px solid var(--border);color:var(--muted);background:#f8fafb;margin:0;padding:10px 16px;font-size:.75rem}.payroll-sheet-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.payroll-sheet-metric{background:linear-gradient(130deg,#0f766e14,#0000 62%),#fff;border-color:#c8d7dd;gap:5px;min-width:0;padding:16px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #0b2f4512}.payroll-sheet-metric:after{content:"";background:#82aaa6;width:4px;position:absolute;top:0;bottom:0;right:0}.payroll-sheet-metric--income:after{background:#31877e}.payroll-sheet-metric--deduction{background:linear-gradient(130deg,#d9770614,#0000 62%),#fff}.payroll-sheet-metric--deduction:after{background:#d28b26}.payroll-sheet-metric--net{background:linear-gradient(130deg,#0f766e26,#0000 70%),#f8fcfb;border-color:#a5c9c4}.payroll-sheet-metric--net:after{background:#0f766e}.payroll-sheet-metric>span{color:#526b76;letter-spacing:.035em;text-transform:uppercase;font-size:.75rem;font-weight:750}.payroll-sheet-metric>strong{color:#123f50;font-variant-numeric:tabular-nums;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(1.15rem,2vw,1.55rem);overflow:hidden}.payroll-sheet-metric>small{color:#526b76;font-size:.6875rem}.payroll-sheet-card{border-color:#b9cdd5;margin-top:16px;overflow:hidden;box-shadow:0 16px 42px #0b2f451a}.payroll-sheet-heading{background:linear-gradient(105deg,#0f766e1c,#0000 48%),#f8fbfc;border-bottom:1px solid #c6d6dc;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.payroll-sheet-heading .ds-eyebrow,.payroll-sheet-heading h2,.payroll-sheet-heading p{margin:0}.payroll-sheet-heading h2{color:#103e50;margin-top:4px;font-size:1.2rem}.payroll-sheet-heading p:not(.ds-eyebrow){color:#627680;margin-top:4px;font-size:.8125rem}.payroll-sheet-heading__context-stack,.payroll-sheet-period-context{min-width:0}.payroll-sheet-period-refresh{color:#0f766e;align-items:center;gap:6px;margin-top:7px;font-size:.75rem;font-weight:700;display:inline-flex}.payroll-sheet-period-refresh:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.payroll-sheet-heading__status{text-align:right;justify-items:end;gap:5px;display:grid}.payroll-sheet-heading__status small{color:#876019;font-size:.6875rem;font-weight:650}.payroll-sheet-preview-badge{color:#914a0c;background:#fff6d9;border:1px solid #efc456;border-radius:999px;align-items:center;min-height:34px;padding:6px 12px;font-size:.75rem;font-weight:850;display:inline-flex}.payroll-sheet-toolbar{background:#f8fafb;border-bottom:1px solid #d0dde2;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) minmax(180px,.8fr) auto auto;align-items:end;gap:14px;padding:14px 16px;display:grid}.payroll-sheet-toolbar__search{min-width:0}.payroll-sheet-toolbar__reset{min-width:max-content;margin-bottom:1px}.payroll-sheet-toolbar__result{color:#60757e;justify-items:end;min-width:92px;padding-bottom:6px;font-size:.6875rem;line-height:1.2;display:grid}.payroll-sheet-toolbar__result strong{color:#0b5d66;font-variant-numeric:tabular-nums;font-size:1.15rem}.payroll-column-chooser{background:#f6f9fa;border-bottom:1px solid #d0dde2}.payroll-column-chooser__bar{justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:8px 16px;display:flex}.payroll-column-chooser__summary{gap:2px;min-width:0;display:grid}.payroll-column-chooser__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.payroll-column-chooser__bar strong{color:#214957;font-size:.75rem}.payroll-column-chooser__bar span{color:#60757e;font-size:.6875rem}.payroll-column-chooser__trigger{align-items:center;gap:8px;min-width:max-content;min-height:44px;display:inline-flex}.payroll-column-chooser__trigger>span{color:#0f625d;font-variant-numeric:tabular-nums;text-align:center;background:#dfeeed;border-radius:999px;min-width:42px;padding:2px 7px;font-weight:850}.payroll-sheet-density{background:#edf3f5;border:1px solid #c6d6dc;border-radius:9px;align-items:center;gap:4px;min-height:44px;padding:3px;display:inline-flex}.payroll-sheet-density>span{white-space:nowrap;margin-inline:6px 4px;font-weight:750}.payroll-sheet-density>div{align-items:center;gap:4px;display:inline-flex}.payroll-sheet-density button{color:#365865;cursor:pointer;min-height:44px;font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;padding:5px 10px;font-size:.71875rem;font-weight:750}.payroll-sheet-density button:hover{color:#0f625d;background:#f8fcfb;border-color:#93b8b4}.payroll-sheet-density button[aria-pressed=true]{color:#0b5d56;background:#fff;border-color:#3e9189;box-shadow:0 1px 3px #1e40501f}.payroll-column-chooser__panel{background:linear-gradient(115deg,#0f766e0f,#0000 46%),#fff;border-top:1px solid #d0dde2;padding:16px 18px 18px;box-shadow:inset 0 1px #ffffffdb}.payroll-column-chooser__header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.payroll-column-chooser__header .ds-eyebrow,.payroll-column-chooser__header h3,.payroll-column-chooser__header p{margin:0}.payroll-column-chooser__header h3{color:#123f50;margin-top:3px;font-size:1rem}.payroll-column-chooser__header p:not(.ds-eyebrow){color:#617680;margin-top:4px;font-size:.75rem}.payroll-column-chooser__close{color:#365865;cursor:pointer;background:#fff;border:1px solid #c8d6dc;border-radius:9px;flex:none;place-items:center;width:40px;height:40px;font-size:1.35rem;line-height:1;display:grid}.payroll-column-chooser__close:hover{color:#0f625d;background:#edf7f5;border-color:#82aaa8}.payroll-column-chooser__close:focus-visible,.payroll-column-chooser__presets button:focus-visible,.payroll-sheet-density button:focus-visible,.payroll-column-chooser__option:focus-within,.payroll-column-chooser__group-toggle:focus-within{outline-offset:2px;outline:3px solid #0f766e}.payroll-column-chooser__presets{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.payroll-column-chooser__presets button{color:#365865;cursor:pointer;min-height:34px;font:inherit;background:#fff;border:1px solid #c6d6dc;border-radius:999px;padding:5px 11px;font-size:.71875rem;font-weight:750}.payroll-column-chooser__presets button[aria-pressed=true]{color:#0b5d56;background:#dff2ee;border-color:#3e9189;box-shadow:inset 0 0 0 1px #0f766e29}.payroll-column-chooser__search{max-width:420px;margin-top:14px}.payroll-column-chooser__groups{overscroll-behavior:contain;scrollbar-color:#87a4b0 #edf3f5;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(44vh,420px);margin-top:14px;padding:2px 6px 2px 2px;display:grid;overflow-y:auto}.payroll-column-chooser__group{background:#ffffffe0;border:1px solid #cddbe0;border-radius:10px;min-width:0;margin:0;padding:10px}.payroll-column-chooser__group--income{border-top-color:#5da69e}.payroll-column-chooser__group--deduction{border-top-color:#d7a449}.payroll-column-chooser__group--result{background:#f3faf8;border-top-color:#367f79}.payroll-column-chooser__group legend{color:#164e57;padding:0 5px;font-size:.75rem;font-weight:850}.payroll-column-chooser__group-toggle,.payroll-column-chooser__option{cursor:pointer;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;display:grid}.payroll-column-chooser__group-toggle{color:#365865;background:#eef4f5;padding:4px 7px;font-size:.6875rem;font-weight:750}.payroll-column-chooser__group-toggle small{color:#60757e;font-variant-numeric:tabular-nums}.payroll-column-chooser__options{gap:2px;margin-top:5px;display:grid}.payroll-column-chooser__option{color:#2f515e;padding:5px 7px;font-size:.75rem}.payroll-column-chooser__option:hover{background:#edf7f5}.payroll-column-chooser__option input,.payroll-column-chooser__group-toggle input{accent-color:#0f766e;width:17px;height:17px;margin:0}.payroll-column-chooser__option small{color:#0f625d;text-transform:uppercase;background:#dff0ec;border-radius:999px;padding:2px 6px;font-size:.625rem;font-weight:800}:is(.payroll-column-chooser__option:has(input:disabled),.payroll-column-chooser__group-toggle:has(input:disabled)){cursor:not-allowed;opacity:.68}.payroll-column-chooser__no-result{color:#617680;text-align:center;border:1px dashed #c6d6dc;border-radius:10px;grid-column:1/-1;margin:0;padding:20px;font-size:.75rem}.payroll-column-chooser__footer{border-top:1px solid #d0dde2;justify-content:space-between;align-items:center;gap:16px;min-height:52px;margin-top:14px;padding-top:12px;display:flex}.payroll-column-chooser__footer>div{align-items:center;gap:8px;display:flex}.payroll-column-chooser__status{color:#526c76;font-size:.75rem}.payroll-column-chooser__status strong{color:#0f625d;font-variant-numeric:tabular-nums}.payroll-sheet-section-nav{scrollbar-width:thin;background:#f3f7f8;border-bottom:1px solid #d0dde2;align-items:center;gap:6px;min-height:42px;padding:7px 16px;display:flex;overflow-x:auto}.payroll-sheet-section-nav>span{color:#60757e;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;margin-right:4px;font-size:.6875rem;font-weight:800}.payroll-sheet-section-nav button{color:#315765;cursor:pointer;min-height:44px;font:inherit;white-space:nowrap;background:#fff;border:1px solid #c5d6dc;border-radius:999px;padding:4px 10px;font-size:.6875rem;font-weight:750;transition:border-color .12s,background-color .12s,color .12s,box-shadow .12s}.payroll-sheet-section-nav button:hover{color:#0f625d;background:#eaf6f3;border-color:#75a8a3}.payroll-sheet-section-nav button:focus-visible{outline-offset:2px;outline:3px solid #0f766e}.payroll-sheet-section-nav button[aria-current=location]{color:#0b5d56;background:#dff2ee;border-color:#3e9189;font-weight:850;box-shadow:inset 0 0 0 1px #0f766e29}.payroll-sheet-section-nav button[aria-current=location]:hover{background:#d5ece7;border-color:#2f8179}.payroll-sheet-section-nav button[aria-current=location]:before{content:"";vertical-align:.05em;background:currentColor;border-radius:50%;width:7px;height:7px;margin-inline-end:6px;display:inline-block}.payroll-sheet-organization-nav{box-sizing:border-box;overscroll-behavior-inline:contain;scrollbar-width:thin;background:linear-gradient(90deg,#0f766e0d,#0000 40%),#f8fbfc;border-bottom:1px solid #d0dde2;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:60px;padding:8px 16px;display:flex;overflow:auto hidden}.payroll-sheet-organization-nav>span{color:#526c76;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;flex:none;margin-right:2px;font-size:.6875rem;font-weight:850}.payroll-sheet-organization-nav__item{box-sizing:border-box;color:#315765;cursor:pointer;min-width:176px;max-width:228px;min-height:44px;font:inherit;text-align:left;background:#fff;border:1px solid #c5d6dc;border-radius:10px;flex:0 0 clamp(176px,19vw,228px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px 6px 11px;transition:border-color .12s,background-color .12s,color .12s,box-shadow .12s;display:grid;overflow:hidden;box-shadow:0 2px 7px #1e40500d}.payroll-sheet-organization-nav__item:hover{color:#0f625d;background:#edf8f5;border-color:#75a8a3;box-shadow:0 3px 10px #0f766e1a}.payroll-sheet-organization-nav__item:focus-visible{outline-offset:2px;outline:3px solid #0f766e}.payroll-sheet-organization-nav__item[aria-current=location]{color:#0b5d56;background:#dff2ee;border-width:2px;border-color:#3e9189;padding-left:9px;box-shadow:inset 4px 0 #0f766e,0 3px 10px #0f766e1f}.payroll-sheet-organization-nav__item[aria-current=location]:hover{background:#d5ece7;border-color:#2f8179}.payroll-sheet-organization-nav__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;font-weight:750;line-height:1.3;overflow:hidden}.payroll-sheet-organization-nav__item[aria-current=location] .payroll-sheet-organization-nav__label{font-weight:850}.payroll-sheet-organization-nav__count{color:#60757e;font-variant-numeric:tabular-nums;white-space:nowrap;background:#edf3f5;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:2px 7px;font-size:.625rem;font-weight:800;line-height:1;display:inline-flex}.payroll-sheet-organization-nav__item[aria-current=location] .payroll-sheet-organization-nav__count{color:#0b5d56;background:#ffffffb8}.payroll-sheet-active-cell-status{color:#526c76;background:#f8fbfc;border-bottom:1px solid #d0dde2;align-items:center;gap:8px;min-height:36px;margin:0;padding:6px 16px;font-size:.75rem;line-height:1.35;display:flex;overflow:hidden}.payroll-sheet-active-cell-status__label{color:#60757e;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;flex:none;font-size:.6875rem;font-weight:800}.payroll-sheet-active-cell-status__value{color:#123f50;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:750;overflow:hidden}.payroll-sheet-readonly-note{color:#405e6a;background:#f8fbfc;border-bottom:1px solid #d0dde2;align-items:center;gap:8px;min-height:40px;padding:7px 16px;font-size:.75rem;line-height:1.35;display:flex}.payroll-sheet-readonly-note .ds-status{flex:none}.payroll-sheet-empty{background:#f8fafb;padding:18px}.payroll-sheet-scroll-frame{--payroll-affordance-pinned-start:0px;--payroll-affordance-inline-scrollbar:0px;--payroll-affordance-block-scrollbar:0px;isolation:isolate;min-width:0;position:relative}.payroll-sheet-scroll{--payroll-index-width:54px;--payroll-employee-width:222px;--payroll-department-width:190px;--payroll-pinned-start-width:466px;--payroll-group-header-height:40px;--payroll-column-header-height:42px;--payroll-row-height:44px;--payroll-group-row-height:36px;--payroll-subtotal-row-height:38px;--payroll-footer-row-height:44px;--payroll-cell-padding-block:8px;--payroll-cell-padding-inline:9px;overscroll-behavior:contain;max-height:min(66vh,720px);scrollbar-color:#87a4b0 #edf3f5;scrollbar-gutter:stable;scroll-padding-inline-start:var(--payroll-pinned-start-width);position:relative;overflow:auto}.payroll-sheet-scroll-affordance{z-index:12;top:0;bottom:var(--payroll-affordance-block-scrollbar);opacity:0;pointer-events:none;place-items:center;width:30px;display:grid;position:absolute}.payroll-sheet-scroll-affordance:after{color:#0f766e;background:#ffffffe6;border:1px solid #0f766e3d;border-radius:999px;place-items:center;width:20px;height:34px;font-size:1.25rem;font-weight:850;line-height:1;display:grid;box-shadow:0 4px 14px #0f3e4829}.payroll-sheet-scroll-affordance--left{left:var(--payroll-affordance-pinned-start);background:linear-gradient(90deg,#0f766e29,#0f766e0f 48%,#0000)}.payroll-sheet-scroll-affordance--left:after{content:"‹"}.payroll-sheet-scroll-affordance--right{right:var(--payroll-affordance-inline-scrollbar);background:linear-gradient(270deg,#0f766e29,#0f766e0f 48%,#0000)}.payroll-sheet-scroll-affordance--right:after{content:"›"}.payroll-sheet-scroll-frame[data-payroll-can-scroll-left=true] .payroll-sheet-scroll-affordance--left,.payroll-sheet-scroll-frame[data-payroll-can-scroll-right=true] .payroll-sheet-scroll-affordance--right{opacity:1}.payroll-sheet-scroll-frame[data-payroll-scroll-affordance-compact=true] .payroll-sheet-scroll-affordance{width:12px}.payroll-sheet-scroll-frame[data-payroll-scroll-affordance-compact=true] .payroll-sheet-scroll-affordance:after{display:none}.payroll-sheet-scroll[data-payroll-density=compact]{--payroll-group-header-height:36px;--payroll-column-header-height:38px;--payroll-row-height:38px;--payroll-group-row-height:32px;--payroll-subtotal-row-height:34px;--payroll-footer-row-height:38px;--payroll-cell-padding-block:4px;--payroll-cell-padding-inline:7px}.payroll-sheet-scroll:focus-visible{outline-offset:-3px;outline:3px solid #0d948861}.payroll-sheet-table{width:max(100%, var(--payroll-table-min-width,1898px));min-width:var(--payroll-table-min-width,1898px);border-collapse:separate;border-spacing:0;table-layout:fixed;color:#203b48;background:#fff;font-size:.75rem}.payroll-sheet-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.payroll-sheet-col--index{width:var(--payroll-index-width)}.payroll-sheet-col--employee{width:var(--payroll-employee-width)}.payroll-sheet-col--department{width:var(--payroll-department-width)}.payroll-sheet-col--work-unit{width:86px}.payroll-sheet-col--money{width:126px}.payroll-sheet-col--review{width:128px}.payroll-sheet-table th,.payroll-sheet-table td{height:var(--payroll-row-height);padding:var(--payroll-cell-padding-block) var(--payroll-cell-padding-inline);text-align:center;vertical-align:middle;background-clip:padding-box;border-bottom:1px solid #d3dfe4;border-right:1px solid #d3dfe4}.payroll-sheet-table thead th{z-index:5;height:var(--payroll-group-header-height);color:#1a4757;letter-spacing:.025em;text-transform:uppercase;background:#e7f0f2;font-size:.6875rem;font-weight:850;position:sticky;top:0;box-shadow:inset 0 -1px #aebfc7}.payroll-sheet-table thead tr:nth-child(2) th{z-index:6;top:var(--payroll-group-header-height);height:var(--payroll-column-header-height);color:#4b6570;text-overflow:ellipsis;white-space:nowrap;background:#f0f5f6;font-size:.75rem;line-height:1.25;overflow:hidden}.payroll-sheet-table thead th[rowspan="2"]{z-index:9}.payroll-sheet-table thead .payroll-sheet__group--income{color:#0f5f59;background:#dcefeb}.payroll-sheet-table thead .payroll-sheet__group--deduction{color:#81520c;background:#f8ead2}.payroll-sheet-table thead .payroll-sheet__group--result{color:#0d5a55;background:#d5e9e6}.payroll-sheet-table tbody tr:not(.payroll-sheet__group-row):hover>th,.payroll-sheet-table tbody tr:not(.payroll-sheet__group-row):hover>td{background-color:#f1f8f7}.payroll-sheet-table tbody tr:not(.payroll-sheet__group-row):not(.payroll-sheet__subtotal-row):focus-within>th,.payroll-sheet-table tbody tr:not(.payroll-sheet__group-row):not(.payroll-sheet__subtotal-row):focus-within>td{box-shadow:inset 0 2px #0f766e6b,inset 0 -2px #0f766e6b}.payroll-sheet-table tbody tr:not(.payroll-sheet__group-row):not(.payroll-sheet__subtotal-row):focus-within>.payroll-sheet__sticky{color:#173f4d;background-color:#e7f3f1}.payroll-sheet-table tbody tr:not(.payroll-sheet__group-row):not(.payroll-sheet__subtotal-row):focus-within>.payroll-sheet__sticky--department{box-shadow:inset 0 2px #0f766e6b,inset 0 -2px #0f766e6b,5px 0 10px #1e405017}.payroll-sheet__sticky{z-index:2;background:#fff;position:sticky}.payroll-sheet__sticky--index{width:var(--payroll-index-width);min-width:var(--payroll-index-width);font-variant-numeric:tabular-nums;left:0}.payroll-sheet__sticky--employee{left:var(--payroll-index-width);width:var(--payroll-employee-width);min-width:var(--payroll-employee-width);text-align:left!important}.payroll-sheet__sticky--department{left:calc(var(--payroll-index-width) + var(--payroll-employee-width));width:var(--payroll-department-width);min-width:var(--payroll-department-width);color:#45616d;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-shadow:5px 0 10px #1e405017;text-align:left!important}.payroll-sheet-table thead th.payroll-sheet__sticky{z-index:10;background:#d8e9ec}.payroll-sheet__employee strong,.payroll-sheet__employee span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.payroll-sheet__employee strong{color:#103f50;font-size:.75rem}.payroll-sheet__employee span{color:#627780;margin-top:3px;font-size:.6875rem;font-weight:500}.payroll-sheet__work-unit,.payroll-sheet__money,.payroll-sheet__cell--quantity,.payroll-sheet__cell--money,.payroll-sheet__cell--decimal{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.payroll-sheet__work-unit,.payroll-sheet__cell--quantity{color:#48646f;font-weight:700}.payroll-sheet__work-unit--paid{color:#0f625d}.payroll-sheet__money,.payroll-sheet__cell--money,.payroll-sheet__cell--decimal{color:#344f5a}.payroll-sheet-table:focus-within .payroll-sheet__cell--navigable[data-payroll-active=true]{outline-offset:-2px;outline:2px solid #0f766e}.payroll-sheet__cell--navigable:focus-visible{outline-offset:-3px;outline:3px solid #0d9488}.payroll-sheet__cell--status{white-space:nowrap;background:#fbfcfd}.payroll-sheet__cell--status .ds-status{justify-content:center;font-size:.6875rem}.payroll-sheet__cell--unavailable{color:#526b76;font-style:italic;text-align:center!important}.payroll-sheet-table tbody tr>td.payroll-sheet__cell--deduction{color:#745622;background:#fffaf2}.payroll-sheet-table tbody tr>td.payroll-sheet__cell--strong.payroll-sheet__cell--neutral,.payroll-sheet-table tbody tr>td.payroll-sheet__cell--strong.payroll-sheet__cell--income{color:#0f625d;background:#edf8f5;font-weight:850}.payroll-sheet-table tbody tr>td.payroll-sheet__cell--strong.payroll-sheet__cell--deduction{color:#89580d;background:#fff5e6;font-weight:850}.payroll-sheet-table tbody tr>td.payroll-sheet__cell--strong.payroll-sheet__cell--result{color:#075f59;background:#e5f5f1;font-size:.8125rem;font-weight:900}.payroll-sheet-table tbody tr>td.payroll-sheet__money--gross{color:#0f625d;background:#edf8f5;font-weight:850}.payroll-sheet-table tbody tr>td.payroll-sheet__money--deduction{color:#745622;background:#fffaf2}.payroll-sheet-table tbody tr>td.payroll-sheet__money--deduction-total{color:#89580d;background:#fff5e6;font-weight:850}.payroll-sheet-table tbody tr>td.payroll-sheet__money--net{color:#075f59;background:#e5f5f1;font-size:.8125rem;font-weight:900}.payroll-sheet__review{white-space:nowrap;background:#fbfcfd}.payroll-sheet__review .ds-status{justify-content:center;font-size:.6875rem}.payroll-sheet-table tbody td.payroll-sheet__cell--navigable[data-payroll-selected=true]{background-image:linear-gradient(#0d94881c,#0d94881c);transition:none;box-shadow:inset 0 0 0 1px #0f766e6b}.payroll-sheet-table tbody td.payroll-sheet__cell--navigable[data-payroll-selected=true][data-payroll-active=true]{outline-offset:-3px;outline:3px solid #0b6d65;box-shadow:inset 0 0 0 1px #ffffffe6}.payroll-sheet-scroll[data-payroll-selection-dragging=true] td.payroll-sheet__cell--navigable{cursor:cell;-webkit-user-select:none;user-select:none}.payroll-sheet__group-row th{height:var(--payroll-group-row-height);padding:var(--payroll-cell-padding-block) var(--payroll-cell-padding-inline);color:#164e57;text-align:left;background:linear-gradient(90deg,#0f766e1f,#0000 48%),#edf6f5}.payroll-sheet__group-label{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#edf6f5f0;border-radius:6px;align-items:center;gap:9px;width:max-content;max-width:calc(100vw - 64px);padding:3px 8px;display:inline-flex;position:sticky;left:12px;box-shadow:8px 0 14px #1e40500f}.payroll-sheet__group-label strong{font-weight:850}.payroll-sheet__group-label small{color:#617b82;font-weight:650}.payroll-sheet__subtotal-row th,.payroll-sheet__subtotal-row td{height:var(--payroll-subtotal-row-height);color:#355965;font-variant-numeric:tabular-nums;text-align:right;background:#f4f8f8;font-size:.6875rem;font-weight:800;box-shadow:inset 0 1px #c8d7dc}.payroll-sheet__subtotal-row th{z-index:3;color:#164e57;text-align:left;padding-left:14px;position:sticky;left:0}.payroll-sheet__subtotal-row .payroll-sheet__money--gross{color:#0f625d;background:#e6f2ef}.payroll-sheet__subtotal-row .payroll-sheet__money--deduction-total{color:#81520c;background:#fbefdd}.payroll-sheet__subtotal-row .payroll-sheet__money--net{color:#075f59;background:#dcefeb}.payroll-sheet__subtotal-row .payroll-sheet__cell--strong.payroll-sheet__cell--income{color:#0f625d;background:#e6f2ef}.payroll-sheet__subtotal-row .payroll-sheet__cell--strong.payroll-sheet__cell--deduction{color:#81520c;background:#fbefdd}.payroll-sheet__subtotal-row .payroll-sheet__cell--strong.payroll-sheet__cell--result{color:#075f59;background:#dcefeb}.payroll-sheet-table tfoot th,.payroll-sheet-table tfoot td{z-index:4;height:var(--payroll-footer-row-height);color:#173f4e;font-variant-numeric:tabular-nums;text-align:right;background:#dfecee;font-weight:850;position:sticky;bottom:0;box-shadow:inset 0 1px #a8bbc3}.payroll-sheet-table tfoot .payroll-sheet__total-label{z-index:8;text-align:left;padding-left:14px;left:0}.payroll-sheet-table tfoot .payroll-sheet__money--gross{color:#0b5d56;background:#d5ebe6}.payroll-sheet-table tfoot .payroll-sheet__money--deduction-total{color:#81520c;background:#f5e3c5}.payroll-sheet-table tfoot .payroll-sheet__money--net{color:#075f59;background:#c8e5df;font-size:.8125rem}.payroll-sheet-table tfoot .payroll-sheet__cell--strong.payroll-sheet__cell--income{color:#0b5d56;background:#d5ebe6}.payroll-sheet-table tfoot .payroll-sheet__cell--strong.payroll-sheet__cell--deduction{color:#81520c;background:#f5e3c5}.payroll-sheet-table tfoot .payroll-sheet__cell--strong.payroll-sheet__cell--result{color:#075f59;background:#c8e5df;font-size:.8125rem}.payroll-sheet-scroll-hint{color:#60757e;background:#f8fafb;border-top:1px solid #d1dde2;margin:0;padding:10px 16px;font-size:.75rem}.payroll-sheet-unavailable{margin-top:16px}.payroll-sheet-context-warning{color:#70490d;background:#fff9e9;border:1px solid #e7c887;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px 14px;display:flex}.payroll-sheet-context-warning>div{gap:2px;min-width:0;display:grid}.payroll-sheet-context-warning strong{font-size:.8125rem}.payroll-sheet-context-warning span{color:#765f3a;font-size:.75rem}.payroll-sheet-context-warning .ds-button{flex:none}.payroll-sheet-loading{gap:14px;margin-top:16px;padding:18px;display:grid}.payroll-sheet-loading__label{color:#184a5a;margin:0;font-size:.8125rem;font-weight:750}.payroll-sheet-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.payroll-metadata-heading{border-bottom:1px solid #d0dde2;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-bottom:8px;display:flex}.payroll-metadata-heading p,.payroll-metadata-heading h2{margin:0}.payroll-metadata-heading h2{color:#153f4f;margin-top:3px;font-size:1rem}@media (max-width:959px){.app-sidebar{width:280px;box-shadow:var(--shadow-md);transition:transform .18s;transform:translate(-105%)}.app-sidebar--open{transform:translate(0)}.sidebar-close-button{color:#fff;background:#ffffff14;border:1px solid #ffffff3d;border-radius:8px;place-items:center;width:44px;height:44px;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:16px;right:12px}.brand{padding-right:44px}.sidebar-scrim{z-index:20;background:#06233485;border:0;position:fixed;inset:0 0 0 280px}.app-main{margin-left:0}.menu-button{display:block}.module-grid{grid-template-columns:1fr}.module-card,.module-card>p:not(.ds-eyebrow){min-height:0}.scope-panel{grid-template-columns:1fr;gap:16px}.table-scroll{max-width:calc(100vw - 64px)}.attendance-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-grid-heading{align-items:flex-start}.payroll-sheet-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-sheet-heading{align-items:flex-start}.payroll-sheet-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-column-chooser__groups{grid-template-columns:1fr}.payroll-sheet-toolbar__result{justify-items:start}.payroll-sheet-scroll{max-width:calc(100vw - 64px)}}@media (max-width:639px){.app-topbar{min-height:64px;padding:10px 16px}.context,.account-button>span:last-child{display:none}.logout-button{width:36px;padding:0;font-size:0;overflow:hidden}.logout-button:before{content:"↪";font-size:1rem}.environment-badge{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.preview-banner{padding:9px 16px}.page-container{padding:24px 16px 48px}.section-heading{gap:8px;display:grid}.module-card,.scope-panel{padding:20px}.toolbar{align-items:stretch}.toolbar .ds-field,.toolbar .ds-button{width:100%;min-width:0}.attendance-toolbar{grid-template-columns:1fr}.attendance-toolbar>.ds-button{width:100%}.attendance-page-actions{justify-content:stretch}.attendance-page-actions .ds-button{flex:1 1 0}.attendance-scope-guard{display:grid}.attendance-scope-guard__actions{grid-template-columns:1fr;display:grid}.attendance-draft-toolbar{padding:16px}.attendance-draft-toolbar__main{display:grid}.attendance-draft-toolbar__status{text-align:left;justify-items:start}.attendance-draft-catalog>small{width:100%;margin-left:0}.attendance-draft-toolbar__actions{grid-template-columns:1fr 1fr;display:grid}.attendance-fill-tools{align-items:stretch;padding:10px;display:grid}.attendance-fill-tools__actions{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.attendance-fill-tools__actions .ds-button,.attendance-fill-status{width:100%;min-width:0}.attendance-fill-tools__actions .ds-button{white-space:normal;min-height:44px;padding-inline:8px}.attendance-grid__fill-handle{width:32px;height:32px}.attendance-grid-heading{padding:16px;display:grid}.attendance-grid-legend{justify-content:flex-start}.attendance-grid-scroll{--attendance-index-width:48px;--attendance-employee-width:188px;--attendance-department-width:158px;max-height:62vh}.attendance-grid-table tbody .attendance-grid__sticky--department{box-shadow:none;position:static}.attendance-grid-table thead .attendance-grid__sticky--department,.attendance-grid__total-label{box-shadow:none;left:auto}.payroll-sheet-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payroll-sheet-metric{padding:14px}.payroll-sheet-metric>strong{font-size:1rem}.payroll-sheet-heading{padding:16px;display:grid}.payroll-sheet-heading__status{text-align:left;justify-items:start}.payroll-sheet-context-warning{display:grid}.payroll-sheet-context-warning .ds-button{width:100%}.payroll-sheet-toolbar{grid-template-columns:1fr;align-items:stretch;padding:12px}.payroll-sheet-toolbar__result{grid-auto-flow:column;justify-content:start;place-items:baseline start;gap:5px;min-width:0;padding:0}.payroll-sheet-toolbar__reset{width:100%}.payroll-column-chooser__bar,.payroll-column-chooser__footer{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;display:grid}.payroll-column-chooser__bar{padding:10px 12px}.payroll-column-chooser__actions{grid-template-columns:minmax(0,1fr);justify-content:stretch;width:100%;display:grid}.payroll-sheet-density{grid-template-columns:auto minmax(0,1fr);width:100%;min-height:44px;display:grid}.payroll-sheet-density>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.payroll-sheet-density button{width:100%;min-height:44px}.payroll-column-chooser__trigger{justify-content:space-between;width:100%;min-height:44px}.payroll-column-chooser__panel{padding:14px 12px}.payroll-column-chooser__presets{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.payroll-column-chooser__presets button{white-space:nowrap;min-height:44px}.payroll-column-chooser__search{max-width:none}.payroll-column-chooser__groups{grid-template-columns:1fr;max-height:min(52vh,440px)}.payroll-column-chooser__option,.payroll-column-chooser__group-toggle{min-height:44px}.payroll-column-chooser__footer>div{grid-template-columns:1fr 1fr;display:grid}.payroll-column-chooser__footer .ds-button{width:100%}.payroll-sheet-section-nav{padding-inline:12px}.payroll-sheet-section-nav button,.payroll-sheet-organization-nav__item{min-height:44px}.payroll-sheet-organization-nav{max-width:100%;padding-inline:12px}.payroll-sheet-organization-nav__item{flex-basis:min(220px,100vw - 72px);width:min(220px,100vw - 72px);min-width:min(220px,100vw - 72px);max-width:min(220px,100vw - 72px)}.payroll-sheet-active-cell-status{flex-wrap:wrap;align-items:flex-start;gap:4px 8px;padding-inline:12px}.payroll-sheet-active-cell-status__value{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;flex:180px;overflow:visible}.payroll-sheet-readonly-note{flex-wrap:wrap;align-items:flex-start;padding-inline:12px}.payroll-sheet-scroll{--payroll-index-width:48px;--payroll-employee-width:184px;--payroll-department-width:158px;--payroll-pinned-start-width:232px;max-width:calc(100vw - 32px);max-height:62vh}.payroll-sheet-table tbody .payroll-sheet__sticky--department{box-shadow:none;position:static}.payroll-sheet-table thead .payroll-sheet__sticky--department,.payroll-sheet-table tfoot .payroll-sheet__total-label{box-shadow:none;left:auto}.table-card{display:none}.mobile-list{display:grid}.pagination{border:1px solid var(--border);border-radius:10px;justify-items:center;margin-top:12px;display:grid}.form-card{padding:18px}.form-grid,.detail-grid{grid-template-columns:1fr}.detail-section--wide{grid-column:auto}.form-actions{grid-template-columns:1fr 1fr;display:grid}.definition-grid{grid-template-columns:1fr;gap:3px}.definition-grid dd{margin-bottom:10px}.scope-banner{display:grid}.segmented-nav{width:100%}.segmented-nav a{flex:1;justify-content:center}}@media (max-width:399px){.payroll-sheet-metrics{grid-template-columns:minmax(0,1fr)}.payroll-sheet-metric>strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;overflow:visible}}@media (forced-colors:active){.payroll-sheet-scroll-affordance{forced-color-adjust:none;background:0 0}.payroll-sheet-scroll-affordance:after{box-shadow:none;color:highlight;background:canvas;border:2px solid highlight}.payroll-sheet-table tbody tr:not(.payroll-sheet__group-row):not(.payroll-sheet__subtotal-row):focus-within>.payroll-sheet__sticky{color:canvastext;background:canvas}.payroll-sheet-table:focus-within .payroll-sheet__cell--navigable[data-payroll-active=true],.payroll-sheet__cell--navigable:focus-visible{outline-offset:-3px;outline:3px solid highlight}.payroll-sheet-table tbody td.payroll-sheet__cell--navigable[data-payroll-selected=true]{outline-offset:-1px;box-shadow:none;forced-color-adjust:auto;background-image:none;border-color:highlight;outline:1px solid highlight}.payroll-sheet-table tbody td.payroll-sheet__cell--navigable[data-payroll-selected=true][data-payroll-active=true],.payroll-sheet-scroll:focus-visible,.payroll-sheet-toolbar .ds-input:focus-visible,.payroll-sheet-toolbar .ds-select:focus-visible{outline-offset:-3px;outline:3px solid highlight}.payroll-sheet-section-nav button,.payroll-sheet-organization-nav__item,.payroll-column-chooser button,.payroll-column-chooser input,.payroll-column-chooser__option,.payroll-column-chooser__group-toggle{forced-color-adjust:auto}.payroll-sheet-section-nav button,.payroll-sheet-organization-nav__item,.payroll-column-chooser button,.payroll-column-chooser input{border-color:buttontext}.payroll-column-chooser__presets button[aria-pressed=true],.payroll-sheet-density button[aria-pressed=true],.payroll-sheet-section-nav button[aria-current=location],.payroll-sheet-organization-nav__item[aria-current=location]{color:highlight;border-color:highlight}.payroll-sheet-organization-nav__item[aria-current=location]{outline-offset:-2px;box-shadow:none;outline:2px solid highlight}.payroll-sheet-organization-nav__count{color:canvastext;background:canvas;border:1px solid}.payroll-sheet-organization-nav__item[aria-current=location] .payroll-sheet-organization-nav__count{color:highlight;background:canvas}.payroll-sheet-section-nav button[aria-current=location]:before{background:highlight}.payroll-sheet-section-nav button:focus-visible,.payroll-sheet-organization-nav__item:focus-visible,.payroll-column-chooser button:focus-visible,.payroll-column-chooser input:focus-visible,.payroll-column-chooser__option:focus-within,.payroll-column-chooser__group-toggle:focus-within{outline-offset:2px;outline:3px solid highlight}}@media (prefers-reduced-motion:reduce){.payroll-sheet-section-nav button,.payroll-sheet-organization-nav__item,.payroll-sheet__cell--navigable[data-payroll-selected=true],.attendance-fill-status,.attendance-grid__fill-handle:before{transition:none}.payroll-sheet-scroll,.payroll-sheet-organization-nav,.attendance-grid-scroll--filling{scroll-behavior:auto}}.payroll-run-workspace{gap:18px;min-width:0;display:grid}.payroll-run-workspace>.ds-page-header{margin-bottom:0}.payroll-run-workspace .ds-button{min-height:44px}.payroll-run-timeline{scrollbar-color:#91adb7 #edf3f5;background:linear-gradient(110deg,#0f766e12,#0000 42%),#fff;border:1px solid #c8dce2;border-radius:12px;grid-template-columns:repeat(8,minmax(112px,1fr));min-width:0;margin:0;padding:16px;list-style:none;display:grid;overflow-x:auto;box-shadow:0 10px 28px #0b2f4512}.payroll-run-timeline li{color:#718690;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding-right:16px;font-size:.71875rem;display:grid;position:relative}.payroll-run-timeline li:not(:last-child):after{z-index:0;content:"";background:#c6d8de;height:1px;position:absolute;top:15px;left:38px;right:0}.payroll-run-timeline li>span,.payroll-run-timeline li>strong{z-index:1;position:relative}.payroll-run-timeline li>span{background:#fff;border:1px solid #bdd0d7;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:850;display:grid}.payroll-run-timeline li>strong{text-overflow:ellipsis;white-space:nowrap;background:#fff;overflow:hidden}.payroll-run-timeline li[data-state=done]{color:#0f766e}.payroll-run-timeline li[data-state=done]>span{background:#e4f5f2;border-color:#89c5bd}.payroll-run-timeline li[data-state=current]{color:var(--brand-950)}.payroll-run-timeline li[data-state=current]>span{border-color:var(--accent-700);background:var(--accent-700);color:#fff;box-shadow:0 0 0 4px #0f766e1f}.payroll-run-tabs{background:#edf3f5;border:1px solid #cfdee3;border-radius:11px;gap:5px;min-width:0;padding:5px;display:flex;overflow-x:auto}.payroll-run-tabs a{color:#47636e;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-width:max-content;min-height:44px;padding:8px 16px;font-size:.8125rem;font-weight:750;text-decoration:none;display:inline-flex}.payroll-run-tabs a:hover{color:#0c655f;background:#ffffffb3;border-color:#b4cbc9}.payroll-run-tabs a.active{color:#0b5d56;background:#fff;border-color:#7fb4ae;box-shadow:0 2px 8px #0b2f4517}.payroll-run-tabs a:focus-visible{outline-offset:2px;outline:3px solid #0f766e}.payroll-run-refresh-warning{color:#70490d;background:#fff9e9;border:1px solid #e7c887;border-left:4px solid #d89215;border-radius:9px;padding:12px 14px;font-size:.8125rem;font-weight:700}.payroll-run-command-layout{grid-template-columns:minmax(0,1fr) minmax(248px,300px);align-items:start;gap:18px;min-width:0;display:grid}.payroll-run-command-layout__content,.payroll-run-action-rail,.payroll-run-action-stack,.payroll-run-worksheet-page{gap:14px;min-width:0;display:grid}.payroll-run-action-rail{position:sticky;top:92px}.payroll-run-action-rail .ds-card{background:linear-gradient(145deg,#0f766e14,#0000 58%),#fff;border-color:#c3d9dd;box-shadow:0 14px 34px #0b2f4514}.payroll-run-action-rail h2,.payroll-run-action-rail p,.payroll-run-action-rail dl{margin-top:0}.payroll-run-action-rail h2{color:var(--brand-950);margin-bottom:14px;font-size:1rem}.payroll-run-action-rail dd{overflow-wrap:anywhere}.payroll-run-action-rail a,.payroll-run-action-links a{color:#0b6b64;align-items:center;min-height:44px;font-size:.8125rem;font-weight:750;display:inline-flex}.payroll-run-action-links{gap:3px;display:grid}.payroll-run-accepted-job{background:#edf8f6;border:1px solid #bad7d2;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;min-height:52px;padding:10px 12px;display:flex}.payroll-run-accepted-job a{color:#0b6b64;align-items:center;min-height:44px;font-size:.8125rem;font-weight:750;display:inline-flex}.payroll-run-section-heading{border-bottom:1px solid #d8e5e9;justify-content:space-between;align-items:flex-start;gap:18px;min-width:0;margin-bottom:18px;padding-bottom:16px;display:flex}.payroll-run-section-heading h2,.payroll-run-section-heading p{margin:0}.payroll-run-section-heading h2{color:var(--brand-950);margin-top:4px;font-size:1.15rem}.payroll-run-section-heading p:not(.ds-eyebrow){max-width:700px;color:var(--muted);margin-top:6px;font-size:.8125rem;line-height:1.5}.payroll-run-section-heading>.ds-button{flex:none}.payroll-run-action-row{background:#f8fbfc;border:1px solid #d1e0e4;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:15px 16px;display:flex}.payroll-run-action-row>div{gap:4px;min-width:0;display:grid}.payroll-run-action-row strong{color:#123f50;font-size:.875rem}.payroll-run-action-row span{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;line-height:1.45}.payroll-run-action-row>.ds-button{flex:none}.payroll-run-observation{color:#2f5f63;background:#edf8f6;border:1px solid #a8d3cd;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;padding:12px 14px;font-size:.75rem;display:flex}.payroll-run-observation span:last-child{overflow-wrap:anywhere;min-width:0}.payroll-run-worksheet-page>.payroll-sheet-card{margin-top:0}@media (max-width:1119px){.payroll-run-command-layout{grid-template-columns:minmax(0,1fr)}.payroll-run-action-rail{position:static}}@media (max-width:639px){.payroll-run-timeline{padding:14px 12px}.payroll-run-tabs a{min-height:44px;padding-inline:14px}.payroll-run-section-heading,.payroll-run-action-row{display:grid}.payroll-run-section-heading>.ds-button,.payroll-run-action-row>.ds-button{width:100%}}@media (forced-colors:active){.payroll-run-timeline,.payroll-run-tabs,.payroll-run-refresh-warning,.payroll-run-action-rail .ds-card,.payroll-run-action-row,.payroll-run-observation{color:canvastext;background:canvas;border-color:canvastext}.payroll-run-timeline li[data-state=current]>span,.payroll-run-tabs a.active{color:highlighttext;background:highlight;border-color:highlight}}.payroll-payslip-page,.payroll-reconciliation-page,.payroll-payslip-detail-layout,.payroll-payslip-detail-layout>section{min-width:0}.payroll-payslip-page>.ds-page-header,.payroll-reconciliation-page>.ds-page-header{margin-bottom:18px}.payroll-payslip-list-card,.payroll-reconciliation-command-card{border-color:#c7dade;overflow:hidden;box-shadow:0 12px 30px #0b2f4512}.payroll-payslip-detail-layout{grid-template-columns:minmax(0,1fr) minmax(248px,300px);align-items:start;gap:18px;display:grid}.payroll-payslip-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-payslip-metrics>.ds-metric{min-width:0}.payroll-payslip-metrics>.ds-metric>strong{overflow-wrap:anywhere}.payroll-payslip-sensitive-actions{background:linear-gradient(145deg,#0f766e14,#0000 58%),#fff;border-color:#c3d9dd;position:sticky;top:92px;box-shadow:0 14px 34px #0b2f4514}.payroll-payslip-sensitive-actions h2,.payroll-payslip-sensitive-actions p{margin-top:0}.payroll-payslip-sensitive-actions h2{color:var(--brand-950);font-size:1rem}.payroll-reconciliation-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.payroll-reconciliation-command-card{margin-top:18px}.payroll-reconciliation-command-card .definition-grid dd,.payroll-reference-value{overflow-wrap:anywhere}.payroll-reference-value{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.75rem}.payroll-reconciliation-mismatch-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.payroll-reconciliation-mismatch-list li{color:#294f5b;overflow-wrap:anywhere;background:#f7fafb;border:1px solid #d5e2e5;border-radius:8px;min-width:0;padding:10px 12px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.75rem}.payroll-command-notice{color:#245b58;background:#edf8f6;border:1px solid #a8d3cd;border-radius:9px;padding:11px 13px;font-size:.8125rem;font-weight:700}@media (max-width:1119px){.payroll-payslip-detail-layout{grid-template-columns:minmax(0,1fr)}.payroll-payslip-sensitive-actions{position:static}}@media (max-width:639px){.payroll-payslip-metrics,.payroll-reconciliation-metrics{grid-template-columns:minmax(0,1fr)}.payroll-reconciliation-command-card .form-actions,.payroll-reconciliation-command-card .form-actions .ds-button,.payroll-payslip-sensitive-actions .ds-button{width:100%}}@media (forced-colors:active){.payroll-payslip-list-card,.payroll-payslip-sensitive-actions,.payroll-reconciliation-command-card,.payroll-reconciliation-mismatch-list li,.payroll-command-notice{color:canvastext;background:canvas;border-color:canvastext}}.payroll-formula-page,.payroll-formula-workspace{min-width:0}.payroll-formula-current-filter{flex:300px;max-width:460px}.payroll-formula-loading-card,.payroll-formula-state-space{margin-top:16px}.payroll-formula-loading-card{padding:20px}.payroll-formula-filter-pagination{border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:12px;overflow:hidden}.payroll-formula-filter-pagination .pagination{border:0;border-radius:0;margin-top:0}.payroll-formula-workspace{gap:18px;display:grid}.payroll-formula-workspace>.ds-page-header{margin-bottom:0}.formula-recovery{border:1px solid #f0b4b4;border-left:4px solid var(--danger-700);border-radius:var(--radius-md);background:var(--danger-100);justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 18px;display:flex}.formula-recovery h2,.formula-recovery p{margin:0}.formula-recovery h2{color:var(--danger-700);font-size:1rem}.formula-recovery p,.formula-recovery small{color:#6f3030;margin-top:5px;line-height:1.45;display:block}.formula-recovery p{font-size:.8125rem}.formula-recovery small{font-size:.75rem}.formula-recovery--reconciled{border-color:#9fd1ad;border-left-color:var(--success-700);background:var(--success-100)}.formula-recovery--reconciled h2{color:var(--success-700)}.formula-recovery--reconciled p,.formula-recovery--reconciled small{color:#245b36}.payroll-formula-name-editor{gap:16px;display:grid}.payroll-formula-card-action{margin-top:18px}.payroll-formula-empty-copy{color:var(--muted);margin:0;font-size:.875rem;line-height:1.55}.payroll-formula-authoring-card{border-top:3px solid var(--warning-700);background:linear-gradient(120deg, #f59e0b0d, transparent 42%), var(--surface);gap:16px;padding:22px;display:grid}.payroll-formula-authoring-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.payroll-formula-authoring-heading h2{color:var(--brand-950);margin:4px 0 0;font-size:1.1rem}.payroll-formula-action-rail{flex-wrap:wrap;gap:10px;display:flex}.payroll-formula-blocked-references{border-radius:var(--radius-lg);background:#fffaf0;border:1px solid #e4c98f;padding:20px}.payroll-formula-blocked-references h2{color:#78350f;margin:0 0 14px;font-size:1rem}.payroll-formula-blocked-references ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.payroll-formula-blocked-references li{border-radius:var(--radius-md);background:#fff;border:1px solid #ead8b2;min-width:0;padding:11px 12px}.payroll-formula-blocked-references strong,.payroll-formula-blocked-references span{display:block}.payroll-formula-blocked-references strong{color:#6f3b0b;font-size:.8125rem}.payroll-formula-blocked-references span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:.75rem;line-height:1.45}.payroll-formula-production-boundary{border-radius:var(--radius-md);background:#f3f8fb;border:1px solid #b8cdda;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px 16px;display:grid}.payroll-formula-production-boundary strong{color:var(--brand-950);font-size:.8125rem}.payroll-formula-production-boundary p{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.5}.payroll-formula-create-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@media (max-width:639px){.formula-recovery,.payroll-formula-authoring-heading{display:grid}.formula-recovery>.ds-button,.payroll-formula-action-rail>.ds-button,.payroll-formula-create-actions>*{width:100%}.payroll-formula-action-rail,.payroll-formula-create-actions{grid-template-columns:minmax(0,1fr);display:grid}.payroll-formula-blocked-references ul,.payroll-formula-production-boundary{grid-template-columns:minmax(0,1fr)}}@media (forced-colors:active){.formula-recovery,.payroll-formula-authoring-card,.payroll-formula-blocked-references,.payroll-formula-blocked-references li,.payroll-formula-production-boundary{color:canvastext;background:canvas;border-color:canvastext}}.payroll-fast-slice{gap:18px;margin-top:18px;display:grid}.payroll-fast-command{background:radial-gradient(circle at 92% 0,#087e761a,#0000 28%),linear-gradient(145deg,#fff 0%,#f7fbfc 100%);border-color:#bfd7df;overflow:hidden;box-shadow:0 18px 44px #0d364914}.payroll-fast-command__header{border-bottom:1px solid #d6e5ea;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px 18px;display:flex}.payroll-fast-command__header h2,.payroll-fast-command__header p{margin:0}.payroll-fast-command__header h2{color:var(--brand-950);margin-top:5px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.25}.payroll-fast-command__header p:not(.ds-eyebrow){max-width:760px;color:var(--muted);margin-top:8px;font-size:.8125rem;line-height:1.55}.payroll-fast-command__badges{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.payroll-fast-steps{background:#f2f8fa;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:17px 24px;list-style:none;display:grid}.payroll-fast-steps li{color:#6d8390;align-items:center;gap:9px;min-width:0;font-size:.75rem;display:flex;position:relative}.payroll-fast-steps li:not(:last-child):after{content:"";background:#cbdde3;flex:auto;height:1px;margin:0 12px}.payroll-fast-steps li>span{background:#fff;border:1px solid #b8cfd7;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:850;display:grid}.payroll-fast-steps li>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payroll-fast-steps li[data-state=current]{color:var(--brand-900)}.payroll-fast-steps li[data-state=current]>span{border-color:var(--accent-700);background:var(--accent-700);color:#fff;box-shadow:0 0 0 4px #087e761f}.payroll-fast-steps li[data-state=done]{color:#0c756c}.payroll-fast-steps li[data-state=done]>span{color:#087e76;background:#e7f6f3;border-color:#9dcfc8}.payroll-fast-plan{justify-content:space-between;align-items:center;gap:20px;padding:18px 24px 22px;display:flex}.payroll-fast-plan__summary{flex:auto;grid-template-columns:repeat(4,minmax(112px,1fr));gap:10px;display:grid}.payroll-fast-plan__summary>div{background:#ffffffd6;border:1px solid #d7e5e9;border-radius:8px;min-width:0;padding:12px 14px}.payroll-fast-plan__summary span,.payroll-fast-plan__summary strong{display:block}.payroll-fast-plan__summary span{color:var(--muted);font-size:.6875rem;font-weight:700}.payroll-fast-plan__summary strong{color:var(--brand-950);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.9375rem;overflow:hidden}.payroll-fast-plan__actions{text-align:right;flex:none;justify-items:end;gap:10px;max-width:250px;display:grid}.payroll-fast-plan__actions>span{color:var(--muted);font-size:.75rem;line-height:1.45}.payroll-fast-progress{color:var(--brand-900);background:#eef8fa;border:1px solid #b9d7df;border-radius:8px;align-items:center;gap:13px;margin:0 24px 22px;padding:14px 16px;display:flex}.payroll-fast-progress>div{gap:3px;display:grid}.payroll-fast-progress strong{font-size:.8125rem}.payroll-fast-progress span:not(.ds-spinner){color:var(--muted);font-size:.75rem}.payroll-fast-issue{gap:8px;padding:0 24px 22px;display:grid}.payroll-fast-issue>p{color:var(--muted);margin:0;padding:0 4px;font-size:.75rem;line-height:1.5}.payroll-statutory-warning{color:#6b4a00;background:#fff8e7;border:1px solid #edc668;border-left:5px solid #d99b12;border-radius:8px;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:18px;padding:15px 18px;display:grid}.payroll-statutory-warning strong{font-size:.8125rem}.payroll-statutory-warning span{color:#775c20;font-size:.75rem;line-height:1.5}.payroll-authoritative-sheet{border-color:#b9d9d4;box-shadow:0 20px 48px #0d36491a}.payroll-fast-pagination{color:var(--muted);background:#f8fbfc;border-top:1px solid #d5e4e8;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;font-size:.75rem;font-weight:700;display:flex}@media (max-width:959px){.payroll-fast-command__header,.payroll-fast-plan{display:grid}.payroll-fast-command__badges{justify-content:flex-start}.payroll-fast-plan__actions{text-align:left;justify-items:start;max-width:none}}@media (max-width:719px){.payroll-fast-command__header{padding:18px}.payroll-fast-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;padding:16px 18px}.payroll-fast-steps li:after{display:none}.payroll-fast-plan{padding:16px 18px 18px}.payroll-fast-plan__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-fast-progress{margin:0 18px 18px}.payroll-fast-issue{padding:0 18px 18px}.payroll-statutory-warning{grid-template-columns:minmax(0,1fr);gap:5px}}@media (max-width:479px){.payroll-fast-plan__summary{grid-template-columns:minmax(0,1fr)}.payroll-fast-plan__actions .ds-button,.payroll-fast-pagination .ds-button{width:100%}.payroll-fast-pagination{flex-direction:column;align-items:stretch}}@media (forced-colors:active){.payroll-fast-command,.payroll-fast-plan__summary>div,.payroll-fast-progress,.payroll-statutory-warning,.payroll-authoritative-sheet{color:canvastext;background:canvas;border-color:canvastext}}.payroll-formula-sandbox{gap:20px;min-width:0;display:grid}.payroll-formula-sandbox>.ds-page-header,.payroll-formula-sandbox>.formula-sandbox-warning{margin-bottom:0}.formula-sandbox-warning{background:linear-gradient(90deg,#f59e0b14,#0000 34%),#fffdf7;border-color:#e7c987;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:16px;display:grid}.formula-sandbox-warning>span{background:var(--warning-100);width:34px;height:34px;color:var(--warning-700);border-radius:50%;place-items:center;font-weight:900;display:grid}.formula-sandbox-warning strong{color:#713f12;font-size:.875rem}.formula-sandbox-warning p{color:#6b5a3f;margin:4px 0 0;font-size:.8125rem;line-height:1.5}.formula-sandbox-editor{border-color:#bfd6dc;gap:22px;min-width:0;padding:24px;display:grid;box-shadow:0 16px 40px #0b2f4514}.formula-sandbox-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-width:0;display:flex}.formula-sandbox-section-heading h2{color:var(--brand-950);margin:4px 0 6px;font-size:1.125rem}.formula-sandbox-section-heading p:not(.ds-eyebrow){max-width:68ch;color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.formula-sandbox-formula-field{gap:7px;min-width:0;display:grid;position:relative}.formula-sandbox-formula-field>label{color:var(--brand-950);font-size:.875rem;font-weight:800}.formula-sandbox-formula-field>p{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.45}.formula-sandbox-formula-shell{background:#fff;border:1px solid #7a98a6;border-radius:10px;grid-template-columns:50px minmax(0,1fr);min-width:0;transition:border-color .14s,box-shadow .14s;display:grid;overflow:hidden;box-shadow:inset 0 1px 2px #0b2f450d}.formula-sandbox-formula-shell:focus-within{border-color:var(--accent-700);box-shadow:var(--focus), inset 0 1px 2px #0b2f450d}.formula-sandbox-formula-shell>span{color:var(--accent-700);background:#edf7f6;border-right:1px solid #cbd9df;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:italic;font-weight:800;display:grid}.formula-sandbox-formula-shell textarea{resize:vertical;color:#143346;tab-size:2;background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:92px;padding:15px 16px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.9375rem;font-weight:650;line-height:1.65}.formula-sandbox-autocomplete{z-index:12;background:#fff;border:1px solid #9eb8c3;border-radius:10px;max-height:min(360px,54vh);padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #0623342e}.formula-sandbox-autocomplete>div{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:5px 7px 9px;font-size:.75rem;display:flex}.formula-sandbox-autocomplete>div strong{color:var(--brand-900);font-size:.8125rem}.formula-sandbox-autocomplete ul,.formula-sandbox-palette ul,.formula-sandbox-dependencies,.formula-sandbox-diagnostics ol,.formula-sandbox-ast,.formula-sandbox-ast ul{margin:0;padding:0;list-style:none}.formula-sandbox-autocomplete ul{gap:3px;display:grid}.formula-sandbox-autocomplete [role=option]{width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:minmax(150px,auto) minmax(0,1fr);align-items:center;gap:12px;padding:8px 10px;display:grid}.formula-sandbox-autocomplete [role=option]:hover,.formula-sandbox-autocomplete [role=option][aria-selected=true]{background:#edf8f6;border-color:#b7d7d3}.formula-sandbox-autocomplete code{color:var(--accent-700);font-size:.8125rem;font-weight:800}.formula-sandbox-autocomplete [role=option]>span{gap:2px;min-width:0;display:grid}.formula-sandbox-autocomplete [role=option] strong,.formula-sandbox-autocomplete [role=option] small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formula-sandbox-autocomplete [role=option] strong{color:var(--brand-950);font-size:.8125rem}.formula-sandbox-autocomplete [role=option] small{color:var(--muted);font-size:.75rem}.formula-sandbox-editor-toolbar{border:1px solid var(--border);background:#f8fafc;border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px;min-width:0;padding:14px;display:flex}.formula-sandbox-history-actions{gap:8px;display:flex}.formula-sandbox-example-picker{flex:360px;grid-template-columns:minmax(160px,1fr) auto;gap:5px 8px;min-width:min(100%,360px);display:grid}.formula-sandbox-example-picker label{color:var(--muted);grid-column:1/-1;font-size:.75rem;font-weight:750}.formula-sandbox-example-picker select{border:1px solid var(--control-border);border-radius:var(--radius-md);min-width:0;min-height:44px;color:var(--text);background:#fff;padding:8px 36px 8px 11px;font-weight:650}.formula-sandbox-palettes{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;display:grid}.formula-sandbox-palette{border:1px solid var(--border);background:#fbfcfd;border-radius:10px;min-width:0;overflow:hidden}.formula-sandbox-palette>div{border-bottom:1px solid var(--border);background:#edf4f6;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:10px 12px;display:flex}.formula-sandbox-palette h3{color:var(--brand-950);margin:0;font-size:.8125rem}.formula-sandbox-palette>div>span{min-width:25px;height:25px;color:var(--muted);background:#fff;border-radius:999px;place-items:center;font-size:.6875rem;font-weight:800;display:grid}.formula-sandbox-palette ul{gap:1px;max-height:286px;padding:5px;display:grid;overflow-y:auto}.formula-sandbox-palette li{min-width:0}.formula-sandbox-palette button{width:100%;min-height:74px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-content:center;gap:3px;padding:9px 10px;display:grid}.formula-sandbox-palette button:hover,.formula-sandbox-palette button:focus-visible{background:#effaf8;border-color:#b8d7d3}.formula-sandbox-palette code,.formula-sandbox-palette strong,.formula-sandbox-palette small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.formula-sandbox-palette code{color:var(--accent-700);font-size:.75rem;font-weight:850}.formula-sandbox-palette strong{color:var(--brand-950);font-size:.8125rem}.formula-sandbox-palette small{color:var(--muted);font-size:.6875rem}.formula-sandbox-analysis{gap:16px;min-width:0;display:grid}.formula-sandbox-validation-status{color:#34515e;text-align:right;background:#fff;border:1px solid #c7d6dd;border-radius:8px;flex:none;max-width:320px;padding:9px 12px;font-size:.8125rem;font-weight:700;line-height:1.4}.formula-sandbox-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.formula-sandbox-analysis-card{min-width:0;padding:18px;overflow:hidden}.formula-sandbox-analysis-card--canonical{background:linear-gradient(135deg,#ccfbf166,#0000 52%),#fff;border-color:#b8d7d3;grid-column:1/-1}.formula-sandbox-analysis-card--ast{overscroll-behavior-inline:contain;align-self:start;overflow-x:auto}.formula-sandbox-analysis-card__heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.formula-sandbox-analysis-card__heading>div{align-items:center;gap:9px;min-width:0;display:flex}.formula-sandbox-analysis-card__heading h3{color:var(--brand-950);margin:0;font-size:.9375rem}.formula-sandbox-analysis-card__heading>span:not(.ds-status){color:var(--muted);font-size:.75rem;font-weight:700}.formula-sandbox-analysis-card__step{width:30px;height:30px;color:var(--brand-700);background:#e8f3f4;border-radius:8px;flex:none;place-items:center;font-size:.6875rem;font-weight:900;display:grid}.formula-sandbox-canonical{color:#0b5f57;white-space:pre;background:#f8fffd;border:1px solid #bad3d5;border-radius:9px;align-items:center;min-height:62px;padding:14px 16px;font-size:.9375rem;font-weight:750;line-height:1.55;display:flex;overflow-x:auto}.formula-sandbox-analysis-card>p{color:var(--muted);margin:10px 0 0;font-size:.75rem;line-height:1.5}.formula-sandbox-token-stream{flex-wrap:wrap;align-content:flex-start;gap:6px;min-width:0;display:flex}.formula-sandbox-token{background:#f8fafc;border:1px solid #d3dde3;border-radius:7px;justify-items:center;gap:3px;min-width:42px;padding:6px 8px;display:grid}.formula-sandbox-token code{color:#294654;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.75rem;font-weight:800;overflow:hidden}.formula-sandbox-token small{color:var(--muted);text-transform:uppercase;font-size:.625rem}.formula-sandbox-token--reference{background:#ecf8f6;border-color:#a7d4cc}.formula-sandbox-token--function{background:#eff4ff;border-color:#b8c8e8}.formula-sandbox-token--decimal{background:#fff8ed;border-color:#e4caa5}.formula-sandbox-token--operator{background:#faf4ff;border-color:#d8c4e9}.formula-sandbox-dependencies{gap:8px;display:grid}.formula-sandbox-dependencies li{background:#fbfcfd;border:1px solid #dbe3e8;border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.formula-sandbox-dependency-icon{width:36px;height:36px;color:var(--accent-700);background:#e7f3f2;border-radius:9px;place-items:center;font-weight:900;display:grid}.formula-sandbox-dependency-icon--input{color:#315eac;background:#edf3ff}.formula-sandbox-dependency-icon--parameter{color:#9a5a0b;background:#fff4e5}.formula-sandbox-dependencies li>span:last-child{gap:2px;min-width:0;display:grid}.formula-sandbox-dependencies code,.formula-sandbox-dependencies strong,.formula-sandbox-dependencies small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formula-sandbox-dependencies code{color:var(--accent-700);font-size:.6875rem;font-weight:850}.formula-sandbox-dependencies strong{color:var(--brand-950);font-size:.8125rem}.formula-sandbox-dependencies small{color:var(--muted);font-size:.6875rem}.formula-sandbox-empty{text-align:center;background:#fafcfd;border:1px dashed #b9cbd4;border-radius:8px;padding:14px}.formula-sandbox-ast,.formula-sandbox-ast ul{gap:7px;display:grid;position:relative}.formula-sandbox-ast ul{border-left:1px solid #b9cdd4;margin:7px 0 0 14px;padding-left:18px}.formula-sandbox-analysis-card--ast>.formula-sandbox-ast{min-width:max-content}.formula-sandbox-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.formula-sandbox-ast__node>span{background:#f9fbfc;border:1px solid #d5e0e5;border-radius:8px;gap:2px;min-width:0;padding:9px 10px;display:grid}.formula-sandbox-ast__node>span small{color:var(--accent-700);letter-spacing:.04em;text-transform:uppercase;font-size:.625rem;font-weight:800}.formula-sandbox-ast__node>span strong{color:var(--brand-950);overflow-wrap:anywhere;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.75rem}.formula-sandbox-diagnostics{background:linear-gradient(135deg,#fee2e280,#0000 45%),#fff;border-color:#e4b7b7;gap:16px;min-width:0;padding:20px;display:grid}.formula-sandbox-diagnostics__heading{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;display:grid}.formula-sandbox-diagnostics__heading>span{background:var(--danger-100);width:38px;height:38px;color:var(--danger-700);border-radius:50%;place-items:center;font-weight:900;display:grid}.formula-sandbox-diagnostics__heading h3,.formula-sandbox-diagnostics__heading p{margin:0}.formula-sandbox-diagnostics__heading h3{color:#7f1d1d;font-size:1rem}.formula-sandbox-diagnostics__heading p{color:var(--muted);margin-top:3px;font-size:.8125rem}.formula-sandbox-diagnostics ol{gap:8px;display:grid}.formula-sandbox-diagnostics li{background:#fff;border:1px solid #ebcaca;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.formula-sandbox-diagnostics li>span{color:var(--danger-700);place-items:center;padding-top:2px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:850;display:grid}.formula-sandbox-diagnostics li>div{gap:3px;min-width:0;display:grid}.formula-sandbox-diagnostics li strong{color:#631f1f;overflow-wrap:anywhere;font-size:.8125rem}.formula-sandbox-diagnostics li small{color:var(--muted);font-size:.6875rem}.formula-sandbox-authority-note{background:#f3f8fb;border:1px solid #b8cdda;border-radius:10px;grid-template-columns:34px minmax(0,1fr);gap:12px;min-width:0;padding:14px 16px;display:grid}.formula-sandbox-authority-note>span{width:32px;height:32px;color:var(--brand-700);background:#dcecf4;border-radius:50%;place-items:center;font-family:Georgia,serif;font-weight:900;display:grid}.formula-sandbox-authority-note strong{color:var(--brand-950);font-size:.8125rem}.formula-sandbox-authority-note p{color:var(--muted);margin:4px 0 0;font-size:.75rem;line-height:1.5}@media (max-width:1119px){.formula-sandbox-palettes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:759px){.formula-sandbox-section-heading{display:grid}.formula-sandbox-validation-status{text-align:left;max-width:none}.formula-sandbox-analysis-grid{grid-template-columns:minmax(0,1fr)}.formula-sandbox-analysis-card--canonical{grid-column:auto}}@media (max-width:639px){.formula-sandbox-editor{gap:18px;padding:16px}.formula-sandbox-formula-shell{grid-template-columns:42px minmax(0,1fr)}.formula-sandbox-formula-shell textarea{min-height:116px;padding:13px 12px;font-size:.875rem}.formula-sandbox-autocomplete [role=option]{grid-template-columns:minmax(0,1fr);gap:4px}.formula-sandbox-editor-toolbar,.formula-sandbox-history-actions,.formula-sandbox-example-picker{grid-template-columns:minmax(0,1fr);display:grid}.formula-sandbox-editor-toolbar>.ds-button,.formula-sandbox-history-actions .ds-button,.formula-sandbox-example-picker .ds-button{width:100%}.formula-sandbox-palettes{grid-template-columns:minmax(0,1fr)}.formula-sandbox-palette ul{max-height:248px}.formula-sandbox-analysis-card,.formula-sandbox-diagnostics{padding:15px}.formula-sandbox-analysis-card__heading{align-items:flex-start}.formula-sandbox-canonical{white-space:pre-wrap;overflow-wrap:anywhere;align-items:flex-start;min-height:72px}}@media (forced-colors:active){.formula-sandbox-formula-shell,.formula-sandbox-warning,.formula-sandbox-autocomplete,.formula-sandbox-editor-toolbar,.formula-sandbox-palette,.formula-sandbox-palette>div,.formula-sandbox-analysis-card,.formula-sandbox-canonical,.formula-sandbox-token,.formula-sandbox-dependencies li,.formula-sandbox-ast__node>span,.formula-sandbox-diagnostics,.formula-sandbox-diagnostics li,.formula-sandbox-authority-note{color:canvastext;background:canvas;border-color:canvastext}.formula-sandbox-formula-shell:focus-within{outline-offset:2px;box-shadow:none;outline:3px solid highlight}.formula-sandbox-autocomplete [role=option],.formula-sandbox-palette button,.formula-sandbox-example-picker select{forced-color-adjust:auto}.formula-sandbox-autocomplete [role=option]:hover,.formula-sandbox-autocomplete [role=option][aria-selected=true],.formula-sandbox-palette button:hover,.formula-sandbox-palette button:focus-visible{color:highlight;background:canvas;border-color:highlight}}@media (prefers-reduced-motion:reduce){.formula-sandbox-formula-shell,.formula-sandbox-autocomplete [role=option],.formula-sandbox-palette button{transition:none}.formula-sandbox-autocomplete,.formula-sandbox-palette ul,.formula-sandbox-canonical{scroll-behavior:auto}}.his-login{--login-navy:#082f49;--login-blue:#0f6ea9;--login-cyan:#06b6d4;color:#0f2437;background:radial-gradient(circle at 18% 12%,#7dd3fc73,#0000 30%),radial-gradient(circle at 88% 84%,#2dd4bf47,#0000 28%),linear-gradient(135deg,#0b77bd 0%,#159bd3 47%,#6ac8ed 100%);place-items:center;min-height:100vh;padding:40px;display:grid;position:relative;overflow:hidden}.his-login:before{content:"";background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.his-login__orb{pointer-events:none;border:1px solid #ffffff38;border-radius:50%;position:absolute}.his-login__orb--one{width:420px;height:420px;top:-210px;right:-70px}.his-login__orb--two{width:560px;height:560px;bottom:-360px;left:-110px}.his-login__shell{z-index:1;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0735565c;border:1px solid #ffffff6b;border-radius:32px;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);width:min(1080px,100%);min-height:650px;display:grid;position:relative;overflow:hidden;box-shadow:0 32px 80px #042f4f4d,inset 0 1px #fff3}.his-login__story{color:#fff;flex-direction:column;padding:54px;display:flex}.his-login__brand,.his-login__mobile-brand{align-items:center;gap:14px;display:flex}.his-login__brand strong,.his-login__brand span{display:block}.his-login__brand strong{letter-spacing:.05em;font-size:1.05rem}.his-login__brand span{color:#cbeeff;margin-top:4px;font-size:.78rem}.his-login__logo{color:#fff;background:linear-gradient(145deg,#ffffff3d,#0000),linear-gradient(135deg,#0ea5e9,#0f766e);border:1px solid #ffffff80;border-radius:18px;flex:none;place-items:center;width:54px;height:54px;font-size:1.4rem;font-weight:900;display:grid;box-shadow:0 12px 28px #042f4f47}.his-login__story-copy{margin:auto 0;padding:76px 0 40px}.his-login__eyebrow{color:#0e7490;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.72rem;font-weight:850}.his-login__story .his-login__eyebrow{color:#a5f3fc}.his-login__story h1{letter-spacing:-.045em;max-width:560px;margin:0;font-size:clamp(2.35rem,4vw,4.35rem);line-height:1.04}.his-login__story-copy>p:last-child{color:#d8f3ff;max-width:500px;margin:24px 0 0;font-size:1rem;line-height:1.75}.his-login__trust-list{gap:12px;display:grid}.his-login__trust-list span{color:#e8f8ff;align-items:center;gap:10px;font-size:.82rem;display:flex}.his-login__trust-list i{color:#a5f3fc;background:#0891b247;border:1px solid #a5f3fc80;border-radius:50%;place-items:center;width:22px;height:22px;font-style:normal;font-weight:900;display:grid}.his-login__panel{background:#fffffff5;border-radius:24px;flex-direction:column;margin:14px;padding:52px 48px 30px;display:flex;box-shadow:0 18px 50px #032b4333}.his-login__mobile-brand{display:none}.his-login__header{position:relative}.his-login__connection{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:999px;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;margin:0 0 38px auto;padding:7px 11px;font-size:.7rem;font-weight:800;display:flex}.his-login__connection span{background:#10b981;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #10b9811f}.his-login__header h2{color:var(--login-navy);letter-spacing:-.035em;margin:0;font-size:2rem;line-height:1.15}.his-login__header>p:last-child{color:#607486;margin:10px 0 0;font-size:.9rem}.his-login__form{margin-top:34px;display:grid}.his-login__form label{color:#24445c;margin-bottom:8px;font-size:.78rem;font-weight:800}.his-login__label-row{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.his-login__label-row label{margin:0}.his-login__label-row span{color:#8194a4;font-size:.68rem}.his-login__field{position:relative}.his-login__field input{color:#0f2437;width:100%;min-height:56px;font:inherit;background:#f8fbfd;border:1px solid #cedce5;border-radius:14px;outline:none;padding:13px 50px 13px 48px;font-size:.9rem;transition:border-color .16s,box-shadow .16s,background .16s}.his-login__field input::placeholder{color:#91a4b2}.his-login__field input:hover{border-color:#91b7ca}.his-login__field input:focus{background:#fff;border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e91f}.his-login__field input[aria-invalid=true]{border-color:#f59e0b}.his-login__field-icon{z-index:1;color:#4c819b;pointer-events:none;width:20px;height:20px;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.his-login__field-icon svg,.his-login__password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:100%;height:100%}.his-login__password-toggle{color:#4c819b;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.his-login__password-toggle:hover{color:#075985;background:#eaf5fa}.his-login__password-toggle:focus-visible{outline-offset:1px;outline:3px solid #0ea5e947}.his-login__password-toggle svg{width:20px;height:20px}.his-login__error{color:#0000;min-height:38px;padding:10px 0 0;font-size:.76rem;line-height:1.45}.his-login__error--visible{color:#b45309}.his-login__submit{color:#fff;min-height:56px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#0284c7,#06b6d4);border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;margin-top:10px;font-weight:850;transition:transform .16s,box-shadow .16s,filter .16s;display:flex;box-shadow:0 14px 30px #0284c73d}.his-login__submit:hover:not(:disabled){filter:saturate(1.08);transform:translateY(-1px);box-shadow:0 17px 34px #0284c752}.his-login__submit:focus-visible{outline-offset:3px;outline:3px solid #0ea5e94d}.his-login__submit:disabled{cursor:wait;opacity:.72}.his-login__spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite his-login-spin}.his-login__footer{color:#7b8f9e;text-align:center;margin-top:auto;padding-top:28px;font-size:.7rem}@keyframes his-login-spin{to{transform:rotate(360deg)}}@media (max-width:900px){.his-login{padding:24px}.his-login__shell{width:min(520px,100%);min-height:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;grid-template-columns:1fr}.his-login__story{display:none}.his-login__panel{margin:0;padding:38px}.his-login__mobile-brand{color:var(--login-navy);letter-spacing:.04em;margin-bottom:36px;display:flex}.his-login__mobile-brand .his-login__logo{border-radius:14px;width:46px;height:46px}.his-login__connection{margin:0;position:absolute;top:-76px;right:0}}@media (max-width:520px){.his-login{background:#fff;align-items:start;padding:0}.his-login:before,.his-login__orb{display:none}.his-login__shell{border:0;border-radius:0;min-height:100vh}.his-login__panel{min-height:100vh;box-shadow:none;border-radius:0;margin:0;padding:34px 24px 24px}.his-login__header h2{font-size:1.7rem}.his-login__connection,.his-login__label-row span{display:none}}@media (prefers-reduced-motion:reduce){.his-login__spinner{animation-duration:1.5s}.his-login__field input,.his-login__submit{transition:none}}
