:root{--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--blue-950: #172554;--navy-600: #14245c;--navy-700: #0f1c47;--navy-800: #0b1533;--navy-900: #070d21;--orange-50: #fff7ed;--orange-400: #fb923c;--orange-500: #f97316;--orange-600: #ea580c;--orange-700: #c2410c;--orange-950: #431407;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--n-50: #f8fafc;--n-100: #f1f5f9;--n-200: #e2e8f0;--n-300: #cbd5e1;--n-400: #94a3b8;--n-500: #64748b;--n-600: #475569;--n-700: #334155;--n-800: #1e293b;--n-900: #0f172a;--n-950: #020617;--radius-s: 6px;--radius-m: 8px;--radius-l: 14px;--radius-pill: 999px;--sidebar-w: 270px;--sidebar-mini-w: 87px;--topbar-h: 70px;--card-pad: 24px;--page-gap: 24px;--control-h: 42px;--content-max: 1440px;--font-ui: "Plus Jakarta Sans", "Inter", -apple-system, "Segoe UI", ui-sans-serif, "Helvetica Neue", Arial, sans-serif;--font-head: "Plus Jakarta Sans", "Inter", -apple-system, "Segoe UI", ui-sans-serif, sans-serif;--font-mono: "Plus Jakarta Sans", "Inter", -apple-system, "Segoe UI", ui-sans-serif, "Helvetica Neue", Arial, sans-serif;--fs-h1: 2rem;--fs-h2: 1.75rem;--fs-h3: 1.5rem;--fs-h4: 1.25rem;--fs-h5: 1.125rem;--fs-h6: 1rem;--fs-body: .875rem;--fs-body-2: .75rem;--fs-overline: .6875rem;--lh-head: 1.3;--lh-body: 1.5;--ls-head: -.015em;--ls-overline: .08em;--transition-base: all .15s ease;--theme-transition: background-color .28s ease, border-color .28s ease, color .2s ease, box-shadow .28s ease, fill .28s ease, stroke .28s ease;--nav-bg: var(--navy-900);--nav-bg-2: var(--navy-800);--nav-border: rgba(255, 255, 255, .08);--nav-text: #93a2c2;--nav-text-strong: #f4f7ff;--nav-label: #8595b8;--nav-subheader: #b4bfd6;--nav-hover: rgba(255, 255, 255, .06);--nav-active-bg: linear-gradient(135deg, var(--blue-600), var(--blue-800));--nav-active-text: #ffffff;--nav-tenant-bg: rgba(255, 255, 255, .04)}:root,:root[data-theme=light]{--primary: var(--blue-600);--primary-600: var(--blue-700);--primary-300: var(--blue-300);--primary-100: var(--blue-50);--primary-contrast: #ffffff;--accent: var(--orange-500);--accent-600: var(--orange-600);--brand-a: #e07500;--brand-b: var(--navy-600);--brand-gradient: var(--brand-a);--brand-gradient-soft: color-mix(in srgb, var(--brand-a) 8%, transparent);--brand-glow: 0 6px 16px -6px color-mix(in srgb, var(--brand-a) 30%, transparent);--neon-glow: var(--brand-glow);--bg: #f5f7fb;--surface: #ffffff;--surface-2: var(--n-100);--surface-3: var(--n-50);--border: var(--n-200);--border-soft: var(--n-100);--text: var(--n-900);--text-2: var(--n-500);--text-3: var(--n-400);--text-invert: #ffffff;--ok: var(--green-600);--ok-bg: #dcfce7;--warn: #ca8a04;--warn-bg: #fef3c7;--high: var(--orange-600);--high-bg: var(--orange-50);--crit: #dc2626;--crit-bg: #fee2e2;--info: #0ea5e9;--info-bg: #e0f2fe;--shadow-1: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-2: 0 4px 10px rgba(15, 23, 42, .07), 0 2px 4px rgba(15, 23, 42, .04);--shadow-3: 0 8px 18px rgba(15, 23, 42, .09), 0 3px 8px rgba(15, 23, 42, .05);--shadow-4: 0 12px 26px rgba(15, 23, 42, .11), 0 5px 12px rgba(15, 23, 42, .06);--chart-1: var(--blue-600);--chart-2: var(--green-600);--chart-3: var(--orange-500);--chart-4: var(--navy-600);--chart-5: #0d9488;--chart-6: #dc2626;--chart-7: #0ea5e9;--chart-8: #ca8a04;--chart-grid: var(--n-200)}:root[data-theme=dark]{--primary: var(--blue-500);--primary-600: var(--blue-400);--primary-300: var(--blue-300);--primary-100: var(--blue-950);--primary-contrast: #ffffff;--accent: var(--orange-400);--accent-600: #fdba74;--brand-a: #e07500;--brand-b: #1e3a8a;--brand-gradient: var(--brand-a);--brand-gradient-soft: color-mix(in srgb, var(--brand-a) 14%, transparent);--brand-glow: 0 6px 18px -6px color-mix(in srgb, var(--brand-a) 42%, transparent);--neon-glow: 0 0 0 1px color-mix(in srgb, var(--brand-a) 22%, transparent), 0 0 22px -4px color-mix(in srgb, var(--brand-a) 45%, transparent);--bg: var(--n-900);--surface: var(--n-800);--surface-2: #172032;--surface-3: #1a2436;--border: var(--n-700);--border-soft: #263449;--text: var(--n-50);--text-2: var(--n-400);--text-3: var(--n-500);--text-invert: var(--n-900);--ok: var(--green-400);--ok-bg: rgba(74, 222, 128, .16);--warn: #eab308;--warn-bg: rgba(234, 179, 8, .16);--high: var(--orange-400);--high-bg: rgba(251, 146, 60, .16);--crit: #f87171;--crit-bg: rgba(248, 113, 113, .16);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .16);--shadow-1: 0 1px 3px rgba(0, 0, 0, .36), 0 1px 2px rgba(0, 0, 0, .24);--shadow-2: 0 4px 10px rgba(0, 0, 0, .44), 0 2px 4px rgba(0, 0, 0, .28);--shadow-3: 0 8px 18px rgba(0, 0, 0, .5), 0 3px 8px rgba(0, 0, 0, .32);--shadow-4: 0 12px 26px rgba(0, 0, 0, .58), 0 5px 12px rgba(0, 0, 0, .36);--chart-1: #60a5fa;--chart-2: var(--green-400);--chart-3: #fb923c;--chart-4: #7c93e8;--chart-5: #2dd4bf;--chart-6: #f87171;--chart-7: #38bdf8;--chart-8: #fbbf24;--chart-grid: var(--n-800)}body{font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);transition:var(--theme-transition)}h1,h2,h3,h4,h5,h6{font-family:var(--font-head);margin:0;color:var(--text)}h1{font-size:var(--fs-h1);font-weight:700;line-height:1.25;letter-spacing:-.02em}h2{font-size:var(--fs-h2);font-weight:700;line-height:1.25;letter-spacing:-.02em}h3{font-size:var(--fs-h3);font-weight:700;line-height:1.3;letter-spacing:-.015em}h4{font-size:var(--fs-h4);font-weight:600;line-height:1.35;letter-spacing:-.01em}h5{font-size:var(--fs-h5);font-weight:600;line-height:1.4}h6{font-size:var(--fs-h6);font-weight:600;line-height:1.4}.overline{font-size:var(--fs-overline);font-weight:700;letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-3)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--text-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:2px;display:inline-block}button{font-family:inherit}::selection{background:var(--primary-300);color:var(--n-900)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--n-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--n-400)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--n-700)}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--n-600)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.viz-line{stroke-dasharray:1;stroke-dashoffset:1;animation:viz-draw 1.1s cubic-bezier(.22,1,.36,1) forwards}@keyframes viz-draw{to{stroke-dashoffset:0}}.viz-area{opacity:0;animation:viz-fade .7s ease forwards}@keyframes viz-fade{to{opacity:1}}.viz-dot{opacity:0;transform-box:fill-box;transform-origin:center;animation:viz-pop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes viz-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.viz-fill{transition:height .85s cubic-bezier(.22,1,.36,1),width .85s cubic-bezier(.22,1,.36,1)}.viz-arc{transition:stroke-dasharray 1.1s cubic-bezier(.22,1,.36,1)}@keyframes viz-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.viz-radar{opacity:0;animation:viz-radar-in .8s cubic-bezier(.22,1,.36,1) forwards}@keyframes viz-radar-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.viz-bubble{opacity:0;transform:translate(-50%,-50%) scale(0);animation:viz-bubble-in .65s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes viz-bubble-in{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.live-pulse path{stroke-dasharray:160;animation:viz-pulse-run 2.4s linear infinite}@keyframes viz-pulse-run{0%{stroke-dashoffset:160}to{stroke-dashoffset:-160}}@media print{.viz-line{stroke-dashoffset:0!important;animation:none!important}.viz-area,.viz-dot,.viz-radar,.viz-bubble{opacity:1!important;animation:none!important}.live-pulse path{animation:none!important}}.fallback-spinner{position:relative;display:flex;height:100vh;width:100%}.loading{position:absolute;left:calc(50% - 35px);top:50%;width:55px;height:55px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;border:3px solid transparent}.effect-1,.effect-2{position:absolute;width:100%;height:100%;border:3px solid transparent;border-left:3px solid #2962ff;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box}.effect-1{animation:rotate 1s ease infinite}.effect-2{animation:rotateOpacity 1s ease infinite .1s}.effect-3{width:100%;height:100%;border:3px solid transparent;border-left:3px solid #2962ff;-webkit-animation:rotateOpacity 1s ease infinite .2s;animation:rotateOpacity 1s ease infinite .2s;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box}.loading .effects{transition:all .3s ease}.fallback-logo{position:absolute;left:calc(50% - 45px);top:40%}@keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotateOpacity{0%{-webkit-transform:rotate(0deg);transform:rotate(0);opacity:.1}to{-webkit-transform:rotate(1turn);transform:rotate(1turn);opacity:1}}.mock-app *{box-sizing:border-box}body .mock-app{font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:var(--theme-transition)}.mock-app h1,.mock-app h2,.mock-app h3,.mock-app h4,.mock-app h5,.mock-app h6{font-family:var(--font-head);margin:0;color:var(--text)}.mock-app h1{font-size:var(--fs-h1);font-weight:700;line-height:1.25;letter-spacing:-.02em}.mock-app h2{font-size:var(--fs-h2);font-weight:700;line-height:1.25;letter-spacing:-.02em}.mock-app h3{font-size:var(--fs-h3);font-weight:700;line-height:1.3;letter-spacing:-.015em}.mock-app h4{font-size:var(--fs-h4);font-weight:600;line-height:1.35;letter-spacing:-.01em}.mock-app h5{font-size:var(--fs-h5);font-weight:600;line-height:1.4}.mock-app h6{font-size:var(--fs-h6);font-weight:600;line-height:1.4}.mock-app .overline{font-size:var(--fs-overline);font-weight:700;letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-3)}body .mock-app,.mock-app .card,.mock-app .sidebar,.mock-app .topbar,.mock-app .chip,.mock-app .badge,.mock-app .btn,.mock-app .segmented,.mock-app .segmented button,.mock-app .kanban-card,.mock-app .feed-item,.mock-app .topic-row,.mock-app .banner,.mock-app .placeholder,.mock-app .icon-btn,.mock-app .lang-pill,.mock-app .search-box,.mock-app .nav-item,.mock-app .nav-parent,.mock-app tr,.mock-app td,.mock-app th,.mock-app .filter-bar{transition:var(--theme-transition)}.mock-app ::selection{background:var(--primary-300);color:var(--n-900)}.mock-app button{font-family:inherit}.mock-app a{color:inherit}.mock-app svg{display:block}.mock-app :focus-visible{outline:2px solid var(--primary);outline-offset:2px}.mock-app ::-webkit-scrollbar{width:8px;height:8px}.mock-app ::-webkit-scrollbar-track{background:transparent}.mock-app ::-webkit-scrollbar-thumb{background:var(--n-300);border-radius:4px}.mock-app ::-webkit-scrollbar-thumb:hover{background:var(--n-400)}:root[data-theme=dark] .mock-app ::-webkit-scrollbar-thumb{background:var(--n-700)}:root[data-theme=dark] .mock-app ::-webkit-scrollbar-thumb:hover{background:var(--n-600)}.mock-app .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mock-app .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--text-2)}.mock-app .legend span{display:inline-flex;align-items:center;gap:6px}.mock-app .legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.mock-app table{width:100%;border-collapse:separate;border-spacing:0 2px;font-size:12.5px}.mock-app th{text-align:left;font-size:var(--fs-overline);text-transform:uppercase;letter-spacing:var(--ls-overline);color:var(--text-3);font-weight:700;padding:8px 12px 12px;border-bottom:1px solid var(--border)}.mock-app td{padding:11px 12px;border-bottom:none;vertical-align:middle}.mock-app td:first-child{padding-left:16px;border-top-left-radius:var(--radius-m);border-bottom-left-radius:var(--radius-m)}.mock-app td:last-child{border-top-right-radius:var(--radius-m);border-bottom-right-radius:var(--radius-m)}.mock-app tbody tr td{transition:background-color .15s ease}.mock-app tbody tr:hover td{background:color-mix(in srgb,var(--brand-b) 6%,var(--surface-2) 40%)}@media(prefers-reduced-motion:reduce){.mock-app *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mock-app .app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;width:100%}.mock-app .sidebar{background:var(--nav-bg);border-right:1px solid var(--nav-border);color:var(--nav-text);display:flex;flex-direction:column;padding:16px 14px;position:sticky;top:0;height:100vh;overflow:hidden}.mock-app .sidebar-nav{flex:1;min-height:0;overflow-y:auto;margin:0 -6px;padding:0 6px}.mock-app .brand{display:flex;align-items:center;gap:10px;height:calc(var(--topbar-h) - 26px);padding:0 4px 14px;margin-bottom:8px;border-bottom:1px solid var(--border-soft);flex:none}.mock-app .brand-mark{width:34px;height:34px;border-radius:var(--radius-m);background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--brand-glow)}.mock-app .brand-name{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--nav-text-strong);line-height:1.15}.mock-app .brand-sub{font-size:var(--fs-overline);color:var(--nav-label);letter-spacing:var(--ls-overline);text-transform:uppercase;font-weight:700;margin-top:2px}.mock-app .module-indicator{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:14px;background:color-mix(in srgb,var(--module-accent, var(--primary)) 8%,transparent);border:1px solid color-mix(in srgb,var(--module-accent, var(--primary)) 18%,transparent);border-radius:var(--radius-m);flex:none}.mock-app .module-indicator-icon{width:30px;height:30px;border-radius:var(--radius-s);background:color-mix(in srgb,var(--module-accent, var(--primary)) 16%,transparent);color:var(--module-accent, var(--primary));display:grid;place-items:center;flex:none}.mock-app .module-indicator-text{min-width:0;flex:1}.mock-app .module-indicator-name{display:block;font-size:12.5px;font-weight:700;color:var(--nav-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-app .module-indicator-tagline{display:block;font-size:10px;color:var(--nav-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-app .sidebar-logout{width:32px;height:32px;border-radius:var(--radius-m);border:1px solid var(--border-soft);background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--nav-label);flex:none;transition:var(--transition-base)}.mock-app .sidebar-logout:hover{background:var(--nav-hover);color:var(--crit);border-color:color-mix(in srgb,var(--crit) 30%,transparent)}.mock-app .nav-group{margin-top:14px}.mock-app .nav-group:first-of-type{margin-top:0}.mock-app .nav-label{font-size:var(--fs-overline);font-weight:700;letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--nav-label);padding:4px 10px 7px}.mock-app .nav-item,.mock-app .nav-parent{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:var(--radius-m);font-size:13px;font-weight:500;font-family:inherit;color:var(--nav-text);cursor:pointer;border:none;background:none;-webkit-user-select:none;user-select:none;text-decoration:none;text-align:left;transition:var(--transition-base)}.mock-app .nav-item:hover,.mock-app .nav-parent:hover{background:var(--nav-hover);color:var(--nav-text-strong)}.mock-app .nav-item svg,.mock-app .nav-parent svg{flex:none;opacity:.9}.mock-app .nav-item .label,.mock-app .nav-parent .label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-app .nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:600;box-shadow:var(--brand-glow)}.mock-app .nav-item.active svg{opacity:1}.mock-app .nav-parent.has-active{color:var(--nav-text-strong);font-weight:600}.mock-app .nav-parent-row{display:flex;align-items:center;gap:2px}.mock-app .nav-parent-row .nav-parent{flex:1;min-width:0}.mock-app .nav-parent-action,.mock-app .nav-parent-action-spacer{flex:none;width:26px;height:26px}.mock-app .nav-parent-action{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-s);color:var(--nav-label);opacity:0;transition:var(--transition-base)}.mock-app .nav-parent-row:hover .nav-parent-action,.mock-app .nav-parent-action:focus-visible{opacity:1}.mock-app .nav-parent-action:hover{color:var(--nav-text-strong);background:var(--nav-hover)}.mock-app .nav-item.nav-add{color:var(--nav-label);font-style:normal}.mock-app .nav-item.nav-add:before{content:"+";font-size:14px;font-weight:700;line-height:1;margin-right:-4px}.mock-app .nav-item.nav-add:hover{color:var(--nav-text-strong)}.mock-app .nav-caret{opacity:.5;transition:transform .2s ease}.mock-app .nav-parent.open .nav-caret{transform:rotate(180deg)}.mock-app .nav-children{margin:2px 0 6px 20px;padding-left:10px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:1px}.mock-app .nav-child{padding:7px 10px;font-size:12.5px}.mock-app .nav-collapse-nested{margin:2px 0}.mock-app .nav-collapse-nested .nav-parent{padding:7px 10px;font-size:12.5px}.mock-app .nav-collapse-nested .nav-children{margin-left:14px}.mock-app .nav-badge{font-size:10px;font-weight:700;background:var(--crit);color:#fff;border-radius:var(--radius-pill);padding:1px 6px;flex:none}.mock-app .nav-item.active .nav-badge{background:#ffffff47}.mock-app .sidebar-foot{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-soft);display:flex;align-items:center;gap:9px;flex:none}.mock-app .sidebar-foot .avatar-sm{width:30px;height:30px;font-size:11px}.mock-app .sidebar-foot-text{flex:1;min-width:0}.mock-app .sidebar-foot-name{font-size:12.5px;font-weight:600;color:var(--nav-text-strong)}.mock-app .sidebar-foot-role{font-size:10.5px;color:var(--nav-label)}.mock-app .sidebar-version{font-size:10.5px;color:var(--text-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mock-app .main{display:flex;flex-direction:column;min-width:0}.mock-app .topbar{display:flex;align-items:center;gap:12px;height:var(--topbar-h);padding:0 var(--page-gap);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:inset 0 -2px color-mix(in srgb,var(--brand-a) 55%,transparent);position:sticky;top:0;z-index:5}.mock-app .live-chip{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ok);background:var(--ok-bg);padding:4px 10px 4px 8px;border-radius:var(--radius-pill);flex:none}.mock-app .live-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 #16a34a80}70%{box-shadow:0 0 0 6px #16a34a00}to{box-shadow:0 0 #16a34a00}}.mock-app .search-box{display:flex;align-items:center;gap:8px;height:var(--control-h);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);padding:0 14px;width:320px;color:var(--text-3);margin-left:auto}.mock-app .search-box:focus-within{border-color:var(--primary)}.mock-app .search-box input{border:none;background:none;outline:none;font-size:13px;color:var(--text);width:100%;font-family:inherit}.mock-app .search-box input::placeholder{color:var(--text-3)}.mock-app .icon-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-2);position:relative;flex:none}.mock-app .icon-btn:hover{background:var(--surface-2);color:var(--text)}.mock-app .icon-dot{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--crit);border:1.5px solid var(--surface)}.mock-app .lang-pill{font-size:12px;font-weight:600;height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-m);padding:0 14px;background:var(--surface);color:var(--text-2);cursor:pointer;flex:none}.mock-app .lang-pill:hover{background:var(--surface-2)}.mock-app .avatar{width:36px;height:36px;border-radius:50%;background:var(--brand-b);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer;box-shadow:var(--brand-glow)}.mock-app .main{background:radial-gradient(ellipse 70% 40% at 100% 0%,color-mix(in srgb,var(--brand-b) 5%,transparent) 0%,transparent 55%),var(--bg)}.mock-app .content{padding:var(--page-gap) var(--page-gap) 64px;max-width:var(--content-max);width:100%}.mock-app .view-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:var(--page-gap);flex-wrap:wrap}.mock-app .view-crumb{display:none}.mock-app .view-title{font-family:var(--font-head);font-size:var(--fs-h4);font-weight:600;line-height:1.35;letter-spacing:-.01em;text-wrap:balance}.mock-app .view-meta{font-size:12.5px;color:var(--text-3);margin-top:4px}.mock-app .view-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mock-app .grid{display:grid;gap:16px}.mock-app .kpi-row{grid-template-columns:repeat(5,1fr)}.mock-app .cols-3-1{grid-template-columns:2.1fr 1fr;align-items:start}.mock-app .filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l)}@media(max-width:1100px){.mock-app .kpi-row{grid-template-columns:repeat(3,1fr)}.mock-app .cols-3-1{grid-template-columns:1fr}.mock-app .search-box{width:200px}}@media(max-width:760px){.mock-app .app{grid-template-columns:1fr}.mock-app .sidebar{display:none}.mock-app .content{padding:16px 16px 48px}}.mock-app .page-guide{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-m);margin-bottom:var(--page-gap);overflow:hidden;transition:all var(--transition-base);box-shadow:0 1px 3px #0000000d}.mock-app .page-guide-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.mock-app .page-guide-header:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}.mock-app .page-guide-title-area{display:flex;align-items:center;gap:8px;min-width:0}.mock-app .page-guide-icon{color:var(--primary);flex:none}.mock-app .page-guide-title{font-size:13.5px;color:var(--text-1)}.mock-app .page-guide-title strong{font-weight:600;color:var(--primary)}.mock-app .page-guide-breadcrumbs{font-size:11.5px;color:var(--text-3);margin-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-app .page-guide-meta-area{display:flex;align-items:center;gap:12px;flex:none}.mock-app .page-guide-toggle-btn{background:none;border:none;padding:4px;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-s);transition:background .15s ease,color .15s ease}.mock-app .page-guide-toggle-btn:hover{background:var(--border);color:var(--text-1)}.mock-app .page-guide.is-open .page-guide-toggle-btn svg{transform:rotate(180deg)}.mock-app .page-guide-toggle-btn svg{transition:transform .2s ease}.mock-app .page-guide-body{border-top:1px dashed var(--border);padding:14px 16px;background:color-mix(in srgb,var(--primary) 2%,transparent)}.mock-app .page-guide-content{display:flex;flex-direction:column;gap:8px}.mock-app .page-guide-section-title{font-size:12px;font-weight:600;color:var(--text-2);display:flex;align-items:center;gap:6px}.mock-app .page-guide-info-icon{color:var(--primary)}.mock-app .page-guide-text{font-size:12.5px;line-height:1.6;color:var(--text-2);margin:0}.mock-app .search-box{position:relative}.mock-app .search-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:360px;max-height:300px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #00000026;padding:6px;z-index:1000;display:flex;flex-direction:column;gap:2px}.mock-app .search-dropdown-item{display:flex;flex-direction:column;padding:8px 12px;border-radius:var(--radius-s);cursor:pointer;background:transparent;border:none;text-align:left;width:100%;transition:background .15s ease}.mock-app .search-dropdown-item:hover,.mock-app .search-dropdown-item.focused{background:var(--surface-2)}.mock-app .search-dropdown-item .item-title{font-size:12.5px;font-weight:600;color:var(--text)}.mock-app .search-dropdown-item .item-meta{font-size:10.5px;color:var(--text-3);margin-top:2px}.mock-app .search-no-results{padding:16px 12px;text-align:center;font-size:12px;color:var(--text-3)}.mock-app .module-indicator{cursor:pointer;position:relative;transition:all .2s ease}.mock-app .module-indicator:hover,.mock-app .module-indicator.active{background:color-mix(in srgb,var(--module-accent, var(--primary)) 14%,transparent)!important;border-color:color-mix(in srgb,var(--module-accent, var(--primary)) 30%,transparent)!important}.mock-app .module-indicator-static{cursor:default}.mock-app .module-indicator-static:hover{background:color-mix(in srgb,var(--module-accent, var(--primary)) 8%,transparent)!important;border-color:color-mix(in srgb,var(--module-accent, var(--primary)) 18%,transparent)!important}.mock-app .module-switcher-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0003;padding:6px;z-index:1000;display:flex;flex-direction:column;gap:2px}.mock-app .switcher-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);padding:6px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.mock-app .switcher-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-s);cursor:pointer;background:transparent;border:none;text-align:left;width:100%;transition:background .15s ease}.mock-app .switcher-item:hover{background:var(--surface-2)}.mock-app .switcher-item-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.mock-app .switcher-item-text{min-width:0}.mock-app .switcher-item-name{font-size:12px;font-weight:700;color:var(--text);line-height:1.2}.mock-app .switcher-item-tag{font-size:10px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.mock-app .topbar-menu{position:relative;flex:none}.mock-app .avatar[role=button]{-webkit-user-select:none;user-select:none}.mock-app .topbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 10px 25px -5px #0000002e,0 8px 10px -6px #00000026;padding:6px;z-index:1000;display:flex;flex-direction:column;gap:2px}.mock-app .topbar-dropdown-wide{min-width:280px}.mock-app .topbar-dropdown-head{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-overline);color:var(--text-3);padding:6px 10px 8px}.mock-app .topbar-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:var(--radius-s);border:none;background:none;color:var(--text);font-size:12.5px;font-weight:500;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.mock-app .topbar-dropdown-item:hover{background:var(--surface-2)}.mock-app .topbar-dropdown-item:disabled{color:var(--text-3);cursor:default}.mock-app .topbar-dropdown-item:disabled:hover{background:none}.mock-app .topbar-dropdown-item.active{color:var(--primary);font-weight:700}.mock-app .topbar-dropdown-item.active span{margin-left:auto}.mock-app .topbar-dropdown-item.danger{color:var(--crit)}.mock-app .topbar-dropdown-item.danger:hover{background:var(--crit-bg)}.mock-app .topbar-notif-item{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border-radius:var(--radius-s)}.mock-app .topbar-notif-item [class^=dot-]{width:7px;height:7px;border-radius:50%;margin-top:5px;flex:none}.mock-app .dot-crit{background:var(--crit)}.mock-app .dot-warn{background:var(--warn)}.mock-app .dot-ok{background:var(--ok)}.mock-app .topbar-notif-text{font-size:12px;color:var(--text-2);line-height:1.45}.mock-app .topbar-notif-time{font-size:10.5px;color:var(--text-3);margin-top:2px}.mock-app,.mock-app input,.mock-app select,.mock-app textarea,.mock-app button{font-variant-numeric:tabular-nums}
