:root{--primary:#4f8cff;--accent:#a78bfa;--glow:79,140,255;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--gold:#f5c451;--text:#eef2ff;--text-dim:rgba(238,242,255,.62);--text-faint:rgba(238,242,255,.38);--glass:rgba(255,255,255,.055);--border:rgba(255,255,255,.10);--border-hi:rgba(255,255,255,.22);--radius:22px;--blur:22px;--font-head:"Chakra Petch",sans-serif;--font-body:"Inter",system-ui,sans-serif;--font-num:"JetBrains Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);color:var(--text);min-height:100vh;background:radial-gradient(120% 120% at 20% 0,#0b1030 0,#05060f 55%,#02030a 100%)}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(50vw 50vw at -5% -10%,rgba(79,140,255,.28),transparent 65%),radial-gradient(40vw 40vw at 105% 110%,rgba(167,139,250,.22),transparent 65%)}.app{z-index:1;display:flex;gap:22px;padding:22px;max-width:1700px;margin:0 auto}.app,.glass{position:relative}.glass{background:var(--glass);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)}.sidebar{width:220px;flex-shrink:0;height:calc(100vh - 44px);position:-webkit-sticky;position:sticky;top:22px;display:flex;flex-direction:column;padding:20px 14px}.logo{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-family:var(--font-head);font-weight:700;font-size:16px}.logo .mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;box-shadow:0 0 20px rgba(var(--glow),.5)}.nav{scrollbar-width:none;-ms-overflow-style:none}.nav::-webkit-scrollbar{display:none;width:0}.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:2px 0;border-radius:12px;color:var(--text-dim);text-decoration:none;font-size:13px;font-weight:500;transition:all .2s;border:1px solid transparent}.nav a:hover{color:var(--text);background:rgba(255,255,255,.06)}.nav a.active{color:var(--text);background:linear-gradient(90deg,rgba(var(--glow),.22),rgba(var(--glow),.05));border-color:rgba(var(--glow),.35)}.nav .sect{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);padding:12px 12px 4px;font-family:var(--font-head)}.main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:18px}.topbar{display:flex;align-items:center;gap:16px;padding:14px 20px;overflow:visible}.topbar h1{font-family:var(--font-head);font-size:18px;font-weight:600}.topbar p{font-size:12px;color:var(--text-dim);margin-top:2px}.avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:12px;color:#fff;margin-left:auto}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:16px;gap:16px}.card{padding:18px 20px;transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-3px);border-color:var(--border-hi)}.card h3{font-family:var(--font-head);font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));grid-gap:13px;gap:13px}.kpi{padding:15px 16px}.kpi .lbl{font-size:11px;color:var(--text-dim);display:flex;gap:6px;align-items:center}.kpi .val{font-size:25px;font-weight:600;margin-top:6px}.kpi .trend,.kpi .val{font-family:var(--font-num)}.kpi .trend{font-size:11px;margin-top:4px}.up{color:var(--success)}.down{color:var(--danger)}.flat{color:var(--text-faint)}.num{font-family:var(--font-num)}.badge{font-size:9.5px;font-family:var(--font-head);letter-spacing:.5px;padding:2px 8px;border-radius:7px;text-transform:uppercase}.badge.demo{background:rgba(251,191,36,.14);color:var(--warning);border:1px solid rgba(251,191,36,.4)}.badge.live{background:rgba(52,211,153,.14);color:var(--success);border:1px solid rgba(52,211,153,.35)}.badge.blue{background:rgba(var(--glow),.16);color:var(--primary);border:1px solid rgba(var(--glow),.4)}.src{margin-left:auto;font-size:9.5px;font-family:var(--font-num);color:var(--text-faint);border:1px solid var(--border);padding:2px 7px;border-radius:7px}.card{overflow-x:hidden}.card.ovis{overflow:visible}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;scrollbar-width:thin}.tablewrap table{min-width:520px}table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}th{font-family:var(--font-head);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-faint);text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text-dim)}td:first-child{color:var(--text);font-weight:500}tbody tr:hover{background:rgba(255,255,255,.04)}.posn{display:inline-block;min-width:26px;text-align:center;padding:2px 6px;border-radius:7px;background:rgba(var(--glow),.15);border:1px solid rgba(var(--glow),.3);font-family:var(--font-num);font-size:11px;color:var(--text)}.cbar{display:flex;align-items:center;gap:10px;font-size:11.5px;margin:7px 0}.cbar span{width:120px;flex-shrink:0;color:var(--text-dim);font-family:var(--font-num);font-size:10.5px}.cbar .tr{flex:1 1;height:9px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}.cbar .tr i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--primary),var(--accent))}.cbar b{width:64px;text-align:right;font-family:var(--font-num);font-size:11px}.conn{padding:15px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.conn b{font-family:var(--font-head);font-size:12.5px}.conn p{font-size:10.5px;color:var(--text-faint);line-height:1.5}.connGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:13px;gap:13px;margin-top:12px}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-12{grid-column:span 12}.tsearch{flex:1 1;max-width:380px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:13px;padding:8px 14px;color:var(--text-faint);font-size:12.5px}.tsearch kbd{margin-left:auto;font-family:var(--font-num);font-size:10px;background:rgba(255,255,255,.09);padding:2px 7px;border-radius:6px}.plancard{margin-top:auto;padding:12px;border-radius:15px;background:linear-gradient(135deg,rgba(var(--glow),.16),rgba(167,139,250,.1));border:1px solid rgba(var(--glow),.3);font-size:11.5px}.plancard b{font-family:var(--font-head);display:block;margin-bottom:3px;font-size:12px}.plancard .bar{height:5px;border-radius:3px;background:rgba(255,255,255,.12);margin-top:8px;overflow:hidden}.plancard .bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--primary),var(--accent))}.hamb{display:none;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:17px;flex-shrink:0}.scrim{position:fixed;inset:0;background:rgba(2,3,10,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:58;display:none}.scrim.show{display:block}.bottomnav{display:none;position:fixed;left:8px;right:8px;bottom:8px;z-index:57;padding:6px 4px;justify-content:space-around;border-radius:18px}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:8.5px;font-family:var(--font-head);color:var(--text-dim);text-decoration:none;padding:5px 6px;border-radius:11px;cursor:pointer;letter-spacing:.3px;flex:1 1;min-width:0}.bottomnav a span{font-size:15px;line-height:1}.bottomnav a:hover{color:var(--text);background:rgba(var(--glow),.14)}.flip{perspective:1100px;cursor:pointer;background:none!important;border:none!important;box-shadow:none!important;overflow:visible}.flip:before{display:none}.flip .inner{position:relative;width:100%;height:100%;min-height:96px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.7,.3,1)}.flip.flipped .inner{transform:rotateY(180deg)}.flip .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:15px 16px;border-radius:var(--radius)}.flip .back{transform:rotateY(180deg)}.flip .hint{position:absolute;top:9px;right:12px;font-size:8.5px;color:var(--text-faint);font-family:var(--font-num)}.flip .frow{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim);margin-top:3px}.flip .frow b{font-family:var(--font-num);color:var(--text)}.tgl{position:relative;width:38px;height:21px;border-radius:11px;background:rgba(255,255,255,.12);cursor:pointer;transition:background .25s;flex-shrink:0;border:1px solid var(--border)}.tgl:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .25s}.tgl.on{background:rgba(var(--glow),.6)}.tgl.on:after{transform:translateX(17px)}@media(max-width:1100px){.col-4,.col-6,.col-8{grid-column:span 12}.hamb{display:grid;place-items:center}.tsearch{display:none}.app{padding:12px;gap:12px}.card{padding:15px 16px}.topbar{flex-wrap:wrap;gap:10px 12px;padding:12px 14px}.topbar h1{font-size:16px}.topbar>div:first-of-type p{display:none}.topbar select.input{max-width:150px}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.card h3{font-size:12px}.sidebar{display:flex;position:fixed;left:-290px;top:0;height:100vh;z-index:59;width:82vw;max-width:280px;border-radius:0 22px 22px 0;transition:left .38s cubic-bezier(.3,.8,.3,1);background:#0a0d1c}body[data-bg=white] .sidebar{background:#eef1f8}.sidebar:before{display:none}.sidebar.open{left:0;box-shadow:24px 0 80px rgba(0,0,0,.6)}.bottomnav{display:flex}.main{padding-bottom:74px}.stabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px}.stabs::-webkit-scrollbar{display:none}.connGrid{grid-template-columns:1fr}.card:has(>table){overflow-x:auto}.card table{min-width:480px}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.kpis,.plats{grid-template-columns:1fr}}body[data-bg=aurora]{background:linear-gradient(160deg,#02110e,#04263f 45%,#071022)}body[data-bg=cyber]{background:linear-gradient(160deg,#12021c,#1d0430 50%,#05010d)}body[data-bg=ocean]{background:linear-gradient(165deg,#02131f,#053050 55%,#021018)}body[data-bg=carbon]{background:linear-gradient(160deg,#101114,#08090c 60%,#050507)}body[data-bg=white]{background:linear-gradient(165deg,#e9edf6,#dfe6f3 50%,#eef1f8);--glass:rgba(255,255,255,.55);--border:rgba(16,21,40,.10);--border-hi:rgba(16,21,40,.22)}.icon-btn{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:15px;transition:all .2s}.icon-btn:hover{color:var(--text);border-color:var(--border-hi)}.customizer{position:fixed;top:0;right:-340px;width:320px;height:100vh;z-index:70;padding:20px;overflow-y:auto;transition:right .4s cubic-bezier(.3,.8,.3,1);border-radius:24px 0 0 24px}.customizer.open{right:0}.customizer h4{font-family:var(--font-head);font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-faint);margin:18px 0 10px}.swatches{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.swatch{height:42px;border-radius:11px;cursor:pointer;border:2px solid transparent;display:flex;align-items:flex-end;padding:4px 6px;font-size:8.5px;font-family:var(--font-head);color:rgba(255,255,255,.85);text-shadow:0 1px 3px rgba(0,0,0,.5);transition:transform .15s}.swatch:hover{transform:scale(1.05)}.swatch.on{border-color:#fff}.slider-row{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--text-dim);margin:10px 0}.slider-row span{width:78px;flex-shrink:0}.slider-row output{font-family:var(--font-num);font-size:10px;width:28px;text-align:right}.slider-row input[type=range]{flex:1 1;accent-color:var(--primary)}.plats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.plat{padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--border);transition:all .25s}.plat:hover{border-color:rgba(var(--glow),.4);transform:translateY(-3px)}.plat .t{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;font-family:var(--font-head)}.plat .t i{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-style:normal}.plat .v{font-family:var(--font-num);font-size:21px;margin-top:8px}.plat .bar{height:4px;border-radius:2px;background:rgba(255,255,255,.1);margin-top:8px;overflow:hidden}.plat .bar i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--primary),var(--accent))}.plat .kw{font-size:10px;color:var(--text-faint);margin-top:6px}.calbtn,.plat .kw{font-family:var(--font-num)}.calbtn{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:5px 11px;border-radius:9px;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:rgba(255,255,255,.04);transition:all .2s}.calbtn:hover{color:var(--text);border-color:var(--border-hi)}.cmp-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;align-items:center}.cmp-row .lblc{font-size:10px;font-family:var(--font-head);letter-spacing:.8px;color:var(--text-faint);text-transform:uppercase;margin-right:3px}.pillbtn{font-size:11px;font-family:var(--font-num);padding:4px 11px;border-radius:9px;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:transparent;transition:all .2s}.pillbtn.on,.pillbtn:hover{color:var(--text)}.pillbtn.on{background:rgba(var(--glow),.2);border-color:rgba(var(--glow),.45)}.delta{font-family:var(--font-num);font-size:10.5px;padding:3px 9px;border-radius:8px;background:rgba(52,211,153,.12);color:var(--success);border:1px solid rgba(52,211,153,.3)}.delta.neg{background:rgba(248,113,113,.12);color:var(--danger);border-color:rgba(248,113,113,.3)}.calpop{position:fixed;z-index:76;width:310px;padding:16px;display:none;box-shadow:0 30px 80px rgba(0,0,0,.6)}.calpop.open{display:block}.calpop h5{font-family:var(--font-head);font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-faint);margin:0 0 9px}.calpop .prow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.calpop input[type=date]{width:100%;padding:8px 11px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);font-family:var(--font-num);font-size:12px;color-scheme:dark}.calpop label{font-size:10px;color:var(--text-dim);font-family:var(--font-head);display:flex;flex-direction:column;gap:5px}.stabs{display:flex;gap:7px;flex-wrap:wrap}.stab{font-size:11.5px;font-family:var(--font-head);padding:7px 14px;border-radius:11px;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-decoration:none;transition:all .2s}.stab.on,.stab:hover{color:var(--text)}.stab.on{background:rgba(var(--glow),.2);border-color:rgba(var(--glow),.45)}.kanban{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-top:12px}.kcol h5{font-family:var(--font-head);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;display:flex;gap:7px}.kcol h5 em{font-style:normal;font-family:var(--font-num);font-size:10px;background:rgba(255,255,255,.08);padding:1px 7px;border-radius:7px}.kcard{padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--border);font-size:12px;margin-bottom:9px}.kcard:hover{border-color:var(--border-hi)}@media(max-width:1100px){.kanban{grid-template-columns:repeat(2,1fr)}}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:none;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;transition:opacity .15s,transform .1s}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid var(--border);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-body);background:rgba(255,255,255,.06);color:var(--text-dim);transition:background .15s}.btn-ghost:hover{background:rgba(255,255,255,.1);color:var(--text)}.input{background:rgba(255,255,255,.07);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:13px;color:var(--text);font-family:var(--font-body);outline:none;width:100%;transition:border-color .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--glow),.18)}.input::placeholder{color:var(--text-faint)}select.input{cursor:pointer}textarea.input{resize:vertical}