:root{--navy:#0F172A;--navy2:#1E293B;--accent:#0E92D8;--blue-dark:#0A3A9E;--cyan:#3BE9F4;--green:#10b981;--bg:#F8FAFC;--panel:#FFFFFF;--text:#1E293B;--strong:#0F172A;--sec:#475569;--muted:#6B7280;--border:#E2E8F0;--grad:linear-gradient(135deg,#2563eb,#10b981)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);font-size:14px;display:flex;min-height:100vh}.mono{font-family:JetBrains Mono,monospace}.side{width:230px;background:var(--navy);color:#CBD5E1;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 22px}.brand img{height:28px}.brand .wm{font-weight:800;font-size:15px;color:#fff}.brand .wm span{background:linear-gradient(135deg,#3BE9F4,#7EC63B);-webkit-background-clip:text;background-clip:text;color:transparent}.nav a{display:flex;align-items:center;gap:11px;padding:10px 18px;font-size:13.5px;font-weight:600;color:#94A3B8;text-decoration:none;position:relative}.nav a.on{color:#fff;background:rgba(255,255,255,.06)}.nav a.on:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--grad)}.nav .n{margin-left:auto;background:#B45309;color:#fff;font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px}.side .foot{margin-top:auto;padding:16px 18px;border-top:1px solid rgba(255,255,255,.08);gap:10px}.avatar,.side .foot{display:flex;align-items:center}.avatar{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.side .foot .who{font-size:12px;color:#94A3B8}.side .foot .who b{display:block;color:#E2E8F0;font-size:12.5px}.content{flex:1 1;padding:24px 30px;min-width:0}.head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.head .crumb{font-size:12.5px;color:var(--muted)}.head h1{font-size:20px;font-weight:800;color:var(--strong)}.head .spacer{flex:1 1}.pill{padding:5px 13px;border-radius:99px;font-size:12px;font-weight:700;background:rgba(37,99,235,.08);color:var(--blue-dark);border:1px solid rgba(37,99,235,.2)}.pill.eco{background:rgba(16,185,129,.08);color:#047857;border-color:rgba(16,185,129,.25)}.pill.fed{background:#F1F5F9;color:var(--sec);border-color:var(--border)}.pill.warn{background:#FFFBEB;color:#92400E;border-color:#FCD34D}.btn{padding:9px 16px;border-radius:9px;font-size:13px;font-weight:700;border:1px solid var(--border);background:#fff;color:var(--strong);cursor:pointer}.btn.grad{background:var(--grad);color:#fff;border:none}.btn.big{padding:12px 22px;font-size:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.04);overflow:hidden}.card h2{font-size:13.5px;font-weight:700;color:var(--strong);padding:14px 18px;border-bottom:1px solid var(--border)}.card h2 small{color:var(--muted);font-weight:500}.card .pad{padding:16px 18px}.grid2{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:20px;gap:20px;align-items:start}.mt{margin-top:16px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:20px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:15px 18px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.kpi label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.kpi .val{font-size:22px;font-weight:800;color:var(--strong);margin-top:4px}.kpi .val small{font-size:13px;color:var(--muted);font-weight:600}.kpi .sub{font-size:12px;color:var(--sec);margin-top:2px}.kpi.hot .val{color:#B45309}.kpi.run .val{color:var(--accent)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px}.status .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.status.done{background:rgba(16,185,129,.1);color:#047857}.status.run{background:rgba(14,146,216,.12);color:var(--blue-dark)}.status.wait{background:#F1F5F9;color:var(--muted)}.status.paused{background:#FFFBEB;color:#92400E}.meter{height:7px;background:#EBF3FB;overflow:hidden}.meter,.meter i{border-radius:99px}.meter i{display:block;height:100%;background:var(--grad)}table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:10px 18px;border-bottom:1px solid var(--border);font-weight:700}td{padding:12px 18px;border-bottom:1px solid #f1f5f9;vertical-align:middle;font-size:13.5px;color:var(--sec)}tr:last-child td{border-bottom:none}td b{color:var(--strong);font-weight:600}td .sm{display:block;font-size:12px;color:var(--muted)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rows .row{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;font-size:13px;color:var(--sec);border-bottom:1px solid #f1f5f9}.rows .row:last-child{border-bottom:none}.rows .row b{color:var(--strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lk{color:var(--blue-dark);font-weight:600}.q{border-left:4px solid #f59e0b;background:#FFFBEB;border-radius:8px;padding:14px 16px}.q .tg{font-size:11px;font-weight:800;color:#92400E;text-transform:uppercase;letter-spacing:.05em}.q p{margin:7px 0 12px;color:#451A03;line-height:1.5;font-size:13px}.field{margin-bottom:16px}.field label{display:block;font-size:12.5px;font-weight:700;color:var(--strong);margin-bottom:6px}.field input[type=email],.field input[type=password],.field input[type=text],.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:9px;font-family:inherit;font-size:13.5px;color:var(--strong);background:#fff}.field .hint{font-size:12px;color:var(--muted);margin-top:5px}.drop{border:2px dashed #c7d6ec;border-radius:12px;padding:26px;text-align:center;color:var(--muted);font-size:13px;background:#FBFDFF}.drop b{color:var(--blue-dark)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:6px 11px;font-size:12.5px;font-weight:600;color:var(--sec);background:#fff}.chip .x{color:var(--muted)}.radio{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.radio.sel{border-color:rgba(14,146,216,.5);background:rgba(14,146,216,.04)}.radio .rb{width:16px;height:16px;border-radius:50%;border:2px solid #cbd5e1;margin-top:1px;flex-shrink:0}.radio.sel .rb{border-color:var(--accent);box-shadow:inset 0 0 0 3.5px #fff;background:var(--accent)}.radio .rl b{display:block;font-size:13.5px;color:var(--strong)}.radio .rl span{font-size:12.5px;color:var(--muted)}.toggle{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--sec)}.toggle .tr{width:36px;height:20px;border-radius:99px;background:#CBD5E1;position:relative;flex-shrink:0}.toggle .tr:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff}.toggle.on .tr{background:var(--green)}.toggle.on .tr:after{left:auto;right:2px}.profs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.prof{border:2px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;background:#fff;position:relative}.prof.sel{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}.prof .pn{font-size:14px;font-weight:800;color:var(--strong);display:flex;align-items:center;gap:8px}.prof .pm{font-size:12px;color:var(--muted);margin-top:3px}.prof .pp{font-size:12.5px;color:var(--sec);margin-top:10px;line-height:1.55}.prof .pp b{color:var(--strong)}.prof .tick{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--grad);color:#fff;display:none;align-items:center;justify-content:center;font-size:11px;font-weight:800}.prof.sel .tick{display:flex}a{color:inherit;text-decoration:none}button{font-family:inherit}.login-wrap{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:var(--navy)}.login-card{background:#fff;border-radius:16px;padding:34px;width:380px}.login-card h1{font-size:19px;font-weight:800;color:var(--strong);margin-bottom:4px}.login-card .sub{font-size:13px;color:var(--muted);margin-bottom:20px}.err{background:#FEF2F2;border:1px solid #fecaca;color:#991B1B;border-radius:8px;padding:9px 12px;font-size:12.5px;margin-bottom:12px}.spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .8s linear infinite;vertical-align:-2px;margin-right:8px}@keyframes sp{to{transform:rotate(1turn)}}.banner{border-radius:10px;padding:12px 16px;font-size:13.5px;font-weight:600;margin-bottom:16px}.banner.ok{background:rgba(16,185,129,.1);color:#047857;border:1px solid rgba(16,185,129,.3)}.reqrow{display:flex;justify-content:space-between;gap:14px;padding:9px 18px;font-size:13px;color:var(--sec);border-bottom:1px solid #f1f5f9}.reqrow b{color:var(--strong)}.reqrow .src{color:var(--blue-dark);font-weight:600;white-space:nowrap}.estbar{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--sec);padding:4px 0}.estbar .lb{width:64px;font-weight:600}.estbar .bar{flex:1 1;height:10px;background:#EBF3FB;border-radius:99px;overflow:hidden}.estbar .bar i{display:block;height:100%;border-radius:99px}.estbar .v{width:60px;text-align:right;font-weight:700;color:var(--strong)}