:root{--c-navy: #0f2a4a;--c-navy-600: #12395f;--c-navy-400: #2a5580;--c-gold: #c9a227;--c-gold-soft: #e8d9a0;--c-gold-bg: #fbf6e6;--c-up: #d92b2b;--c-up-bg: #fdecec;--c-down: #0f8a5f;--c-down-bg: #e9f7f1;--c-flat: #6b7280;--c-warn: #c77700;--c-warn-bg: #fff7e6;--c-warn-border: #f0d69a;--c-warn-text: #7a5b00;--c-danger: #c02626;--c-danger-bg: #fdecec;--c-info: #1c6fb8;--c-info-bg: #eaf3fc;--c-success: #0f8a5f;--c-on-accent: #ffffff;--c-on-gold: #1a1400;--c-navy-deep: #091c33;--grad-hero: radial-gradient(120% 120% at 15% 0%, var(--c-navy-400) 0%, var(--c-navy) 45%, var(--c-navy-deep) 100%);--grad-gold-line: linear-gradient( 180deg, transparent, var(--c-gold) 22%, var(--c-gold-soft) 50%, var(--c-gold) 78%, transparent );--c-ma-5: #e8a33d;--c-ma-10: #5b8def;--c-ma-20: #9b6cf0;--c-ma-60: #4aa8a8;--c-chart-label-bg: #5a6472;--c-bg: #f5f6f8;--c-bg-elev: #ffffff;--c-bg-sunken: #eef0f3;--c-card: #ffffff;--c-border: #e3e6eb;--c-border-strong: #cfd4dc;--c-text: #101828;--c-text-2: #5a6472;--c-text-3: #8b93a1;--c-text-inverse: #ffffff;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 2px 8px rgba(16, 24, 40, .07), 0 1px 2px rgba(16, 24, 40, .04);--shadow-lg: 0 8px 24px rgba(16, 24, 40, .1);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;--sidebar-w: 216px;--header-h: 56px;--content-max: 1440px;--z-header: 100;--z-drawer: 200;--z-modal: 300;--z-toast: 400}[data-theme=dark]{--c-navy: #7aa7d8;--c-navy-600: #a8c6e8;--c-navy-400: #5b87b5;--c-gold: #e0bf4e;--c-gold-soft: #4a3f1d;--c-gold-bg: #221e10;--c-up: #ff6b5e;--c-up-bg: #34191a;--c-down: #3dd68c;--c-down-bg: #10291f;--c-flat: #8b949e;--c-warn: #e3a008;--c-warn-bg: #2e2410;--c-warn-border: #5a4620;--c-warn-text: #f0c66b;--c-danger: #ff6b5e;--c-danger-bg: #34191a;--c-info: #58a6ff;--c-info-bg: #10243a;--c-success: #3dd68c;--c-on-accent: #ffffff;--c-on-gold: #1a1400;--c-navy-deep: #050a12;--c-ma-5: #f0b95e;--c-ma-10: #7aa7f0;--c-ma-20: #b48cf5;--c-ma-60: #63c4c4;--c-chart-label-bg: #3a4353;--c-bg: #0d1117;--c-bg-elev: #161b22;--c-bg-sunken: #0a0e13;--c-card: #161b22;--c-border: #262d38;--c-border-strong: #384150;--c-text: #e6edf3;--c-text-2: #9aa4b2;--c-text-3: #6e7781;--c-text-inverse: #0d1117;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);font-size:14px;line-height:1.55;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.num,td.num,.kpi-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}h4{font-size:14px}a{color:var(--c-navy);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--c-navy);outline-offset:2px}.card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--s-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:1px solid transparent;border-radius:var(--r-md);font-weight:500;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--c-navy);color:var(--c-on-accent)}.btn-primary:hover:not(:disabled){background:var(--c-navy-600)}.btn-ghost{background:transparent;border-color:var(--c-border-strong);color:var(--c-text)}.btn-ghost:hover:not(:disabled){background:var(--c-bg-sunken)}.btn-gold{background:var(--c-gold);color:var(--c-on-gold);font-weight:600}.btn-gold:hover:not(:disabled){filter:brightness(1.06)}.btn-sm{height:30px;padding:0 12px;font-size:13px}.btn-block{width:100%}.input,select.input,textarea.input{width:100%;height:38px;padding:0 12px;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-bg-elev);color:var(--c-text);font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}textarea.input{height:auto;padding:10px 12px;line-height:1.6;resize:vertical}.input:focus{outline:none;border-color:var(--c-navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-navy) 14%,transparent)}.input::placeholder{color:var(--c-text-3)}.label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--c-text-2)}.hint{margin-top:6px;font-size:12px;color:var(--c-text-3);line-height:1.5}.alert{padding:10px 12px;border-radius:var(--r-md);font-size:13px;line-height:1.55;border:1px solid transparent}.alert-error{background:var(--c-danger-bg);color:var(--c-danger);border-color:color-mix(in srgb,var(--c-danger) 25%,transparent)}.alert-warn{background:var(--c-warn-bg);color:var(--c-warn);border-color:color-mix(in srgb,var(--c-warn) 25%,transparent)}.alert-info{background:var(--c-info-bg);color:var(--c-info);border-color:color-mix(in srgb,var(--c-info) 25%,transparent)}.alert-success{background:var(--c-down-bg);color:var(--c-down);border-color:color-mix(in srgb,var(--c-down) 25%,transparent)}.tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:4px;font-size:11px;font-weight:500;background:var(--c-bg-sunken);color:var(--c-text-2);white-space:nowrap}.tag-gold{background:var(--c-gold-bg);color:var(--c-gold)}.tag-up{background:var(--c-up-bg);color:var(--c-up)}.tag-down{background:var(--c-down-bg);color:var(--c-down)}.tag-navy{background:color-mix(in srgb,var(--c-navy) 10%,transparent);color:var(--c-navy)}.tag-ok{background:var(--c-down-bg);color:var(--c-success)}.tag-warn{background:var(--c-warn-bg);color:var(--c-warn)}.tag-idle{background:var(--c-bg-sunken);color:var(--c-text-3)}.flat{color:var(--c-flat)}.muted{color:var(--c-text-2)}.dim{color:var(--c-text-3)}.mono{font-family:var(--font-mono)}.row{display:flex;align-items:center;gap:var(--s-2)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.stack{display:flex;flex-direction:column;gap:var(--s-3)}.spacer{flex:1}.divider{height:1px;background:var(--c-border);margin:var(--s-4) 0}.empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--c-text-3);font-size:13px}.skeleton{background:linear-gradient(90deg,var(--c-bg-sunken) 25%,color-mix(in srgb,var(--c-bg-sunken) 60%,var(--c-bg)) 50%,var(--c-bg-sunken) 75%);background-size:200% 100%;animation:sk 1.4s ease-in-out infinite;border-radius:var(--r-sm)}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.link-btn{background:none;border:0;padding:0;font-size:12px;color:var(--c-gold);cursor:pointer;font-family:inherit}.link-btn:hover{text-decoration:underline}.link-btn.dim{color:var(--c-text-3)}.link-btn.danger{color:var(--c-danger)}.th-act{text-align:right;white-space:nowrap}.th-act .link-btn+.link-btn{margin-left:9px}.alert-ok{background:var(--c-down-bg);color:var(--c-success);border-color:color-mix(in srgb,var(--c-success) 25%,transparent)}.up{color:var(--c-up)}.down{color:var(--c-down)}[data-density=compact] .card-pad{padding:var(--s-4)}[data-density=compact] .plain li,[data-density=compact] .sessions li{padding-top:5px!important;padding-bottom:5px!important}[data-density=compact] th,[data-density=compact] td,[data-density=compact] .responsive-table th,[data-density=compact] .responsive-table td{padding-top:6px!important;padding-bottom:6px!important}[data-density=compact] .input{height:32px}@media (max-width: 430px){html,body{overflow-x:hidden}:root{--s-6: 16px;--s-8: 24px;--content-max: 100%}.hide-xs{display:none!important}}@media (max-width: 767px){:root{--sidebar-w: 0px;--header-h: 52px}.stack-sm{display:block!important}table.responsive-table thead{display:none}table.responsive-table tr{display:block;border:1px solid var(--c-border);border-radius:var(--r-md);margin-bottom:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--c-card)}table.responsive-table td{display:flex;justify-content:space-between;gap:var(--s-3);border:0;padding:2px 0}table.responsive-table td:before{content:attr(data-label);color:var(--c-text-3);flex:0 0 auto}}@media (min-width: 768px) and (max-width: 1023px){:root{--sidebar-w: 64px}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (min-width: 1024px){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1280px){.page-body{max-width:var(--content-max);margin:0 auto}}@media (min-width: 1920px){:root{--content-max: 1600px;--s-6: 28px;--s-8: 40px}}@media (max-width: 360px){body{font-size:13px}}
