@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url("./media/readex-pro-arabic-wght-normal-KOSZSPED.woff2") format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url("./media/readex-pro-vietnamese-wght-normal-RQQHSUAI.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url("./media/readex-pro-latin-ext-wght-normal-4HODS7LT.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url("./media/readex-pro-latin-wght-normal-YGWWPE3O.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/sora-latin-ext-wght-normal-6VOG353B.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/sora-latin-wght-normal-SPU4XLJF.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-body: "Readex Pro Variable", "Segoe UI", system-ui, sans-serif;--font-display: "Sora Variable", "Readex Pro Variable", system-ui, sans-serif;--bg: #f1f5fb;--bg-2: #e9eff8;--surface: #ffffff;--surface-2: #f6f8fc;--surface-3: #eceff7;--ink: #0e1a2e;--ink-2: #3a4a63;--muted: #6d7b92;--line: #e2e8f2;--line-strong: #c9d3e2;--brand: #0b1f3a;--brand-2: #123260;--accent: #29abe2;--accent-2: #1f6feb;--accent-soft: #e4f4fc;--highlight: #f5a524;--highlight-soft: #fff1d6;--ai: #7c3aed;--ai-soft: #efe7fd;--ok: #16a34a;--ok-soft: #dcfce7;--warn: #f59e0b;--warn-soft: #fef3c7;--bad: #dc2626;--bad-soft: #fee2e2;--info: #2563eb;--info-soft: #dbeafe;--grey: #94a3b8;--grey-soft: #eef2f7;--rail: #0b1f3a;--rail-2: #0d2a52;--rail-ink: #b8c7dd;--radius: 18px;--radius-sm: 12px;--radius-xs: 8px;--shadow-1: 0 1px 2px rgba(14, 26, 46, .05), 0 1px 10px rgba(14, 26, 46, .05);--shadow-2: 0 10px 30px -12px rgba(14, 26, 46, .22);--shadow-3: 0 30px 70px -20px rgba(14, 26, 46, .35);--glow: 0 0 0 4px var(--accent-soft);--ease: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--bg: #0a1120;--bg-2: #0e172a;--surface: #111a2c;--surface-2: #16213a;--surface-3: #1c2a47;--ink: #e9eef8;--ink-2: #b8c4d8;--muted: #8495ae;--line: #22304c;--line-strong: #324468;--accent-soft: #10324a;--highlight-soft: #3d2c0d;--ai-soft: #2a1b4f;--ok-soft: #0f3524;--warn-soft: #3b2a08;--bad-soft: #3f1515;--info-soft: #14274d;--grey-soft: #1c2740;--rail: #070f1d;--rail-2: #0d1a33;--rail-ink: #93a6c4;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--shadow-2: 0 12px 32px -12px rgba(0, 0, 0, .6);--shadow-3: 0 30px 70px -20px rgba(0, 0, 0, .7);--glow: 0 0 0 4px #10324a}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 500px at 85% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),radial-gradient(700px 400px at -10% 110%,color-mix(in srgb,var(--highlight) 10%,transparent),transparent 60%);pointer-events:none}a{color:var(--accent-2);text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-family:var(--font-display);font-size:26px}h2{font-size:18px}h3{font-size:15px}h4{font-size:13.5px}p{margin:0 0 8px}.display{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.bold{font-weight:600}.err{color:var(--bad);font-size:12.5px;margin-top:6px}.err:empty{display:none}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column;gap:6px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.spacer{flex:1}.center{justify-content:center}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}@media (max-width: 1280px){.cols-6,.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.cols-2,.cols-3{grid-template-columns:1fr}.cols-4,.cols-5,.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2,.span-3,.span-4{grid-column:1/-1}}.page{padding:8px 28px 48px;max-width:none;animation:fade-up .45s var(--ease) both}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 20px;flex-wrap:wrap}.page-head .sub{color:var(--muted);margin-top:4px;font-size:13.5px}.page-head .eyebrow{font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-2);font-weight:600;margin-bottom:4px}.crumbs{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);margin-bottom:10px}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent-2)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.hero{position:relative;overflow:hidden;border-radius:24px;padding:26px 30px;color:#fff;background:linear-gradient(120deg,var(--brand) 0%,var(--brand-2) 55%,#0e4d7a 100%);box-shadow:var(--shadow-2)}.hero:after{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-300px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 55%,transparent),transparent 65%);animation:drift 14s ease-in-out infinite alternate}.hero:before{content:"";position:absolute;width:300px;height:300px;left:35%;bottom:-220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--highlight) 40%,transparent),transparent 65%);animation:drift 18s ease-in-out infinite alternate-reverse}.hero>*{position:relative;z-index:1}.hero h1{color:#fff;font-size:28px}.hero .sub{color:#c7d6ea}.hero .pill{background:#ffffff1f;border:1px solid rgba(255,255,255,.18);color:#e6eefb;border-radius:99px;padding:4px 12px;font-size:12px;backdrop-filter:blur(6px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-1);animation:fade-up .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}.card.tight{padding:14px 16px}.card.flat{box-shadow:none}.card.glass{background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:blur(14px)}.card.hover{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;cursor:pointer}.card.hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--line-strong)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2,.card-head h3{display:flex;align-items:center;gap:8px}.card-head .hint{color:var(--muted);font-size:12.5px}.kpi{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:6px;min-height:118px;animation:fade-up .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 70ms);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}.kpi:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--kpi-color, var(--accent));border-radius:4px 0 0 4px}.kpi:after{content:"";position:absolute;width:140px;height:140px;inset-inline-end:-50px;top:-60px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--kpi-color, var(--accent)) 22%,transparent),transparent 70%)}.kpi .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:flex;align-items:center;gap:8px}.kpi .l lucide-icon{color:var(--kpi-color, var(--accent))}.kpi .n{font-family:var(--font-display);font-size:32px;font-weight:600;line-height:1.1;letter-spacing:-.03em;display:flex;align-items:baseline;gap:6px}.kpi .n small{font-size:14px;color:var(--muted);font-weight:500;letter-spacing:0}.kpi .d{font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:6px}.kpi.green{--kpi-color: var(--ok)}.kpi.amber{--kpi-color: var(--warn)}.kpi.red{--kpi-color: var(--bad)}.kpi.blue{--kpi-color: var(--info)}.kpi.violet{--kpi-color: var(--ai)}.kpi.gold{--kpi-color: var(--highlight)}.kpi.cyan{--kpi-color: var(--accent)}.kpi.grey{--kpi-color: var(--grey)}.kpi.click{cursor:pointer}.trend{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px}.trend.up{color:var(--ok);background:var(--ok-soft)}.trend.down{color:var(--bad);background:var(--bad-soft)}.trend.flat{color:var(--muted);background:var(--grey-soft)}.rag{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12px}.rag i{width:10px;height:10px;border-radius:99px;background:var(--grey);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--grey) 22%,transparent)}.rag.Green i{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent)}.rag.Amber i{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 28%,transparent)}.rag.Red i{background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 28%,transparent);animation:pulse 1.6s ease-in-out infinite}.rag.lg i{width:14px;height:14px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--grey-soft);color:var(--ink-2);white-space:nowrap;line-height:1.4}.badge.ok,.badge.Green{background:var(--ok-soft);color:var(--ok)}.badge.warn,.badge.Amber{background:var(--warn-soft);color:#b45309}.badge.bad,.badge.Red{background:var(--bad-soft);color:var(--bad)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.brand{background:var(--accent-soft);color:var(--brand-2)}.badge.ai{background:var(--ai-soft);color:var(--ai)}.badge.gold{background:var(--highlight-soft);color:#92400e}.badge.grey,.badge.Grey{background:var(--grey-soft);color:var(--muted)}.badge.outline{background:transparent;border:1px solid var(--line-strong)}.badge.sm{padding:1px 7px;font-size:10.5px}.dot{width:8px;height:8px;border-radius:99px;background:var(--accent);display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--brand);color:#fff;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;transition:transform .15s var(--ease),box-shadow .2s,background .2s,border-color .2s;white-space:nowrap;line-height:1.3}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn.accent{background:linear-gradient(120deg,var(--accent-2),var(--accent))}.btn.gold{background:linear-gradient(120deg,#e8931a,var(--highlight));color:#1f1400}.btn.ai{background:linear-gradient(120deg,#6d28d9,#a855f7)}.btn.ghost{background:transparent;color:var(--ink-2);border-color:var(--line);box-shadow:none}.btn.ghost:hover,.btn.soft{background:var(--surface-3);color:var(--ink);box-shadow:none}.btn.soft:hover{background:var(--line)}.btn.danger{background:var(--bad)}.btn.ok{background:var(--ok)}.btn.sm{padding:6px 11px;font-size:12.5px;border-radius:9px}.btn.lg{padding:12px 22px;font-size:15px;border-radius:14px}.btn.icon{padding:7px;width:34px;height:34px}.btn.icon.sm{width:28px;height:28px;padding:4px}.btn.block{width:100%}.link{background:none;border:none;color:var(--accent-2);cursor:pointer;font:inherit;padding:0}.link:hover{text-decoration:underline}label.f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ink-2);font-weight:500}label.f>span{display:flex;align-items:center;gap:6px}label.f .req{color:var(--bad)}.c{width:100%;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.c:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow)}.c:disabled{background:var(--surface-3);color:var(--muted)}textarea.c{resize:vertical;min-height:80px}select.c{appearance:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid .full{grid-column:1/-1}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 760px){.form-grid,.form-grid.cols-3{grid-template-columns:1fr}}.check{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent-2)}.switch{width:40px;height:22px;border-radius:99px;background:var(--line-strong);position:relative;cursor:pointer;border:none;padding:0;transition:background .2s;flex:none}.switch:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;border-radius:99px;background:#fff;transition:transform .2s var(--ease);box-shadow:0 1px 3px #00000040}.switch.on{background:var(--ok)}.switch.on:after{transform:translate(18px)}.seg{display:inline-flex;background:var(--surface-3);border-radius:12px;padding:3px;gap:2px}.seg button{border:none;background:none;padding:6px 12px;border-radius:9px;font:inherit;font-size:12.5px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-weight:600}.rag-pick{display:flex;gap:6px}.rag-pick button{flex:1;border:2px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 6px;font:inherit;font-weight:600;font-size:12.5px;cursor:pointer;color:var(--muted);transition:all .15s}.rag-pick button.on.Green{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.rag-pick button.on.Amber{border-color:var(--warn);background:var(--warn-soft);color:#b45309}.rag-pick button.on.Red{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.scale{display:flex;gap:4px}.scale button{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font:inherit;font-weight:600;cursor:pointer;color:var(--muted)}.scale button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.search-panel{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow-1)}.search-panel label.f{min-width:150px}.search-panel .grow{flex:1;min-width:220px}.search-panel .with-icon{position:relative}.search-panel .with-icon lucide-icon{position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-panel .with-icon .c{padding-inline-start:34px}.chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:var(--accent-soft);color:var(--brand-2);font-size:12px;font-weight:500}.chip button{border:none;background:none;cursor:pointer;display:flex;padding:0;color:inherit}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.tabs button{border:none;background:none;padding:10px 14px;font:inherit;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:7px;white-space:nowrap;transition:color .15s}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--accent-2);border-color:var(--accent-2);font-weight:600}.tabs .count{background:var(--surface-3);border-radius:99px;padding:0 7px;font-size:11px;font-weight:600;color:var(--ink-2)}.tabs button.on .count{background:var(--accent-soft);color:var(--accent-2)}.tbl-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:start;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:11px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;z-index:1}.tbl th.sort{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl th.sort:hover{color:var(--ink)}.tbl th.sort.on{color:var(--accent-2)}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr.click{cursor:pointer;transition:background .12s}.tbl tr.click:hover td{background:var(--surface-2)}.tbl th.num,.tbl td.num{text-align:end;font-variant-numeric:tabular-nums}.tbl .t1{font-weight:600;color:var(--ink)}.tbl .t2{font-size:12px;color:var(--muted);display:block;margin-top:1px}.tbl tbody tr{animation:fade-in .35s var(--ease) both}.tbl.compact td{padding:7px 10px}.tbl.compact th{padding:8px 10px}.progress{height:8px;background:var(--surface-3);border-radius:99px;overflow:hidden;position:relative}.progress>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent-2),var(--accent));width:0;transition:width 1.1s var(--ease)}.progress.thin{height:5px}.progress>i.ok{background:var(--ok)}.progress>i.warn{background:var(--warn)}.progress>i.bad{background:var(--bad)}.progress>i.gold{background:var(--highlight)}.progress .marker{position:absolute;top:-3px;width:2px;height:14px;background:var(--ink);opacity:.5}.stack{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--surface-3)}.stack i{display:block;height:100%;transition:width 1s var(--ease)}.stack .g{background:var(--ok)}.stack .a{background:var(--warn)}.stack .r{background:var(--bad)}.stack .x{background:var(--grey)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.avatar{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;background:var(--accent-2);flex:none;letter-spacing:.02em}.avatar.sm{width:26px;height:26px;font-size:10.5px;border-radius:8px}.avatar.lg{width:44px;height:44px;font-size:15px;border-radius:14px}.avatars{display:flex}.avatars .avatar{margin-inline-start:-8px;box-shadow:0 0 0 2px var(--surface)}.avatars .avatar:first-child{margin-inline-start:0}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty .ico{width:56px;height:56px;border-radius:18px;background:var(--surface-3);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--muted)}.empty h4{color:var(--ink);margin-bottom:4px}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:10px;min-height:14px}.note{padding:12px 14px;border-radius:var(--radius-sm);background:var(--info-soft);color:var(--ink);font-size:13px;border:1px solid color-mix(in srgb,var(--info) 25%,transparent);display:flex;gap:10px;align-items:flex-start}.note.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.note.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.note.ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.note.ai{background:var(--ai-soft);border-color:color-mix(in srgb,var(--ai) 30%,transparent)}.dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px}.dl dt{color:var(--muted)}.dl dd{margin:0;color:var(--ink)}.kbd{font-family:ui-monospace,monospace;font-size:11px;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:6px;padding:1px 6px;color:var(--muted)}.sev{display:inline-block;width:6px;height:6px;border-radius:99px}.sev.High,.sev.Critical{background:var(--bad)}.sev.Medium{background:var(--warn)}.sev.Low{background:var(--info)}.gap-item{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:10px;font-size:13px}.gap-item:hover{background:var(--surface-2)}.gap-item .who{font-weight:600;color:var(--ink);white-space:nowrap}.markdown h1,.markdown h2,.markdown h3{margin:14px 0 6px}.markdown h2{font-size:15px;color:var(--brand-2)}.markdown h3{font-size:14px}.markdown ul{padding-inline-start:18px;margin:4px 0 10px}.markdown li{margin-bottom:3px}.markdown p{margin:0 0 8px}.markdown strong{color:var(--ink)}.ai-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ai);background:var(--ai-soft);padding:2px 8px;border-radius:99px}.tooltip{position:relative}.tooltip[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);inset-inline-start:50%;transform:translate(-50%);background:var(--ink);color:var(--surface);font-size:11.5px;padding:5px 9px;border-radius:8px;white-space:nowrap;z-index:50;pointer-events:none;animation:fade-in .15s}.backdrop{position:fixed;inset:0;background:#080f1e73;backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .2s}.modal{background:var(--surface);border-radius:22px;box-shadow:var(--shadow-3);width:100%;max-width:640px;max-height:92vh;overflow:auto;padding:24px 26px;animation:pop .25s var(--ease);border:1px solid var(--line)}.modal.wide{max-width:920px}.modal.narrow{max-width:440px}.modal h2{margin-bottom:4px}.modal .lead{color:var(--muted);font-size:13px;margin-bottom:16px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.drawer-wrap{position:fixed;inset:0;z-index:100;background:#080f1e59;backdrop-filter:blur(3px);animation:fade-in .2s}.drawer{position:absolute;top:0;bottom:0;inset-inline-end:0;width:min(560px,100%);background:var(--surface);box-shadow:var(--shadow-3);padding:24px 26px;overflow:auto;animation:slide-in .3s var(--ease);border-inline-start:1px solid var(--line)}.drawer.wide{width:min(820px,100%)}.toasts{position:fixed;bottom:20px;inset-inline-end:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:var(--ink);color:var(--surface);padding:11px 16px;border-radius:12px;font-size:13px;box-shadow:var(--shadow-2);animation:slide-up .3s var(--ease);display:flex;gap:8px;align-items:center;max-width:420px}.toast.ok{background:var(--ok);color:#fff}.toast.err{background:var(--bad);color:#fff}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@keyframes slide-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 28%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--bad) 8%,transparent)}}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-40px,30px)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.stagger>*{animation:fade-up .45s var(--ease) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:60ms}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.24s}.stagger>*:nth-child(6){animation-delay:.3s}.stagger>*:nth-child(7){animation-delay:.36s}.stagger>*:nth-child(8){animation-delay:.42s}.stagger>*:nth-child(n+9){animation-delay:.48s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}@media print{.no-print{display:none!important}.page{padding:0}.card{box-shadow:none;break-inside:avoid}}html,body{overflow-x:hidden}@media (max-width: 760px){body{font-size:13.5px}h1{font-size:21px}h2{font-size:16.5px}.page{padding:4px 14px 36px}.page-head{margin:4px 0 14px;gap:10px}.page-head .sub{font-size:12.5px}.page-head>.row{width:100%;flex-wrap:wrap}.hero{padding:18px 16px;border-radius:18px}.hero h1{font-size:21px}.hero .sub{font-size:12.5px}.hero .pill{font-size:11px;padding:3px 9px}.hero:after{width:320px;height:320px;right:-120px;top:-200px}.hero>.row{flex-direction:column;align-items:stretch}.hero>.row>*{width:100%;min-width:0}.hero>.row>.row{width:auto;justify-content:flex-start}.card{padding:14px 15px;border-radius:15px}.card.tight{padding:12px 13px}.card-head{margin-bottom:10px;flex-wrap:wrap}.grid{gap:10px}.cols-2,.cols-3{grid-template-columns:1fr}.cols-4,.cols-5,.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2,.span-3,.span-4{grid-column:1/-1}.kpi{min-height:96px;padding:12px 13px;gap:4px;border-radius:14px}.kpi .l{font-size:10.5px;letter-spacing:.05em}.kpi .n{font-size:24px}.kpi .d{font-size:11.5px;flex-wrap:wrap}.kpi:after{display:none}.search-panel{padding:12px;gap:8px;border-radius:14px}.search-panel label.f{min-width:0;flex:1 1 calc(50% - 8px)}.search-panel label.f.grow{flex-basis:100%}.search-panel>.btn{flex:1 1 100%}.toolbar{gap:8px}.toolbar .btn{flex:1 1 auto}.tabs{margin-inline:-14px;padding-inline:14px}.tabs button{padding:9px 10px;font-size:13px}.btn{padding:8px 13px;font-size:13px}.btn.lg{padding:11px 18px}.seg button{padding:6px 9px;font-size:12px}.backdrop{padding:8px;align-items:flex-end}.modal,.modal.wide,.modal.narrow{max-width:none;width:100%;max-height:94vh;padding:18px 16px 16px;border-radius:18px}.modal .actions{flex-wrap:wrap}.modal .actions .btn{flex:1 1 auto}.drawer,.drawer.wide{width:100%;padding:18px 16px;border-inline-start:none}.form-grid{gap:10px}.toasts{inset-inline:12px;bottom:12px}.toast{max-width:none;width:100%}.legend{gap:8px 12px;font-size:11.5px}.note{padding:10px 12px;font-size:12.5px}.dl{grid-template-columns:1fr;gap:2px 0}.dl dt{margin-top:6px}.empty{padding:28px 12px}.heat .cell{font-size:11px}.tbl-wrap{border:none;background:transparent;border-radius:0;overflow:visible}table.tbl,table.tbl tbody,table.tbl tr{display:block;width:100%}table.tbl thead{display:none}table.tbl tr{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:8px;box-shadow:var(--shadow-1)}table.tbl tr.click:hover td{background:transparent}table.tbl td{display:grid;grid-template-columns:36% minmax(0,1fr);column-gap:10px;row-gap:0;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line);text-align:end}table.tbl td>*+*{margin-top:3px}table.tbl td:last-child{border-bottom:none}table.tbl td:before{content:attr(data-label);grid-column:1;grid-row:1/span 20;align-self:start;color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:start;line-height:1.5}table.tbl td>*{grid-column:2;justify-self:end;max-width:100%}table.tbl td>.progress,table.tbl td>.stack,table.tbl td>.row,table.tbl td>div{justify-self:stretch;width:100%}table.tbl td>.row{justify-content:flex-end}table.tbl td[data-label=""],table.tbl td:not([data-label]){grid-template-columns:minmax(0,1fr)}table.tbl td[data-label=""]:before,table.tbl td:not([data-label]):before{display:none}table.tbl td[data-label=""]>*,table.tbl td:not([data-label])>*{grid-column:1}table.tbl td:first-child{display:block;text-align:start;padding-top:2px}table.tbl td:first-child:before{display:none}table.tbl td:first-child>*{justify-self:start}table.tbl td:first-child .t1{font-size:14px;display:block}table.tbl td .t2{display:block}table.tbl td:first-child>.row{justify-content:flex-start}table.tbl td:empty,table.tbl td:last-child:has(>lucide-icon:only-child){display:none}table.tbl.compact td{padding:4px 0}}@media (max-width: 420px){.cols-4,.cols-5,.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .n{font-size:22px}}
