.dashboard{display:flex;flex-direction:column;gap:var(--space-5)}.dashboard .page-head{margin-bottom:var(--space-1)}.dashboard .btn svg{width:var(--space-4);height:var(--space-4);flex-shrink:0}.dashboard-section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.dashboard-section-head h2{margin:0;font-size:var(--fs-lg);font-weight:750;letter-spacing:-.025em}.dashboard-section-head>span{color:var(--bt-muted);font-size:var(--fs-sm);font-weight:600}.dashboard-section-head a,.dashboard-view-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:700;white-space:nowrap}.dashboard-section-head a svg,.dashboard-view-link svg{width:var(--space-4);height:var(--space-4)}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.dashboard-stat{display:flex;flex-direction:column;min-width:0;gap:var(--space-3);padding:var(--space-5);background:var(--bt-surface);border:var(--border) solid var(--bt-line);border-radius:var(--radius)}.dashboard-stat-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--fs);font-weight:700;color:var(--bt-ink)}.dashboard-stat-top svg{width:var(--space-5);height:var(--space-5);flex-shrink:0;color:var(--bt-blue)}.dashboard-stat>strong{font-size:clamp(var(--fs-xxl),3.1vw,var(--fs-display));line-height:1.1;letter-spacing:-.055em;font-weight:750;font-variant-numeric:tabular-nums;color:var(--bt-ink)}.dashboard-stat-note{color:var(--bt-muted);font-size:var(--fs-sm);line-height:1.5}.dashboard-stat-primary{border-color:var(--bt-blue);background:var(--bt-blue)}.dashboard-stat-primary .dashboard-stat-top,.dashboard-stat-primary .dashboard-stat-top svg,.dashboard-stat-primary>strong,.dashboard-stat-primary .dashboard-stat-note{color:var(--bt-surface)}.dashboard-stat-primary .dashboard-stat-note{opacity:.9}.dashboard-stat-alert>strong,.dashboard-stat-alert .dashboard-stat-top svg{color:var(--bt-danger)}.dashboard-start{display:grid;grid-template-columns:minmax(calc(var(--space-9) * 3),.7fr) minmax(0,1.5fr);gap:var(--space-5);align-items:center;border:var(--border) solid var(--bt-blue-line);border-radius:var(--radius);background:var(--bt-blue-soft);padding:var(--space-5) var(--space-5)}.dashboard-start h2{margin:0 0 calc(var(--space-3) / 2);font-size:var(--fs-lg);letter-spacing:-.025em}.dashboard-start p{margin:0;font-size:var(--fs-sm);line-height:1.6;color:var(--bt-muted)}.dashboard-start-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.dashboard-start-actions>a{display:flex;flex:1 1 calc(var(--space-8) * 3);align-items:center;gap:var(--space-3);min-height:var(--space-9);padding:var(--space-3);border:var(--border) solid var(--bt-line);border-radius:var(--radius-sm);background:var(--bt-surface);font-size:var(--fs-sm);font-weight:700;color:var(--bt-ink);text-decoration:none}.dashboard .dashboard-start-actions>a:hover{border-color:var(--bt-blue);text-decoration:none}.dashboard-start-actions>a>svg{width:var(--space-4);height:var(--space-4);margin-left:auto;flex-shrink:0;color:var(--bt-blue)}.dashboard-action-icon{display:flex;align-items:center;color:var(--bt-blue)}.dashboard-action-icon svg{width:var(--icon-size);height:var(--icon-size)}.dashboard-finances{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--bt-surface);border:var(--border) solid var(--bt-line);border-radius:var(--radius);overflow:hidden}.dashboard-finances>div{display:flex;flex-direction:column;min-width:0;gap:var(--space-3);padding:var(--space-5)}.dashboard-finances>div+div{border-left:var(--border) solid var(--bt-line)}.dashboard-finance-label{font-size:var(--fs-sm);font-weight:700;color:var(--bt-ink)}.dashboard-finance-label>span{color:var(--bt-muted);font-weight:500;white-space:nowrap}.dashboard-finances strong{font-size:var(--fs-xl);line-height:1.2;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dashboard-finance-note{font-size:var(--fs-sm);color:var(--bt-muted);line-height:1.5}.dashboard-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.dashboard-panels>:only-child{grid-column:1 / -1}.dashboard .dashboard-panel{margin:0;min-width:0}.dashboard-panel .card-head{padding:var(--space-4) var(--space-5);gap:var(--space-4)}.dashboard-panel .card-head h2{display:flex;align-items:center;gap:var(--space-3);margin:0;font-size:var(--fs-lg);line-height:1.4;letter-spacing:-.025em;font-weight:750}.dashboard-panel .card-head h2 svg{width:var(--space-5);height:var(--space-5);flex-shrink:0;color:var(--bt-blue)}.dashboard-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-3);min-height:calc(var(--space-9) * 3);padding:var(--space-6) var(--space-5);text-align:center}.dashboard-empty-icon{display:flex;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);margin-bottom:var(--space-1);border:var(--border) solid var(--bt-line);border-radius:var(--radius);background:var(--bt-surface-2);color:var(--bt-faint)}.dashboard-empty-icon svg{width:var(--space-5);height:var(--space-5)}.dashboard-empty>strong{font-weight:650;font-size:var(--fs)}.dashboard-empty>span:not(.dashboard-empty-icon){color:var(--bt-muted);font-size:var(--fs-sm)}.dashboard-empty a{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:650}.dashboard-empty a svg{width:var(--space-4);height:var(--space-4)}.dashboard-count{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-5);min-height:var(--space-5);padding:calc(var(--space-1) / 2) var(--space-2);border-radius:var(--radius-sm);background:var(--bt-bg);font-size:var(--fs-sm);font-weight:750;color:var(--bt-muted)}.dashboard-count-alert{color:var(--bt-danger);background:var(--bt-danger-soft)}.dashboard-alerts{list-style:none;margin:0;padding:0 var(--space-5)}.dashboard-alerts li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 0}.dashboard-alerts li+li{border-top:var(--border) solid var(--bt-line)}.dashboard-alerts li>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:var(--space-1)}.dashboard-alerts li a{color:var(--bt-ink);font-size:var(--fs);font-weight:650;overflow-wrap:anywhere}.dashboard-alerts li>div>span{color:var(--bt-muted);font-size:var(--fs-sm)}.dashboard-alerts li>svg{width:var(--space-4);height:var(--space-4);flex-shrink:0;color:var(--bt-faint)}.dashboard-alerts li>div>span.neg,.dashboard-finance-note.neg{color:var(--bt-danger)}.dashboard-alert-dot{width:var(--space-2);height:var(--space-2);flex-shrink:0;border-radius:var(--radius-sm);background:var(--bt-danger)}.dashboard-alert-dot.warning{background:var(--bt-warning)}.dashboard-cell-sub{display:block;margin-top:var(--space-1);color:var(--bt-muted);font-size:var(--fs-sm);line-height:1.45}.dashboard-record-link{font-weight:700}.dashboard-utilisation{display:flex;align-items:center;gap:var(--space-3);min-width:calc(var(--space-9) * 2);font-size:var(--fs-sm);font-weight:650;font-variant-numeric:tabular-nums}.dashboard-utilisation progress{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:calc(var(--space-8) * 2);height:calc(var(--space-3) / 2);border:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bt-line);accent-color:var(--bt-blue)}.dashboard-utilisation progress::-webkit-progress-bar{background:var(--bt-line);border-radius:var(--radius-sm)}.dashboard-utilisation progress::-webkit-progress-value{background:var(--bt-blue);border-radius:var(--radius-sm)}.dashboard-utilisation progress::-moz-progress-bar{background:var(--bt-blue);border-radius:var(--radius-sm)}@media(max-width:1180px){.dashboard-stat{padding:var(--space-4)}.dashboard-stat-top{font-size:var(--fs-sm)}.dashboard-stat-top svg{width:var(--space-4);height:var(--space-4)}.dashboard-start{grid-template-columns:1fr;gap:var(--space-4)}.dashboard-finances>div{padding:var(--space-4)}.dashboard-panels{gap:var(--space-4)}}@media(max-width:980px){.dashboard-stats,.dashboard-finances{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-finances>div:nth-child(3){border-left:0}.dashboard-finances>div:nth-child(n+3){border-top:var(--border) solid var(--bt-line)}.dashboard-panels{grid-template-columns:minmax(0,1fr)}.dashboard-stat>strong{font-size:var(--fs-display)}}@media(max-width:540px){.dashboard{gap:var(--space-5)}.dashboard-stats{gap:var(--space-3)}.dashboard-stat{gap:var(--space-3);padding:var(--space-4) var(--space-4)}.dashboard-stat-top{font-size:var(--fs-sm);gap:var(--space-1)}.dashboard-stat-top svg{width:var(--space-4);height:var(--space-4)}.dashboard-stat>strong{font-size:var(--fs-xxl)}.dashboard-stat-note{font-size:var(--fs-xs)}.dashboard-start{padding:var(--space-5)}.dashboard-start-actions{flex-direction:column;gap:var(--space-2)}.dashboard-start-actions>a{flex-basis:auto;min-height:var(--space-8)}.dashboard-finances>div{padding:var(--space-4) var(--space-4);gap:var(--space-3)}.dashboard-finances strong{font-size:var(--fs-xl)}.dashboard-finance-label{font-size:var(--fs-sm)}.dashboard-finance-label>span{display:block;margin-top:var(--space-1)}.dashboard-finance-note{font-size:var(--fs-xs)}.dashboard-panel .card-head{padding:var(--space-4);gap:var(--space-3)}.dashboard-panel .card-head h2{font-size:var(--fs-lg);gap:var(--space-2)}.dashboard-view-link{font-size:var(--fs-sm);gap:var(--space-1)}.dashboard-empty{min-height:calc(var(--space-9) * 3)}.dashboard-alerts{padding:0 var(--space-4)}.dashboard-section-head h2{font-size:var(--fs-lg)}}:root{--bt-blue: #1464ad;--bt-blue-dark: #0e4d88;--bt-blue-deep: #102c43;--bt-blue-soft: #edf4fb;--bt-blue-line: #bad2e8;--bt-ink: #162b3d;--bt-muted: #586c7c;--bt-faint: #687e8d;--bt-line: #dce4ea;--bt-bg: #f3f6f8;--bt-surface: #ffffff;--bt-surface-2: #f7f9fb;--bt-success: #18794e;--bt-success-soft: #e6f4ec;--bt-warning: #a15c07;--bt-warning-soft: #fdf1dc;--bt-danger: #b42318;--bt-danger-soft: #fdecea;--bt-on-dark: #f3f7fc;--bt-on-dark-muted: #b0c5d5;--bt-dark-line: #2d485d;--bt-dark-hover: #203e55;--bt-overlay: rgba(10, 28, 43, .55);--radius-sm: 6px;--radius: 10px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--space-9: 64px;--border: 1px;--focus: 3px;--control-h: 46px;--control-sm: 40px;--nav-h: 44px;--font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs: 13px;--fs-sm: 14px;--fs: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-xxl: 32px;--fs-display: 42px;--shadow: 0 2px 4px rgba(16, 44, 67, .025), 0 6px 20px rgba(16, 44, 67, .025);--shadow-lg: 0 20px 64px rgba(16, 44, 67, .16);--dur: .18s;--sidebar-w: 256px;--content-w: 1560px;--icon-size: 21px;--logo-w: 200px;--auth-logo-w: 300px;--auth-w: 1060px;--form-w: 470px;--modal-w: 780px;--search-w: 300px;--avatar-size: 40px;--badge-h: 27px;--photo-profile-w: 280px;--photo-portrait-w: 200px;--photo-preview-w: 168px;--photo-thumbnail-w: 96px;--photo-thumbnail-h: 64px;--photo-landscape-ratio: 4 / 3;--photo-portrait-ratio: 3 / 4;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--fs);color:var(--bt-ink);background:var(--bt-bg);-webkit-font-smoothing:antialiased;line-height:1.45}a{color:var(--bt-blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:var(--fs-xl);font-weight:650}h2{font-size:var(--fs-lg);font-weight:650}h3{font-size:var(--fs);font-weight:650}:focus-visible{outline:2px solid var(--bt-blue);outline-offset:2px}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100%}.sidebar{background:var(--bt-blue-deep);color:var(--bt-on-dark);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-4)}.brand-mark{width:36px;height:36px;border-radius:var(--radius);background:var(--bt-blue);color:var(--bt-surface);display:grid;place-items:center;font-weight:800;font-size:var(--fs-lg);flex:none;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-name{font-weight:800;letter-spacing:.06em;font-size:var(--fs)}.brand-sub{font-size:var(--fs-xs);color:var(--bt-on-dark-muted)}.nav{display:flex;flex-direction:column;padding:var(--space-2);gap:2px}.nav-section{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--bt-on-dark-muted);padding:var(--space-4) var(--space-3) var(--space-1)}.nav a{color:var(--bt-on-dark);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-2);transition:background-color var(--dur) ease}.nav a:hover{background:#ffffff14;text-decoration:none}.nav a.active{background:var(--bt-blue);color:var(--bt-surface)}.sidebar-foot{margin-top:auto;padding:var(--space-4);border-top:1px solid rgba(255,255,255,.1);font-size:var(--fs-sm)}.sidebar-foot .who{font-weight:600}.sidebar-foot .role{color:var(--bt-on-dark-muted);text-transform:capitalize}.sidebar-foot button{margin-top:var(--space-2)}.topbar{display:none}.main{min-width:0;padding:var(--space-5);max-width:1500px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.crumbs{font-size:var(--fs-sm);color:var(--bt-muted);margin-bottom:var(--space-1)}.page-head p{margin:var(--space-1) 0 0;color:var(--bt-muted)}.actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.card{background:var(--bt-surface);border:1px solid var(--bt-line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--bt-line)}.card-body{padding:var(--space-4)}.card+.card,.stack>*+*{margin-top:var(--space-4)}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:var(--space-4)}.stat .k{font-size:var(--fs-sm);color:var(--bt-muted)}.stat .v{font-size:var(--fs-xxl);font-weight:700;margin-top:var(--space-1);font-variant-numeric:tabular-nums}.stat .s{font-size:var(--fs-sm);color:var(--bt-muted);margin-top:var(--space-1)}.empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--bt-muted)}.muted{color:var(--bt-muted)}.small{font-size:var(--fs-sm)}.right{text-align:right}.nowrap{white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.neg{color:var(--bt-danger)}.pos{color:var(--bt-success)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--bt-line);vertical-align:top}th{font-size:var(--fs-xs);font-weight:650;color:var(--bt-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bt-surface-2);position:sticky;top:0}tbody tr.clickable{cursor:pointer;transition:background-color var(--dur) ease}tbody tr.clickable:hover{background:var(--bt-blue-soft)}tfoot td{font-weight:700;border-top:2px solid var(--bt-line)}tr.muted-row td{color:var(--bt-faint);text-decoration:line-through}.btn{height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--bt-line);background:var(--bt-surface);color:var(--bt-ink);font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);transition:background-color var(--dur) ease,border-color var(--dur) ease,transform var(--dur) ease;white-space:nowrap}.btn:hover{border-color:var(--bt-blue-line);background:var(--bt-surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--bt-blue);border-color:var(--bt-blue);color:var(--bt-surface)}.btn.primary:hover{background:var(--bt-blue-dark)}.btn.danger{color:var(--bt-danger)}.btn.danger:hover{background:var(--bt-danger-soft);border-color:var(--bt-danger)}.btn.ghost{border-color:transparent;background:transparent}.btn.small{height:30px;padding:0 var(--space-3);font-size:var(--fs-sm)}.sidebar .btn{background:transparent;color:var(--bt-on-dark);border-color:#fff3}input,select,textarea{font:inherit;color:inherit;width:100%;height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--bt-line);border-radius:var(--radius-sm);background:var(--bt-surface);transition:border-color var(--dur) ease}textarea{height:auto;min-height:76px;padding:var(--space-2) var(--space-3);resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--bt-blue);outline:none;box-shadow:0 0 0 3px var(--bt-blue-soft)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--bt-blue)}input[readonly]{background:var(--bt-surface-2);color:var(--bt-muted)}.search{max-width:280px}.select-auto{width:auto}.spacer{flex:1}.pre{white-space:pre-wrap}.mt{margin-top:var(--space-4)}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.form-group-title{grid-column:1 / -1;font-size:var(--fs-sm);font-weight:700;color:var(--bt-blue-dark);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--bt-line)}.field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.field.wide{grid-column:1 / -1}.field>label{font-size:var(--fs-sm);font-weight:600}.field .req{color:var(--bt-danger)}.field .help{font-size:var(--fs-xs);color:var(--bt-muted)}.field .err{font-size:var(--fs-xs);color:var(--bt-danger)}.field.has-err input,.field.has-err select,.field.has-err textarea{border-color:var(--bt-danger)}.check-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid;margin-bottom:var(--space-3)}.alert.error{background:var(--bt-danger-soft);border-color:var(--bt-danger);color:var(--bt-danger)}.alert.info{background:var(--bt-blue-soft);border-color:var(--bt-blue-line);color:var(--bt-blue-dark)}.alert.warn{background:var(--bt-warning-soft);border-color:var(--bt-warning);color:var(--bt-warning)}.badge{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:650;white-space:nowrap;background:var(--bt-surface-2);color:var(--bt-muted);border:1px solid var(--bt-line)}.badge.good{background:var(--bt-success-soft);color:var(--bt-success);border-color:transparent}.badge.warn{background:var(--bt-warning-soft);color:var(--bt-warning);border-color:transparent}.badge.bad{background:var(--bt-danger-soft);color:var(--bt-danger);border-color:transparent}.badge.info{background:var(--bt-blue-soft);color:var(--bt-blue-dark);border-color:transparent}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--bt-line);margin-bottom:var(--space-4);overflow-x:auto}.tabs button{background:none;border:none;font:inherit;font-weight:600;color:var(--bt-muted);padding:var(--space-2) var(--space-3);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.tabs button.active{color:var(--bt-blue);border-bottom-color:var(--bt-blue)}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3) var(--space-4)}.kv .k{font-size:var(--fs-xs);color:var(--bt-muted)}.kv .v{font-weight:600;word-break:break-word}.list-plain{list-style:none;margin:0;padding:0}.list-plain li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--bt-line)}.list-plain li:last-child{border-bottom:none}.bar{height:8px;background:var(--bt-surface-2);border-radius:999px;overflow:hidden;min-width:80px}.bar>span{display:block;height:100%;background:var(--bt-blue)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1f4d73;display:grid;place-items:center;padding:var(--space-4);z-index:50;animation:fade var(--dur) ease}.modal{background:var(--bt-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(760px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;animation:rise var(--dur) ease}.modal.narrow{width:min(480px,100%)}.modal-head{padding:var(--space-4);border-bottom:1px solid var(--bt-line);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:var(--space-4);overflow-y:auto}.modal-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--bt-line);display:flex;justify-content:flex-end;gap:var(--space-2)}.toast{position:fixed;bottom:var(--space-5);right:var(--space-5);background:var(--bt-ink);color:var(--bt-surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:60;animation:rise var(--dur) ease;max-width:420px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth{min-height:100%;display:grid;place-items:center;padding:var(--space-4);background:var(--bt-blue-deep)}.auth .card{width:min(420px,100%)}.auth .brand{padding:0 0 var(--space-4)}.auth .brand-name{color:var(--bt-ink)}.auth .brand-sub{color:var(--bt-muted)}.check-item{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--bt-line);align-items:center}.check-item .note{grid-column:1 / -1}.seg{display:inline-flex;border:1px solid var(--bt-line);border-radius:var(--radius-sm);overflow:hidden}.seg button{height:var(--control-h);min-width:64px;border:none;background:var(--bt-surface);font:inherit;font-weight:600;cursor:pointer;color:var(--bt-muted);transition:background-color var(--dur) ease}.seg button+button{border-left:1px solid var(--bt-line)}.seg button.on-ok{background:var(--bt-success);color:var(--bt-surface)}.seg button.on-defect{background:var(--bt-danger);color:var(--bt-surface)}.seg button.on-na{background:var(--bt-muted);color:var(--bt-surface)}.print-only{display:none}@media print{.sidebar,.topbar,.no-print,.page-head .actions{display:none!important}.shell{display:block}.main{padding:0}.card{box-shadow:none;border:none}.print-only{display:block}body{background:var(--bt-surface)}}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,85vw);z-index:40;transform:translate(-100%);transition:transform var(--dur) ease}.shell.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bt-blue-deep);color:var(--bt-on-dark);position:sticky;top:0;z-index:30}.topbar .btn{background:transparent;color:var(--bt-on-dark);border-color:#ffffff40}.main{padding:var(--space-4)}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.search{max-width:none}.modal-back{padding:0;align-items:end}.modal{max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.toast{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}body{line-height:1.55}h1{font-size:var(--fs-xxl);font-weight:750;letter-spacing:-.035em}h2,h3{font-weight:700;letter-spacing:-.015em}h3{font-size:var(--fs-lg)}.icon{width:var(--icon-size);height:var(--icon-size);flex:none;vertical-align:middle}.eyebrow{display:block;color:var(--bt-muted);font-size:var(--fs-xs);font-weight:750;letter-spacing:.13em;text-transform:uppercase}.shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{height:100dvh}.brand{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-5);border-bottom:var(--border) solid var(--bt-dark-line)}.brand:hover{text-decoration:none}.brand-mark{display:block;width:var(--logo-w);max-width:100%;height:auto;border-radius:0;background:transparent;overflow:visible}.brand-mark img{display:block;width:100%;height:auto}.brand-name{color:var(--bt-on-dark-muted);font-weight:650;letter-spacing:.18em;font-size:var(--fs-xs)}.nav{padding:var(--space-3);gap:0}.nav-section{font-weight:650;letter-spacing:.11em}.nav a{min-height:var(--nav-h);gap:var(--space-3);font-size:var(--fs-sm);font-weight:550;transition:none}.nav a .icon{color:var(--bt-on-dark-muted)}.nav a:hover{background:var(--bt-dark-hover)}.nav a.active{font-weight:700}.nav a.active .icon{color:var(--bt-surface)}.sidebar :focus-visible{outline-color:var(--bt-on-dark)}.sidebar-foot{padding:var(--space-5);border-color:var(--bt-dark-line)}.account-summary{display:flex;gap:var(--space-3);align-items:center;min-width:0}.account-avatar{display:grid;place-items:center;width:var(--avatar-size);height:var(--avatar-size);flex:none;font-weight:750;border:var(--border) solid var(--bt-dark-line);border-radius:var(--radius);background:var(--bt-dark-hover)}.who{overflow-wrap:anywhere}.role{font-size:var(--fs-xs)}.sidebar-foot button{margin-top:var(--space-4);width:100%}.main{padding:var(--space-7);max-width:var(--content-w)}.main:focus{outline:none}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-3) var(--space-4);background:var(--bt-surface);border-radius:var(--radius-sm);transform:translateY(-200%)}.skip-link:focus{transform:none}.nav-scrim{border:none;padding:0;background:var(--bt-overlay);cursor:pointer}.page-head{align-items:center;margin-bottom:var(--space-5)}.page-head>div:first-child{min-width:0}.dashboard .dashboard-panels>.dashboard-panel{margin:0}.page-head p{margin-top:var(--space-2);max-width:68ch;font-size:var(--fs-sm)}.crumbs{margin-bottom:var(--space-2)}.card{min-width:0}.card-head{flex-wrap:wrap;padding:var(--space-5)}.card-body,.stat{padding:var(--space-5)}.card+.card,.stack>*+*{margin-top:var(--space-5)}.grid{gap:var(--space-5)}.grid>.card+.card{margin-top:0}.stat .v{font-weight:750;letter-spacing:-.035em;margin-top:var(--space-2);overflow-wrap:anywhere}.stat .k{font-weight:600}.mt{margin-top:var(--space-5)}.empty{padding:var(--space-8) var(--space-5)}.empty .icon{display:block;margin:0 auto var(--space-4);width:var(--space-6);height:var(--space-6);color:var(--bt-faint)}.empty strong{display:block;color:var(--bt-ink);font-size:var(--fs-lg)}.empty p{margin:var(--space-2) 0 var(--space-5)}.table-wrap{border-radius:var(--radius-lg)}th,td{padding:var(--space-4) var(--space-5);vertical-align:middle}th{font-weight:700;letter-spacing:.055em;white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr.clickable{transition:none}.record-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);border:0;padding:0;background:transparent;color:var(--bt-blue);font:inherit;font-weight:650;text-align:left;cursor:pointer;min-height:var(--space-6)}.record-link .icon{width:var(--space-4);height:var(--space-4)}.record-link:hover{text-decoration:underline}.btn{height:auto;min-height:var(--control-h);padding:var(--space-2) var(--space-4);justify-content:center;font-size:var(--fs-sm);font-weight:650;line-height:1.3;transition:transform var(--dur) ease,opacity var(--dur) ease}.btn:hover{text-decoration:none}.btn.small{height:auto;min-height:var(--control-sm);padding:var(--space-2) var(--space-3)}.sidebar .btn{border-color:var(--bt-dark-line)}.sidebar .btn:hover{background:var(--bt-dark-hover)}input,select,textarea{transition:none}input::placeholder,textarea::placeholder{color:var(--bt-faint)}input[type=checkbox]{width:var(--icon-size);height:var(--icon-size);flex:none}.search-box{position:relative;flex:1;max-width:var(--search-w)}.search-box>.icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--bt-muted);pointer-events:none}.search-box input{padding-left:var(--space-7)}.select-auto{max-width:100%}.form-grid{gap:var(--space-5)}.form-group-title{font-weight:750;padding-top:var(--space-5)}.field{gap:var(--space-2)}.field>label{font-weight:650}.field .err{font-size:var(--fs-sm)}.check-row{gap:var(--space-3)}.badge{height:auto;min-height:var(--badge-h);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);line-height:1.2}.tabs{margin-bottom:var(--space-5)}.tabs button{font-size:var(--fs-sm);font-weight:650;min-height:var(--control-h);padding:var(--space-3) var(--space-4)}.kv{gap:var(--space-5)}.kv .k{font-size:var(--fs-sm);margin-bottom:var(--space-1)}.kv .v{font-weight:650}.list-plain li{flex-wrap:wrap;padding:var(--space-3) 0}.modal-back{background:var(--bt-overlay);padding:var(--space-5)}.modal{width:min(var(--modal-w),100%);max-height:calc(100dvh - var(--space-8))}.modal-head{padding:var(--space-5);gap:var(--space-4)}.modal-body{padding:var(--space-5)}.modal-foot{padding:var(--space-4) var(--space-5);flex-wrap:wrap;align-items:center;gap:var(--space-3)}.check-item{gap:var(--space-3) var(--space-5);padding:var(--space-5) 0}.check-item>div:first-child{font-weight:600}.seg button{font-weight:650;padding:0 var(--space-3);transition:none}.seg button:focus-visible{outline-offset:calc(-1 * var(--focus))}.auth{min-height:100vh;min-height:100dvh;padding:var(--space-7);background:var(--bt-bg)}.auth-layout{display:grid;grid-template-columns:.9fr 1.1fr;width:min(var(--auth-w),100%);background:var(--bt-surface);border:var(--border) solid var(--bt-line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.auth-brand-panel{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-9);padding:var(--space-8);background:var(--bt-blue-deep);color:var(--bt-on-dark)}.auth-brand-panel .brand-mark{width:var(--auth-logo-w)}.auth-brand-copy .eyebrow{color:var(--bt-on-dark-muted);margin-bottom:var(--space-4)}.auth-brand-copy h1{font-size:var(--fs-display);max-width:7ch}.auth-brand-copy p{color:var(--bt-on-dark-muted);margin:var(--space-4) 0 0;font-size:var(--fs-sm)}.auth-brand-foot{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-xs);color:var(--bt-on-dark-muted)}.auth-form{padding:var(--space-8);width:100%}.auth-heading h2{margin-top:var(--space-2);font-size:var(--fs-xxl)}.auth-heading p{margin:var(--space-3) 0 var(--space-6);color:var(--bt-muted);font-size:var(--fs-sm)}.auth-submit{width:100%;justify-content:space-between}.auth-mobile-brand{display:none}@media(max-width:1500px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1200px){.main{padding:var(--space-5)}.auth-brand-panel,.auth-form{padding:var(--space-6)}}@media(max-width:900px){.shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(var(--sidebar-w),85vw);z-index:40;visibility:hidden;transform:translate(-100%);transition:transform var(--dur) ease}.shell.nav-open .sidebar{visibility:visible;transform:none;box-shadow:var(--shadow-lg)}.topbar{display:flex;align-items:center;gap:var(--space-4);min-height:var(--space-9);padding:var(--space-2) var(--space-4);background:var(--bt-blue-deep);color:var(--bt-on-dark);position:sticky;top:0;z-index:30}.topbar strong{font-size:var(--fs-sm);letter-spacing:.1em}.topbar .btn{background:transparent;color:var(--bt-on-dark);border-color:var(--bt-dark-line)}.main{padding:var(--space-5)}.grid-2{grid-template-columns:1fr}.auth{padding:var(--space-5)}.auth-layout{display:block;max-width:var(--form-w);box-shadow:var(--shadow)}.auth-brand-panel{display:none}.auth-mobile-brand{display:block;margin-bottom:var(--space-6)}.auth-heading .eyebrow{display:none}.auth-mobile-brand .brand-mark{width:var(--logo-w)}}@media(max-width:600px){.main{padding:var(--space-5) var(--space-4)}.page-head{align-items:flex-start;gap:var(--space-4)}.page-head .actions{width:100%}.grid{gap:var(--space-4)}.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.card-head,.card-body{padding:var(--space-4)}.card-head h3{font-size:var(--fs)}.btn,.btn.small{min-height:var(--control-h)}.search-box,.search{max-width:none;width:100%}.auth{padding:var(--space-4);place-items:start center}.auth-form{padding:var(--space-5)}.modal-back{padding:0;align-items:end}.modal{max-height:94dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-head,.modal-body{padding:var(--space-4)}.modal-foot{padding:var(--space-4);gap:var(--space-2)}.modal-foot>.neg{flex-basis:100%;font-size:var(--fs);font-weight:650}.check-item{grid-template-columns:1fr}.seg{display:flex;width:100%}.seg button{flex:1}.check-submit .btn.primary{width:100%}.kv{grid-template-columns:1fr}th,td{padding:var(--space-3) var(--space-4)}}@media print{.skip-link{display:none}.main{padding:0}.table-wrap{overflow:visible}body{font-size:var(--fs-sm)}}.record-photo{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden;border:var(--border) solid var(--bt-line);border-radius:var(--radius);background:var(--bt-surface-2)}.record-photo img{display:block;width:100%;height:100%;object-fit:cover}.record-photo-asset{aspect-ratio:var(--photo-landscape-ratio)}.record-photo-employee{aspect-ratio:var(--photo-portrait-ratio)}.record-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);width:100%;height:100%;padding:var(--space-3);text-align:center;color:var(--bt-muted)}.record-photo-placeholder .icon{width:var(--space-7);height:var(--space-7);color:var(--bt-faint)}.record-photo-placeholder span{font-size:var(--fs-sm);font-weight:600}.record-photo-thumbnail{width:var(--photo-thumbnail-w);height:var(--photo-thumbnail-h);border-radius:var(--radius-sm)}.record-photo-thumbnail.record-photo-employee{width:var(--photo-thumbnail-h);height:var(--photo-thumbnail-w)}.record-photo-thumbnail .record-photo-placeholder{gap:var(--space-1);padding:var(--space-1)}.record-photo-thumbnail .record-photo-placeholder .icon{width:var(--icon-size);height:var(--icon-size)}.record-photo-thumbnail .record-photo-placeholder span{font-size:var(--fs-xs);line-height:1.2}.record-photo-column{width:calc(var(--photo-thumbnail-w) + var(--space-6));vertical-align:middle}.record-photo-preview{max-width:var(--photo-preview-w)}.record-photo-preview.record-photo-employee{max-width:calc(var(--photo-preview-w) * .75)}.photo-picker{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4);border:var(--border) solid var(--bt-line);border-radius:var(--radius);background:var(--bt-surface-2)}.photo-picker>.record-photo{flex:0 0 var(--photo-preview-w);background:var(--bt-surface)}.photo-picker>.record-photo-employee{flex-basis:calc(var(--photo-preview-w) * .75)}.photo-picker-content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:0}.photo-picker-content>strong{font-size:var(--fs);font-weight:650}.photo-picker .help{font-size:var(--fs-sm)}.photo-picker-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.photo-picker .btn{font-size:var(--fs-sm)}.photo-file-status{display:block;max-width:100%;color:var(--bt-muted);overflow-wrap:anywhere;font-size:var(--fs-xs)}.photo-file-status:empty{display:none}.photo-field.has-err .photo-picker{border-color:var(--bt-danger)}.record-profile{display:grid;grid-template-columns:var(--photo-profile-w) minmax(0,1fr);gap:var(--space-6);padding:var(--space-5)}.record-profile-employee{grid-template-columns:var(--photo-portrait-w) minmax(0,1fr)}.record-profile-image,.record-profile-details{min-width:0}.record-photo-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--fs-sm)}.record-photo-caption>span{color:var(--bt-muted)}.record-photo-caption .record-link{min-height:var(--control-sm)}.record-profile .kv{grid-template-columns:repeat(auto-fill,minmax(var(--photo-portrait-w),1fr))}@media(max-width:1100px){.record-profile{grid-template-columns:minmax(0,1fr)}.record-profile-image{width:100%;max-width:var(--photo-profile-w)}.record-profile-employee .record-profile-image{max-width:var(--photo-portrait-w)}}@media(max-width:600px){.record-profile{padding:var(--space-4);gap:var(--space-5)}.record-profile .kv{grid-template-columns:minmax(0,1fr)}.photo-picker{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.photo-picker>.record-photo{flex-basis:auto}}@media print{.record-photo-caption .record-link{display:none}}.pricing-preview{margin-top:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-5);border:var(--border) solid var(--bt-blue-line);border-radius:var(--radius);background:var(--bt-blue-soft)}.pricing-preview-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.pricing-preview-head h3{margin-top:var(--space-1);font-size:var(--fs-lg)}.pricing-preview-head>strong{font-size:var(--fs-xl);font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.pricing-calculation{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--fs-sm)}.pricing-calculation>span{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.pricing-calculation .icon{width:var(--space-4);height:var(--space-4)}.pricing-minimum{padding:var(--space-1) var(--space-2);background:var(--bt-surface);border:var(--border) solid var(--bt-blue-line);border-radius:var(--radius-sm);color:var(--bt-blue-dark);font-size:var(--fs-xs);font-weight:650}.pricing-preview p{margin:var(--space-4) 0 0;color:var(--bt-muted);font-size:var(--fs-xs)}.fleet-pricing .card-head{flex-wrap:wrap}.fleet-pricing-values{display:flex;flex-wrap:wrap;gap:var(--space-5);padding:var(--space-5)}.fleet-pricing-values>div{display:flex;flex:1;min-width:var(--photo-preview-w);flex-direction:column;gap:var(--space-2)}.fleet-pricing-values span{color:var(--bt-muted);font-size:var(--fs-sm)}.fleet-pricing-values strong{font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.fleet-pricing-note{padding:0 var(--space-5) var(--space-5);margin:0;color:var(--bt-muted);font-size:var(--fs-sm)}.alternative-rates{margin-top:var(--space-5)}.alternative-rates>summary{padding:var(--space-4) 0;font-weight:650;color:var(--bt-blue);cursor:pointer}@media(max-width:600px){.pricing-preview,.fleet-pricing-values{padding:var(--space-4)}}.pricing-preview .pricing-error{color:var(--bt-danger);font-size:var(--fs-sm);font-weight:600}
