@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--navy:#2e3e79;--navy-dark:#1a2456;--navy-soft:#eef1fb;--navy-border:#d4dbef;--orange:#fa9446;--orange-dark:#e6843d;--orange-soft:#fff6f0;--bg:#fbfaf8;--bg-peach:#fff6f0;--white:#fff;--surface:#fff;--surface-2:#f6f5f2;--surface-3:#efeeea;--wash:#f4f5fb;--ink-1:#14161b;--ink-2:#3f424a;--ink-3:#6b6f78;--ink-4:#9da1ab;--gray-mid:var(--ink-3);--gray-dark:var(--ink-2);--gray-faint:var(--ink-4);--line:#ecebe6;--line-strong:#d7d5ce;--divider:#eeede8;--border:var(--line);--border-mid:var(--line-strong);--rail-bg:#fff;--rail-ink:#5a5e67;--rail-active-bg:#eef1fb;--rail-hover:#f5f4f1;--rail-border:#ecebe6;--green-bg:#dcfce7;--green-fg:#166534;--yellow-bg:#fef9c3;--yellow-fg:#854d0e;--blue-bg:#dbeafe;--blue-fg:#1e40af;--red-bg:#fee2e2;--red-fg:#991b1b;--amber-bg:#fff7ed;--amber-fg:#c2410c;--amber-border:#fed7aa;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-700:#374151;--gray-800:#1f2937;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius:12px;--radius-sm:8px;--radius-pill:999px;--card-radius:14px;--field-radius:10px;--btn-radius:10px;--card-shadow:0 1px 3px #2e3e790d, 0 0 0 1px #ecebe6;--shadow-card:var(--card-shadow);--shadow-1:0 1px 2px #14161b0a, 0 0 0 1px var(--line);--shadow-2:0 6px 24px #14161b0f, 0 0 0 1px var(--line);--shadow-modal:0 8px 32px #2e3e792e;--shadow-pop:0 12px 40px #14161b24;--ring:0 0 0 3px #2e3e791f;--grad-navy:linear-gradient(180deg, var(--navy), var(--navy-dark));--grad-orange:linear-gradient(45deg, var(--orange), var(--orange-dark));--ease:cubic-bezier(.4, 0, .2, 1);--dur:.15s}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink-2);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}::selection{background:#fa944638}@keyframes scfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes scpop{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes scslidein{0%{opacity:0;transform:translate(34px)}to{opacity:1;transform:none}}@keyframes scspin{to{transform:rotate(360deg)}}@keyframes scpulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sc-scroll::-webkit-scrollbar{width:11px;height:11px}.sc-scroll::-webkit-scrollbar-thumb{background:#2e3e7929 padding-box content-box;border:3px solid #0000;border-radius:10px}.sc-scroll::-webkit-scrollbar-thumb:hover{background:#2e3e7947 padding-box content-box}.app-frame{min-height:100vh;display:flex}.rail{background:var(--rail-bg);border-right:1px solid var(--rail-border);z-index:50;flex-direction:column;flex-shrink:0;width:250px;height:100vh;display:flex;position:sticky;top:0}.rail-brand{align-items:center;gap:11px;padding:20px 20px 16px;display:flex}.rail-logo{background:linear-gradient(160deg,#2e3e79,#1a2456);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:0 2px 6px #2e3e7947}.rail-brand-name{color:var(--navy);letter-spacing:-.01em;font-size:14.5px;font-weight:700;line-height:1.1}.rail-brand-sub{color:var(--ink-3);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.rail-nav{flex-direction:column;flex:1;gap:2px;padding:6px 12px 12px;display:flex;overflow-y:auto}.rail-group{color:var(--ink-4);letter-spacing:.09em;text-transform:uppercase;padding:14px 12px 6px;font-size:10.5px;font-weight:700}.rail-item{color:var(--rail-ink);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:none;border-radius:11px;align-items:center;gap:11px;padding:9px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex;position:relative}.rail-item:hover{background:var(--rail-hover);color:var(--rail-ink);text-decoration:none}.rail-item.active{background:var(--rail-active-bg);color:var(--navy)}.rail-item.active:before{content:"";background:var(--orange);border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.rail-item .rail-ic{color:var(--navy);flex-shrink:0;display:flex}.rail-item .lbl{flex:1;min-width:0}.rail-badge{background:var(--red-bg);min-width:18px;height:18px;color:var(--red-fg);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;font-weight:700;display:inline-flex}.rail-foot{border-top:1px solid var(--rail-border);padding:12px;position:relative}.rail-user{cursor:pointer;text-align:left;width:100%;transition:background var(--dur) var(--ease);background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.rail-user:hover{background:var(--rail-hover)}.rail-user-avatar{background:var(--navy-soft);width:34px;height:34px;color:var(--navy);letter-spacing:.03em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.rail-user-name{color:var(--ink-1);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;display:block;overflow:hidden}.rail-user-role{color:var(--ink-3);font-size:11px;display:block}.badge-inline{background:var(--orange);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.menu-pop{background:var(--surface);box-shadow:0 12px 40px #14161b29, 0 0 0 1px var(--divider);z-index:90;border-radius:14px;min-width:190px;padding:6px;animation:.14s scpop;position:absolute}.menu-pop .menu-item{width:100%;color:var(--ink-2);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 11px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.menu-pop .menu-item:hover{background:var(--surface-2);text-decoration:none}.menu-pop .menu-item.danger{color:var(--red-fg)}.menu-pop .menu-item.danger:hover{background:#fef2f2}.menu-pop .menu-sep{background:var(--divider);height:1px;margin:5px 8px}.main-col{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--divider);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40;background:#fdfcfad9;flex-shrink:0;align-items:center;gap:16px;height:64px;padding:0 32px;display:flex;position:relative}.topbar-crumbs{align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.topbar-crumbs .crumb-link{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.topbar-crumbs .crumb-link:hover{color:var(--navy)}.topbar-crumbs .cur{color:var(--navy);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.topbar-spacer{flex:1}.topsearch{background:var(--surface);height:38px;box-shadow:0 0 0 1px var(--divider);min-width:230px;color:var(--ink-4);border-radius:11px;align-items:center;gap:8px;padding:0 13px;display:flex;position:relative}.topsearch:focus-within{box-shadow:0 0 0 1px var(--navy-border), var(--ring)}.topsearch input{color:var(--ink-1);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:13px}.topsearch input::placeholder{color:var(--ink-4)}.topbar-iconbtn{background:var(--surface);width:38px;height:38px;box-shadow:0 0 0 1px var(--divider);color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease);border:none;border-radius:11px;justify-content:center;align-items:center;display:flex;position:relative}.topbar-iconbtn:hover{background:var(--surface-2)}.topbar-iconbtn .unread-dot{background:var(--orange);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:999px;position:absolute;top:8px;right:9px}.main-scroll{flex:1;position:relative;overflow-y:auto}.topsearch-pop{background:var(--surface);box-shadow:0 16px 44px #14161b2e, 0 0 0 1px var(--divider);z-index:80;border-radius:14px;max-height:380px;animation:.15s scpop;position:absolute;top:46px;left:0;right:0;overflow:hidden auto}.topsearch-pop .group-lbl{color:var(--ink-4);letter-spacing:.09em;text-transform:uppercase;padding:10px 14px 4px;font-size:10.5px;font-weight:700}.topsearch-pop .result{cursor:pointer;width:100%;color:var(--ink-1);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.topsearch-pop .result:hover{background:var(--surface-2)}.topsearch-pop .result .meta{color:var(--ink-3);font-size:11.5px;font-weight:500}.notif-pop{z-index:80;background:var(--surface);width:352px;box-shadow:0 16px 44px #14161b2e, 0 0 0 1px var(--divider);border-radius:16px;animation:.15s scpop;position:absolute;top:56px;right:32px;overflow:hidden}.notif-pop-head{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notif-pop-head .ttl{color:var(--navy);font-size:13.5px;font-weight:700}.notif-pop-list{max-height:340px;overflow-y:auto}.notif-row{border-bottom:1px solid var(--divider);cursor:pointer;gap:11px;padding:12px 16px;display:flex}.notif-row:last-child{border-bottom:none}.notif-row.unread{background:var(--orange-soft)}.notif-row .nd{background:0 0;border-radius:999px;flex-shrink:0;width:7px;height:7px;margin-top:6px}.notif-row.unread .nd{background:var(--orange)}.notif-row .nt{color:var(--ink-1);font-size:12.5px;font-weight:650}.notif-row .nb{color:var(--ink-3);margin-top:2px;font-size:12px;line-height:1.45}.notif-row .nm{color:var(--ink-4);margin-top:4px;font-size:11px}.page-content{padding:0}.container{max-width:1160px;margin:0 auto;padding:30px 32px 64px}.container.wide{max-width:1280px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-header h1{color:var(--navy);letter-spacing:-.025em;font-size:26px;font-weight:800;line-height:1.1}.page-header .sub{color:var(--ink-3);margin-top:7px;font-size:14.5px;font-weight:500}.page-header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.page-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--orange-dark);margin-bottom:7px;font-size:12px;font-weight:700}.card{background:var(--surface);border-radius:var(--card-radius);box-shadow:var(--card-shadow);margin-bottom:20px;overflow:hidden}.card-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.card-header h2{color:var(--navy);letter-spacing:-.01em;font-size:15px;font-weight:700}.card-header .sub{color:var(--ink-3);margin-top:2px;font-size:13px;font-weight:400}.card-body{padding:20px}.card.tight .card-body{padding:0}.card-link{cursor:pointer;color:var(--orange-dark);background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;font-weight:700;text-decoration:none}.card-link:hover{color:var(--orange);text-decoration:none}.count-chip{background:var(--surface-2);min-width:20px;height:20px;color:var(--ink-3);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:11.5px;font-weight:700;display:inline-flex}.count-chip.red{background:var(--red-bg);color:var(--red-fg)}.count-chip.amber{background:var(--amber-bg);color:var(--amber-fg)}.kpi-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px;display:grid}.kpi-card{background:var(--surface);border-radius:var(--card-radius);box-shadow:var(--card-shadow);text-align:left;cursor:pointer;width:100%;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);border:none;padding:18px 18px 16px;font-family:inherit;display:block;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:0 4px 12px #2e3e791a, 0 0 0 1px var(--line);text-decoration:none;transform:translateY(-1px)}.kpi-card .accent{width:3px;position:absolute;top:0;bottom:0;left:0}.kpi-card .lbl{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.kpi-card .val{color:var(--navy);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:32px;font-weight:800;line-height:1}.kpi-card .sub{color:var(--ink-3);align-items:center;gap:5px;margin-top:9px;font-size:12px;font-weight:600;display:flex}.kpi-card .sub .dot{background:currentColor;border-radius:999px;flex-shrink:0;width:6px;height:6px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat{background:var(--surface);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:18px 18px 16px}.stat .lbl{color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;font-weight:700}.stat .val{color:var(--navy);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:28px;font-weight:800;line-height:1}.stat .delta{color:var(--ink-3);margin-top:8px;font-size:12px;font-weight:600}.stat .delta.up{color:var(--green-fg)}.stat .delta.down{color:var(--red-fg)}.btn{background:var(--grad-orange);color:#fff;border-radius:var(--btn-radius);letter-spacing:-.01em;cursor:pointer;transition:filter var(--dur) var(--ease), transform .1s var(--ease), opacity var(--dur);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #e6843d47}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none;transform:none}.btn.sm{padding:6px 12px;font-size:12.5px;box-shadow:0 1px 4px #e6843d3d}.btn.xs{box-shadow:none;padding:4px 10px;font-size:11.5px;font-weight:700}.btn.secondary{background:var(--navy-soft);color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy-border);border:none}.btn.secondary:hover{filter:none;background:#e4e9f8}.btn.ghost{color:var(--navy);box-shadow:none;background:0 0;border:none}.btn.ghost:hover{background:var(--navy-soft);filter:none;transform:none}.btn.subtle{background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}.btn.subtle:hover{background:var(--surface-3);filter:none}.btn.danger{background:var(--red-bg);color:var(--red-fg);border:none;box-shadow:inset 0 0 0 1px #fecaca}.btn.danger:hover{filter:none;background:#fecaca}.btn.amber{background:var(--amber-bg);color:var(--amber-fg);box-shadow:inset 0 0 0 1px var(--amber-border);border:none}.btn.amber:hover{filter:none;background:#ffedd5}.btn.navy{background:var(--grad-navy);color:#fff;box-shadow:0 2px 8px #2e3e7947}.link-btn{color:var(--navy);cursor:pointer;letter-spacing:-.005em;background:0 0;border:none;padding:4px 6px;font-family:inherit;font-size:12.5px;font-weight:700}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:#b91c1c}.link-btn.orange{color:var(--orange-dark)}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--ink-3);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--ink-1)}.seg{background:var(--wash);box-shadow:inset 0 0 0 1px var(--divider);border-radius:11px;flex-shrink:0;align-items:center;padding:4px;display:inline-flex}.seg button{color:var(--navy);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:700;display:inline-flex;position:relative}.seg button.active{background:var(--surface);box-shadow:0 1px 3px #14161b1a}.seg button:disabled{opacity:.5;cursor:not-allowed}.seg-pills{background:var(--wash);box-shadow:inset 0 0 0 1px var(--divider);border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.seg-pills button{color:var(--ink-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:6px 13px;font-size:12.5px;font-weight:700}.seg-pills button.active{background:var(--surface);color:var(--navy);box-shadow:0 1px 3px #14161b1a}.tabs-underline{border-bottom:1px solid var(--divider);gap:22px;margin-bottom:20px;display:flex}.tabs-underline button,.tabs-underline a{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 2px 11px;font-family:inherit;font-size:13.5px;font-weight:650;text-decoration:none;display:inline-flex}.tabs-underline button:hover,.tabs-underline a:hover{color:var(--navy);text-decoration:none}.tabs-underline button.active,.tabs-underline a.active{color:var(--navy);border-bottom-color:var(--orange);font-weight:700}.subtabs{border-bottom:1px solid var(--divider);gap:22px;margin-bottom:20px;display:flex}.subtabs button,.subtabs a{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 2px 11px;font-family:inherit;font-size:13.5px;font-weight:650;text-decoration:none}.subtabs button:hover,.subtabs a:hover{color:var(--navy);text-decoration:none}.subtabs button.active,.subtabs a.active{color:var(--navy);border-bottom-color:var(--orange);font-weight:700}label.field-label{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}label.eyebrow,.eyebrow{color:var(--navy);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}input.text,select.text,textarea.text{border:1px solid var(--line-strong);border-radius:var(--field-radius);width:100%;color:var(--ink-1);background:var(--surface);transition:border-color var(--dur), box-shadow var(--dur);padding:9px 12px;font-family:inherit;font-size:14px}input.text:focus,select.text:focus,textarea.text:focus{border-color:var(--navy);box-shadow:var(--ring);outline:none}select.text{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;padding-right:36px}input[type=time].text{box-sizing:border-box}textarea.text{resize:vertical;min-height:80px}.checkbox-label{color:var(--ink-2);cursor:pointer;align-items:center;gap:10px;padding:6px 0;font-size:13.5px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}.form-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.form-grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-help{color:var(--ink-3);font-size:12px}.filter-bar{background:var(--surface);border-radius:var(--card-radius);box-shadow:var(--card-shadow);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.filter-bar .filter-lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);align-self:center;margin-right:2px;font-size:11px;font-weight:700}.filter-bar select.text,.filter-bar input.text{background-color:var(--navy-soft);color:var(--navy);border:none;border-radius:10px;padding:7px 30px 7px 12px;font-size:12.5px;font-weight:600}.filter-bar input.text{padding-right:12px}.filter-bar select.text:focus,.filter-bar input.text:focus{box-shadow:var(--ring);border:none}.filter-bar select.text{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232E3E79' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.filter-bar .form-group{min-width:0}.filter-bar label.field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);margin-bottom:4px;font-size:10.5px;font-weight:700}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data thead th{text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--divider);background:var(--surface-2);white-space:nowrap;padding:11px 16px;font-size:11px;font-weight:700}table.data thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.data thead th.sortable:hover{background:var(--surface-3);color:var(--navy)}table.data tbody td{border-bottom:1px solid var(--divider);vertical-align:middle;color:var(--ink-2);padding:12px 16px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:#fcfbf9}table.data .mono{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}table.data .strong{color:var(--ink-1);font-weight:700}table.data .muted{color:var(--ink-3);font-size:12px}table.data .actions-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.empty-state{text-align:center;color:var(--ink-3);padding:56px 24px;font-size:14px}.empty-state .big{color:var(--navy);margin-bottom:6px;font-size:16px;font-weight:700}.list-rows{flex-direction:column;display:flex}.list-row{border-bottom:1px solid var(--divider);transition:background var(--dur) var(--ease);align-items:center;gap:13px;padding:13px 18px;display:flex}.list-row:last-child{border-bottom:none}.list-row:hover{background:#fcfbf9}.list-row .lr-main{flex:1;min-width:0}.list-row .lr-title{color:var(--ink-1);letter-spacing:-.005em;align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.list-row .lr-meta{color:var(--ink-3);margin-top:2px;font-size:12px;font-weight:500}.list-row .lr-side{flex-shrink:0;align-items:center;gap:10px;display:flex}.list-row .lr-time{color:var(--ink-4);white-space:nowrap;font-size:12px;font-weight:500}.avatar-tile{color:#fff;letter-spacing:.02em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar-tile.soft{color:var(--navy)}.pill{border-radius:var(--radius-pill);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.pill .dot{background:currentColor;border-radius:999px;flex-shrink:0;width:6px;height:6px}.pill.green{background:var(--green-bg);color:var(--green-fg)}.pill.yellow{background:var(--yellow-bg);color:var(--yellow-fg)}.pill.blue{background:var(--blue-bg);color:var(--blue-fg)}.pill.red{background:var(--red-bg);color:var(--red-fg)}.pill.amber{background:var(--amber-bg);color:var(--amber-fg);box-shadow:inset 0 0 0 1px var(--amber-border)}.pill.gray{background:var(--surface-3);color:var(--ink-3)}.pill.navy{background:var(--navy-soft);color:var(--navy)}.pill.outline{color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.chip-sq{background:var(--surface-2);color:var(--ink-3);letter-spacing:.03em;white-space:nowrap;border-radius:6px;align-items:center;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.chip-sq.orange{background:var(--orange-soft);color:var(--orange-dark);box-shadow:inset 0 0 0 1px #f6d9c2}.chip-sq.navy{background:var(--navy-soft);color:var(--navy)}.banner{border-radius:var(--card-radius);align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 18px;font-size:13.5px;font-weight:500;line-height:1.55;display:flex}.banner.warn{background:var(--amber-bg);color:var(--amber-fg);box-shadow:inset 0 0 0 1px var(--amber-border)}.banner.info{background:var(--navy-soft);color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy-border)}.banner.error{background:var(--red-bg);color:var(--red-fg);box-shadow:inset 0 0 0 1px #fecaca}.banner.success{color:#166534;background:#f0fdf4;box-shadow:inset 0 0 0 1px #bbf7d0}.banner.peach{color:var(--ink-2);background:linear-gradient(160deg,#fff3e9,#ffe7d6);box-shadow:inset 0 0 0 1px #f6d9c2}.banner svg{flex-shrink:0;margin-top:1px}.ic-chip{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.ic-chip.orange{background:var(--orange-soft);color:var(--orange-dark);box-shadow:inset 0 0 0 1px #f6d9c2}.ic-chip.red{background:var(--red-bg);color:var(--red-fg)}.ic-chip.green{background:var(--green-bg);color:var(--green-fg)}.ic-chip.blue{background:var(--blue-bg);color:var(--blue-fg)}.ic-chip.navy{background:var(--navy-soft);color:var(--navy)}.ic-chip.gray{background:var(--surface-2);color:var(--ink-3)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14161b73;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-modal);border-radius:18px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.18s ease-out scpop;display:flex;overflow:hidden}.modal.wide{max-width:760px}.modal-header{border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.modal-header h2{color:var(--navy);letter-spacing:-.01em;align-items:center;gap:10px;font-size:15.5px;font-weight:800;display:flex}.modal-header .sub{color:var(--ink-3);margin-top:2px;font-size:13px;font-weight:400}.modal-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 6px;font-size:22px;line-height:1}.modal-close:hover{color:var(--ink-1);background:var(--surface-2)}.modal-body{flex:1;padding:20px 22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--divider);background:var(--surface-2);justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}.modal-footer .foot-note{color:var(--ink-3);margin-right:auto;font-size:12.5px;font-weight:500}.drawer-overlay{z-index:1000;background:#14161b61;justify-content:flex-end;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:100%;max-width:560px;height:100%;animation:scslidein .2s var(--ease);flex-direction:column;display:flex;box-shadow:-12px 0 40px #14161b29}.drawer-header{border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.drawer-body{flex:1;padding:20px 22px;overflow-y:auto}.toasts{z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--navy-dark);color:#fff;pointer-events:auto;cursor:pointer;border-radius:12px;align-items:center;gap:9px;max-width:480px;padding:9px 14px 9px 9px;font-size:13px;font-weight:650;animation:.18s scpop;display:inline-flex;box-shadow:0 10px 32px #14161b47}.toast .tt-ic{background:#ffffff24;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.toast.success .tt-ic{background:#34c77b59}.toast.danger .tt-ic{background:#ff6b6b66}.toast.info .tt-ic{background:#7896ff59}.divider{border:none;border-top:1px solid var(--divider);margin:20px 0}.hidden{display:none!important}.grow{flex:1}.muted{color:var(--ink-3)}.mono{font-family:var(--font-mono);font-size:12.5px}.spin{animation:.9s linear infinite scspin}.chip{background:var(--navy-soft);color:var(--navy);border:1px solid var(--navy-border);border-radius:999px;align-items:center;gap:5px;margin:2px 4px 2px 0;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.chip button{color:var(--navy);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1}.breadcrumb{align-items:center;margin-bottom:14px;display:flex}.breadcrumb-back{background:var(--surface);box-shadow:inset 0 0 0 1px var(--navy-border);color:var(--navy);letter-spacing:-.005em;cursor:pointer;transition:background var(--dur), box-shadow var(--dur);border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.breadcrumb-back:hover{background:var(--navy-soft);box-shadow:inset 0 0 0 1px var(--navy)}.pagination{border-top:1px solid var(--divider);background:var(--surface-2);color:var(--ink-3);justify-content:space-between;align-items:center;padding:14px 20px;font-size:13px;display:flex}.pagination .pages{align-items:center;gap:4px;display:flex}.pagination .page-btn{min-width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--line-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;border:none;border-radius:999px;padding:0 9px;font-family:inherit;font-size:12px;font-weight:700}.pagination .page-btn:hover{background:var(--navy-soft);box-shadow:inset 0 0 0 1px var(--navy-border)}.pagination .page-btn.active{background:var(--navy);color:#fff;box-shadow:none}.pagination .page-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--surface)}.client-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.client-card{background:var(--surface);border-radius:var(--card-radius);box-shadow:var(--card-shadow);cursor:pointer;text-align:left;width:100%;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);border:none;padding:0;font-family:inherit;display:block;position:relative;overflow:hidden}.client-card:hover{box-shadow:0 6px 18px #2e3e791f, 0 0 0 1px var(--line);transform:translateY(-2px)}.client-card .cc-band{height:4px}.client-card .cc-body{align-items:flex-start;gap:12px;padding:16px 18px 14px;display:flex}.client-card .cc-avatar{color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.client-card .cc-name{color:var(--navy);letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.25}.client-card .cc-chips{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.client-card .cc-foot{border-top:1px solid var(--divider);color:var(--ink-3);justify-content:space-between;align-items:center;padding:11px 18px;font-size:12.5px;font-weight:500;display:flex}.client-card .cc-foot .left{align-items:center;gap:6px;display:inline-flex}.health-ring{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.health-ring .hr-val{color:var(--navy);font-variant-numeric:tabular-nums;text-align:center;font-weight:800;line-height:1;position:absolute}.health-ring .hr-sub{color:var(--ink-4);margin-top:1px;font-size:9px;font-weight:600;display:block}.cov-cell{border-radius:7px;justify-content:center;align-items:center;height:26px;font-size:10.5px;font-weight:700;display:flex}.cov-cell.present{background:var(--navy);color:#fff}.cov-cell.missing{background:var(--red-bg);color:var(--red-fg);box-shadow:inset 0 0 0 1px #fecaca}.cov-cell.rebuilt{background:var(--amber-bg);color:var(--amber-fg);box-shadow:inset 0 0 0 1px var(--amber-border)}.cov-cell.expected{background:#e9ecf8}.cov-cell.none{background:var(--surface-3)}.cov-cell.current,.cov-cell.missing.current{box-shadow:inset 0 0 0 2px var(--orange)}.cov-legend{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:16px;font-size:11.5px;font-weight:600;display:flex}.cov-legend .lg{align-items:center;gap:6px;display:inline-flex}.cov-legend .sw{border-radius:4px;width:14px;height:14px;display:inline-block}.client-chip{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-4);cursor:pointer;transition:box-shadow var(--dur), color var(--dur), background var(--dur);border:none;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.client-chip .cdot{background:var(--line-strong);border-radius:999px;width:8px;height:8px}.client-chip.on{color:var(--navy);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--navy-border), 0 1px 3px #2e3e7914}.hero-navy{background:var(--grad-navy);color:#fff;border-radius:18px;margin-bottom:20px;padding:28px 30px;position:relative;overflow:hidden}.hero-navy:after{content:"";background:radial-gradient(circle,#fa944647,#0000 65%);border-radius:999px;width:280px;height:280px;position:absolute;top:-80px;right:-80px}.hero-navy h2{letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.2;position:relative}.hero-navy p{color:#ffffffbf;max-width:480px;margin-top:8px;font-size:13.5px;position:relative}.setup-step{background:var(--surface);border-radius:var(--card-radius);box-shadow:var(--card-shadow);align-items:flex-start;gap:13px;padding:18px;display:flex}.setup-step .step-num{background:var(--navy-soft);width:30px;height:30px;color:var(--navy);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.setup-step.done .step-num{background:var(--green-bg);color:var(--green-fg)}.fullbleed{background:radial-gradient(1100px 500px at 85% -10%, #fa94461a, transparent 60%), radial-gradient(900px 480px at -10% 110%, #2e3e7914, transparent 55%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.auth-card{background:var(--surface);width:100%;max-width:420px;box-shadow:0 8px 40px #2e3e791f, 0 0 0 1px var(--line);border-radius:20px;padding:34px 34px 28px;animation:.25s scpop}.auth-foot{text-align:center;color:var(--ink-4);margin-top:18px;font-size:12px}.auth-foot a{color:var(--ink-4);font-weight:600}.timeline{padding-left:22px;position:relative}.timeline:before{content:"";background:var(--divider);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:6px}.timeline-item{padding:0 0 18px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item .tl-dot{background:var(--surface);width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--navy-border);border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;left:-22px}.timeline-item .tl-dot:after{content:"";background:var(--navy);border-radius:999px;width:6px;height:6px}.timeline-item.warn .tl-dot{box-shadow:inset 0 0 0 2px var(--amber-border)}.timeline-item.warn .tl-dot:after{background:var(--amber-fg)}.timeline-item.error .tl-dot{box-shadow:inset 0 0 0 2px #fecaca}.timeline-item.error .tl-dot:after{background:var(--red-fg)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s infinite skshine}@keyframes skshine{to{background-position:-200% 0}}.search-input{position:relative}.search-input input.text{padding-left:34px}.search-input .search-icon{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.mirror-banner{z-index:2000;background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber-border);border-top:none;border-radius:0 0 10px 10px;align-items:center;gap:10px;padding:6px 14px;font-size:12.5px;font-weight:500;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000014}.mirror-banner.unlocked{background:var(--red-bg);color:var(--red-fg);border-color:#fecaca}.mirror-banner-label{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.mirror-banner-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:2px 10px;font-size:12px;font-weight:600}.mirror-banner-btn:hover:not(:disabled){background:#0000000f}.mirror-banner-btn:disabled{opacity:.6;cursor:default}@media (width<=1180px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.client-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.topsearch{min-width:150px}}@media (width<=900px){.rail{width:64px}.rail-brand-name,.rail-brand-sub,.rail-item .lbl,.rail-group,.rail-user-name,.rail-user-role,.rail-user .chev{display:none}.rail-brand{padding:16px 15px 12px}.rail-item{justify-content:center;padding:10px}.rail-badge{position:absolute;top:4px;right:4px}.rail-user{justify-content:center;padding:6px}.container{padding:22px 18px 56px}.topbar{padding:0 18px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.client-grid{grid-template-columns:1fr}.form-grid-3,.form-grid-4{grid-template-columns:1fr 1fr}.topsearch{display:none}.notif-pop{width:calc(100vw - 24px);max-width:352px;right:12px}}
