:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0}.portal{--bg:#f4f6f9;--card:#fff;--soft:#f8fafc;--text:#172033;--muted:#667085;--line:#dfe5ee;--blue:#1769ff;--blue-soft:#eaf1ff;--green:#16a05d;min-height:100vh;background:var(--bg);color:var(--text);display:grid;grid-template-columns:248px 1fr}.portal[data-theme=dark]{color-scheme:dark;--bg:#090d14;--card:#111823;--soft:#0d141e;--text:#f3f7fc;--muted:#94a3b8;--line:#263244;--blue:#2f7bff;--blue-soft:#142442;--green:#34d399}.portal aside{height:100vh;position:sticky;top:0;background:var(--card);border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 12px 24px;font-size:18px}.logo-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--blue);color:#fff;font-weight:800}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:var(--muted);text-align:left;padding:12px 14px;border-radius:9px;font-weight:650}nav button:hover,nav button.active{color:var(--blue);background:var(--blue-soft)}.aside-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 10px;display:flex;gap:10px;align-items:center}.aside-foot div{display:grid}.aside-foot small{color:var(--muted)}.health-dot{width:9px;height:9px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 14%,transparent)}.portal>main{min-width:0}.portal header{height:72px;position:sticky;top:0;z-index:3;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 28px}.portal header input{flex:1;max-width:540px}.portal input,.portal select{border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:8px;padding:11px;outline:none}.portal button{font:inherit;cursor:pointer}.portal header button,.secondary{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:8px;padding:9px 12px}.portal header span{margin-left:auto;font-size:12px;color:var(--muted)}.content{padding:30px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.page-head small{color:var(--blue);letter-spacing:1.5px;font-weight:800}.page-head h1{margin:4px 0;font-size:30px}.page-head p{margin:0;color:var(--muted)}#primary-action,.primary,.login-box button{border:0;background:var(--blue);color:#fff;border-radius:8px;padding:11px 16px;font-weight:700}.grid{display:grid;gap:15px}.kpis{grid-template-columns:repeat(4,1fr)}.kpi,.card,.table-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.kpi span{color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:30px;margin-top:12px}.cards-2{grid-template-columns:1fr 1fr}.backend-head,.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.backend-head h3,.card h3{margin:0}.backend-head p,.card p{color:var(--muted);font-size:11px}.status{font-size:10px;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:20px;padding:4px 8px}.status.bad{color:#d58b11;border-color:#d58b11}.facts{display:grid;gap:9px;margin:18px 0}.facts div{display:grid;grid-template-columns:110px 1fr;font-size:11px}.facts span{color:var(--muted)}.actions{display:flex;gap:8px}.actions button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:7px;padding:8px 10px}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;padding:12px;background:var(--soft)}td{border-top:1px solid var(--line);padding:14px 12px;font-size:12px}.table-card{padding:0;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.stack label{display:grid;gap:6px;color:var(--muted);font-size:11px}.stack{display:grid;gap:13px}.upload{border:1px dashed var(--line);padding:13px;border-radius:8px}dialog{border:0;border-radius:14px;padding:0;background:transparent}dialog::backdrop{background:rgba(3,7,14,.66);backdrop-filter:blur(3px)}dialog>form{position:relative;background:var(--card,#fff);color:var(--text,#172033);width:min(620px,92vw);padding:24px;border:1px solid var(--line,#ddd);border-radius:14px}.close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:25px}.error,#notice{padding:11px;border-radius:8px;margin-bottom:12px;background:#ffe8e8;color:#a11;font-size:12px}#notice.ok{background:#e8f7ee;color:#087c42}.login-page{min-height:100vh;background:#090d14;color:#f3f7fc;display:grid;place-items:center}.login-shell{width:min(940px,92vw);display:grid;grid-template-columns:1fr 390px;border:1px solid #263244;border-radius:18px;overflow:hidden;background:#0c111b}.login-copy{padding:60px;background:radial-gradient(circle at 10% 10%,#164aa0,transparent 48%)}.login-copy h1{font-size:40px;margin:18px 0 8px}.login-copy p,.login-copy li{color:#a7b5c8;line-height:1.7}.login-box{padding:45px;background:#111823;display:grid;gap:17px}.login-box small{color:#2f7bff;letter-spacing:1.4px}.login-box h2{font-size:25px;margin:0}.login-box label{display:grid;gap:7px;color:#a7b5c8;font-size:12px}.login-box input{padding:12px;border:1px solid #263244;background:#0d141e;color:#fff;border-radius:8px}@media(max-width:900px){.portal{grid-template-columns:82px 1fr}.brand strong,nav button{font-size:0}.brand{padding-left:8px}nav button:before{content:attr(data-view);font-size:9px;text-transform:uppercase}.kpis{grid-template-columns:1fr 1fr}.cards-2{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-copy{display:none}}@media(max-width:620px){.portal{display:block}.portal aside{height:60px;position:fixed;left:0;right:0;top:auto;bottom:0;z-index:5;padding:5px;display:block}.brand,.aside-foot{display:none}nav{display:flex;overflow:auto}nav button{min-width:52px;padding:10px}.portal header{padding:0 12px}.portal header input{display:none}.content{padding:18px 14px 80px}.page-head{align-items:flex-start}.page-head p{font-size:12px}.page-head h1{font-size:25px}.kpis{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}
