.lp{background:var(--surface);color:var(--text);overflow-x:hidden}.lp a{text-decoration:none}.lp-container{max-width:1160px;margin:0 auto;padding:0 24px}.lp-nav{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);background:#09162ab8;border-bottom:1px solid rgba(255,255,255,.08)}.lp-nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px}.lp-brand{display:flex;align-items:center;gap:11px}.lp-brand .brand-mark{width:40px;height:40px;font-size:15px}.lp-brand .b1{font-family:var(--font-head);font-weight:700;font-size:16px;color:#fff;line-height:1.1}.lp-brand .b2{font-size:11px;color:#93a4c0}.lp-brand .bt{display:flex;flex-direction:column}.lp-nav-links{display:flex;align-items:center;gap:28px}.lp-nav-links a{color:#c7d2e4;font-size:14.5px;font-weight:500;transition:color .15s}.lp-nav-links a:hover{color:#fff}@media(max-width:820px){.lp-nav-links a:not(.lp-nav-cta){display:none}}.lp-nav-cta{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;background:#fff;color:var(--navy-900)!important;border-radius:9px;font-weight:600!important;transition:transform .08s,box-shadow .15s}.lp-nav-cta:hover{box-shadow:0 6px 20px #00000047}.lp-nav-cta svg{width:15px;height:15px}.lp-hero{position:relative;background:radial-gradient(1100px 600px at 78% -10%,rgba(37,99,235,.38),transparent 60%),linear-gradient(160deg,#0a1c34,#0f2647 60%,#14284b);color:#fff;padding:74px 0 96px;overflow:hidden}.lp-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(700px 400px at 20% 0%,#000,transparent 70%);mask-image:radial-gradient(700px 400px at 20% 0%,#000,transparent 70%)}.lp-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}@media(max-width:940px){.lp-hero-grid{grid-template-columns:1fr;gap:40px}}.lp-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);font-size:12.5px;font-weight:600;color:#cfe0ff;margin-bottom:22px}.lp-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #05966940}.lp-hero h1{font-size:clamp(32px,5vw,50px);line-height:1.08;letter-spacing:-.025em;color:#fff;font-weight:700}.lp-hero h1 .hl{color:#7fb0ff}.lp-hero p.sub{margin:20px 0 0;font-size:17.5px;line-height:1.6;color:#b9c6dd;max-width:520px}.lp-hero-cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.lp-btn{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 24px;border-radius:11px;font-size:15.5px;font-weight:600;transition:transform .08s,box-shadow .16s,background .16s}.lp-btn:active{transform:translateY(1px)}.lp-btn svg{width:18px;height:18px}.lp-btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 30px #1d4ed873}.lp-btn-primary:hover{background:#2563eb}.lp-btn-ghost{background:#ffffff12;color:#fff;border:1px solid rgba(255,255,255,.18)}.lp-btn-ghost:hover{background:#ffffff21}.lp-hero-note{margin-top:20px;font-size:13.5px;color:#8ea1c0;display:flex;align-items:center;gap:8px}.lp-hero-note svg{width:15px;height:15px;color:var(--accent)}.lp-mock{background:#fff;border-radius:16px;box-shadow:0 30px 80px #00000073;border:1px solid rgba(255,255,255,.5);overflow:hidden;transform:perspective(1400px) rotateY(-9deg) rotateX(3deg)}@media(max-width:940px){.lp-mock{transform:none}}.lp-mock-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#f1f4f9;border-bottom:1px solid var(--border)}.lp-mock-bar i{width:10px;height:10px;border-radius:50%;background:#cdd6e4}.lp-mock-bar i:nth-child(1){background:#f87171}.lp-mock-bar i:nth-child(2){background:#fbbf24}.lp-mock-bar i:nth-child(3){background:#34d399}.lp-mock-bar span{margin-left:8px;font-size:12px;color:var(--muted);font-weight:600}.lp-mock-body{padding:16px}.lp-mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.lp-mk{border:1px solid var(--border);border-radius:10px;padding:11px;background:var(--surface-2)}.lp-mk .v{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--text)}.lp-mk .l{font-size:11px;color:var(--muted);font-weight:600;margin-top:1px}.lp-mock-chart{border:1px solid var(--border);border-radius:10px;padding:14px}.lp-mock-chart .ct{font-size:12px;font-weight:700;color:var(--text-2);margin-bottom:12px}.lp-bars{display:flex;align-items:flex-end;gap:14px;height:120px}.lp-bars .b{flex:1;border-radius:5px 5px 0 0}.lp-bars-wrap .lab{display:flex;gap:14px;margin-top:8px}.lp-bars-wrap .lab span{flex:1;text-align:center;font-size:10.5px;color:var(--muted)}.lp-section{padding:84px 0}.lp-section.alt{background:var(--bg)}.lp-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);text-align:center}.lp-h2{font-size:clamp(26px,3.6vw,36px);line-height:1.15;letter-spacing:-.02em;text-align:center;margin:10px 0 0}.lp-lead{text-align:center;color:var(--muted);font-size:16.5px;max-width:600px;margin:14px auto 0;line-height:1.6}.lp-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;padding:26px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.lp-strip .item{display:flex;align-items:center;gap:9px;color:var(--text-2);font-weight:600;font-size:14.5px}.lp-strip svg{width:18px;height:18px;color:var(--accent)}.lp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}@media(max-width:900px){.lp-features{grid-template-columns:1fr 1fr}}@media(max-width:600px){.lp-features{grid-template-columns:1fr}}.lp-feat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;transition:transform .16s,box-shadow .16s,border-color .16s}.lp-feat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.lp-feat-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:15px}.lp-feat-ic svg{width:23px;height:23px}.lp-feat h3{font-size:17px}.lp-feat p{color:var(--muted);font-size:14.5px;line-height:1.55;margin:8px 0 0}.lp-roles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:46px}@media(max-width:1000px){.lp-roles{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.lp-roles{grid-template-columns:1fr}}.lp-role{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px}.lp-role .lp-feat-ic{width:40px;height:40px;border-radius:10px}.lp-role h4{font-size:15.5px}.lp-role ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:7px}.lp-role li{font-size:13.5px;color:var(--text-2);display:flex;gap:8px;align-items:flex-start;line-height:1.4}.lp-role li svg{width:15px;height:15px;color:var(--accent);flex-shrink:0;margin-top:2px}.lp-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:48px;position:relative}@media(max-width:860px){.lp-steps{grid-template-columns:1fr 1fr}}@media(max-width:480px){.lp-steps{grid-template-columns:1fr}}.lp-step{text-align:center;padding:8px}.lp-step .num{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand);border:1px solid var(--brand-100)}.lp-step .num svg{width:24px;height:24px}.lp-step h4{font-size:16px}.lp-step p{font-size:13.5px;color:var(--muted);margin:6px 0 0;line-height:1.5}.lp-cta{background:radial-gradient(800px 400px at 80% 120%,rgba(5,150,105,.3),transparent 60%),linear-gradient(150deg,#0a1c34,#16345c 120%);color:#fff;border-radius:22px;padding:56px;text-align:center;position:relative;overflow:hidden}.lp-cta h2{color:#fff;font-size:clamp(26px,3.4vw,34px);letter-spacing:-.02em}.lp-cta p{color:#b9c6dd;font-size:16.5px;margin:14px auto 0;max-width:520px}.lp-cta .lp-hero-cta{justify-content:center;margin-top:30px}.lp-footer{background:var(--navy-900);color:#93a4c0;padding:46px 0 30px}.lp-footer-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}.lp-footer .lp-brand .b1{font-size:15px}.lp-footer p{font-size:13.5px;line-height:1.6;max-width:320px;margin:14px 0 0}.lp-footer-links{display:flex;gap:46px;flex-wrap:wrap}.lp-footer-col h5{color:#cdd8ea;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.lp-footer-col a,.lp-footer-col span{display:block;color:#8ea1c0;font-size:14px;margin-bottom:9px;cursor:pointer}.lp-footer-col a:hover{color:#fff}.lp-footer-bottom{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:#6b7c9a;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.tint-blue{background:var(--info-bg);color:var(--brand)}.tint-green{background:var(--success-bg);color:var(--success)}.tint-amber{background:var(--warning-bg);color:var(--warning)}.tint-red{background:var(--danger-bg);color:var(--danger)}.tint-purple{background:#f3e8ff;color:#7e22ce}.tint-cyan{background:#ecfeff;color:#0891b2}:root{--navy-900: #0a1c34;--navy-800: #0f2647;--navy-700: #16345c;--navy-600: #1d426f;--brand: #1d4ed8;--brand-600: #2563eb;--brand-700: #1e40af;--brand-50: #eff4ff;--brand-100: #dbe6ff;--accent: #059669;--accent-50: #ecfdf5;--bg: #f4f6fb;--surface: #ffffff;--surface-2: #f8fafc;--border: #e5e9f2;--border-strong: #d3d9e6;--text: #0f172a;--text-2: #475569;--muted: #64748b;--muted-2: #94a3b8;--success: #059669;--success-bg: #ecfdf5;--warning: #d97706;--warning-bg: #fffbeb;--danger: #dc2626;--danger-bg: #fef2f2;--info: #2563eb;--info-bg: #eff6ff;--neutral-bg: #f1f5f9;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .14);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--sidebar-w: 256px;--topbar-h: 60px;--font-head: "Lexend", system-ui, -apple-system, sans-serif;--font-body: "Source Sans 3", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5{font-family:var(--font-head);margin:0;font-weight:600;color:var(--text)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tnum{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border:1px solid transparent;border-radius:var(--r-md);font-size:14px;font-weight:600;white-space:nowrap;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease,transform .06s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-700)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:#047857}.btn-ghost{background:var(--surface);color:var(--text-2);border-color:var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted-2)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-icon{width:34px;height:34px;padding:0}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--success-bg);color:#047857}.badge-warning{background:var(--warning-bg);color:#b45309}.badge-danger{background:var(--danger-bg);color:#b91c1c}.badge-info{background:var(--info-bg);color:#1d4ed8}.badge-neutral{background:var(--neutral-bg);color:#475569}.badge-purple{background:#f3e8ff;color:#7e22ce}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.card-pad{padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.card-header h3{font-size:15px}.card-title-sub{font-size:13px;color:var(--muted);font-weight:400}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:var(--text-2)}.field label .req{color:var(--danger);margin-left:2px}.field .hint{font-size:12px;color:var(--muted)}.field .err{font-size:12.5px;color:var(--danger);font-weight:500}.input,.select,.textarea{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);font-size:14px;font-family:inherit;color:var(--text);background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #1d4ed81f}.input::placeholder,.textarea::placeholder{color:var(--muted-2)}.textarea{resize:vertical;min-height:90px;line-height:1.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:34px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:560px){.grid-2{grid-template-columns:1fr}}.table-wrap{width:100%;overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data thead th{text-align:left;padding:11px 16px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1}table.data tbody td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr{transition:background .12s ease}table.data tbody tr:hover{background:var(--brand-50)}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr:last-child td{border-bottom:none}.cell-strong{font-weight:600;color:var(--text)}.cell-muted{color:var(--muted)}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.row{display:flex;align-items:center}.between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column}.muted{color:var(--muted)}.text-sm{font-size:13px}.text-xs{font-size:12px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-0{margin-bottom:0}.spin{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 20px;text-align:center;color:var(--muted)}.empty svg{width:40px;height:40px;color:var(--muted-2)}.empty h4{color:var(--text-2);font-size:15px}.skeleton{background:linear-gradient(90deg,#eef1f6 25%,#e2e8f0 37%,#eef1f6 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-shell{display:flex;min-height:100dvh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-800) 100%);color:#cbd5e1;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;height:100dvh;z-index:40}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:16px 18px;height:var(--topbar-h);border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:38px;height:38px;border-radius:9px;flex-shrink:0;background:#fff;color:var(--navy-900);display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:15px;letter-spacing:-.02em;box-shadow:0 2px 8px #00000040}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-text .b1{font-family:var(--font-head);font-weight:700;font-size:15px;color:#fff;letter-spacing:.01em}.brand-text .b2{font-size:10.5px;color:#93a4c0;letter-spacing:.02em;white-space:nowrap}.nav{padding:12px;overflow-y:auto;flex:1}.nav-section{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#6b7c9a;padding:14px 12px 6px;font-weight:700}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;margin:2px 0;border-radius:9px;color:#b4c0d4;font-size:14px;font-weight:500;transition:background .14s ease,color .14s ease}.nav-item:hover{background:#ffffff0f;color:#fff;text-decoration:none}.nav-item.active{background:var(--brand);color:#fff;box-shadow:0 2px 10px #1d4ed873}.nav-item svg{width:18px;height:18px;flex-shrink:0}.nav-item .nav-badge{margin-left:auto;background:#ffffff2e;color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.nav-item.active .nav-badge{background:#ffffff47}.sidebar-foot{padding:14px;border-top:1px solid rgba(255,255,255,.08);font-size:11.5px;color:#6b7c9a}.main{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:30}.topbar .page-title{font-size:17px;font-weight:600}.topbar .page-sub{font-size:12.5px;color:var(--muted)}.hamburger{display:none}.topbar-user{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);display:grid;place-items:center;font-weight:700;font-size:14px;font-family:var(--font-head);flex-shrink:0}.topbar-user .u-meta{display:flex;flex-direction:column;line-height:1.2}.topbar-user .u-name{font-size:13.5px;font-weight:600}.topbar-user .u-role{font-size:11.5px;color:var(--muted)}.content{padding:24px;max-width:1400px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:22px;letter-spacing:-.01em}.page-head p{color:var(--muted);font-size:14px;margin:3px 0 0}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.kpi-grid{grid-template-columns:1fr}}.kpi-grid.k5{grid-template-columns:repeat(5,1fr)}@media(max-width:1200px){.kpi-grid.k5{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.kpi-grid.k5{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.kpi-grid.k5{grid-template-columns:1fr}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow-xs);transition:box-shadow .16s ease,transform .1s ease}.kpi:hover{box-shadow:var(--shadow-md)}.kpi-link{cursor:pointer}.kpi-link:hover{border-color:var(--brand);box-shadow:0 6px 18px #1d4ed824}.kpi-link:active{transform:translateY(1px)}.kpi-ic{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.kpi-ic svg{width:22px;height:22px}.kpi-ic.blue{background:var(--info-bg);color:var(--brand)}.kpi-ic.green{background:var(--success-bg);color:var(--success)}.kpi-ic.amber{background:var(--warning-bg);color:var(--warning)}.kpi-ic.red{background:var(--danger-bg);color:var(--danger)}.kpi-ic.purple{background:#f3e8ff;color:#7e22ce}.kpi-body{min-width:0}.kpi-val{font-family:var(--font-head);font-size:26px;font-weight:700;line-height:1.1;letter-spacing:-.01em}.kpi-label{font-size:13px;color:var(--text-2);font-weight:600;margin-top:2px}.kpi-hint{font-size:11.5px;color:var(--muted);margin-top:1px}.idle-card{display:flex;align-items:stretch;margin-bottom:22px;overflow:hidden}.idle-main{display:flex;gap:14px;align-items:center;padding:18px 24px;flex:0 0 auto}.idle-total{font-family:var(--font-head);font-size:30px;font-weight:700;line-height:1;letter-spacing:-.01em}.idle-cats{display:flex;flex:1;border-left:1px solid var(--border)}.idle-cat{flex:1;text-align:left;padding:15px 22px;background:var(--surface);border:none;border-right:1px solid var(--border);cursor:pointer;transition:background .14s}.idle-cat:last-child{border-right:none}.idle-cat:hover{background:var(--brand-50)}.idle-cat .ic-top{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-2)}.idle-cat .ic-top svg{margin-left:auto;color:var(--muted-2)}.idle-cat .ic-count{font-family:var(--font-head);font-size:24px;font-weight:700;margin:3px 0 1px}.idle-cat .ic-sub{font-size:12px;color:var(--muted)}.idle-cat .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.idle-cat .dot.green{background:var(--success)}.idle-cat .dot.amber{background:var(--warning)}@media(max-width:640px){.idle-card{flex-direction:column}.idle-main{border-bottom:1px solid var(--border)}.idle-cats{border-left:none}}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 6px 0 14px;border-radius:var(--r-md);background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-700);font-size:13.5px;font-weight:600}.filter-chip button{border:none;background:none;color:var(--brand-700);cursor:pointer;display:grid;place-items:center;width:26px;height:26px;border-radius:6px}.filter-chip button:hover{background:var(--brand-100)}.chart-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:16px}.chart-grid.thirds{grid-template-columns:1fr 1fr 1fr}@media(max-width:980px){.chart-grid,.chart-grid.thirds{grid-template-columns:1fr}}.chart-box{min-height:300px}.login-wrap{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}@media(max-width:860px){.login-wrap{grid-template-columns:1fr}.login-aside{display:none}}.login-aside{background:linear-gradient(150deg,var(--navy-900) 0%,var(--navy-700) 55%,var(--brand-700) 130%);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-aside:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.35),transparent 68%);right:-140px;bottom:-140px}.login-aside .la-brand{display:flex;align-items:center;gap:12px;z-index:1}.login-aside .la-brand .brand-mark{width:46px;height:46px;font-size:18px}.login-aside .la-brand .b1{font-size:17px}.login-aside .la-brand .b2{font-size:12px}.login-hero{z-index:1}.login-hero h2{color:#fff;font-size:30px;line-height:1.22;letter-spacing:-.02em;max-width:420px}.login-hero p{color:#b8c6de;font-size:15px;margin-top:14px;max-width:400px}.login-feats{z-index:1;display:flex;flex-direction:column;gap:12px}.login-feat{display:flex;align-items:center;gap:11px;font-size:14px;color:#d5deee}.login-feat .lf-ic{width:30px;height:30px;border-radius:8px;background:#ffffff1f;display:grid;place-items:center}.login-feat svg{width:16px;height:16px;color:#7fb0ff}.login-main{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--surface)}.login-card{width:100%;max-width:380px}.login-card h1{font-size:24px;letter-spacing:-.01em}.login-card .sub{color:var(--muted);margin:6px 0 26px}.login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:24px}@media(max-width:860px){.login-mobile-brand{display:flex}.login-mobile-brand .brand-mark{background:var(--navy-900);color:#fff}.login-mobile-brand .b1{color:var(--text)}.login-mobile-brand .b2{color:var(--muted)}}.login-err{background:var(--danger-bg);color:#b91c1c;border:1px solid #fecaca;border-radius:var(--r-md);padding:10px 12px;font-size:13.5px;font-weight:500;margin-bottom:16px;display:flex;gap:8px;align-items:center}.demo-accounts{margin-top:22px;border-top:1px dashed var(--border-strong);padding-top:16px}.demo-accounts .da-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.demo-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);font-size:13px;margin-bottom:6px;transition:border-color .14s,background .14s;text-align:left}.demo-chip:hover{border-color:var(--brand);background:var(--brand-50)}.demo-chip .dc-role{font-weight:600;color:var(--text)}.demo-chip .dc-email{color:var(--muted);font-size:12px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.search-box{position:relative;flex:1;min-width:200px;max-width:360px}.search-box svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted-2)}.search-box input{width:100%;height:38px;padding:0 12px 0 34px;border:1px solid var(--border-strong);border-radius:var(--r-md);font-size:14px;font-family:inherit}.search-box input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #1d4ed81f}.filter-select{height:38px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:50;display:flex;animation:fade .16s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-width:560px;margin:auto;max-height:90dvh;display:flex;flex-direction:column;animation:pop .18s cubic-bezier(.16,1,.3,1)}.modal.lg{max-width:720px}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.drawer{margin-left:auto;height:100dvh;width:100%;max-width:560px;background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide .22s cubic-bezier(.16,1,.3,1)}@keyframes slide{0%{transform:translate(28px);opacity:.4}to{transform:none;opacity:1}}.modal-head,.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-head h3,.drawer-head h3{font-size:17px}.modal-head .sub,.drawer-head .sub{font-size:13px;color:var(--muted);margin-top:2px}.modal-body,.drawer-body{padding:20px 22px;overflow-y:auto}.modal-foot,.drawer-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl)}.x-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--muted);display:grid;place-items:center}.x-btn:hover{background:var(--neutral-bg);color:var(--text)}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}.spec-list{display:grid;grid-template-columns:1fr 1fr;gap:0}@media(max-width:560px){.spec-list{grid-template-columns:1fr}}.spec{padding:12px 16px;border-bottom:1px solid var(--border)}.spec:nth-child(odd){border-right:1px solid var(--border)}.spec .k{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.spec .v{font-size:14.5px;font-weight:500;margin-top:3px}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--border)}.tl-item{position:relative;padding:0 0 20px}.tl-item:last-child{padding-bottom:0}.tl-dot{position:absolute;left:-26px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--brand)}.tl-dot.green{border-color:var(--success)}.tl-dot.amber{border-color:var(--warning)}.tl-dot.gray{border-color:var(--muted-2)}.tl-title{font-weight:600;font-size:14px}.tl-meta{font-size:12.5px;color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:0;padding:0 4px}.tab{padding:11px 14px;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;background:none;border-top:none;border-left:none;border-right:none}.tab:hover{color:var(--text-2)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.progress-tiny{height:6px;border-radius:999px;background:var(--neutral-bg);overflow:hidden}.progress-tiny>span{display:block;height:100%;border-radius:999px;background:var(--brand)}.seg{display:inline-flex;width:100%;border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden}.seg button{flex:1;padding:9px 12px;font-size:13.5px;font-weight:600;background:var(--surface);color:var(--text-2);border:none;border-right:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .14s,color .14s}.seg button:last-child{border-right:none}.seg button svg{width:15px;height:15px}.seg button.active{background:var(--brand);color:#fff}.seg button.active.warn{background:var(--warning)}.charger-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.charger-tag svg{width:13px;height:13px}.charger-yes{color:var(--success)}.charger-no{color:var(--warning)}.comment{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.comment:last-child{border-bottom:none}.comment .avatar{width:32px;height:32px;font-size:12px}.comment .c-body{flex:1}.comment .c-head{display:flex;align-items:baseline;gap:8px}.comment .c-name{font-weight:600;font-size:13.5px}.comment .c-time{font-size:12px;color:var(--muted)}.comment .c-text{font-size:14px;margin-top:3px;white-space:pre-wrap}.toast-wrap{position:fixed;top:18px;right:18px;z-index:100;display:flex;flex-direction:column;gap:10px}.toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:10px;box-shadow:var(--shadow-lg);padding:12px 16px;min-width:260px;max-width:360px;font-size:14px;display:flex;gap:10px;align-items:center;animation:slideIn .2s ease}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:none;opacity:1}}.config-layout{display:grid;grid-template-columns:248px 1fr;gap:16px;align-items:start}@media(max-width:820px){.config-layout{grid-template-columns:1fr}}.config-nav{display:flex;flex-direction:column;gap:2px;padding:8px;position:sticky;top:76px}.config-nav .cn-group{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;padding:12px 10px 4px}.config-nav .cn-item{text-align:left;padding:9px 12px;border-radius:8px;border:none;background:none;font-size:14px;color:var(--text-2);font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;transition:background .12s}.config-nav .cn-item:hover{background:var(--surface-2)}.config-nav .cn-item.active{background:var(--brand-50);color:var(--brand);font-weight:600}.config-nav .cn-count{font-size:12px;color:var(--muted-2);background:var(--neutral-bg);border-radius:999px;padding:0 7px}.config-nav .cn-item.active .cn-count{background:#dbe6ff;color:var(--brand-700)}.color-swatch{display:inline-flex;align-items:center;gap:8px}.opt-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}.setting-row{display:grid;grid-template-columns:1fr 260px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none}@media(max-width:620px){.setting-row{grid-template-columns:1fr;gap:6px}}.sidebar-backdrop{display:none}@media(max-width:860px){.sidebar{transform:translate(-100%);transition:transform .24s ease}.sidebar.open{transform:none}.main{margin-left:0}.hamburger{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface)}.sidebar-backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:39}.content{padding:16px}}
