:root{--z-table-sticky:3;--z-page-header:30;--z-scrim:40;--z-sidebar:50;--z-expanded:70;--z-modal:80;--z-gate:82;--z-popover:90;--z-tooltip:95;--z-toast:100;--navy:#1a1f3d;--navy-light:#2a3150;--navy-dark:#0f1222;--accent:#f4b940;--accent-light:#f7c96b;--accent-dark:#e5a51c;--bg:#f8f9fb;--surface:#fff;--surface-2:#f5f6f8;--surface-3:#eceef2;--border:#e5e7eb;--border-strong:#d1d5db;--text:#1f2937;--text-muted:#6b7280;--text-subtle:#9ca3af;--brand:#1a1f3d;--brand-dark:#0f1222;--brand-soft:#eef0f6;--ok:#10b981;--ok-soft:#ecfdf5;--warn:#f59e0b;--warn-soft:#fffbeb;--danger:#ef4444;--danger-soft:#fef2f2;--info:#3b82f6;--info-soft:#eff6ff;--radius:14px;--radius-sm:8px;--radius-nav:10px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--input-bg:#f3f3f5;--tint-blue:#eff6ff;--tint-green:#ecfdf5;--tint-red:#fef2f2;--tint-yellow:#fefce8;--tint-orange:#fff7ed;--sidebar-w:256px;--sidebar-w-collapsed:80px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-28:28px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.5rem;--text-4xl:1.875rem;--text-display:1.875rem;--text-display-lg:2.25rem;--control-h:36px;--control-h-sm:32px;--control-h-lg:48px;--control-h-touch:44px;--card-pad:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (width<=640px){:root{--card-pad:16px}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.625 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}h1,h2,h3,h4,h5,h6{color:var(--navy);margin:0}h1{font-size:var(--text-3xl);letter-spacing:-.02em;font-weight:700;line-height:1.3}h2{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:600;line-height:1.4}h3{font-size:var(--text-lg);font-weight:600;line-height:1.4}h4{font-size:var(--text-md);font-weight:600;line-height:1.45}h5{font-size:var(--text-sm);font-weight:600;line-height:1.45}h6{font-size:var(--text-xs);font-weight:600;line-height:1.45}p{margin:0}.text-3xl{font-size:var(--text-4xl);line-height:2.25rem}.text-2xl{font-size:var(--text-3xl);line-height:2rem}.text-sm{font-size:var(--text-md);line-height:1.25rem}.text-xs{font-size:var(--text-xs);line-height:1rem}.muted{color:var(--text-muted)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.shell{background:var(--bg);height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--navy);color:#fff;z-index:50;flex-direction:column;height:100vh;transition:width .3s,flex-basis .3s,transform .3s;display:flex;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-w-collapsed);flex-basis:var(--sidebar-w-collapsed)}.sidebar-brand{border-bottom:1px solid var(--navy-light);justify-content:space-between;align-items:center;gap:12px;padding:24px;display:flex}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:24px 0}.brand-mark{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{object-fit:contain;background:#fff;border-radius:10px;flex-shrink:0;width:40px;height:40px;padding:4px}.brand-text{min-width:0}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section{display:none}.sidebar-brand h2{color:#fff;font-size:var(--text-2xl);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;line-height:1.5rem;overflow:hidden}.sidebar-brand .brand-sub{color:var(--accent);font-size:var(--text-xs);line-height:1rem}.nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff29 transparent;flex-direction:column;flex:1;gap:4px;padding:16px;display:flex;overflow-y:auto}.sidebar.collapsed .nav{padding:16px 12px}.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-track{background:0 0}.nav::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.nav:hover::-webkit-scrollbar-thumb{background:#ffffff42}.nav::-webkit-scrollbar-thumb:hover{background:#ffffff61}.nav-section{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:#ffffff73;padding:16px 16px 8px;font-weight:600}.nav-section:first-child{padding-top:0}.nav a{border-radius:var(--radius-nav);color:#fff;width:100%;font-weight:500;font-size:var(--text-lg);align-items:center;gap:12px;padding:12px 16px;line-height:1.5rem;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.sidebar.collapsed .nav a{justify-content:center;padding:12px 0}.nav a:hover{background:var(--navy-light);text-decoration:none}.nav a.active{background:var(--accent);color:var(--navy)}.nav-icon{flex-shrink:0;width:20px;height:20px}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-close,.nav-toggle{color:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;padding:8px;display:inline-flex}.sidebar .nav-close:hover:not(:disabled){background:var(--navy-light);color:#fff}.nav-toggle{color:var(--text)}.nav-toggle:hover:not(:disabled){background:var(--bg)}.nav-close{display:none}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:30;justify-content:space-between;align-items:center;gap:16px;padding:16px 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:16px;min-width:0;display:flex}.topbar-left h3{font-size:var(--text-xl);white-space:nowrap}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-right .btn-label{display:none}@media (width>=640px){.topbar-right .btn-label{display:inline}}.topbar-right button.accent,.topbar-right button.primary{box-shadow:var(--shadow)}.count-badge{top:-8px;min-width:20px;height:20px;padding:0 var(--space-6);background:var(--danger);color:#fff;font-size:var(--text-xs);border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset-inline-end:-8px}.relative{position:relative}.content{flex:1;padding:24px 32px;overflow-y:auto}.content>*+*{margin-top:20px}.content>.alert{margin-bottom:0}.page-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-title .sub{color:var(--text-muted);margin-top:4px}.page-title-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.page-title-actions:empty{display:none}@media (width<=640px){.page-title{flex-direction:column;align-items:stretch;gap:12px}.page-title-actions{flex-wrap:wrap;flex-shrink:1}.page-title-actions>*{flex:auto;min-width:0}}.nav-scrim{z-index:var(--z-scrim);background:#00000080;position:fixed;inset:0}@media (width<=1023px){.sidebar{position:fixed;inset-block:0;inset-inline:0 auto;transform:translate(-100%);width:var(--sidebar-w)!important;flex-basis:var(--sidebar-w)!important}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar.open,[dir=rtl] .sidebar.open{transform:translate(0)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section{display:block}.sidebar.collapsed .nav a{justify-content:flex-start;padding:12px 16px}.sidebar.collapsed .sidebar-brand{justify-content:space-between;padding:24px}.nav-close{display:inline-flex}.topbar{padding:16px}.topbar-left h3{display:none}.content{padding:16px}h1{font-size:var(--text-xl)}.main{width:100%}}@media (width>=1024px){.nav-scrim{display:none}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none}.card-head{padding:var(--card-pad) var(--card-pad) 0;align-items:center;gap:var(--space-12);display:flex}.card-head h2,.card-head h3,.card-head h4{font-size:var(--text-2xl);flex:1;font-weight:600;line-height:1.75rem}.card-head+.card-body{padding-top:24px}.card-head.bordered{border-bottom:1px solid var(--border);padding-bottom:24px}.card-head.bordered+*{margin-top:0}.card-body{padding:var(--card-pad)}.card-body.dense{padding:16px}.card-table table td:first-child,.card-table table th:first-child{padding-inline-start:24px}.card-table table td:last-child,.card-table table th:last-child{padding-inline-end:24px}.card-table table tbody tr:first-child td{padding-top:12px}.card-note{padding:var(--space-12) var(--card-pad) var(--space-20);font-size:var(--text-md);color:var(--text-muted);margin:0}.card-head+.card-table{margin-top:16px}.card-alert{padding:var(--card-pad) var(--card-pad) 0}.card-alert .alert{margin-bottom:0}.grid{gap:24px;display:grid}.grid-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width>=1560px){.grid-stats{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=1080px){.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:16px}.grid-kpi .stat{padding:var(--space-16) var(--space-20)}.grid-kpi .stat .value{font-size:var(--text-3xl);line-height:2rem}.grid-kpi .stat-tile{width:38px;height:38px}.grid-kpi .stat-tile svg{width:18px;height:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=900px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (width<=640px){.grid-stats,.grid-2,.grid-3{grid-template-columns:1fr}}.stat{justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.stat .label{color:var(--text-muted);font-size:var(--text-md);line-height:1.25rem}.stat .value{font-size:var(--text-4xl);font-variant-numeric:tabular-nums;color:var(--text);margin-top:8px;font-weight:400;line-height:2.25rem}button.stat.stat-link{white-space:normal;border-radius:var(--radius);text-align:start;width:100%;height:auto;font:inherit;color:inherit;border:1px solid var(--border);cursor:pointer;padding:24px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex}button.stat.stat-link:hover:not(:disabled){color:inherit}button.stat.stat-link:hover{border-color:var(--accent);box-shadow:var(--shadow-md,0 4px 12px #00000014);transform:translateY(-1px)}button.stat.stat-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-tile{border-radius:var(--radius-nav);flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.stat-tile svg{width:24px;height:24px}.tile-blue{background:var(--tint-blue);color:var(--navy)}.tile-green{background:var(--tint-green);color:var(--ok)}.tile-red{background:var(--tint-red);color:var(--danger)}.tile-yellow{background:var(--tint-yellow);color:var(--warn)}.tile-orange{background:var(--tint-orange);color:var(--accent-dark)}.tile-info{background:var(--tint-blue);color:var(--info)}.stat-bar{scrollbar-width:thin;align-items:stretch;padding:0;display:flex;overflow-x:auto}.stat-bar-item{border-inline-end:1px solid var(--border);border-top:0;border-bottom:0;text-align:start;white-space:nowrap;min-width:96px;max-width:260px;height:auto;font:inherit;color:inherit;background:0 0;border-inline-start:0;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:flex-start;gap:2px;padding:12px 16px;display:flex}.stat-bar-item:last-child{border-inline-end:0}@media (width<=640px){.stat-bar-item{flex:none;min-width:max-content;max-width:none}}.stat-bar-item.link{cursor:pointer}.stat-bar-item.link:hover:not(:disabled){background:var(--surface-2);color:inherit;border-color:var(--border)}.stat-bar-item.link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.stat-bar-label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;line-height:1rem}.stat-bar-value{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;color:var(--text);align-items:center;gap:6px;font-weight:500;line-height:1.75rem;display:flex}.stat-bar-value.tint-green{color:#047857}.stat-bar-value.tint-red{color:var(--danger)}.stat-bar-value.tint-orange{color:var(--accent-dark)}.stat-bar-value.tint-yellow{color:#b45309}.stat-bar-value.tint-info{color:var(--info)}.stat-bar-value.alert:after{content:"";background:var(--danger);border-radius:50%;flex-shrink:0;width:6px;height:6px}.hero{border-radius:var(--radius);padding:24px}.hero h3{margin-bottom:var(--space-8);font-size:var(--text-3xl)}.hero .text-3xl{margin-bottom:8px}.hero-navy{background:var(--navy);color:#fff}.hero-navy h3,.hero-navy .text-3xl{color:#fff}.hero-navy .text-sm{color:#d1d5db}.hero-gold{background:var(--accent);color:var(--navy)}.hero-gold h3,.hero-gold .text-3xl{color:var(--navy)}.hero-gold .text-sm{color:var(--navy-light)}.hero a{color:inherit;text-underline-offset:3px;text-decoration:underline}.tile{background:var(--bg);border-radius:var(--radius-nav);align-items:flex-start;gap:12px;padding:16px;display:flex}.tile svg{width:20px;height:20px;color:var(--navy);flex-shrink:0;margin-top:2px}.tile .tile-label{font-size:var(--text-md);color:var(--text-muted);line-height:1.25rem}.tile .tile-value{overflow-wrap:anywhere;margin-top:4px}.tile.wide{grid-column:1/-1}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list-row:last-child{border-bottom:none}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.danger{background:var(--danger)}.dot.info{background:var(--info)}.dot.navy{background:var(--navy)}.placeholder{border:2px dashed var(--border);border-radius:var(--radius);padding:var(--space-64) var(--space-24);text-align:center;background:var(--surface);flex-direction:column;align-items:center;display:flex}.placeholder .well{background:var(--bg);border-radius:50%;place-items:center;padding:24px;display:grid}.placeholder .well svg{width:48px;height:48px;color:var(--navy)}.placeholder h3{margin-top:24px}.placeholder p{color:var(--text-muted);max-width:28rem;margin-top:8px}.table-wrap{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overflow-x:auto}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}table{border-collapse:collapse;width:100%;font-size:var(--text-md);line-height:1.25rem}th{text-align:start;height:40px;color:var(--text);background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;padding:0 8px;font-weight:500}th.num{text-align:end}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color .15s}tbody tr:hover{background:var(--surface-2)}td.num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.dt.fill{flex-direction:column;min-height:0;display:flex}.dt-card{flex-direction:column;display:flex;overflow:hidden}.dt-bar{flex-shrink:0;padding:12px 16px 0}.dt-bar-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dt-title{font-size:var(--text-lg);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.dt-count{font-weight:500;font-size:var(--text-xs);background:var(--surface-3);color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;line-height:1rem}.dt-bar-actions{flex-shrink:0;align-items:center;gap:8px;margin-inline-start:auto;display:flex}.dt-pill{font-size:var(--text-2xs);background:var(--accent);color:var(--navy);border-radius:999px;padding:0 6px;font-weight:600;line-height:1rem}button.primary .dt-pill{background:var(--accent);color:var(--navy)}.dt-search{flex:220px;min-width:180px;max-width:460px;position:relative}.dt-search>svg{inset-inline-start:12px;width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.dt-search input{height:var(--control-h);padding-inline-start:calc(var(--space-16) + var(--space-12) + var(--space-6));padding-inline-end:calc(var(--space-16) + var(--space-12) + var(--space-6))}.dt-search.pending input{padding-inline-end:calc(var(--space-16) * 2 + var(--space-20))}.dt-search .go{inset-inline-end:5px;height:26px;font-size:var(--text-xs);background:var(--navy);color:#fff;border-color:var(--navy);border-radius:999px;padding:0 10px;position:absolute;top:50%;transform:translateY(-50%)}.dt-search .clear{inset-inline-end:6px;background:0 0;border:0;border-radius:999px;height:auto;padding:4px;position:absolute;top:50%;transform:translateY(-50%)}.dt-chips{flex-wrap:wrap;gap:6px;padding:10px 0 0;display:flex}.dt-chip{align-items:center;gap:var(--space-6);height:26px;padding:0 var(--space-8);font-size:var(--text-xs);background:var(--brand-soft,#eef0f6);color:var(--navy);border:1px solid #0000;border-radius:999px;font-weight:500;display:inline-flex}.dt-chip-label{color:var(--text-muted);font-weight:400}.dt-chip:disabled{cursor:default;opacity:1}.dt-chip:hover:not(:disabled){background:var(--tint-red);border-color:var(--danger);color:var(--danger)}.dt-chip.clear{border-color:var(--border);color:var(--text-muted);background:0 0}.dt-chip.clear:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--border)}.dt-filters{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-top:12px;padding:12px 0 0;display:flex}.dt-filters .field{flex:0 180px;min-width:150px;margin:0}.dt-filters .field label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px;font-weight:500}.dt-filters .field select,.dt-filters .field input{height:34px;font-size:var(--text-sm)}.dt-filters .clear-cell{flex:none}.dt-note{color:var(--text-muted);font-size:var(--text-sm);padding:10px 16px 0;line-height:1.25rem}.dt-scroll{flex:auto;margin-top:12px;overflow:auto}.dt-scroll::-webkit-scrollbar{width:8px;height:8px}.dt-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.dt-foot{flex-shrink:0}.dt-foot .pager{border-top:1px solid var(--border);margin:0;padding:10px 16px}table.dt{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-md);line-height:1.25rem}table.dt thead th{z-index:2;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border);height:38px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;padding:0 12px;position:sticky;top:0}table.dt thead th:first-child{padding-inline-start:16px}table.dt thead th:last-child{padding-inline-end:16px}table.dt th.sortable{padding:0}table.dt th.sortable button{width:100%;height:38px;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:flex}table.dt thead th:first-child.sortable button{padding-inline-start:16px}table.dt th.sortable.num button{justify-content:flex-end}table.dt th.sortable button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}table.dt th.sorted button{color:var(--navy)}.dt-sort-idle{opacity:0;transition:opacity .12s}table.dt th.sortable:hover .dt-sort-idle{opacity:.45}table.dt td{white-space:nowrap;vertical-align:middle;height:44px;padding:6px 12px}table.dt td:first-child{padding-inline-start:16px}table.dt td:last-child{padding-inline-end:16px}table.dt tbody tr,table.dt tbody td{border-bottom:1px solid var(--border)}table.dt tbody tr:last-child td{border-bottom:0}table.dt tbody tr:hover td{background:var(--surface-2)}table.dt tr.clickable{cursor:pointer}table.dt .identity .avatar{width:28px;height:28px;font-size:var(--text-2xs)}table.dt.fit{table-layout:auto}table.dt.fit td .cell{text-overflow:ellipsis;max-width:18rem;overflow:hidden}table.dt.fit td .cell>*{max-width:100%}table.dt.exact{table-layout:fixed;width:max-content;min-width:100%}table.dt.exact td .cell{text-overflow:ellipsis;overflow:hidden}table.dt th.tight,table.dt td.tight{z-index:1;background:var(--surface);white-space:nowrap;text-align:end;width:1%;position:sticky;inset-inline-end:0}table.dt th.tight{z-index:3}table.dt tbody tr:hover td.tight{background:var(--surface-2)}.dt-scroll.scrolled-x table.dt td.tight,.dt-scroll.scrolled-x table.dt th.tight{box-shadow:-8px 0 8px -8px #0000001f}[dir=rtl] .dt-scroll.scrolled-x table.dt td.tight,[dir=rtl] .dt-scroll.scrolled-x table.dt th.tight{box-shadow:8px 0 8px -8px #0000001f}table.dt th{position:sticky}.col-grip{top:0;cursor:col-resize;z-index:3;touch-action:none;width:9px;height:100%;position:absolute;inset-inline-end:-4px}.col-grip:after{content:"";inset-inline-start:4px;background:var(--border-strong);opacity:0;width:1px;transition:opacity .12s;position:absolute;top:8px;bottom:8px}table.dt th:hover .col-grip:after,.col-grip:active:after{opacity:1}body.col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.col-resizing *{cursor:col-resize!important}.dt-columns-menu{flex-direction:column;min-width:220px;padding:6px;display:flex}.dt-columns-menu button{border-radius:var(--radius-sm);height:32px;color:var(--text);text-align:start;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;padding:0 10px;font-weight:400;display:flex}.dt-columns-menu button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.dt-columns-menu button.on{font-weight:500}.dt-columns-check{border:1.5px solid var(--border-strong);background:var(--surface);width:16px;height:16px;color:var(--navy);border-radius:4px;flex-shrink:0;place-items:center;display:inline-grid}.dt-columns-menu button.on .dt-columns-check{border-color:var(--navy);color:var(--navy)}.dt-columns-menu button.on .dt-columns-check svg{stroke-width:3px}.dt-columns-reset{font-size:var(--text-sm);margin-top:4px;border-top:1px solid var(--border)!important;color:var(--text-muted)!important;border-radius:0!important}.dt-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=720px){.hide-sm{display:none!important}}@media (width<=1024px){.hide-md{display:none!important}}.dt-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;padding:48px 24px;display:flex}.dt-state>svg{opacity:.5;width:48px;height:48px;margin-bottom:8px}.dt-state.failed>svg{color:var(--danger);opacity:1}.dt-state-title{color:var(--text);margin:0;font-weight:500}.dt-state-hint{font-size:var(--text-md);max-width:28rem;margin:0}.dt-state button{margin-top:16px}.identity{align-items:center;gap:12px;min-width:0;display:flex}.avatar{background:var(--navy);color:#fff;width:32px;height:32px;font-size:var(--text-xs);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.xl{width:96px;height:96px;font-size:var(--text-3xl)}.inline-check{font-size:var(--text-md);color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;margin:0;font-weight:500;display:flex}.inline-check input{width:auto;margin:0}.inline-check input[type=date]{width:auto}.cell-sub{color:var(--text-subtle);font-size:var(--text-xs);margin-top:2px;line-height:1rem}table.dt .cell-sub{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.badge{border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);justify-content:center;align-items:center;gap:4px;padding:2px 8px;font-weight:500;line-height:1rem;display:inline-flex}.badge.ok{background:var(--ok-soft);color:#047857;border-color:var(--ok)}.badge.warn{background:var(--warn-soft);color:#b45309;border-color:var(--warn)}.badge.danger{background:var(--danger-soft);color:#b91c1c;border-color:var(--danger)}.badge.info{background:var(--info-soft);color:#1d4ed8;border-color:var(--info)}.badge.brand{background:var(--navy);color:#fff;border-color:var(--navy)}.badge.secondary{color:var(--navy);background:#f1f2f6;border-color:#0000}label{font-size:var(--text-md);align-items:center;gap:8px;margin-bottom:8px;font-weight:500;line-height:1;display:flex}label .req{color:var(--danger)}input,select,textarea{width:100%;height:var(--control-h);padding:var(--space-4) var(--space-12);font:inherit;font-size:var(--text-md);color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;line-height:1.25rem;transition:color .15s,box-shadow .15s,border-color .15s}input.lg{height:var(--control-h-lg);font-size:var(--text-lg)}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--navy);padding:0}select{appearance:auto}textarea{height:auto;min-height:64px;padding:var(--space-8) var(--space-12);resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a.button:focus-visible,.nav a:focus-visible{border-color:#9ca3af;box-shadow:0 0 0 3px #71718259}input[aria-invalid=true],.field.invalid input,.field.invalid select{border-color:var(--danger)}input::placeholder,textarea::placeholder{color:var(--text-subtle)}.field{margin-bottom:16px}.field-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.hint{color:var(--text-muted);font-size:var(--text-md);margin-top:var(--space-8);line-height:1.25rem}.field-error{color:var(--danger);font-size:var(--text-md);margin-top:8px}form .grid-2{margin-bottom:16px}.input-group{align-items:stretch;gap:8px;display:flex}.input-group input{flex:1;min-width:0}.input-group button{white-space:nowrap;flex-shrink:0}button,a.button{height:var(--control-h);padding:0 var(--space-16);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-md);white-space:nowrap;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);justify-content:center;align-items:center;gap:8px;font-weight:500;line-height:1.25rem;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}a.button:hover{text-decoration:none}button svg,a.button svg{flex-shrink:0}button:hover:not(:disabled),a.button:hover{background:var(--accent);color:var(--navy);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}button.primary,a.button.primary{background:var(--navy);border-color:var(--navy);color:#fff}button.primary:hover:not(:disabled),a.button.primary:hover{background:var(--navy-dark);border-color:var(--navy-dark);color:#fff}button.accent,a.button.accent{background:var(--accent);border-color:var(--accent);color:var(--navy);font-weight:500}button.accent:hover:not(:disabled),a.button.accent:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--navy)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover:not(:disabled){color:#fff;background:#dc2626;border-color:#dc2626}button.ghost{color:var(--text);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--accent);color:var(--navy)}button.sm{height:var(--control-h-sm);padding:0 var(--space-12);gap:var(--space-6)}button.lg{height:var(--control-h-lg);padding:0 var(--space-24);font-size:var(--text-lg)}button.icon{width:var(--control-h);padding:0}@keyframes spin{to{transform:rotate(360deg)}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.spacer{flex:1}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}.alert{border-radius:var(--radius-nav);font-size:var(--text-md);border:1px solid #0000;margin-bottom:16px;padding:12px 16px;line-height:1.25rem}.alert.error{background:var(--danger-soft);color:#991b1b;border-color:var(--danger)}.alert.success{background:var(--ok-soft);color:#065f46;border-color:var(--ok)}.alert.info{background:var(--info-soft);color:#1e40af;border-color:var(--info)}.notice-accent{border:1px solid var(--accent);border-radius:var(--radius-nav);text-align:center;color:var(--navy);font-size:var(--text-md);background:#f4b9401a;padding:16px;line-height:1.25rem}.empty{text-align:center;color:var(--text-muted);padding:32px 24px}.empty .big{font-size:var(--text-display);opacity:.5;margin-bottom:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg,#eceff3 25%,#f4f6f8 50%,#eceff3 75%) 0 0/200% 100%;border-radius:6px;height:14px;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:#eceff3;animation:none}}.skeleton-table{border-collapse:collapse;width:100%}.skeleton-table th,.skeleton-table td{padding:var(--space-12) var(--space-16) var(--space-12) 0;border-bottom:1px solid var(--border)}.skeleton-table tr:last-child td{border-bottom:none}.skeleton-stats{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.skeleton-stat{border:1px solid var(--border);border-radius:var(--radius);padding:var(--card-pad);background:var(--surface)}.modal-backdrop{z-index:var(--z-modal);background:#00000080;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-nav);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:32rem;max-height:90vh;animation:.2s ease-out zoom-in;display:flex;position:relative}.modal.wide{max-width:42rem}.modal.xwide{max-width:48rem}.modal-head{align-items:flex-start;gap:12px;padding:24px 24px 0;display:flex}.modal-head h2{font-size:var(--text-xl);flex:1;font-weight:600}.modal-head .close{color:var(--text-muted);background:0 0;border:0;border-radius:4px;height:auto;padding:4px}.modal-head .close:hover:not(:disabled){background:var(--accent);color:var(--navy)}.modal-body{scrollbar-width:thin;padding:16px 24px 24px;overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.modal-foot{justify-content:flex-end;gap:8px;padding:0 24px 24px;display:flex}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.form-intro{color:var(--text-muted);font-size:var(--text-md);margin:0 0 16px;line-height:1.5}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes zoom-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal,.user-dropdown{animation:none}}.login{min-height:100vh;display:flex}.login-form-pane{background:var(--surface);justify-content:center;align-items:center;width:100%;padding:32px;display:flex}.login-form{flex-direction:column;gap:24px;width:100%;max-width:28rem;display:flex}.login-head{text-align:center}.login-logo{object-fit:contain;width:80px;height:80px;margin:0 auto;display:block}.login-head h1{margin-top:24px}.login-head p{margin-top:8px}.login-form .field{margin:0}.login-form .notice-accent{margin-top:0}.login-hero{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);color:#fff;display:none;position:relative;overflow:hidden}.login-hero-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:36rem;height:100%;margin:0 auto;padding:48px;display:flex}.login-hero h2{color:#fff}.login-hero p{color:#e5e7eb;font-size:var(--text-xl);margin-top:24px;line-height:1.75rem}.glass-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;margin-top:32px;display:grid}.glass{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-nav);background:#ffffff1a;padding:16px}.glass .text-3xl{color:#fff}.glass .text-sm{color:#d1d5db;margin-top:4px}@media (width>=1024px){.login-form-pane{width:50%}.login-hero{width:50%;display:block}}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-inline-start:2px solid var(--border);margin-inline-start:8px;padding:0 0 16px 24px;position:relative}.timeline li:last-child{border-inline-start-color:#0000;padding-bottom:0}.timeline li:before{content:"";inset-inline-start:-7px;background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;width:12px;height:12px;position:absolute;top:2px}.timeline li.done:before{background:var(--ok);border-color:var(--ok)}.timeline li.current:before{background:var(--brand);border-color:var(--brand)}.timeline .t-title{font-weight:600;font-size:var(--text-sm)}.timeline .t-meta{color:var(--text-muted);font-size:var(--text-xs);margin-top:4px}.kv{font-size:var(--text-md);grid-template-columns:auto 1fr;gap:8px 16px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-weight:500}.detail{font-size:var(--text-md);grid-template-columns:168px minmax(0,1fr);gap:0;margin:0;display:grid}.detail dt{color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 16px 8px 0;font-weight:500}.detail dd{color:var(--text);border-bottom:1px solid var(--border);overflow-wrap:anywhere;min-width:0;margin:0;padding:8px 0;font-weight:500}.detail dt:last-of-type,.detail dd:last-of-type{border-bottom:none}@media (width<=640px){.detail{grid-template-columns:minmax(0,1fr)}.detail dt{border-bottom:none;padding-bottom:0}.detail dd{padding-top:2px}}.pager{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 24px;display:flex}.dt-body .pager{margin-top:0;padding-bottom:24px}.pager .range{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.pager .pager-actions{align-items:center;gap:8px;display:flex}.pager select{width:auto;height:32px;font-size:var(--text-sm);padding:0 8px}.pager label{color:var(--text-muted);font-weight:500;font-size:var(--text-sm);margin:0}.user-menu{flex-shrink:0;position:relative}.user-trigger{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);height:40px;color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:8px;max-width:280px;padding:0 12px 0 4px;display:flex}.user-trigger:hover:not(:disabled){background:var(--bg);color:var(--text);border-color:var(--border)}.user-trigger[aria-expanded=true]{background:var(--bg)}.role-chip{text-transform:uppercase;letter-spacing:.04em}.user-trigger-text{text-align:start;min-width:0;line-height:1.25}.user-trigger-text strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.user-trigger-text small{font-size:var(--text-2xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-chevron{color:var(--text-subtle);flex-shrink:0}.user-avatar{background:var(--navy);color:#fff;width:32px;height:32px;font-size:var(--text-xs);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.user-avatar.lg{width:44px;height:44px;font-size:var(--text-base)}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-dropdown{top:calc(100% + 8px);z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:224px;box-shadow:var(--shadow-lg);animation:.12s ease-out menu-in;position:absolute;inset-inline-end:0;overflow:hidden}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.user-dropdown{animation:none}}.user-dropdown-head{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:12px;padding:16px;display:flex}.user-dropdown-head>div{min-width:0}.user-dropdown-head strong{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.user-dropdown-head small{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px;display:block}.user-facts{font-size:var(--text-sm);border-bottom:1px solid var(--border);grid-template-columns:78px minmax(0,1fr);gap:0;margin:0;padding:12px 16px;display:grid}.user-facts:empty{border-bottom:none;padding:0;display:none}.user-facts dt{color:var(--text-muted);padding:4px 8px 4px 0}.user-facts dd{text-overflow:ellipsis;white-space:nowrap;margin:0;padding:4px 0;font-weight:500;overflow:hidden}.user-actions{padding:8px}.user-actions button{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;font-size:var(--text-md);text-align:start;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;padding:8px 12px;font-weight:500;display:flex}.user-actions button:hover:not(:disabled){background:var(--accent);color:var(--navy)}.user-actions .danger-text{color:var(--danger)}.user-actions .danger-text:hover:not(:disabled){background:var(--danger-soft)}@media (width<=640px){.user-trigger-text,.user-chevron{display:none}.user-trigger{padding:4px}.user-dropdown{width:264px}}.report-card{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.report-card h4{margin-top:8px}.report-card .text-sm{flex:1}.report-card .export{margin-top:8px}.export{flex-direction:column;align-items:flex-end;display:inline-flex;position:relative}.export-chevron{color:var(--text-subtle);margin-inline-start:-2px}.export-menu{top:calc(100% + 8px);z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:232px;box-shadow:var(--shadow);padding:4px;animation:.12s ease-out menu-in;position:absolute;inset-inline-end:0}.export-menu button{width:100%;height:auto;color:var(--text);text-align:start;background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:flex-start;gap:12px;padding:8px 12px;display:flex}.export-menu button svg{color:var(--navy);flex-shrink:0;margin-top:2px}.export-menu button span{flex-direction:column;gap:2px;line-height:1.25rem;display:flex}.export-menu button small{font-size:var(--text-xs);color:var(--text-muted);font-weight:400;line-height:1rem}.export-menu button:hover:not(:disabled){background:var(--accent);color:var(--navy)}.export-menu button:hover:not(:disabled) small{color:var(--navy-light)}.export-error{top:calc(100% + 8px);z-index:50;background:var(--danger-soft);color:#991b1b;border:1px solid var(--danger);border-radius:var(--radius-sm);max-width:320px;font-size:var(--text-sm);padding:8px 12px;line-height:1.25rem;position:absolute;inset-inline-end:0}@media (prefers-reduced-motion:reduce){.export-menu{animation:none}}.widget-list{margin:0;padding:0;list-style:none}.widget-list li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.widget-list li:last-child{border-bottom:none}.widget-list li.off{opacity:.55}.widget-name{min-width:0;font-weight:600;font-size:var(--text-sm);flex:1}.widget-name small{font-weight:400;font-size:var(--text-xs);color:var(--text-muted);margin-top:2px;display:block}.tiles{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.tiles{grid-template-columns:1fr 1fr}}.profile-head{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:0;padding-bottom:16px;display:flex}.profile-identity{min-width:0}.profile-identity h2{font-size:var(--text-xl);letter-spacing:-.02em}.profile-identity p{color:var(--text-muted);font-size:var(--text-md);margin:4px 0 0}.profile-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:16px;display:flex}.profile-tabs button{height:auto;color:var(--text-muted);font-weight:500;font-size:var(--text-md);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:8px 16px}.profile-tabs button:hover:not(:disabled){color:var(--text);background:0 0}.profile-tabs button.on{color:var(--navy);border-bottom-color:var(--accent)}.profile-body{min-height:220px}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.facts h4{align-items:center;gap:var(--space-8);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;display:flex}.facts .detail{font-size:var(--text-sm);grid-template-columns:104px minmax(0,1fr)}.facts .detail dt,.facts .detail dd{padding:8px 0}.facts .detail dt{padding-inline-end:12px}.tab-head{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.tab-head>div:first-child{flex:1;min-width:0}.tab-head h3{font-size:var(--text-md)}.tab-head .hint{margin-top:4px}.balance-strip{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;margin-bottom:16px;display:grid}.balance{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.balance-name{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.balance-figure{font-size:var(--text-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:650}.balance-figure small{font-size:var(--text-sm);color:var(--text-subtle);font-weight:500}.rule-section h3{align-items:center;gap:8px;display:flex}.rule-section{border-top:1px solid var(--border);padding:16px 0}.rule-section:first-of-type{border-top:none;padding-top:4px}.rule-section h3{font-size:var(--text-md);margin-bottom:var(--space-4)}.rule-section>.hint{margin:0 0 16px}.day-picker{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.day-picker .day{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);height:36px;color:var(--text-muted);font-size:var(--text-sm);justify-content:center;min-width:52px;padding:0 12px;font-weight:600}.day-picker .day.on{background:var(--accent);border-color:var(--accent-dark);color:var(--navy)}.day-picker .day:hover:not(:disabled){border-color:var(--brand)}.day-picker .day.on:hover:not(:disabled){background:var(--accent-dark)}.input-suffix{align-items:center;gap:8px;display:flex}.input-suffix input{flex:1;min-width:0}.input-suffix span{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;flex-shrink:0}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tabs{background:var(--surface-3);border-radius:var(--radius);padding:var(--space-4);flex-wrap:wrap;gap:2px;max-width:100%;display:inline-flex}.tabs button{height:34px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:11px;gap:8px;padding:0 16px;font-weight:500}.tabs button:hover:not(:disabled){color:var(--text);background:0 0;border-color:#0000}.tabs button.on{background:var(--surface);color:var(--navy);border-color:var(--border);box-shadow:var(--shadow-sm)}.tabs button.on:hover:not(:disabled){background:var(--surface);color:var(--navy);border-color:var(--border)}.tab-count{font-size:var(--text-xs);background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:0 6px;line-height:1rem}.tabs button.on .tab-count{background:var(--accent);color:var(--navy);border-color:var(--accent)}.confirm-body{color:var(--text-muted);font-size:var(--text-md);line-height:1.25rem}.confirm-body strong{color:var(--text)}.split-13{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=1024px){.split-13{grid-template-columns:1fr 2fr}}.identity-card{text-align:center;padding:var(--card-pad);flex-direction:column;align-items:center;display:flex}.identity-card .avatar.xl{background:var(--surface);border:1px solid var(--border)}.identity-card .avatar.xl img{object-fit:contain;padding:8px}.identity-card h3{margin-top:16px}.identity-card .muted{margin-top:4px}.identity-card .form-actions{justify-content:center;margin-top:16px}.tile-group{margin-bottom:24px}.tile-group:last-child{margin-bottom:0}.tile-group h5{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-12)}.section-title{font-size:var(--text-md);color:var(--navy);margin:24px 0 8px;font-weight:600}.section-title:first-child{margin-top:0}.stack>*+*{margin-top:16px}.role-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:12px;padding:24px;display:flex}.role-head{align-items:center;gap:12px;display:flex}.role-head h3{flex:1;min-width:0}.role-summary{color:var(--text-muted);font-size:var(--text-md);margin:0;line-height:1.25rem}.role-can{font-size:var(--text-md);margin:0;padding:0;list-style:none}.role-can li{padding:var(--space-4) 0 var(--space-4) var(--space-20);color:var(--text);position:relative}.role-can li:before{content:"";inset-inline-start:3px;background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:11px}.role-card>button{align-self:flex-start;margin-top:auto}.credential{background:var(--warn-soft);border-radius:var(--radius-sm);border:1px solid #fde68a;padding:12px 16px}.credential-row{flex-wrap:wrap;align-items:center;gap:12px;padding:4px 0;display:flex}.credential-label{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;width:74px;font-weight:600}.credential code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-base);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;padding:4px 12px;font-weight:600}.money{font-variant-numeric:tabular-nums}.money.neg{color:var(--danger)}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.icon-btn:hover:not(:disabled){background:var(--bg);color:var(--text);border-color:var(--border-strong)}.icon-btn .count{top:-5px;min-width:18px;height:18px;padding:0 var(--space-6);background:var(--accent);color:var(--navy);font-size:var(--text-2xs);border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex;position:absolute;inset-inline-end:-5px}.notif-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notif-item{text-align:start;white-space:normal;border:1px solid var(--border);border-radius:var(--radius-nav);background:var(--surface);width:100%;height:auto;min-height:0;color:var(--text);font:inherit;cursor:pointer;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.notif-item:hover:not(:disabled){background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.notif-item.unread{background:var(--brand-soft);border-color:#c7cbda}.notif-item.unread:hover:not(:disabled){background:var(--brand-soft)}.notif-icon{border-radius:var(--radius-nav);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.notif-icon svg{width:18px;height:18px}.notif-icon.sm{width:30px;height:30px}.notif-icon.sm svg{width:15px;height:15px}.notif-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.notif-title{font-size:var(--text-md);color:var(--text);align-items:center;gap:8px;font-weight:600;line-height:1.35;display:flex}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #f4b94040}.notif-text{font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:anywhere;line-height:1.5}.notif-time{color:var(--text-subtle);font-size:var(--text-xs);white-space:nowrap;flex-shrink:0;padding-top:2px;line-height:1.35}@media (width<=640px){.notif-item{gap:10px;padding:12px 14px}.notif-time{display:none}}.switch{vertical-align:middle;width:38px;height:22px;margin:0;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{background:var(--border-strong);cursor:pointer;border-radius:11px;transition:background .15s;position:absolute;inset:0}.switch span:after{content:"";inset-inline-start:2px;width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:2px}.switch input:checked+span{background:var(--navy)}.switch input:checked+span:after{transform:translate(16px)}[dir=rtl] .switch input:checked+span:after{transform:translate(-16px)}.switch input:disabled+span{opacity:.45;cursor:not-allowed}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.event-legend{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-nav);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:20px;padding:12px 16px;display:flex}.event-legend strong{color:var(--text)}.event-group+.event-group{margin-top:24px}.event-group>h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px}.event-name{align-items:flex-start;gap:10px;display:flex}.event-name .hint{max-width:52ch;margin-top:2px}.hint-inline{align-items:center;gap:4px;display:inline-flex}.compose-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}@media (width<=900px){.compose-grid{grid-template-columns:1fr}}.audience-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:2px;max-height:240px;padding:6px;display:flex;overflow:auto}.audience-list label{padding:var(--space-8);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-md);align-items:center;gap:10px;margin:0;font-weight:400;line-height:1.3;display:flex}.audience-list label:hover{background:var(--surface-2)}.audience-list input{width:auto;margin:0}.audience-list .muted{font-size:var(--text-xs);white-space:nowrap;margin-inline-start:auto}.radio-row{gap:var(--space-8) var(--space-20);flex-wrap:wrap;display:flex}.radio-row label{cursor:pointer;margin:0;font-weight:400}.radio-row input{width:auto;margin:0}.reach{background:var(--info-soft);border-radius:var(--radius-nav);font-size:var(--text-sm);border:1px solid #bfdbfe;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 14px;line-height:1.45;display:flex}.reach svg{color:var(--info);flex-shrink:0;margin-top:2px}.rail-tip{z-index:var(--z-tooltip);padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);background:var(--navy-dark);color:#fff;border:1px solid var(--navy-light);font-size:var(--text-xs);white-space:nowrap;box-shadow:var(--shadow-lg);pointer-events:none;font-weight:500;line-height:1;animation:.1s ease-out fade-in;position:fixed;transform:translateY(-50%)}.rail-tip:before{content:"";inset-inline-end:100%;border:5px solid #0000;border-inline-end-color:var(--navy-dark);position:absolute;top:50%;transform:translateY(-50%)}@media (width<=1023px){.rail-tip{display:none}}.popover{z-index:var(--z-popover);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-nav);box-shadow:var(--shadow-lg);min-width:220px;padding:6px;animation:.12s ease-out fade-in;position:fixed}.popover button{text-align:start;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:flex-start;gap:10px;width:100%;height:auto;padding:10px 12px}.popover button:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:#0000}.popover button svg{color:var(--text-muted)}.popover button span{flex-direction:column;gap:2px;min-width:0;display:flex}.popover button small{color:var(--text-muted);font-size:var(--text-2xs);font-weight:400}.popover .user-dropdown-inner{min-width:260px}.popover .user-dropdown-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px 12px;display:flex}.popover .user-dropdown-head>div{min-width:0}.popover .user-dropdown-head strong{font-size:var(--text-md);display:block}.popover .user-dropdown-head small{color:var(--text-muted);font-size:var(--text-xs);display:block}.popover .user-facts{border-bottom:1px solid var(--border);font-size:var(--text-xs);grid-template-columns:auto 1fr;gap:4px 12px;margin:0;padding:12px;display:grid}.popover .user-facts dt{color:var(--text-muted)}.popover .user-facts dd{overflow-wrap:anywhere;margin:0}.popover .user-actions{flex-direction:column;padding-top:6px;display:flex}.popover .user-actions .danger-text,.popover .user-actions .danger-text svg{color:var(--danger)}.reporting-health{border-color:var(--warn);background:var(--warn-soft)}.reporting-health .card-body{padding:20px 24px}.rh-head{align-items:flex-start;gap:14px;display:flex}.rh-icon{border-radius:var(--radius-nav);width:36px;height:36px;color:var(--warn);border:1px solid var(--warn);background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.rh-icon svg{width:18px;height:18px}.rh-copy{flex:1;min-width:0}.rh-copy strong{font-size:var(--text-base);color:var(--navy);display:block}.rh-copy .hint{margin-top:2px}.reporting-health .table-wrap{background:var(--surface)}.rh-fix{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px;display:flex}.employee-record .profile-head{margin-top:0}.employee-record .profile-body{padding-bottom:0}.row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.row-action{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.row-action:hover:not(:disabled){background:var(--navy);border-color:var(--navy);color:#fff}.row-action.accent{background:var(--surface);color:var(--accent-dark);border-color:var(--accent)}.row-action.accent:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--navy)}.row-action.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.row-action.danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.row-action.ok{background:var(--surface);color:#047857;border-color:var(--ok)}.row-action.ok:hover:not(:disabled){background:var(--ok);border-color:var(--ok);color:#fff}.row-action:disabled{opacity:.35;cursor:not-allowed;background:var(--surface);border-color:var(--border);color:var(--text-muted)}.action-tip{z-index:var(--z-tooltip);padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);background:var(--navy-dark);color:#fff;border:1px solid var(--navy-light);font-size:var(--text-xs);white-space:nowrap;box-shadow:var(--shadow-lg);pointer-events:none;font-weight:500;line-height:1.1;animation:.1s ease-out fade-in;position:fixed;transform:translate(-50%,-100%)}.action-tip:after{content:"";border:5px solid #0000;border-top-color:var(--navy-dark);position:absolute;top:100%;left:50%;transform:translate(-50%)}.perm-title{font-size:var(--text-lg);margin:24px 0 4px}.perm-group{margin-top:20px}.perm-group h5{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.perm-rows{flex-direction:column;gap:2px;display:flex}.perm-row{border-radius:var(--radius-nav);background:var(--surface-muted,#f8fafc);border:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.perm-row.held{border-color:var(--border);background:var(--surface,#fff)}.perm-copy{min-width:0}.perm-copy strong{font-weight:500;display:block}.perm-copy .cell-sub{display:block}.perm-stance{flex-wrap:nowrap;flex-shrink:0;gap:0;display:flex}.perm-stance button{font-size:var(--text-xs);border:1px solid var(--border);background:var(--surface,#fff);color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;padding:4px 10px;line-height:1.25;display:inline-flex}.perm-stance button:first-child{border-radius:var(--radius-nav) 0 0 var(--radius-nav)}.perm-stance button:last-child{border-radius:0 var(--radius-nav) var(--radius-nav) 0}.perm-stance button+button{margin-inline-start:-1px}.perm-stance button:hover{color:var(--text)}.perm-stance button.on{color:var(--text);background:var(--tint-blue);z-index:1}.perm-stance button.on.grant{background:var(--tint-green);color:var(--ok);border-color:var(--ok)}.perm-stance button.on.revoke{background:var(--tint-red);color:var(--danger);border-color:var(--danger)}.perm-deltas{flex-wrap:wrap;gap:4px;display:flex}.chain-grid>.card{flex-direction:column;display:flex}.chain-grid>.card>.card-body{flex:1}.chain-grid .card-head{align-items:flex-start;min-height:64px}.chain-grid .card-head h4{line-height:1.3}.chain,.chain-edit{flex-direction:column;gap:8px;list-style:none;display:flex}.chain li,.chain-edit li{align-items:flex-start;gap:12px;display:flex}.chain-edit li{border:1px solid var(--border);border-radius:var(--radius-nav);align-items:center;padding:12px}.chain-no{width:24px;height:24px;font-size:var(--text-xs);background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:500;display:grid}.chain li strong{font-weight:500;display:block}.chain-fields{flex-wrap:wrap;flex:1;gap:12px;min-width:0;display:flex}.chain-fields label{flex:1;min-width:160px}.member-list{flex-direction:column;gap:4px;list-style:none;display:flex}.member-list li{border:1px solid var(--border);border-radius:var(--radius-nav);padding:8px 12px}.member-list strong{font-weight:500}.member-list .cell-sub,.bulk-kind .cell-sub{display:block}.section-title{font-size:var(--text-lg);align-items:center;gap:8px;margin-bottom:12px;display:flex}@media (width<=720px){.perm-row{flex-direction:column;align-items:stretch;gap:10px}.perm-stance{justify-content:stretch}.perm-stance button{flex:1;justify-content:center}}.avatar.lg{width:64px;height:64px;font-size:var(--text-xl)}.avatar.busy{opacity:.5}.avatar-upload{flex-shrink:0;display:inline-block;position:relative}.avatar-camera,.avatar-clear{cursor:pointer;border:2px solid var(--surface,#fff);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;box-shadow:0 1px 3px #0000002e}.avatar-camera{inset-inline-end:-2px;background:var(--navy);color:#fff;width:30px;height:30px;bottom:-2px}.avatar-clear{inset-inline-end:-2px;background:var(--surface,#fff);width:26px;height:26px;color:var(--danger);top:-2px}.avatar-camera:hover{background:var(--navy-light,#1e3a5f)}.avatar-clear:hover{background:var(--tint-red)}.avatar-camera:disabled,.avatar-clear:disabled{opacity:.5;cursor:default}.avatar-error{top:100%;width:max-content;max-width:240px;font-size:var(--text-xs);color:var(--danger);margin-top:6px;position:absolute;inset-inline-start:0}.punch-card{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.punch-shift{font-size:var(--text-xl);color:var(--text);margin-top:4px;font-weight:500}.punch-times{gap:24px;margin-top:16px;display:flex}.punch-times .label{font-size:var(--text-xs);color:var(--text-muted);display:block}.punch-times strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:400}.punch-actions{flex-direction:column;gap:8px;min-width:200px;display:flex}.punch-actions button{justify-content:center;padding:12px 20px}.punch-actions .text-xs{align-items:center;gap:4px;margin-top:4px;display:flex}@media (width<=640px){.punch-card{flex-direction:column}.punch-actions{width:100%}}.steps{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps li{border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm);color:var(--text-muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-weight:500;display:inline-flex}.steps li.current{border-color:var(--navy);color:var(--navy)}.steps li.done{color:var(--text)}.steps-n{width:22px;height:22px;font-size:var(--text-xs);background:var(--surface-3);color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.steps li.current .steps-n{background:var(--navy);color:#fff}.steps li.done .steps-n{background:var(--ok);color:#fff}.bulk-group+.bulk-group{margin-top:24px}.bulk-group-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.bulk-group-head h5{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-weight:600}.bulk-group-head span{font-size:var(--text-sm);color:var(--text-subtle)}.bulk-choices{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.bulk-choice{white-space:normal;text-align:start;border-radius:var(--radius-nav);border:1px solid var(--border);background:var(--surface);width:100%;height:auto;line-height:1.4;font:inherit;color:inherit;align-items:flex-start;gap:12px;padding:14px 14px 14px 12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.bulk-choice:hover:not(:disabled){border-color:var(--navy);background:var(--surface);color:inherit;transform:translateY(-1px);box-shadow:0 1px 3px #1a1f3d1a}.bulk-choice:disabled{opacity:.55;cursor:not-allowed}.bulk-choice-icon{border-radius:9px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.bulk-choice-icon.g-structure{background:var(--tint-blue);color:var(--info)}.bulk-choice-icon.g-shifts{background:var(--tint-orange);color:var(--accent-dark)}.bulk-choice-icon.g-attendance{background:var(--tint-green);color:var(--ok)}.bulk-choice-icon.g-leave{background:var(--brand-soft);color:var(--navy)}.bulk-choice-icon.g-other{background:var(--surface-3);color:var(--text-muted)}.bulk-choice-text{flex:1;min-width:0;display:block}.bulk-choice-text strong{margin-bottom:2px;font-weight:600;display:block}.bulk-choice .cell-sub{display:block}.bulk-choice-go{margin-top:var(--space-8);color:var(--text-subtle);flex-shrink:0}.bulk-choice:hover:not(:disabled) .bulk-choice-go{color:var(--navy)}.card-head>.bulk-choice-icon{margin-inline-end:2px}.bulk-two{grid-template-columns:1fr 1fr;align-items:start;gap:20px;margin-top:20px;display:grid}@media (width<=900px){.bulk-two{grid-template-columns:1fr}}.bulk-pane{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-16);background:var(--surface-2);min-height:100%}.bulk-pane>p{margin-bottom:12px}.bulk-pane h5{font-size:var(--text-base);align-items:center;gap:8px;margin-bottom:6px;font-weight:600;display:flex}.bulk-n{width:22px;height:22px;font-size:var(--text-xs);background:var(--navy);color:#fff;border-radius:50%;place-items:center;font-weight:600;display:grid}.bulk-columns{margin:12px 0 0}.bulk-columns summary{cursor:pointer;font-size:var(--text-md);color:var(--text-muted);align-items:center;gap:6px;padding:8px 0;font-weight:500;list-style:none;display:flex}.bulk-columns summary::-webkit-details-marker{display:none}.bulk-columns summary:hover{color:var(--text)}.bulk-columns summary svg{transition:transform .15s}.bulk-columns[open] summary svg{transform:rotate(90deg)}[dir=rtl] .bulk-columns summary svg{transform:scaleX(-1)}[dir=rtl] .bulk-columns[open] summary svg{transform:rotate(90deg)}.bulk-columns table{margin-top:8px}.dropzone{text-align:center;cursor:pointer;border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:152px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.dropzone:hover,.dropzone.over{border-color:var(--navy);background:var(--brand-soft,#eef0f6)}.dropzone.has-file{border-style:solid;border-color:var(--ok);background:var(--ok-soft);color:var(--text)}.dropzone strong{font-weight:600}.dropzone .row-action{top:10px;position:absolute;inset-inline-end:10px}.bulk-errors{flex-direction:column;gap:6px;list-style:none;display:flex}.bulk-errors li{font-size:var(--text-md);border-radius:var(--radius-sm,8px);background:var(--danger-soft);align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.bulk-errors .badge{flex-shrink:0}.dt-scroll{overflow-x:auto}table.dt.roster{table-layout:auto}.roster th.roster-day{text-align:center;white-space:nowrap;min-width:58px;padding:6px 4px}.roster th.roster-day span{font-weight:600;display:block}.roster th.roster-day small{color:var(--text-subtle);font-weight:400;display:block}.roster th.roster-day.rest-col,.roster td.roster-cell.rest-col{background:var(--surface-2)}.roster td.roster-name,.roster th.roster-name{min-width:230px}.roster td.roster-total,.roster th.roster-total{text-align:end;font-variant-numeric:tabular-nums;font-weight:600}.roster td.roster-cell{padding:var(--space-4);text-align:center}.rc{border-radius:var(--radius-sm);padding:var(--space-6) var(--space-4);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1rem;display:block;overflow:hidden}.rc.working{color:#04543c;background:#c9f2df}.rc.week_off{color:#1c3faa;background:#cfe0fd}.rc.holiday{color:#78400a;background:#fde68a}.rc.rest_granted{color:#7c2d12;background:#fdba74}.rc.no-shift{background:var(--surface-3);color:var(--text-muted);font-style:italic;font-weight:500}.roster-key{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;gap:12px;display:flex}.roster-key span{align-items:center;gap:var(--space-6);display:inline-flex}.roster-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.roster-swatch.working{background:#c9f2df}.roster-swatch.week_off{background:#cfe0fd}.roster-swatch.rest_granted{background:#fdba74}.roster-swatch.holiday{background:#fde68a}.roster-name .cell-sub{display:block}.segmented{display:inline-flex}.segmented button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:0;font-weight:500}.segmented button:first-child{border-radius:0;border-start-start-radius:var(--radius-sm);border-end-start-radius:var(--radius-sm)}.segmented button:last-child{border-radius:0;border-start-end-radius:var(--radius-sm);border-end-end-radius:var(--radius-sm)}.segmented button+button{margin-inline-start:-1px}.segmented button.on{background:var(--navy);border-color:var(--navy);color:#fff;z-index:1}.segmented button.on:hover{background:var(--navy);border-color:var(--navy);color:#fff}.user-language{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.user-language-label{font-size:var(--text-sm);color:var(--text-muted)}.user-language .segmented button{font-size:var(--text-sm);padding:4px 10px}.team-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}@media (width<=1100px){.team-grid{grid-template-columns:1fr}}.team-side{flex-direction:column;gap:20px;display:flex}.team-list{flex-direction:column;list-style:none;display:flex}.team-row{border-bottom:1px solid var(--border);grid-template-columns:32px minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:8px 0;display:grid}.team-row:last-child{border-bottom:0}.team-list.compact .team-row{grid-template-columns:minmax(0,1fr) auto}.team-who{min-width:0}.team-who strong{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.team-who .cell-sub{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.team-when{font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.team-state{gap:4px;display:flex}a.list-row{color:inherit;text-decoration:none}.toasts{inset-inline-end:24px;z-index:var(--z-toast);flex-direction:column;gap:8px;max-width:min(420px,100vw - 48px);display:flex;position:fixed;bottom:24px}.toasts:empty{pointer-events:none}.toast{border-radius:var(--radius-nav);border:1px solid var(--border);background:var(--navy-dark);color:#fff;font-size:var(--text-md);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;line-height:1.25rem;animation:.16s ease-out toast-in;display:flex}.toast>svg{flex-shrink:0;margin-top:2px}.toast.success>svg{color:var(--ok)}.toast.error>svg{color:#fca5a5}.toast.info>svg{color:var(--accent)}.toast>span{flex:1}.toast-close{color:#cbd5e1;background:0 0;border:0;border-radius:999px;height:auto;margin:-2px -4px 0 0;padding:2px}.toast-close:hover:not(:disabled){color:#fff;background:#ffffff1f;border-color:#0000}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=640px){.toasts{inset-inline:12px;max-width:none;bottom:12px}}button.sm.icon{width:var(--control-h-sm);padding:0}.dt-progress{background:var(--surface-3);border-radius:999px;height:2px;margin:8px 16px 0;position:relative;overflow:hidden}.dt-progress:after{content:"";background:var(--accent);border-radius:999px;width:35%;animation:1s ease-in-out infinite dt-progress;position:absolute;inset:0 auto 0 0}@keyframes dt-progress{0%{transform:translate(-100%)}to{transform:translate(300%)}}.dt.expanded{z-index:var(--z-expanded);background:var(--bg);flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:0}.dt.expanded .dt-card{border-inline:0;border-top:0;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex}.dt.expanded .dt-scroll{flex:auto;min-height:0;max-height:none!important}.dt.expanded .dt-bar{padding-top:14px}body.dt-expanded-open,body.modal-open{overflow:hidden}button.combo{min-width:200px;max-width:100%;height:var(--control-h);padding:0 var(--space-8) 0 var(--space-12);background:var(--input-fill,#f3f3f5);color:var(--text);text-align:start;border:1px solid #0000;flex-flow:row;justify-content:space-between;align-items:center;gap:8px;font-weight:400;display:inline-flex}button.combo:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--border)}button.combo[aria-expanded=true]{background:var(--surface);border-color:var(--navy)}button.combo.placeholder .combo-label{color:var(--text-muted)}.field>button.combo,.modal .field>button.combo{width:100%;min-width:0}.combo-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:inherit;color:inherit;flex:1;margin:0;display:inline;overflow:hidden}.combo-chevron{color:var(--text-muted);flex-shrink:0}.combo-clear{width:20px;height:20px;color:var(--text-muted);border-radius:999px;flex-shrink:0;place-items:center;display:inline-grid}.combo-clear:hover{background:var(--surface-3);color:var(--text)}.combo-panel{min-width:260px;max-width:360px;margin:-6px}.combo-search{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:8px;padding:8px 10px;display:flex}.combo-search input{height:28px;box-shadow:none;background:0 0;border:0;padding:0}.combo-search input:focus{box-shadow:none;outline:none}.combo-list{max-height:280px;padding:4px;overflow-y:auto}.combo-empty{color:var(--text-muted);font-size:var(--text-md);text-align:center;padding:14px 12px}.popover .combo-option{border-radius:var(--radius-sm);text-align:start;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;height:auto;padding:8px 10px;font-weight:400;display:flex}.popover .combo-option.cursor{background:var(--surface-2)}.popover .combo-option.on{font-weight:500}.popover .combo-option svg{color:var(--navy)}.combo-option-text{flex-direction:column;gap:1px;min-width:0;display:flex}.combo-option-text small{color:var(--text-muted);font-size:var(--text-xs)}.chain-table td{white-space:normal}.chain-inline{flex-wrap:wrap;align-items:center;gap:4px 2px;display:flex}.chain-inline-step{align-items:center;gap:2px;display:inline-flex}.chain-pill{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-12) var(--space-4) var(--space-4);border:1px solid var(--border);background:var(--surface-2);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;display:inline-flex}.chain-pill .chain-no{width:18px;height:18px;font-size:var(--text-2xs)}.chain-pill.final{border-color:var(--navy);background:var(--brand-soft,#eef0f6);font-weight:500}.chain-pill small{color:var(--text-muted)}.chain-arrow{color:var(--text-subtle)}.modules{flex-direction:column;display:flex}.module-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.module-row.off .module-text strong{color:var(--text-muted)}.module-text{flex-direction:column;gap:2px;min-width:0;display:flex}.module-text .cell-sub{white-space:normal}.warn-text{color:#b45309}.prose h1{font-size:var(--text-3xl);margin:0 0 var(--space-12)}.prose h2{font-size:var(--text-xl);margin:var(--space-20) 0 var(--space-8)}.prose h3{font-size:var(--text-lg);margin:var(--space-16) 0 var(--space-6)}.prose p,.prose li{font-size:var(--text-base);color:var(--text);line-height:1.6}.prose p{margin:0 0 10px}.prose ul,.prose ol{margin:0 0 var(--space-12) var(--space-24)}.prose blockquote{border-inline-start:3px solid var(--accent);background:var(--tint-yellow);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-base);margin:0 0 14px;padding:10px 14px}.legal{background:var(--bg);min-height:100vh}.legal-head{background:var(--navy);justify-content:space-between;align-items:center;gap:16px;padding:16px 32px;display:flex}.legal-logo{object-fit:contain;width:40px;height:40px}.legal-nav{gap:6px;display:flex}.legal-nav a{color:#fff;opacity:.8;border-radius:999px;padding:8px 14px;text-decoration:none}.legal-nav a.on{background:var(--accent);color:var(--navy);opacity:1;font-weight:600}.legal-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:760px;margin:32px auto;padding:32px}.legal-meta{color:var(--text-muted);font-size:var(--text-sm);margin-top:24px}.legal-back{font-size:var(--text-md);align-items:center;gap:6px;margin-top:12px;display:inline-flex}.consent{z-index:var(--z-gate);background:#1a1f3d8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.consent-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;width:min(760px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.consent-head{align-items:flex-start;gap:14px;padding:24px 24px 12px;display:flex}.consent-head svg{color:var(--navy);flex-shrink:0;margin-top:2px}.consent-head h2{font-size:var(--text-xl);margin:0 0 var(--space-4)}.consent-tabs{gap:6px;padding:0 24px 12px;display:flex}.consent-tabs button{background:var(--surface-2);border-color:#0000;border-radius:999px;height:34px;padding:0 14px;font-weight:500}.consent-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.consent-tick{color:var(--ok);margin-inline-start:8px;font-weight:700}.consent-tabs button.on .consent-tick{color:var(--accent)}.consent-body{min-height:200px;margin:0 var(--space-24);padding:var(--space-16) var(--space-20);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex:auto;overflow:auto}.consent-agree{flex-direction:column;gap:8px;padding:16px 24px 0;display:flex}.consent-agree .inline-check{white-space:normal;align-items:flex-start}.consent-agree input{margin-top:3px}.consent-actions{justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 24px;display:flex}.login-legal{text-align:center;font-size:var(--text-sm);color:var(--text-muted);margin-top:-8px}.login-legal a{color:var(--navy);font-weight:500}.code-block{border-radius:var(--radius-sm,8px);background:var(--surface-2);border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);white-space:pre;margin:0;padding:10px 12px;line-height:1.45;overflow-x:auto}.work-rule{border:0;border-top:1px solid var(--border);margin:20px 0 16px}.work-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:16px 0 8px;font-weight:600}.work-list{flex-direction:column;gap:6px;margin-bottom:10px;list-style:none;display:flex}.work-list li{font-size:var(--text-md);border-radius:var(--radius-sm,8px);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.work-list .muted{font-size:var(--text-sm);margin-inline-start:auto}.course-list{flex-direction:column;display:flex}.course-row{border:0;border-top:1px solid var(--border);background:var(--surface);text-align:start;width:100%;height:auto;font:inherit;color:inherit;white-space:normal;align-items:center;gap:12px;padding:12px 24px;display:flex}.course-row:hover{background:var(--surface-2);color:inherit}.course-text{flex-direction:column;flex:1;min-width:0;display:flex}.course-text .cell-sub{display:block}.approval-chain{gap:14px;margin:0;padding:0;list-style:none;display:grid}.approval-chain>li{padding-inline-start:calc(var(--space-16) + var(--space-12) + var(--space-6));position:relative}.approval-chain>li:not(:last-child):before{content:"";inset-inline-start:11px;background:var(--border);width:2px;position:absolute;top:26px;bottom:-16px}.approval-step-index{inset-inline-start:0;width:24px;height:24px;font-size:var(--text-xs);color:var(--accent-dark);background:var(--surface);border:1.5px solid var(--accent);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:absolute;top:1px}.approval-step-head{align-items:flex-start;gap:8px;display:flex}.approval-step-head .cell-sub{display:block}.approval-step-gap{margin:6px 0 0}.approval-people{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.approval-people li{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.approval-people .cell-sub{display:block}.avatar-initials{width:28px;height:28px;font-size:var(--text-xs);color:var(--text-muted);background:var(--surface-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.skip-link{inset-inline-start:-9999px;z-index:var(--z-toast);padding:var(--space-8) var(--space-20);background:var(--navy);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-md);font-weight:500;text-decoration:none;position:absolute;top:8px}.skip-link:focus,.skip-link:focus-visible{inset-inline-start:8px}.content:focus{outline:none}@media print{:root{--surface:#fff;--canvas:#fff}body{background:#fff}.sidebar,.topbar,.skip-link,.toasts,.pager-actions,.dt-toolbar,.page-title-actions,.row-actions,.modal-backdrop,.tabs,.stat-bar-item.link:after{display:none!important}.app,.content,.dt-card,.dt-scroll{height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.card{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}table.dt{font-size:11px;table-layout:auto!important;width:100%!important}table.dt thead{display:table-header-group}table.dt tr{break-inside:avoid}table.dt th,table.dt td{padding:4px 6px!important}.badge{color:#000!important;background:0 0!important;border:1px solid #999!important}.page-title h1{font-size:18pt}.page-title:after{content:attr(data-printed);color:#555;font-size:9pt;display:block}a[href]:after{content:""}}p,.hint,.sub,.muted,td,.dt-state-hint,.dt-state-title,dd,.badge{unicode-bidi:plaintext}.insights-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.insights-window{font-size:var(--text-sm);margin:0}.insight-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.insight-card{gap:var(--space-12);padding:var(--card-pad);flex-direction:column;display:flex}.insight-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.insight-head h2{font-size:var(--text-md);color:var(--text-muted);letter-spacing:.01em;margin:0;font-weight:600}.insight-change{font-size:var(--text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:600;display:inline-flex}.insight-change.good{color:var(--ok)}.insight-change.bad{color:var(--danger)}.insight-change.none{color:var(--text-subtle)}.insight-value{font-size:var(--text-display);font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-weight:600;line-height:1.1}.insight-context{font-size:var(--text-sm);margin:0}.insight-spark{width:100%;height:44px;margin:4px 0;display:block}.insight-spark .spark-ok{stroke:var(--navy)}.insight-spark .spark-bad{stroke:var(--danger)}.insight-breakdown{margin-top:4px}.insight-breakdown h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);margin:0 0 6px;font-weight:600}.insight-breakdown ul{margin:0;padding:0;list-style:none}.insight-breakdown li{border-bottom:1px solid var(--border);font-size:var(--text-md);justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;display:flex}.insight-breakdown li:last-child{border-bottom:0}.insight-breakdown-label{overflow-wrap:anywhere;min-width:0}.insight-breakdown-value{font-variant-numeric:tabular-nums;white-space:nowrap}.insight-inspect{font-size:var(--text-sm);align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-weight:500;display:inline-flex}[dir=rtl] .insight-inspect svg{transform:scaleX(-1)}.insights-unavailable{font-size:var(--text-sm);margin-top:20px}@media (width<=640px){.insight-grid{grid-template-columns:1fr}.insight-value{font-size:var(--text-4xl)}}.security-page{flex-direction:column;gap:20px;max-width:720px;display:flex}.security-card{padding:var(--card-pad);gap:var(--space-16);flex-direction:column;display:flex}.security-head{align-items:flex-start;gap:12px;display:flex}.security-head h2{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:600}.security-head p{font-size:var(--text-md);margin:0}.security-actions{flex-wrap:wrap;gap:8px;display:flex}.mfa-mark{color:var(--navy)}.mfa-key{font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-lg);letter-spacing:.12em;word-break:break-all;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);unicode-bidi:plaintext;margin:8px 0;padding:12px 14px;display:block}.mfa-secret{margin-bottom:4px}.code-input{letter-spacing:.35em;font-family:var(--mono,ui-monospace, monospace);text-align:start;direction:ltr}.recovery-codes{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);margin:12px 0;padding:12px}.recovery-codes ul{grid-template-columns:repeat(2,1fr);gap:6px 16px;margin:0 0 10px;padding:0;list-style:none;display:grid}.recovery-codes li{font-size:var(--text-base);letter-spacing:.06em;direction:ltr}@media (width<=480px){.recovery-codes ul{grid-template-columns:1fr}}.switch-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.switch-row:last-of-type{border-bottom:0}.switch-row input{flex-shrink:0;margin-top:3px}.switch-row span{flex-direction:column;gap:2px;min-width:0;display:flex}.switch-row strong{font-weight:500;font-size:var(--text-base)}.switch-row small{color:var(--text-muted);font-size:var(--text-sm);line-height:1.45}.link-button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;width:100%;padding:8px;text-decoration:underline}.link-button:hover{color:var(--text);background:0 0}.onboarding-list{margin:0;padding:0;list-style:none}.onboarding-list li{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.onboarding-list li:last-child{border-bottom:0}.onboarding-list li.done .onboarding-body strong{color:var(--text-muted)}.onboarding-mark{border:1px solid var(--border-strong);width:22px;height:22px;color:var(--ok);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.onboarding-list li.done .onboarding-mark{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.onboarding-mark .dot{background:var(--border-strong);border-radius:50%;width:6px;height:6px}.onboarding-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.onboarding-body small{font-size:var(--text-sm);color:var(--text-muted)}.onboarding-body .badge{align-self:flex-start;margin-top:2px}.expense-add{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;padding:12px;display:flex}.expense-add .field{min-width:120px;margin:0}.expense-add .field.grow{flex:200px}@media (width<=640px){.expense-add .field,.expense-add .field.grow{flex:100%}}.letter{white-space:pre-wrap;font-family:Georgia,Times New Roman,serif;font-size:var(--text-lg);color:#111;border:1px solid var(--border);unicode-bidi:plaintext;background:#fff;margin:12px 0;padding:32px;line-height:1.7}@media print{:is(body:has(.letter) .shell>*,body:has(.letter) .modal-actions){display:none!important}:is(body:has(.letter) .modal,body:has(.letter) .modal-scrim){box-shadow:none;background:0 0;padding:0;position:static}.letter{border:0;padding:0}}.org-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.org-search{flex:240px;min-width:0}.org-toolbar select{flex:0 200px;min-width:140px}.org-count{font-size:var(--text-sm);white-space:nowrap;margin-inline-start:auto}@media (width<=560px){.org-search,.org-toolbar select{flex:100%}.org-count{margin-inline-start:0}}.org-tree-card{padding:8px 0;overflow-x:auto}.org-tree,.org-tree ul{margin:0;padding:0;list-style:none}.org-row{padding:4px 16px;align-items:center;gap:8px;min-width:max-content;padding-inline-start:calc(var(--space-16) + var(--depth,0) * var(--space-24));display:flex}.org-row:hover{background:var(--surface-2)}.org-twist{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.org-twist:disabled{cursor:default;opacity:1}.org-twist:hover:not(:disabled){color:var(--text);background:0 0}[dir=rtl] .org-twist svg{transform:scaleX(-1)}[dir=rtl] .org-twist svg.lucide-chevron-down{transform:none}.org-leaf{background:var(--border-strong);border-radius:50%;width:5px;height:5px}.org-card{min-width:0;color:inherit;flex-direction:column;gap:0;padding:2px 0;text-decoration:none;display:flex}.org-card:hover .org-name{text-decoration:underline}.org-name{font-weight:500;font-size:var(--text-base)}.org-meta{font-size:var(--text-xs);color:var(--text-muted)}.org-drill{padding:var(--space-2) var(--space-8);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;margin-inline-start:var(--space-8);display:inline-flex}.org-orphans{margin-top:20px;padding:16px 20px}.org-orphans h2{font-size:var(--text-base);color:var(--danger);align-items:center;gap:8px;margin:0 0 4px;font-weight:600;display:flex}.org-orphans p{font-size:var(--text-sm);margin:0 0 10px}.org-orphans ul{margin:0;padding:0;list-style:none}.org-orphans li{padding:var(--space-6) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.org-orphans li:last-child{border-bottom:0}@media print{.org-toolbar,.org-drill,.org-twist{display:none!important}.org-tree-card{box-shadow:none;border:0;overflow:visible}.org-row{padding-block:2px}}.case-ref{align-items:center;gap:6px;display:inline-flex}.case-ref svg{color:var(--text-subtle)}.case-overdue{align-items:center;gap:var(--space-4);font-size:var(--text-xs);white-space:nowrap;margin-inline-start:6px;display:inline-flex}.case-detail{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius-sm);unicode-bidi:plaintext;margin:12px 0;padding:12px 14px}.case-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);margin:20px 0 8px;font-weight:600}.case-notes{margin:0;padding:0;list-style:none}.case-notes li{border-bottom:1px solid var(--border);padding:10px 0}.case-notes li:last-child{border-bottom:0}.case-note-head{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.case-note-head .badge{align-items:center;gap:4px;display:inline-flex}.case-notes p{white-space:pre-wrap;unicode-bidi:plaintext;margin:0}.case-add{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;padding:12px;display:flex}.case-add .field{min-width:140px;margin:0}.case-add .field.grow{flex:260px}.case-shared{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}@media (width<=640px){.case-add .field,.case-add .field.grow{flex:100%}}.timesheet-bar{margin-bottom:20px;padding:10px 16px}.timesheet-day{margin-bottom:20px;padding:16px 20px}.timesheet-headline{font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:0 0 10px}.timesheet-headline strong{font-weight:600}.timesheet-meter{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.timesheet-meter span{background:var(--navy);height:100%;transition:width .2s;display:block}.timesheet-entries{padding:0;overflow:hidden}.timesheet-entries table.dt{margin:0}.timesheet-actions{border-top:1px solid var(--border);justify-content:flex-end;padding:12px 16px;display:flex}.join{background:linear-gradient(135deg, var(--bg) 0%, var(--surface-2) 100%);min-height:100vh}.join-head{background:var(--navy);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.join-logo{object-fit:contain;width:40px;height:40px}.join-body{flex-direction:column;gap:24px;max-width:1000px;margin:0 auto;padding:24px 16px 64px;display:flex}.join-layout{flex-direction:column;gap:24px;display:flex}.join-sidebar{flex-direction:column;gap:16px;display:flex}.join-content{flex-direction:column;gap:24px;display:flex}@media (width>=768px){.join-layout{flex-direction:row;align-items:flex-start}.join-sidebar{flex:0 0 320px;position:sticky;top:24px}.join-content{flex:1;min-width:0}}.join-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 8px 30px #0000000a}.join-card h1{font-size:var(--text-3xl);margin:0 0 var(--space-8)}.join-card h2{font-size:var(--text-lg);margin:0 0 var(--space-4)}.join-eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-weight:600}.join-lede{font-size:var(--text-base);margin:0 0 12px;line-height:1.6}.join-privacy{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);font-size:var(--text-sm);align-items:flex-start;gap:8px;margin:0;padding:10px 12px;line-height:1.5;display:flex}.join-privacy svg{flex-shrink:0;margin-top:2px}.join-hint{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 12px;line-height:1.5}.join-error{border-radius:var(--radius-sm);background:var(--tint-red,#fdecec);color:var(--danger,#b42318);font-size:var(--text-md);margin:0 0 12px;padding:10px 12px}.join-done{color:var(--ok,#067647);font-size:var(--text-md);align-items:center;gap:6px;margin:12px 0 0;font-weight:500;display:flex}.join-dead h1{margin-bottom:6px}.join-loading{color:var(--text-muted);align-items:center;gap:10px;display:flex}.join-success-card{text-align:center;padding:40px 24px}.join-success-header{margin-bottom:24px}.join-success-icon{background:var(--tint-green,#ecfdf3);width:64px;height:64px;color:var(--ok,#067647);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards scaleIn;display:inline-flex;box-shadow:0 0 0 8px #0676470d}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.join-success-header h2{font-size:var(--text-2xl);color:var(--text);margin:0}.join-sent{margin-top:16px}.join-sent h3{font-size:var(--text-md);margin:0 0 4px}.join-sent-list{gap:2px;margin:0;display:grid}.join-sent-list>div{padding:var(--space-6) 0;border-block-end:1px solid var(--border-subtle,#eee);flex-wrap:wrap;gap:4px 10px;display:flex}.join-sent-list>div:last-child{border-block-end:0}.join-sent-list dt{color:var(--text-muted);font-size:var(--text-sm);flex:0 0 min(45%,190px)}.join-sent-list dd{font-size:var(--text-md);margin:0;font-weight:500}.join-form fieldset{border:0;margin:0 0 24px;padding:0}.join-form legend{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;padding:0;font-weight:600}.join-field{margin-bottom:18px;display:block}.join-label{font-size:var(--text-md);margin-bottom:8px;font-weight:500;display:block}.join-field input,.join-field select,.join-field textarea{width:100%;min-height:48px;font-size:var(--text-lg);border-radius:8px;transition:border-color .2s,box-shadow .2s}.join-field textarea{min-height:66px}.join-submit,.join-upload{width:100%;min-height:48px;font-size:var(--text-lg);background:var(--accent);color:var(--navy);border-color:var(--accent);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:transform .2s,opacity .2s,box-shadow .2s;display:inline-flex}.join-submit:hover:not(:disabled),.join-upload:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.join-submit:disabled,.join-upload:disabled{opacity:.6}.join-upload{background:var(--surface-2);color:var(--text);border-color:var(--border)}.join-docs{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.join-docs li{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px;transition:transform .2s,box-shadow .2s}.join-docs li:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.join-docs li.received{background:var(--tint-green,#ecfdf3);box-shadow:none;border-color:#0000;transform:none}.join-doc-head{align-items:flex-start;gap:10px;display:flex}.join-doc-head svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.join-doc-head strong{font-size:var(--text-base);display:block}.join-doc-head small{color:var(--text-muted);font-size:var(--text-sm);margin-top:2px;display:block}.join-doc-head>div{flex:auto;min-width:0}.join-need{background:var(--tint-red,#fdecec);color:var(--danger,#b42318);font-size:var(--text-xs);border-radius:999px;margin-top:4px;padding:1px 8px;font-weight:600;display:inline-block}.join-tick{color:var(--ok,#067647);font-size:var(--text-sm);flex-shrink:0;align-items:center;gap:4px;font-weight:600;display:inline-flex}.join-doc-fields{margin-top:16px}.join-foot{text-align:center;color:var(--text-muted);font-size:var(--text-sm);margin:0}.join-sent-pages{flex-flow:wrap;gap:16px;margin-top:12px;margin-bottom:12px;display:flex}.doc-view{color:var(--text);text-decoration:none;display:block}.doc-view-image{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:220px;height:160px;transition:box-shadow .15s,transform .15s;position:relative;overflow:hidden}.doc-view-image:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.doc-view-image img{object-fit:contain;width:100%;height:100%;display:block}.doc-view-label{inset-inline:0;font-size:var(--text-xs);color:#fff;background:#0000008c;padding:2px 8px;position:absolute;bottom:0}.doc-view-pdf{flex-direction:column;flex:100%;gap:6px;min-width:0;margin:0;display:flex}.doc-view-canvases{flex-direction:column;gap:8px;display:flex}.doc-view-canvases canvas{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;max-width:100%;display:block}.doc-view-note{font-size:var(--text-sm);margin:0}.doc-view-pdf figcaption{font-size:var(--text-sm);text-align:end}.doc-view-pdf figcaption a{color:var(--accent-ink,var(--accent));text-decoration:none}.doc-view-pdf figcaption a:hover{text-decoration:underline}.join-steps ol{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.join-steps li button{text-align:left;width:100%;font-size:var(--text-md);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.join-steps li button:hover{background:var(--surface-2)}.join-steps li.current button{background:var(--surface-2);border-color:var(--border);color:var(--text);font-weight:600}.join-step-mark{background:var(--surface-2);border:1px solid var(--border);width:28px;height:28px;font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:flex}.join-steps li.done .join-step-mark{background:var(--ok,#067647);border-color:var(--ok,#067647);color:#fff}.join-steps li.current .join-step-mark{background:var(--accent);border-color:var(--accent);color:var(--navy)}.join-step-name{flex:1}.spin{animation:1s linear infinite join-spin}@keyframes join-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.invite-panel{margin:0 0 var(--space-20);padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.invite-panel h3{font-size:var(--text-base);align-items:center;gap:6px;margin:0 0 4px;display:flex}.invite-panel>p{font-size:var(--text-sm);margin:0 0 12px;line-height:1.5}.invite-panel.submission{background:var(--tint-yellow,#fffbeb);border-color:var(--accent)}.invite-fresh{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:grid}.invite-fresh code{overflow-wrap:anywhere;font-size:var(--text-sm);font-family:ui-monospace,Menlo,monospace}.invite-fresh small{color:var(--text-muted);font-size:var(--text-xs);grid-column:1/-1;line-height:1.5}.invite-state{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 12px}.invite-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.submission-diff{border-collapse:collapse;width:100%;font-size:var(--text-md);margin-bottom:12px}.submission-diff th,.submission-diff td{padding:var(--space-8) var(--space-12);text-align:start;border-bottom:1px solid var(--border)}.submission-diff thead th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.submission-diff tbody th{font-weight:500}.candidate-facts{gap:2px;margin:0;display:grid}.candidate-facts .fact{padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);grid-template-columns:minmax(6rem,9rem) 1fr;gap:4px 12px;display:grid}.candidate-facts .fact:nth-child(odd){background:var(--surface)}.candidate-facts .fact.asked{background:var(--tint-yellow,#fffbeb);box-shadow:inset 2px 0 0 var(--accent)}.candidate-facts .fact.pending{box-shadow:inset 2px 0 0 var(--accent)}.candidate-facts .fact.pending dd>span{color:var(--accent-ink,#92400e)}.candidate-facts dt{font-size:var(--text-sm);color:var(--text-muted)}.candidate-facts dd{justify-content:space-between;align-items:center;gap:var(--space-12);font-size:var(--text-md);margin:0;display:flex}.candidate-facts dd>span{flex:auto}.candidate-facts dd .link-button{white-space:nowrap;flex:none;width:auto}.candidate-facts dd .link-button.icon-only{padding:var(--space-4);border-radius:var(--radius-sm);line-height:0}.candidate-facts dd .link-button{opacity:0;transition:opacity .12s}.candidate-facts .fact:hover dd .link-button,.candidate-facts .fact:focus-within dd .link-button,.candidate-facts .fact.asked dd .link-button{opacity:1}.fact-asked{font-size:var(--text-sm);color:var(--accent-ink,#92400e);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;margin:2px 0 0;display:flex}.assign-prompt{border-radius:var(--radius-sm);background:var(--tint-yellow,#fffbeb);border:1px solid var(--accent);margin-top:14px;padding:12px 14px}.assign-prompt h4{font-size:var(--text-md);color:var(--accent-ink,#92400e);align-items:center;gap:6px;margin:0 0 6px;display:flex}.assign-prompt ul{font-size:var(--text-md);margin:0 0 8px;padding-inline-start:20px}.assign-prompt p{font-size:var(--text-sm);margin:0 0 10px}.assign-prompt a{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:var(--text-sm);color:var(--text);padding:6px 12px;text-decoration:none;display:inline-block}.candidate-documents{gap:10px;margin:0;padding:0;list-style:none;display:grid}.candidate-documents>li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:12px}.candidate-documents>li.checked{border-inline-start:3px solid var(--success,#067647)}.candidate-documents>li.sent-back{border-inline-start:3px solid var(--danger,#b42318);background:var(--tint-red,#fdecec)}.doc-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.doc-meta{font-size:var(--text-sm);margin:4px 0 8px}.doc-pages{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.doc-pages a:hover{border-color:var(--accent)}.next-step{margin:0 0 var(--space-12);border-radius:var(--radius-sm);font-size:var(--text-md);border:1px solid #0000;padding:10px 12px;line-height:1.5}.next-step.act{background:var(--tint-yellow,#fffbeb);border-color:var(--accent);color:var(--accent-ink,#92400e)}.next-step.wait{background:var(--bg);color:var(--text-muted)}.next-step.ok{background:var(--tint-green,#ecfdf3);color:var(--ok,#067647)}.invite-panel.subtle{background:0 0}.invite-panel.subtle>summary{cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);list-style:revert}.invite-panel.subtle>summary:hover{color:var(--text)}.invite-panel.subtle[open]>summary{margin-block-end:var(--space-8)}.submission-history{gap:6px;margin:0;padding:0;list-style:none;display:grid}.submission-history li{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invite-countdown{background:var(--surface-2);border:1px solid var(--border);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 12px;font-weight:500;display:inline-flex}.invite-countdown.soon{background:var(--tint-yellow,#fffbeb);border-color:var(--accent);color:var(--accent-ink,#92400e)}.invite-countdown.gone{background:var(--tint-red,#fdecec);border-color:var(--danger,#b42318);color:var(--danger,#b42318)}.tint-amber{color:var(--accent-ink,#92400e)}.doc-picker{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;margin-top:6px;display:grid}.doc-picker .inline-check{white-space:normal}.invite-panel>.field:last-child{margin-bottom:0}.join-langs{gap:4px;display:flex}.join-langs button{color:#fffc;min-height:34px;font-size:var(--text-sm);background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:4px 12px}.join-langs button:hover{color:#fff;border-color:#fff}.join-langs button.current{color:var(--navy);background:#fff;border-color:#fff;font-weight:600}.join-asked{border-color:var(--danger,#b42318);background:var(--tint-red,#fdecec)}.join-asked h2{color:var(--danger,#b42318);align-items:center;gap:8px;display:flex}.join-asked ul{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.join-asked li{border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-md);flex-direction:column;gap:2px;padding:10px 12px;line-height:1.5;display:flex}.join-asked li strong{text-transform:capitalize}.join-field.asked>.join-label{color:var(--danger,#b42318)}.join-field.asked input,.join-field.asked select,.join-field.asked textarea{border-color:var(--danger,#b42318)}.join-asked-note{font-size:var(--text-sm);color:var(--danger,#b42318);align-items:flex-start;gap:6px;margin-bottom:6px;line-height:1.5;display:flex}.join-asked-note svg{flex-shrink:0;margin-top:2px}.join-docs li.sent-back{background:var(--tint-red,#fdecec);border-color:var(--danger,#b42318)}.join-sent-back{font-size:var(--text-md);color:var(--danger,#b42318);align-items:flex-start;gap:8px;margin:10px 0 0;line-height:1.5;display:flex}.join-sent-back svg{flex-shrink:0;margin-top:3px}.join-next ol{font-size:var(--text-md);gap:8px;margin:8px 0 12px;padding-inline-start:20px;line-height:1.55;display:grid}.join-next .join-hint{align-items:flex-start;gap:6px;display:flex}.join-next .join-hint svg{flex-shrink:0;margin-top:3px}.join-chosen{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.join-chosen li{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.join-chosen li img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex-shrink:0;width:44px;height:44px}.join-chosen-icon{border-radius:var(--radius-sm);background:var(--surface-2);width:44px;height:44px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid}.join-chosen-name{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.join-chosen-name small{color:var(--text-muted)}.join-chosen li span{overflow-wrap:anywhere}.join-chosen li button{border-radius:var(--radius-sm);width:32px;min-height:32px;color:var(--text-muted);background:0 0;border-color:#0000;flex-shrink:0;place-items:center;padding:0;display:grid}.join-required{background:var(--tint-red,#fdecec);color:var(--danger,#b42318);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-inline-start:6px;padding:1px 6px;font-weight:700}
