:root{color-scheme:light;--surface-1: #ffffff;--page: #f8f7fb;--text-primary: #17172f;--text-secondary: #4b4860;--text-muted: #726c86;--grid: #eeeaf5;--axis: #cfc7dd;--border: #e9e4ee;--series-1: #ec1975;--series-2: #8b46e8;--series-3: #ff5c5c;--series-4: #ff8412;--seq-100: #f4edff;--seq-250: #d9b8ef;--seq-400: #c94fd0;--seq-450: #d92bd3;--seq-600: #8b46e8;--brand-emerald-1: #0d5f4d;--brand-emerald-2: #0a4c3e;--brand-emerald-3: #083f34;--brand-mint: #2ed694;--brand-raise-1: #15866c;--brand-raise-2: #0f6754;--brand-gradient: linear-gradient(168deg, var(--brand-emerald-1), var(--brand-emerald-2) 55%, var(--brand-emerald-3));--brand-pink: #ec1975;--brand-magenta: #d92bd3;--brand-violet: #8b46e8;--brand-coral: #ff5c5c;--brand-orange: #ff8412;--brand-accent: #d92bd3;--brand-grad: linear-gradient(100deg, #e91e8c, #ff7a1a);--disc-editor: #7c3aed;--disc-writer: #ec4899;--disc-designer: #8b5cf6;--disc-photographer: #f97316;--disc-lead: #ef4444;--disc-intern: #10b981;--sidebar-bg: #ffffff;--sidebar-border: #e9e4ee;--nav-hover-bg: #f6f1fb;--nav-active-bg: #faeef7;--nav-active-text: #17172f;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--success-text: #006300;--radius: 10px;--radius-sm: 6px;--font: system-ui, -apple-system, "Segoe UI", sans-serif}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--surface-1: #111826;--page: #090d15;--text-primary: #eef2fb;--text-secondary: #aeb8ca;--text-muted: #77839a;--grid: #1b2231;--axis: #37425a;--border: rgba(255, 255, 255, .08);--series-1: #5b8cff;--series-2: #2ed694;--series-3: #e08cba;--series-4: #f5b23c;--seq-100: #17223a;--seq-250: #2f4f8f;--seq-400: #4f84e6;--seq-450: #5b8cff;--seq-600: #a9c7f7;--good: #2ed694;--warning: #f5b23c;--serious: #f2894f;--critical: #f0596a;--success-text: #2ed694}}:root[data-theme=dark]{color-scheme:dark;--surface-1: #111826;--page: #090d15;--text-primary: #eef2fb;--text-secondary: #aeb8ca;--text-muted: #77839a;--grid: #1b2231;--axis: #37425a;--border: rgba(255, 255, 255, .08);--series-1: #5b8cff;--series-2: #2ed694;--series-3: #e08cba;--series-4: #f5b23c;--seq-100: #17223a;--seq-250: #2f4f8f;--seq-400: #4f84e6;--seq-450: #5b8cff;--seq-600: #a9c7f7;--good: #2ed694;--warning: #f5b23c;--serious: #f2894f;--critical: #f0596a;--success-text: #2ed694}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--page);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--brand-pink)}.app{display:grid;grid-template-columns:232px 1fr;height:100dvh;overflow:hidden}.mobile-topbar,.nav-backdrop{display:none}@media(max-width:900px){.app{display:block;height:auto;overflow:visible}.mobile-topbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.mobile-menu-btn{font-size:20px;line-height:1;background:transparent;border:1px solid var(--border);border-radius:10px;padding:5px 11px;cursor:pointer;color:var(--text-primary);flex-shrink:0}.mobile-brand{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--text-primary)}.mobile-brand span{display:block;font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sidebar{position:fixed;top:0;left:0;height:100dvh;width:min(280px,82vw);z-index:50;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 40px #0000002e}.app[data-nav-open=true] .sidebar{transform:translate(0)}.app[data-nav-open=true] .nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#14101e6b}.main{height:auto;min-height:0;max-width:none;overflow:visible;padding:18px 16px 60px}.page-head{position:static;margin:0;padding:0;border-bottom:0;box-shadow:none;background:transparent}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.sidebar{background:var(--surface-1);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;height:100dvh;overflow:hidden}.brand{flex-shrink:0;font-size:19px;font-weight:700;letter-spacing:-.02em;padding:0 10px 4px}.brand span{color:var(--text-muted);font-weight:400;font-size:11px;display:block;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}.nav-links{display:flex;flex-direction:column;gap:2px;margin-top:12px;flex:1;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:#d9d3e4 transparent}.nav-links::-webkit-scrollbar{width:6px}.nav-links::-webkit-scrollbar-thumb{background:#d9d3e4;border-radius:3px}.nav-links::-webkit-scrollbar-track{background:transparent}.sidebar-footer{flex-shrink:0;margin-top:6px;padding-top:12px;border-top:1px solid var(--border);background:var(--surface-1)}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#696075;font-weight:700;padding:0 10px;margin:24px 0 10px;cursor:default}.nav-links .nav-section:not(:first-of-type){border-top:1px solid #eee9f1;padding-top:14px}.nav-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:13.5px;white-space:nowrap}.nav-link:hover{background:var(--page);color:var(--text-primary)}.nav-link.active{background:var(--seq-100);color:var(--text-primary);font-weight:600}:root[data-theme=dark] .nav-link.active,:root:where(:not([data-theme=light])) .nav-link.active{color:#fff}.nav-row{display:flex;align-items:center;gap:11px;min-width:0}.nav-ico{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--nav-ico-color, var(--text-muted));transition:color .16s ease,filter .16s ease}.nav-ico svg{width:18px;height:18px}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-link:hover .nav-ico{filter:saturate(1.25) brightness(.95)}.nav-link.active .nav-ico{color:#fff;filter:none}.notif-btn{display:inline-flex;align-items:center;gap:9px}.notif-bell{display:inline-flex;color:#f59e0b}.notif-bell svg{width:18px;height:18px}.sign-out-btn .logout-ico{display:inline-flex;align-items:center;color:var(--text-muted);transition:color .16s ease}.sign-out-btn .logout-ico svg{width:17px;height:17px}.sign-out-btn:hover .logout-ico{color:var(--brand-pink)}.main{padding:0 28px 60px;max-width:1400px;overflow-x:hidden;height:100vh;overflow-y:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;position:sticky;top:0;z-index:100;background:var(--page);margin:0 -28px;padding:22px 28px 15px;border-bottom:1px solid var(--border);box-shadow:0 4px 12px #1e193c0d}h1{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}.subtitle{color:var(--text-secondary);font-size:13.5px;margin:0}.dash-datectx{font-size:13px;font-weight:500;color:var(--text-muted);margin:7px 0 0}.dash-sep{opacity:.5}h2{font-size:16px;margin:0;letter-spacing:-.01em}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.grid{display:grid;gap:14px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(max-width:760px){.grid{grid-template-columns:1fr!important;gap:14px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}h1{font-size:21px}h2{font-size:18px}button:not(.link-btn):not(.drill),.auth-submit,select,input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date]{min-height:44px;font-size:15px}.nav-link{padding:11px 12px;font-size:14.5px}.recharts-responsive-container{min-height:200px}}:root[data-theme=light] .card{border-radius:14px;border:1px solid rgba(15,23,42,.07);box-shadow:0 1px 2px #0f172a0a,0 4px 12px #0f172a0b}.kpi-card{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px 20px 20px}.kpi-body{min-width:0}:root[data-theme=light] .kpi-card{border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 1px 2px #0f172a0f,0 6px 14px #0f172a12,0 14px 30px #0f172a0d,inset 0 1px #ffffffe6;transition:transform .2s ease,box-shadow .2s ease}.kpi-icon{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:var(--kpi-accent, var(--series-1));background:color-mix(in srgb,var(--kpi-accent, var(--series-1)) 11%,#ffffff);border:1px solid color-mix(in srgb,var(--kpi-accent, var(--series-1)) 22%,#ffffff);box-shadow:0 1px 2px #0f172a0d}.kpi-icon svg{width:22px;height:22px}:root[data-theme=light] .kpi-card:after{content:"";position:absolute;left:20px;bottom:0;width:44px;height:3px;border-radius:3px 3px 0 0;background:var(--kpi-accent, var(--series-1))}.kpi-card .tile-label{letter-spacing:.06em;color:var(--text-secondary)}.kpi-card .tile-value{margin:7px 0 0}.kpi-card .tile-sub{margin-top:5px}@media(hover:hover){:root[data-theme=light] .kpi-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0f172a12,0 10px 20px #0f172a17,0 22px 44px #0f172a0f,inset 0 1px #ffffffe6}}@media(prefers-reduced-motion:reduce){:root[data-theme=light] .kpi-card{transition:none}}.tile-label{font-size:11.5px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.tile-value{font-size:30px;font-weight:700;letter-spacing:-.03em;margin:6px 0 2px;line-height:1.1}.tile-value.hero{font-size:48px}.tile-sub{font-size:12.5px;color:var(--text-muted)}.delta-up{color:var(--success-text);font-weight:600}.delta-down{color:var(--critical);font-weight:600}.meter-track{height:8px;background:var(--grid);border-radius:4px;overflow:hidden}.meter-fill{height:100%;border-radius:4px;background:var(--seq-450)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap;background:#f6f4fa}td{padding:10px;border-bottom:1px solid var(--grid);vertical-align:middle}tbody tr:hover{background:#8b46e80d}.table-wrap thead th{position:sticky;top:0;z-index:1}.mytasks-month{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-violet);background:#f6f4fa;padding:6px 10px!important}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}@media(max-width:1000px){.cal-layout{grid-template-columns:1fr}}.cal-side{display:flex;flex-direction:column;gap:14px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.cal-weekday{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:center;padding:2px 0 4px}.cal-cell{min-height:88px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);padding:8px 9px;display:flex;flex-direction:column;align-items:stretch;gap:7px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.cal-cell:hover{border-color:var(--brand-violet);box-shadow:0 4px 14px #8b46e821}.cal-empty{border:none;background:transparent;cursor:default;min-height:0;box-shadow:none}.cal-today{border-color:var(--brand-violet);box-shadow:inset 0 0 0 1px var(--brand-violet)}.cal-selected{background:color-mix(in srgb,var(--brand-violet) 8%,var(--surface-1));border-color:var(--brand-violet)}.cal-date-row{display:flex;align-items:center;justify-content:space-between}.cal-date{font-size:14px;font-weight:700;color:var(--text-primary)}.cal-today-tag{font-size:8.5px;font-weight:800;letter-spacing:.06em;color:#fff;background:var(--brand-violet);padding:1px 5px;border-radius:999px}.cal-dots{display:flex;gap:8px;flex-wrap:wrap}.cal-dot{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--text-secondary)}.cal-dot-mark{width:8px;height:8px;border-radius:999px;display:inline-block;flex-shrink:0}.cal-upload{font-size:11px;font-weight:700;border-radius:7px;padding:2px 7px;align-self:flex-start;line-height:1.55}.cal-upload-due{color:#a4590a;background:color-mix(in srgb,#e8890c 16%,transparent)}.cal-upload-today{color:#fff;background:#e8890c}.cal-upload-overdue{color:#fff;background:#d92b2b}.cal-upload-complete{color:#157a47;background:color-mix(in srgb,#1c9d5b 15%,transparent)}.cal-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:var(--text-secondary)}.cal-leg{display:inline-flex;align-items:center;gap:6px}.seg{display:inline-flex;gap:4px;background:color-mix(in srgb,var(--brand-violet) 7%,transparent);padding:3px;border-radius:9px}.seg>button{border:none;background:transparent;padding:4px 13px;border-radius:7px;font-size:12.5px}.cal-listrow{display:flex;align-items:center;gap:16px;width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface-1);padding:9px 12px;cursor:pointer;text-align:left}.cal-listrow:hover{border-color:var(--brand-violet)}.cal-listdate{min-width:92px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px}.rem-head{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.rem-head-warn{color:#d92b2b}.rem-row{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface-1);padding:8px 11px;cursor:pointer}.rem-row:hover{border-color:var(--brand-violet)}.rem-overdue{background:color-mix(in srgb,#d92b2b 6%,var(--surface-1));border-color:color-mix(in srgb,#d92b2b 22%,var(--border))}.rem-team{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.rem-meta{display:flex;justify-content:space-between;font-size:11.5px}.rem-count{color:var(--text-secondary);font-weight:600}.rem-date{color:var(--text-muted)}.qa-link{display:block;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary)}.qa-link:hover{border-color:var(--brand-violet);background:color-mix(in srgb,var(--brand-violet) 5%,var(--surface-1));text-decoration:none}.qa-warn{color:#d92b2b;border-color:color-mix(in srgb,#d92b2b 30%,var(--border));background:color-mix(in srgb,#d92b2b 6%,var(--surface-1))}.cal-planrow{padding:5px 2px;border-bottom:1px solid var(--border);font-size:13px}.asset-row:hover{background:color-mix(in srgb,var(--brand-violet) 5%,var(--surface-1))}.asset-dl{display:flex;flex-direction:column;gap:0}.asset-dl-row{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:8px 2px;border-bottom:1px solid var(--border);font-size:13px}.asset-dl-key{color:var(--text-muted);font-weight:600}.tgt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.tgt-card{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--surface-1)}.tgt-ratio{display:inline-flex;align-items:center;gap:8px}.tgt-bar{width:58px;height:6px;border-radius:999px;background:var(--grid);overflow:hidden;display:inline-block;flex-shrink:0}.tgt-bar>span{display:block;height:100%;border-radius:999px}.ttbl-scroll{max-height:248px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;scrollbar-width:thin;scrollbar-color:var(--axis) transparent}.ttbl-scroll::-webkit-scrollbar{width:7px}.ttbl-scroll::-webkit-scrollbar-thumb{background:var(--axis);border-radius:999px}.ttbl-scroll::-webkit-scrollbar-track{background:transparent}.ttbl-scroll table{width:100%;border-collapse:collapse}.ttbl-scroll thead th{position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--brand-violet) 6%,var(--surface-1));text-transform:uppercase;font-size:10.5px;letter-spacing:.05em;font-weight:700;color:#6b6480;padding:8px 12px;text-align:left;white-space:nowrap}.ttbl-scroll thead th.num{text-align:right}.ttbl-scroll tbody td{padding:8px 12px;font-size:13px;border-top:1px solid var(--border)}.ttbl-scroll tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.ttbl-scroll tbody tr{transition:background .15s ease}.ttbl-scroll tbody tr:hover{background:color-mix(in srgb,var(--brand-violet) 4%,transparent)}.ttbl-cat{display:inline-flex;align-items:center;gap:8px;font-weight:500}.ttbl-cat svg{width:15px;height:15px;flex-shrink:0}.ttbl-tm{width:320px;min-width:300px}.ttbl-prog{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.ttbl-bar{width:120px;height:6px;border-radius:999px;background:#edeaf4;overflow:hidden;flex-shrink:0}.ttbl-bar>span{display:block;height:100%;border-radius:999px;transition:width .3s ease}.ttbl-prog-num{font-size:11.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:58px}.ttbl-prog-pct{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.ttbl-check{width:14px;height:14px;color:#16a34a;flex-shrink:0}.ttbl-done{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#16a34a;font-weight:600}.ttbl-done svg{width:14px;height:14px}.ttbl-help{font-size:11.5px;color:var(--text-muted);margin:8px 2px 0}.rubric-chart{display:flex;flex-direction:column}.rubric-scroll{overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--axis) transparent}.rubric-scroll::-webkit-scrollbar{width:7px}.rubric-scroll::-webkit-scrollbar-thumb{background:var(--axis);border-radius:999px}.rubric-scroll::-webkit-scrollbar-track{background:transparent}.rubric-row{display:grid;grid-template-columns:150px 1fr 46px;gap:10px;align-items:center;padding:5px 0}.rubric-label{font-size:12.5px;color:var(--text-secondary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rubric-track{position:relative;height:14px;border-radius:999px;background-color:var(--grid);background-image:repeating-linear-gradient(to right,color-mix(in srgb,var(--axis) 45%,transparent) 0 1px,transparent 1px 20%);overflow:hidden}.rubric-fill{display:block;height:100%;border-radius:999px;transition:width .3s ease}.rubric-val{font-size:12px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.rubric-val.weak{color:var(--serious, #d92b2b)}.rubric-axis{display:grid;grid-template-columns:150px 1fr 46px;gap:10px;margin-top:6px;border-top:1px solid var(--border);padding-top:5px}.rubric-ticks{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.rubric-axis-caption{text-align:center;font-size:11px;color:var(--text-muted);margin-top:3px}@media(max-width:640px){.rubric-row,.rubric-axis{grid-template-columns:96px 1fr 40px}}.mbm thead th{background:color-mix(in srgb,var(--brand-violet) 5%,var(--surface-1));text-transform:uppercase;font-size:10.5px;letter-spacing:.05em;font-weight:700;color:#6b6480}.mbm tbody tr{transition:background .16s ease,box-shadow .16s ease}.mbm tbody tr:hover{background:color-mix(in srgb,var(--brand-violet) 4%,transparent)}.mbm tbody tr.mbm-latest{background:color-mix(in srgb,var(--brand-pink) 6%,var(--surface-1))}.mbm tbody tr.mbm-latest:hover{background:color-mix(in srgb,var(--brand-pink) 10%,var(--surface-1))}.mbm-dot{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:8px;vertical-align:middle;flex-shrink:0}.mbm-cell{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}.mbm-cell svg{width:14px;height:14px;flex-shrink:0}.mbm-mono{font-variant-numeric:tabular-nums;font-weight:600}.mbm-appr{display:inline-flex;flex-direction:column;gap:3px;align-items:flex-end}.mbm-appr-bar{width:62px;height:5px;border-radius:999px;background:var(--grid);overflow:hidden}.mbm-appr-bar>span{display:block;height:100%;border-radius:999px}.mbm-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-weight:700;font-size:12px;border:1px solid}.mbm-pill .dot{width:6px;height:6px;border-radius:999px;flex-shrink:0}.mbm-mom{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;margin-left:8px;white-space:nowrap}.mbm-mom.up{color:#157a47;background:color-mix(in srgb,#16a34a 14%,transparent)}.mbm-mom.down{color:#b4530a;background:color-mix(in srgb,#f97316 15%,transparent)}.asset-dl-val{color:var(--text-primary);word-break:break-word}.branch-scope{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.branch-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--brand-violet, #7c3aed);background:color-mix(in srgb,var(--brand-violet, #7c3aed) 12%,transparent);border:1px solid color-mix(in srgb,var(--brand-violet, #7c3aed) 30%,transparent)}.branch-chip.muted{color:#8a8398;background:#f3f1f7;border-color:#e6e2ee}.bc-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:14px 18px;border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-pink, #ec1975) 8%,#fff),color-mix(in srgb,var(--brand-orange, #ff7a1a) 8%,#fff));border:1px solid var(--border, #eee)}.bc-summary-lead{font-size:18px;font-weight:800;letter-spacing:-.01em}.bc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.bc-card{background:var(--surface, #fff);border:1px solid var(--border, #ece9f2);border-radius:16px;padding:15px 16px 16px;box-shadow:0 1px 2px #18142d0a;display:flex;flex-direction:column;gap:10px}.bc-card-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a8398}.bc-vals{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.bc-val{display:flex;flex-direction:column;gap:1px}.bc-val small{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#9a93a8}.bc-val b{font-size:25px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.05}.bc-gap{font-size:12px;font-weight:700}.bc-mini{display:grid;grid-template-columns:1fr;gap:4px}.bc-bar{height:7px;border-radius:999px;background:#f0edf5;overflow:hidden}.bc-bar>span{display:block;height:100%;border-radius:999px}.bc-scorecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.bc-scorecard{border:1px solid var(--border, #ece9f2);border-radius:18px;padding:18px;background:var(--surface, #fff);position:relative}.bc-scorecard.win{border-color:color-mix(in srgb,var(--good, #16a34a) 45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--good, #16a34a) 30%,transparent)}.bc-scorescore{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.bc-mini-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin-top:14px}.bc-mini-metrics div{display:flex;justify-content:space-between;font-size:13px;border-bottom:1px solid #f2f0f6;padding-bottom:5px}.bc-mini-metrics span:first-child{color:#8a8398}.bc-mini-metrics b{font-variant-numeric:tabular-nums}.bc-stand{display:grid;gap:13px}.bc-stand-row{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center}.bc-stand-label{font-size:13px;font-weight:600}.bc-stand-bars{display:grid;gap:5px}.bc-stand-bar{display:grid;grid-template-columns:60px 1fr 54px;align-items:center;gap:8px;font-size:12px}.bc-stand-bar .track{height:12px;border-radius:999px;background:#f0edf5;overflow:hidden}.bc-stand-bar .track>span{display:block;height:100%;border-radius:999px}.bc-stand-bar .v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.bc-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.bc-insight{border:1px solid var(--border, #ece9f2);border-left-width:4px;border-radius:12px;padding:12px 14px;background:var(--surface, #fff)}.bc-insight h4{margin:0 0 3px;font-size:13.5px}.bc-insight p{margin:0;font-size:12.5px;color:#6b6478}@media(max-width:560px){.bc-stand-row{grid-template-columns:1fr;gap:5px}}.access-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--border, #ece9f2);border-radius:12px;background:var(--surface, #fff)}.access-card{background:var(--surface, #fff);border:1px solid var(--border, #ece9f2);border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px #18142d0d}.access-card.inactive{opacity:.62}.access-top{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.access-id{display:flex;gap:12px;align-items:center;min-width:220px}.access-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:.02em}.access-idtext{display:flex;flex-direction:column;gap:2px}.access-email{font-size:12.5px;color:#6b6478}.access-mailicon{opacity:.55}.access-fields{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.access-field{display:flex;flex-direction:column;gap:4px}.access-field select{min-width:150px}.access-status{border-radius:999px;padding:7px 14px;font-weight:600;font-size:12.5px;border:1px solid;cursor:pointer}.access-status.ok{color:#158a3a;background:color-mix(in srgb,#16a34a 12%,#fff);border-color:color-mix(in srgb,#16a34a 32%,#fff)}.access-status.no{color:#c62828;background:color-mix(in srgb,#d92b2b 10%,#fff);border-color:color-mix(in srgb,#d92b2b 30%,#fff)}.access-status.warn{color:#b45309;background:color-mix(in srgb,#f59e0b 14%,#fff);border-color:color-mix(in srgb,#f59e0b 36%,#fff)}.access-divider{height:1px;background:var(--border, #efecf4);margin:15px 0 14px}.access-actions{display:flex;gap:10px;flex-wrap:wrap}.access-actions>*{flex:1 1 130px;min-width:130px}.access-actions>.stack,.access-actions>span{flex-basis:100%}.acc-btn{border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;background:#fff;transition:background .12s ease}.acc-edit{color:#c2185b;border-color:color-mix(in srgb,#ec1975 42%,#fff);background:color-mix(in srgb,#ec1975 7%,#fff)}.acc-edit:hover{background:color-mix(in srgb,#ec1975 14%,#fff)}.acc-send{color:#1565c0;border-color:#a9cef5;background:#eef5ff}.acc-send:hover{background:#e0edff}.acc-remove{color:#b45f00;border-color:#ffcc85;background:#fff6ea}.acc-remove:hover{background:#ffeccc}.acc-delete{color:#c62828;border-color:#f0a6a6;background:#fdf1f1}.acc-delete:hover{background:#fbe2e2}@media(max-width:640px){.access-actions>*{flex-basis:calc(50% - 5px);min-width:0}}.reason-cell{cursor:pointer}.reason-clamp{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.45}.reason-view{display:inline-block;margin-top:3px;color:var(--brand-violet, #7c3aed);font-weight:600;font-size:12px}.reason-cell:hover .reason-view{text-decoration:underline}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1410286b;z-index:2100;display:flex;justify-content:flex-end}.drawer{width:min(560px,100%);height:100%;background:var(--surface-1);display:flex;flex-direction:column;box-shadow:-14px 0 44px #14102838;animation:drawer-in .18s ease}@keyframes drawer-in{0%{transform:translate(28px);opacity:.5}to{transform:none;opacity:1}}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.drawer-body{padding:18px 20px 44px;overflow-y:auto;flex:1}.drawer-close{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:14px;color:var(--text-secondary)}.drawer-close:hover{background:var(--seq-100)}.reason-copy{border:1px solid color-mix(in srgb,var(--brand-violet, #7c3aed) 32%,#fff);color:var(--brand-violet, #7c3aed);background:color-mix(in srgb,var(--brand-violet, #7c3aed) 8%,#fff);border-radius:8px;padding:7px 13px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.reason-copy:hover{background:color-mix(in srgb,var(--brand-violet, #7c3aed) 15%,#fff)}.reason-full{font-size:13.5px;line-height:1.62;color:var(--text-primary);word-break:break-word}.reason-full p{margin:0 0 9px}.reason-full strong{color:var(--text-primary);font-weight:700}@media(max-width:560px){.drawer{width:100%}}.attach-chip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#158a3a;background:color-mix(in srgb,#16a34a 10%,transparent);border:1px solid color-mix(in srgb,#16a34a 28%,transparent);border-radius:999px;padding:5px 12px}.attach-chip-view{font-weight:600;color:var(--brand-violet, #7c3aed);text-decoration:none}.attach-chip-view:hover{text-decoration:underline}.perf-table{width:100%;border-collapse:collapse;font-size:13px}.perf-table thead th{text-transform:uppercase;font-size:10.5px;letter-spacing:.06em;font-weight:600;color:#8a8398;padding:9px 14px;text-align:left;white-space:nowrap;background:color-mix(in srgb,var(--brand-violet, #7c3aed) 5%,transparent);border-bottom:1px solid var(--border, #ece9f2)}.perf-table thead th.num{text-align:right}.perf-table tbody td{padding:12px 14px;border-bottom:1px solid #f1eef7;vertical-align:middle}.perf-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.perf-table tbody tr:last-child td{border-bottom:0}.perf-table tbody tr:hover td{background:color-mix(in srgb,var(--brand-violet, #7c3aed) 4%,transparent)}.perf-table th:first-child,.perf-table td:first-child{position:sticky;left:0;background:var(--surface-1, #fff);z-index:1}.perf-table thead th:first-child{background:color-mix(in srgb,var(--brand-violet, #7c3aed) 5%,var(--surface-1, #fff))}.perf-table tbody tr:hover td:first-child{background:color-mix(in srgb,var(--brand-violet, #7c3aed) 4%,var(--surface-1, #fff))}.perf-person{display:flex;align-items:center;gap:10px}.perf-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em}.perf-bar{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.perf-bar-track{width:68px;height:7px;border-radius:999px;background:#ede8f4;overflow:hidden;flex-shrink:0}.perf-bar-track>span{display:block;height:100%;border-radius:999px}.perf-bar-val{font-weight:700;font-size:12.5px;min-width:34px;text-align:right}.perf-pill{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px;font-variant-numeric:tabular-nums}.perf-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.eotm-link{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;flex:1;min-width:0;border-radius:12px;padding:5px 7px;margin:-5px -7px}.eotm-link:hover{background:var(--seq-100)}.eotm-arrow{color:var(--brand-violet, #7c3aed);font-weight:700;opacity:0;transition:opacity .12s ease}.eotm-link:hover .eotm-arrow{opacity:1}@media(max-width:620px){.cal-cell{min-height:54px}}.link-btn.drill{font:inherit;color:var(--brand-violet);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--brand-violet) 35%,transparent);cursor:pointer}.link-btn.drill:hover{text-decoration-color:var(--brand-violet)}td.num,th.num{text-align:center;font-variant-numeric:tabular-nums}.person-cell{display:flex;align-items:center;gap:9px}.avatar{width:26px;height:26px;border-radius:50%;background:var(--seq-100);color:var(--seq-600);display:grid;place-items:center;font-size:10.5px;font-weight:700;flex:none}.person-name{font-weight:600}.person-role{font-size:11.5px;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2.5px 8px;border-radius:20px;font-size:11.5px;font-weight:600;border:1px solid transparent;white-space:nowrap}.badge-good{color:var(--success-text);border-color:var(--good)}.badge-warning{color:var(--text-primary);border-color:var(--warning)}.badge-serious{color:var(--text-primary);border-color:var(--serious)}.badge-critical{color:var(--critical);border-color:var(--critical)}.badge-neutral{color:var(--text-secondary);border-color:var(--axis)}.dot{width:7px;height:7px;border-radius:50%;flex:none}.disc-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--nav-color, var(--brand-magenta))}:root[data-theme=light] .sidebar .nav-link.active .disc-dot{background:#fff}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}select,input,textarea{font-family:inherit;font-size:13.5px;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--axis);background:var(--surface-1);color:var(--text-primary)}button{font-family:inherit;font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--axis);background:var(--surface-1);color:var(--text-primary);cursor:pointer}button:hover:not(:disabled){border-color:var(--text-muted)}button.primary{background:var(--brand-grad);border-color:transparent;color:#fff}button.primary:hover:not(:disabled){filter:brightness(1.05)}button:disabled{opacity:.5;cursor:not-allowed}.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:none}.toast{padding:11px 16px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;color:#fff;box-shadow:0 6px 24px #00000038;max-width:min(420px,84vw);animation:toast-in .18s ease-out}.toast-good{background:var(--series-1)}.toast-bad{background:var(--critical)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.notif-dot{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--critical);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.notif-panel{position:fixed;left:14px;bottom:60px;width:min(330px,calc(100vw - 28px));max-height:70vh;overflow-y:auto;background:var(--surface-1);border:1px solid var(--axis);border-radius:var(--radius-md);box-shadow:0 12px 40px #00000057;z-index:1200}.notif-item.clickable{cursor:pointer}.notif-item.clickable:hover{background:var(--seq-100)}.sign-out-btn{display:inline-flex;align-items:center;gap:8px;margin:10px 10px 0;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.22);background:#ffffff0f;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sign-out-btn:hover:not(:disabled){background:#ffffff24;border-color:#fff6}.sign-out-btn:disabled{opacity:.75;cursor:default}:root[data-theme=light] .sidebar .sign-out-btn{color:var(--text-secondary);background:transparent;border-color:var(--sidebar-border)}:root[data-theme=light] .sidebar .sign-out-btn:hover:not(:disabled){background:var(--nav-hover-bg);border-color:var(--brand-magenta);color:var(--brand-magenta)}.spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--axis);color:var(--text-primary)}.notif-empty{padding:18px 12px;color:var(--text-muted);font-size:13px}.notif-item{padding:10px 12px;border-bottom:1px solid var(--axis)}.notif-item.unread{background:var(--seq-100)}.notif-title{font-size:13px;font-weight:600;color:var(--text-primary)}.notif-body{font-size:12px;color:var(--text-secondary);margin-top:2px}.notif-time{font-size:11px;color:var(--text-muted);margin-top:3px}button.danger{background:var(--critical);border-color:var(--critical);color:#fff}button.danger:hover:not(:disabled){filter:brightness(1.08);border-color:var(--critical)}.empty{padding:36px 16px;text-align:center;color:var(--text-muted);font-size:13.5px}.error{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--critical);color:var(--critical);font-size:13.5px;background:var(--surface-1)}.muted{color:var(--text-muted)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:8px}.spread{justify-content:space-between}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.tooltip{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px;box-shadow:0 4px 14px #0000001f}.tooltip-label{font-weight:600;margin-bottom:4px}.link-btn{background:none;border:none;padding:0;color:var(--brand-pink);font-weight:600;cursor:pointer;font-size:inherit}:root[data-theme=light] .sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border)}:root[data-theme=light] .sidebar .brand{color:var(--text-primary)}:root[data-theme=light] .sidebar .brand span{color:var(--text-muted)}:root[data-theme=light] .sidebar .nav-section{color:#696075}:root[data-theme=light] .sidebar .nav-link{color:var(--text-secondary);border-radius:10px;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}:root[data-theme=light] .sidebar .nav-link:hover:not(.active){background:color-mix(in srgb,var(--nav-color, var(--brand-magenta)) 12%,transparent);color:var(--text-primary)}:root[data-theme=light] .sidebar .nav-link.active{background:var(--nav-color, var(--brand-magenta));color:#fff;font-weight:600;border-radius:10px;box-shadow:0 6px 16px color-mix(in srgb,var(--nav-color, var(--brand-magenta)) 26%,transparent)}@media(prefers-reduced-motion:reduce){:root[data-theme=light] .sidebar .nav-link{transition:none}}:root[data-theme=light] .sidebar>div:last-child div,:root[data-theme=light] .sidebar .muted{color:var(--text-muted)}:root[data-theme=light] .sidebar>div:last-child>div>div:first-child{color:var(--text-primary)}:root[data-theme=light] .sidebar .link-btn{color:var(--brand-pink)}:root[data-theme=light] .sidebar .notif-panel .notif-head strong,:root[data-theme=light] .sidebar .notif-panel .notif-title{color:var(--text-primary)}:root[data-theme=light] .sidebar .notif-panel .notif-body{color:var(--text-secondary)}:root[data-theme=light] .sidebar .notif-panel .notif-time,:root[data-theme=light] .sidebar .notif-panel .notif-empty{color:var(--text-muted)}:root[data-theme=light] .sidebar .notif-panel .link-btn{color:var(--brand-pink)}:root[data-theme=dark] .sidebar .notif-panel .notif-head strong,:root[data-theme=dark] .sidebar .notif-panel .notif-title{color:var(--text-primary)}:root[data-theme=dark] .sidebar .notif-panel .notif-body{color:var(--text-secondary)}:root[data-theme=dark] .sidebar .notif-panel .notif-time,:root[data-theme=dark] .sidebar .notif-panel .notif-empty{color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:20px;background:#090d158c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:min(100%,420px);background:var(--surface-1);border:1px solid var(--border);border-radius:16px;padding:22px 24px 24px;box-shadow:0 1px 2px #0f172a14,0 20px 50px -12px #0f172a59}.modal-card h2{font-size:19px}.callout{border:1px solid var(--border);background:var(--surface-1);border-left:3px solid var(--series-1);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;color:var(--text-secondary)}.callout.green{border-left-color:var(--good)}.auth{height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.95fr) minmax(0,1fr);position:relative;overflow:hidden;color:#17172f;background:radial-gradient(680px 560px at 2% 4%,rgba(236,25,117,.08),transparent 60%),radial-gradient(720px 620px at 100% 100%,rgba(255,132,18,.08),transparent 62%),radial-gradient(560px 520px at 96% 2%,rgba(139,70,232,.07),transparent 60%),radial-gradient(520px 520px at 28% 102%,rgba(217,43,211,.05),transparent 60%),#fbf9ff}.auth:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(139,70,232,.13) 1px,transparent 1.6px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 82% 72% at 50% 45%,#000,transparent 78%);mask-image:radial-gradient(ellipse 82% 72% at 50% 45%,#000,transparent 78%);opacity:.5;pointer-events:none}.auth:after{content:"";position:absolute;left:-130px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 42% 42%,rgba(236,25,117,.16),transparent 68%);filter:blur(12px);pointer-events:none}.auth-brand{position:relative;z-index:1;overflow:hidden;display:grid;grid-template-columns:minmax(196px,.74fr) minmax(0,1.34fr);align-items:center;gap:clamp(6px,1.4vw,26px);padding:clamp(66px,10vh,102px) clamp(26px,3vw,54px) clamp(54px,8vh,80px);color:#17172f}.auth-brand-text{display:flex;flex-direction:column;align-items:flex-start;max-width:400px}.auth-hero-wrap{display:flex;align-items:center;justify-content:center;min-width:0}.auth-topmark{position:absolute;top:clamp(18px,3.4vh,38px);left:clamp(26px,3vw,54px);display:flex;flex-direction:column;gap:7px}.auth-topmark-logos{display:flex;align-items:center;gap:14px}.auth-topmark-logos img{height:26px;width:auto;max-width:118px;object-fit:contain;display:block}.auth-topmark-div{width:1px;height:22px;background:#d9cfe6}.auth-topmark-name{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#a99fbd}.auth-foot-left{position:absolute;bottom:clamp(16px,3vh,30px);left:clamp(26px,3vw,54px);font-size:12px;color:#6b6580}.auth-foot-left b{font-weight:700;color:#4b4860}.auth-foot-left span{display:block;margin-top:2px;font-size:11px;color:#a99fbd}.auth-corner{position:absolute;z-index:1;bottom:clamp(14px,2.6vh,26px);right:clamp(16px,2vw,32px);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#c7bbda}.auth-corner span{color:#e0d5ec;margin:0 2px}.auth-wordmark{display:flex;align-items:center}.auth-wordmark-logo{display:inline-flex;align-items:center;background:#fff;border-radius:12px;padding:9px 15px;box-shadow:0 6px 18px #0f172a1f}.auth-wordmark-logo img{height:30px;width:auto;display:block}.auth-brand h1{font-size:clamp(34px,3.5vw,48px);line-height:1.03;letter-spacing:-.035em;margin:0;font-weight:800;color:#17172f}.auth-brand h1 .grad{background:linear-gradient(100deg,#ec1975,#d92bd3 42%,#ff5c5c 74%,#ff8412);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-lede{margin:16px 0 0;font-size:14.5px;line-height:1.6;color:#524d63;max-width:46ch}.auth-brands{display:grid;gap:14px;margin-top:30px;max-width:500px}.auth-brandcard{display:flex;align-items:flex-start;gap:14px;border:1px solid #e9e4ee;border-radius:16px;padding:16px 18px;background:#fff;box-shadow:0 1px 2px #17172f0a,0 14px 30px -16px #17172f29}.auth-brandicon{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.02em}.auth-brandcard.qht .auth-brandicon{background:linear-gradient(140deg,#ffe3f0,#fbd0e6);color:#d92bd3}.auth-brandcard.uroots .auth-brandicon{background:linear-gradient(140deg,#ffe8d6,#ffdbc4);color:#ff7a1a}.auth-brandcard-body b{display:flex;align-items:baseline;gap:8px;font-size:14.5px;letter-spacing:-.01em;margin-bottom:4px;color:#17172f}.auth-brandcard.qht .auth-brandcard-body b em{color:#d92bd3}.auth-brandcard.uroots .auth-brandcard-body b em{color:#ff7a1a}.auth-brandcard-body b em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-brandcard-body>span{font-size:12.5px;line-height:1.5;color:#6b6580}.auth-stats{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}.auth-stat{display:flex;align-items:center;gap:11px}.auth-staticon{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.auth-staticon svg{width:19px;height:19px}.auth-staticon.i-people{background:#ffe3f0;color:#ec1975}.auth-staticon.i-disc{background:#efe6ff;color:#8b46e8}.auth-staticon.i-skill{background:#ffe8d6;color:#ff7a1a}.auth-stat b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#17172f;line-height:1.1}.auth-stat span{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#8a8399}.auth-panel{position:relative;z-index:1;display:grid;place-items:center;padding:clamp(18px,4vh,40px) clamp(20px,3vw,34px);overflow:hidden}.auth-form{width:min(100%,460px);background:#fff;border:1px solid #ece6f4;border-radius:22px;padding:26px 30px 22px;box-shadow:0 1px 2px #17172f0a,0 34px 70px -26px #783cb43d}.auth-card-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.auth-card-mark{flex:none;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#ec1975,#d92bd3 45%,#ff8412);box-shadow:0 8px 18px -6px #d92bd380}.auth-card-brand b{display:block;font-size:15px;letter-spacing:-.01em;color:#17172f}.auth-card-brand span{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#8a8399}.auth-form h2{font-size:22px;letter-spacing:-.02em;margin-bottom:5px;color:#17172f}.auth-sub{font-size:13px;color:#6b6580;margin:0 0 14px}.auth-google,:root[data-theme=dark] .auth-google,:root[data-theme=light] .auth-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;font-size:14px;font-weight:600;border-radius:12px;background:#fff;color:#1f1f1f;border:1px solid #e2dcec;box-shadow:0 1px 2px #17172f0f}.auth-google:hover:not(:disabled),:root[data-theme=dark] .auth-google:hover:not(:disabled){background:#f4f5f7}.auth-google:disabled{opacity:.75}.auth-or{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#a29bb3}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:#ece6f4}.auth-field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.auth-field span{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6b6580}.auth-field input{padding:10px 13px;font-size:14px;border-radius:12px;border:1px solid #e9e4ee;background:#fdfbff;color:#17172f;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth-field input::placeholder{color:#a9a3b8}.auth-field input:focus{outline:none;border-color:#d92bd3;box-shadow:0 0 0 3px #d92bd324;background:#fff}.auth-pw-wrap{position:relative}.auth-pw-wrap input{width:100%;padding-right:46px;box-sizing:border-box}.auth-pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:7px;cursor:pointer;color:#8a8398;display:inline-flex;align-items:center;border-radius:8px}.auth-pw-eye:hover{color:#17172f;background:#0000000a}.auth-logos{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 0 8px;padding:10px 20px;background:#fff;border:1px solid #ece7f1;border-radius:14px}.auth-logos img{height:28px;width:auto;max-width:130px;object-fit:contain;display:block}.auth-logos-div{width:1px;height:28px;background:#e2dcea;flex-shrink:0}.auth-product{text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a8398;margin:0 0 13px}.auth-submit{width:100%;margin-top:4px;padding:12px 16px;font-size:14.5px;font-weight:700;color:#fff;border:none;border-radius:12px;background:linear-gradient(100deg,#e91e8c,#ff7a1a);box-shadow:0 10px 22px -8px #e91e8c80;cursor:pointer}.auth-submit:hover:not(:disabled){filter:brightness(1.04)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-note{font-size:12px;line-height:1.5;color:#8a8399;margin:12px 0 0}.auth-foot{margin-top:15px;padding-top:12px;border-top:1px solid #ece6f4;font-size:11.5px;color:#8a8399}.auth-eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#a99fbd;animation:hero-fade .7s ease both}.auth-eyebrow i{font-style:normal;color:#d7cbe8}.auth-eyebrow .on{background:linear-gradient(100deg,#ec1975,#ff8412);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-hero{--hero-s: 1.54;--hero-tiltY: -20deg;--hero-tiltX: 6deg;--hero-tiltZ: -2deg;display:flex;justify-content:center;align-items:center;width:100%;height:calc(352px * var(--hero-s));overflow:visible;perspective:1400px;animation:hero-fade .9s ease both}.hero-stage{position:relative;width:440px;height:340px;transform:rotate(var(--hero-tiltZ)) rotateX(var(--hero-tiltX)) rotateY(var(--hero-tiltY)) scale(var(--hero-s));transform-origin:center center;transform-style:preserve-3d}.hero-orb{position:absolute;border-radius:50%;pointer-events:none}.hero-orb.o1{left:150px;top:-8px;width:58px;height:58px;background:radial-gradient(circle at 40% 35%,#ffa7c0,#ff6f9c);box-shadow:0 14px 32px -8px #ff5a8c80;animation:hero-cardfloat 6.5s ease-in-out infinite}.hero-orb.o2{left:34px;top:52px;width:268px;height:268px;background:radial-gradient(circle at 42% 40%,#d6b4f566,#d6b4f500 70%);animation:hero-breathe 14s ease-in-out infinite}.hero-orb.o3{left:296px;top:206px;width:156px;height:156px;background:radial-gradient(circle,#ff9e5c4d,#ff9e5c00 70%);animation:hero-breathe 18s ease-in-out infinite}.hero-glow{position:absolute;left:90px;top:78px;width:260px;height:190px;border-radius:40px;background:radial-gradient(closest-side,rgba(217,43,211,.28),transparent 72%);filter:blur(26px);animation:hero-breathe 6s ease-in-out infinite}.hero-orbit{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.hero-node{position:absolute;top:0;left:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;offset-path:path("M20,170 A200,130 0 1 1 420,170 A200,130 0 1 1 20,170");offset-rotate:0deg;animation:hero-orbit-move 12s linear infinite}.hero-node:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 4px #ec197524}.hero-node.hn1{background:radial-gradient(circle at 35% 35%,#ff7ab0,#ec1975)}.hero-node.hn2{background:radial-gradient(circle at 35% 35%,#e88bff,#d92bd3);animation-delay:-4s}.hero-node.hn3{background:radial-gradient(circle at 35% 35%,#ffc27a,#ff8412);animation-delay:-8s}.hero-dash{position:absolute;left:96px;top:84px;width:248px;padding:13px 14px 14px;border-radius:18px;background:linear-gradient(180deg,#ffffffdb,#ffffffad);border:1px solid rgba(255,255,255,.8);box-shadow:0 1px 2px #17172f0d,0 26px 50px -22px #783cb466;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);z-index:2;animation:hero-float 5.5s ease-in-out infinite alternate}.hero-dash-head{display:flex;align-items:center;gap:5px;margin-bottom:11px}.hero-hd{width:7px;height:7px;border-radius:50%}.hero-hd.d1{background:#ff8a9c}.hero-hd.d2{background:#ffd27a}.hero-hd.d3{background:#9be0b4}.hero-dash-title{margin-left:6px;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:#6b6580}.hero-dash-body{display:flex;align-items:center;gap:12px}.hero-chart{flex:1;height:62px;min-width:0}.hero-chart-line{stroke-dasharray:220;stroke-dashoffset:220;animation:hero-draw 2.8s cubic-bezier(.4,0,.2,1) .5s forwards}.hero-chart-area{opacity:0;animation:hero-fadein 1.6s ease 1.6s forwards}.hero-donut{flex:none;width:52px;height:52px}.hero-donut svg{width:100%;height:100%}.hero-donut-arc{animation:hero-progress 9s ease-in-out infinite}.hero-dash-rows{display:flex;flex-direction:column;gap:6px;margin-top:12px}.hero-row{height:7px;border-radius:4px;background:linear-gradient(90deg,#efe6f6,#f6eef8);opacity:0;transform:translate(-8px);animation:hero-rowin .6s ease both}.hero-row.hr1{width:92%;animation-delay:.7s}.hero-row.hr2{width:74%;animation-delay:.85s}.hero-row.hr3{width:84%;animation-delay:1s}.hero-card{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:13px;font-size:12px;font-weight:700;color:#2c2740;white-space:nowrap;background:#ffffffd1;border:1px solid rgba(255,255,255,.85);box-shadow:0 14px 30px -14px #783cb457;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.hero-card-ic{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:9px}.hero-card-ic svg{width:15px;height:15px}.hero-card-ic.pink{color:#ec1975;background:#ffe3ef}.hero-card-ic.violet{color:#8b46e8;background:#efe4fc}.hero-card-ic.orange{color:#ff8412;background:#ffe8d3}.hero-card.hc1{left:236px;top:30px;animation:hero-cardfloat 5s ease-in-out infinite}.hero-card.hc2{left:8px;top:150px;animation:hero-cardfloat 6s ease-in-out infinite .6s}.hero-card.hc3{left:232px;top:262px;animation:hero-cardfloat 5.5s ease-in-out infinite .3s}.hero-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:clamp(6px,1.4vh,16px)}.hero-step{display:flex;align-items:center;gap:7px;opacity:0;transform:translateY(8px);animation:hero-stepin .5s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.35s + var(--i) * .18s)}.hero-step-ic{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:#fff}.hero-step-ic svg{width:16px;height:16px}.hero-step-ic.create{background:linear-gradient(140deg,#ff9a3d,#ff8412)}.hero-step-ic.review{background:linear-gradient(140deg,#ff5c8a,#ec1975)}.hero-step-ic.publish{background:linear-gradient(140deg,#d34bff,#d92bd3)}.hero-step-ic.measure{background:linear-gradient(140deg,#9b5cff,#8b46e8)}.hero-step b{font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#4b4860}.hero-step-arrow{margin-left:4px;font-style:normal;color:#cfc4e2}.hero-step:last-child .hero-step-ic{animation:hero-stepglow 2.6s ease-in-out infinite;animation-delay:1.4s}.auth-form{animation:hero-cardin .7s cubic-bezier(.22,1,.36,1) both}.auth:after{animation:hero-blob 22s ease-in-out infinite}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}@keyframes hero-fadein{to{opacity:1}}@keyframes hero-float{0%{transform:translateY(-6px)}to{transform:translateY(6px)}}@keyframes hero-breathe{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:.9;transform:scale(1.03)}}@keyframes hero-draw{to{stroke-dashoffset:0}}@keyframes hero-progress{0%,to{stroke-dashoffset:126}45%{stroke-dashoffset:40}}@keyframes hero-orbit-move{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes hero-rowin{to{opacity:1;transform:translate(0)}}@keyframes hero-cardfloat{0%,to{transform:translateY(-5px)}50%{transform:translateY(5px)}}@keyframes hero-cardin{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-stepin{to{opacity:1;transform:translateY(0)}}@keyframes hero-stepglow{0%,to{box-shadow:0 0 #8b46e857}50%{box-shadow:0 0 0 6px #8b46e800}}@keyframes hero-blob{0%,to{transform:translate(0) scale(1)}50%{transform:translate(26px,22px) scale(1.12)}}@media(prefers-reduced-motion:reduce){.auth-hero,.hero-glow,.hero-orb,.hero-dash,.hero-node,.hero-card,.hero-chart-line,.hero-chart-area,.hero-donut-arc,.hero-row,.hero-step,.hero-step-ic,.auth-form,.auth-eyebrow,.auth:after{animation:none!important}.hero-chart-line{stroke-dashoffset:0}.hero-chart-area,.hero-row,.hero-step{opacity:1;transform:none}.hero-donut-arc{stroke-dashoffset:40}.hero-node{display:none}}@media(max-width:900px){.auth{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.auth-brand{display:block;overflow:visible;padding:30px 24px 20px;border-right:0;border-bottom:1px solid #ece6f4}.auth-brand-text{max-width:none}.auth-brand h1{font-size:34px;margin-top:8px}.auth-hero,.auth-topmark,.auth-foot-left,.auth-corner{display:none}}@media(min-width:901px)and (max-height:860px){.auth-hero{--hero-s: 1.2}}@media(min-width:901px)and (max-height:760px){.auth-hero{--hero-s: 1.02}.auth-brand{padding-top:clamp(56px,8vh,84px);padding-bottom:clamp(46px,7vh,68px)}}@media(min-width:901px)and (max-height:680px){.auth-form{padding:22px 28px 18px}.auth-brand h1{font-size:clamp(30px,3.2vw,40px)}.auth-lede{font-size:13px;margin-top:9px}.auth-hero{--hero-s: .86}}:root[data-theme=dark] body{background:radial-gradient(1100px 560px at 82% -12%,rgba(91,140,255,.1),transparent 60%),linear-gradient(180deg,#0c111c,#090d15 44%);background-attachment:fixed}:root[data-theme=dark] .sidebar{background:linear-gradient(180deg,#0b1019,#0a0e18);border-right-color:#ffffff0f}:root[data-theme=dark] .brand{position:relative;padding-left:30px}:root[data-theme=dark] .brand:before{content:"";position:absolute;left:10px;top:5px;width:10px;height:10px;border-radius:3px;background:linear-gradient(140deg,#7ba6ff,#5b8cff);box-shadow:0 0 12px #5b8cffb3}:root[data-theme=dark] .nav-link.active{background:#5b8cff24;position:relative}:root[data-theme=dark] .nav-link.active:before{content:"";position:absolute;left:-14px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#7ba6ff,#5b8cff)}:root[data-theme=dark] .card{background:linear-gradient(180deg,#141b28,#10161f);border-color:#ffffff12;box-shadow:0 1px #ffffff08 inset,0 18px 44px -30px #000000e6}:root[data-theme=dark] .kpi-row>.card{position:relative;overflow:hidden}:root[data-theme=dark] .kpi-row>.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--series-1),transparent 72%);opacity:.75}:root[data-theme=dark] .meter-track{background:#0c121c;border:1px solid rgba(255,255,255,.05)}:root[data-theme=dark] .meter-fill{background:linear-gradient(90deg,var(--seq-400),var(--seq-450))}:root[data-theme=dark] select,:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] button{background:#131b28;border-color:#ffffff1f}:root[data-theme=dark] button.primary{background:linear-gradient(180deg,#6d97ff,var(--series-1));border-color:var(--series-1)}:root[data-theme=dark] .tooltip{background:#0a0f19;border-color:#ffffff24;box-shadow:0 12px 28px -12px #000c}.dash-3d .kpi-card{background:linear-gradient(180deg,#fff,#fbfcfe)}.dash-3d .meter-track{height:11px;background:#eef1f5;box-shadow:inset 0 1px 2px #0f172a1a}.dash-3d .meter-fill{background-image:linear-gradient(180deg,#ffffff4d,#0000001a);box-shadow:0 1px 2px #0f172a2e}.ins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:14px}.ins-card{position:relative;display:block;text-decoration:none;color:inherit;overflow:hidden;background:linear-gradient(180deg,#fff,#fafbfd);border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:16px 18px 20px;box-shadow:0 1px 2px #0f172a0f,0 8px 20px #0f172a12,inset 0 1px #ffffffe6;transition:transform .2s ease,box-shadow .2s ease}a.ins-card:hover{transform:translateY(-3px);box-shadow:0 3px 6px #0f172a14,0 16px 34px #0f172a1c,inset 0 1px #ffffffe6}.ins-top{display:flex;align-items:center;gap:8px}.ins-ico{font-size:17px;line-height:1}.ins-title{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.ins-value{font-size:25px;font-weight:800;color:#12293f;margin-top:10px;line-height:1.12;letter-spacing:-.01em;word-break:break-word}.ins-desc{font-size:12px;color:#64748b;margin-top:2px}.ins-metric{display:inline-block;margin-top:11px;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px}.ins-metric.ins-positive{color:#1f7a4d;background:#e9f7ef}.ins-metric.ins-negative{color:#c0392b;background:#fdecea}.ins-metric.ins-warning{color:#a56b00;background:#fbf3e0}.ins-metric.ins-neutral{color:#3f5468;background:#eef2f7}.ins-accent{position:absolute;left:0;bottom:0;height:4px;width:100%}.ins-b-positive .ins-accent{background:linear-gradient(90deg,#1f9d5f,#7ed3a6)}.ins-b-negative .ins-accent{background:linear-gradient(90deg,#c0392b,#e88a80)}.ins-b-warning .ins-accent{background:linear-gradient(90deg,#d99a1c,#f0c96a)}.ins-b-neutral .ins-accent{background:linear-gradient(90deg,#3f5468,#8fa3b6)}.donut3d-wrap{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.donut3d{filter:drop-shadow(0 8px 10px rgba(15,23,42,.14));flex-shrink:0}.donut3d-total{font-family:Georgia,serif;font-size:30px;font-weight:700;fill:#12523a}.donut3d-sub{font-size:11px;fill:#64748b}.donut3d-legend{display:grid;gap:9px}.donut3d-leg{display:grid;grid-template-columns:14px 80px 46px 40px;gap:8px;align-items:center;font-size:13px}.donut3d-dot{width:13px;height:13px;border-radius:3px;box-shadow:0 1px 2px #0003}.donut3d-leg strong{text-align:right;font-variant-numeric:tabular-nums}.donut3d-leg .muted{text-align:right;font-size:11.5px;color:#64748b}.rank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rank-card{position:relative;display:block;text-decoration:none;color:inherit;text-align:center;overflow:hidden;border-radius:16px;padding:18px 16px 20px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);box-shadow:0 2px 4px #0f172a0f,0 12px 26px #0f172a14,inset 0 1px #ffffffe6;transition:transform .2s ease,box-shadow .2s ease}.rank-card:hover{transform:translateY(-3px)}.rank-1{background:linear-gradient(180deg,#fffef6,#fbf3d6);border-color:#eeddac}.rank-2{background:linear-gradient(180deg,#fbfcfe,#eef1f5)}.rank-3{background:linear-gradient(180deg,#fdfaf6,#f6ece1)}.rank-medal{font-size:30px;line-height:1}.rank-name{font-weight:700;font-size:15px;margin-top:6px;color:#12293f}.rank-role{font-size:12px;color:#64748b}.rank-pct{font-family:Georgia,serif;font-size:30px;font-weight:800;color:#12523a;margin-top:8px;line-height:1}.rank-sub{font-size:12px;color:#64748b;margin-top:3px}@media(max-width:720px){.rank-grid{grid-template-columns:1fr}}button.ttbl-drill{background:none;border:none;margin:0;padding:2px 6px;font:inherit;color:inherit;cursor:pointer;border-radius:7px;transition:background .15s ease}button.ttbl-drill:hover{background:#0f172a0d}:root[data-theme=dark] button.ttbl-drill:hover{background:#ffffff0f}.ttbl-drill-cue{opacity:0;margin-left:2px;font-size:11px;font-weight:700;color:var(--brand-pink, #ec1975);transition:opacity .15s ease}button.ttbl-drill:hover .ttbl-drill-cue,button.ttbl-drill:focus-visible .ttbl-drill-cue{opacity:1}
