@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/OpenSans-400.woff2?v=1) format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/OpenSans-600.woff2?v=1) format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/OpenSans-700.woff2?v=1) format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/OpenSans-800.woff2?v=1) format("woff2")}:root{color-scheme:light;--slate:#486E8A;--slate-2:#3F6784;--slate-deep:#2F5066;--slate-light:#7F9AAD;--navy:#12283F;--logo-ink:#547693;--navy-2:#0E2034;--ink:#1C2B36;--muted:#6C7C8A;--muted-2:#8A99A6;--line:#E3E9EF;--line-2:#D2DCE5;--mist:#EEF2F5;--mist-2:#E3EAF0;--paper:#FFFFFF;--sky:#6E93B0;--good:#3E8E6E;--warn:#C25A4B;--text-strong:var(--ink);--text-body:var(--ink);--text-muted:var(--muted);--text-caption:var(--muted-2);--text-on-dark:#EAF1F7;--surface-page:var(--paper);--surface-card:var(--paper);--surface-alt:var(--mist);--surface-inset:var(--mist-2);--surface-dark:var(--navy);--border:var(--line);--border-strong:var(--line-2);--brand-primary:var(--slate);--brand-primary-strong:var(--slate-2);--brand-fill:var(--slate-deep);--focus-ring:var(--slate)}html[data-theme=dark]{color-scheme:dark;--paper:#1B2731;--mist:#202E3A;--mist-2:#2A3B49;--ink:#E7EEF4;--muted:#A6B6C3;--muted-2:#8295A3;--line:#32434F;--line-2:#3D5060;--surface-page:#161F27}:root{--font-display:"Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--font-body:"Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--fw-regular:400;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fs-display:clamp(34px,5vw,52px);--fs-h1:clamp(28px,3.8vw,42px);--fs-h2:24px;--fs-h3:18px;--fs-stat:38px;--fs-stat-lg:46px;--fs-lead:18px;--fs-body:16px;--fs-sm:14px;--fs-xs:13px;--fs-eyebrow:12px;--lh-tight:1.12;--lh-snug:1.4;--lh-body:1.6;--ls-tight:-.01em;--ls-tighter:-.03em;--ls-eyebrow:.14em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--section-y:clamp(56px,9vw,112px);--r-sm:8px;--r:14px;--r-lg:22px;--r-pill:999px;--shadow:0 1px 2px rgba(36,50,64,.04),0 8px 28px rgba(36,50,64,.07);--shadow-lg:0 18px 50px rgba(36,50,64,.14);--maxw:1120px;--nav-h:64px;--ease:cubic-bezier(.2,.8,.2,1);--dur:.25s}html[data-theme=dark]{--shadow:0 1px 2px rgba(0,0,0,.30),0 10px 30px rgba(0,0,0,.38);--shadow-lg:0 22px 60px rgba(0,0,0,.52)}:root{--muted:var(--slate-deep);--muted-2:var(--slate-2);--font-data:var(--font-body);--motion-press:100ms;--motion-control:160ms;--motion-panel:220ms;--motion-major:320ms;--motion-map:450ms;--ease-standard:var(--ease);--shadow-soft:var(--shadow);--driver-accent:#46C7BE;--driver-accent-strong:#277B7D;--driver-accent-soft:#8FE0D7;--driver-accent-info:#38BDF8;--driver-action:#F6C64A;--driver-action-hover:#FFD66A;--driver-surface:#163F58}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--mist);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;height:auto}::selection{background:var(--slate-deep);color:#fff}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--slate-deep);outline-offset:3px}[data-focus-theme=dark] :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline-color:#fff}.skip-link{position:fixed;z-index:1000;top:10px;left:10px;transform:translateY(-150%);border-radius:8px;padding:10px 14px;background:var(--navy);color:#fff;font-weight:800;box-shadow:var(--shadow)}.skip-link:focus-visible{transform:translateY(0)}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.eyebrow{color:var(--slate);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.section{padding:clamp(56px,9vw,112px) 0}.grid{display:grid;gap:18px}.grid>*{min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{display:grid;gap:14px}.split{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:12px 10px;border-top:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.table-scroll{position:relative;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.field{display:grid;gap:6px;margin:12px 0}.field label{font-weight:800;color:var(--slate-deep)}.field>:where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-width:0;max-width:100%}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink)}input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%;min-height:44px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,80,102,.45);outline-offset:2px;border-color:var(--slate-deep)}.help{color:var(--muted);font-size:13px;line-height:1.5}.timesheet-expense-disclosure{margin-top:12px}.timesheet-expense-summary{display:inline-flex;min-height:44px;max-width:100%;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--slate-deep);font-weight:800;cursor:pointer;list-style:none}.timesheet-expense-summary::-webkit-details-marker{display:none}.timesheet-expense-summary:before{content:"›";display:inline-block;margin-right:8px;font-size:20px;line-height:1}.timesheet-expense-disclosure[open] .timesheet-expense-summary:before{transform:rotate(90deg)}.timesheet-expense-summary:hover{border-color:var(--slate)}.timesheet-expense-summary:focus-visible{outline:3px solid var(--slate-deep);outline-offset:3px}.actions{display:flex;flex-wrap:wrap;gap:8px}.inline-form{display:inline-flex;margin:0}.inline-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--slate-deep);border-radius:999px;padding:7px 11px;font-weight:800;cursor:pointer}.inline-button.primary{background:var(--slate);color:#fff;border-color:var(--slate)}.inline-button:hover{transform:translateY(-1px)}#main-content{scroll-margin-top:96px}@media (max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.split{flex-direction:column}table.table{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-scroll>table.table{display:table;overflow:visible}.code-block,pre{max-width:100%;overflow-x:auto}}textarea{min-height:110px;resize:vertical}.notice{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-weight:800;margin:18px 0}.notice.success{background:#ECF8F2;color:#17613F;border-color:#BFE8D2}.notice.warning{background:#FFF6E8;color:#7A4B12;border-color:#F2D5A8}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;pointer-events:none}.checkbox-row{display:flex;align-items:flex-start;gap:8px;margin:10px 0;font-weight:700;color:var(--slate-deep)}.workflow-row{display:grid;grid-template-columns:minmax(220px,1fr) 160px minmax(180px,1fr) auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:14px}select[multiple]{min-height:120px}@media (max-width:900px){.workflow-row{grid-template-columns:1fr}}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;color:var(--slate-deep);background:#fff}.empty{border:1px dashed var(--line);border-radius:12px;padding:14px;color:var(--muted);background:rgba(255,255,255,.6)}.mini-row{display:grid;grid-template-columns:140px 90px minmax(0,1fr) 64px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.drop-column{min-height:360px;border:1px dashed var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.68)}.draggable-card{cursor:grab;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;box-shadow:var(--shadow-soft)}.draggable-card:active{cursor:grabbing;transform:scale(.99)}@media print{.no-print{display:none!important}body{background:#fff}}@media (max-width:900px){.mini-row{grid-template-columns:1fr}}.code-block{white-space:pre-wrap;background:var(--navy);color:#fff;border-radius:14px;padding:14px;overflow-x:auto;font-size:13px;line-height:1.55}.clean-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.detail-list{display:grid;gap:12px;margin:18px 0 0}.detail-list div{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:12px;padding-top:12px;border-top:1px solid var(--line)}.detail-list dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.detail-list dd{margin:0;font-weight:800;color:var(--slate-deep);overflow-wrap:anywhere}@media (max-width:700px){.detail-list div{grid-template-columns:1fr;gap:4px}}.route-state{min-height:min(620px,72vh);display:grid;place-items:center;padding:clamp(48px,9vw,96px) 20px}.route-state__panel{width:min(620px,100%);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,5vw,48px);background:var(--paper);box-shadow:var(--shadow);text-align:center}.route-state__panel h1{margin:8px 0 12px;color:var(--navy);font-size:var(--fs-h1);line-height:1.12}.route-state__message{max-width:48ch;margin:0 auto;color:var(--muted);line-height:1.65}.route-state__spinner{display:block;width:42px;height:42px;margin:0 auto 20px;border:4px solid var(--line-2);border-top-color:var(--slate-deep);border-radius:50%;animation:route-state-spin .8s linear infinite}.route-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}.route-state__action{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--slate-deep);border-radius:999px;padding:10px 18px;background:var(--slate-deep);color:#fff;font-weight:800;cursor:pointer}.route-state__action.secondary{border-color:var(--line-2);background:var(--paper);color:var(--slate-deep)}@keyframes route-state-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}::view-transition-new(root),::view-transition-old(root){animation:none!important}}