:root{--bg: #071521;--bg-soft: #102438;--panel: rgba(8, 21, 34, .78);--line: rgba(116, 170, 206, .3);--text: #ebf6ff;--muted: #8eb0c8;--a1: #3ddbc4;--a2: #ffc468}*{box-sizing:border-box}body{margin:0;font-family:Sora,sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 90% -15%,rgba(61,219,196,.18),transparent 55%),radial-gradient(900px 600px at -10% 10%,rgba(255,196,104,.15),transparent 50%),linear-gradient(145deg,#06111c,#10273a)}input,select,textarea,button{font-family:inherit}.auth-wrap,.center{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(540px,100%);border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:26px;box-shadow:0 26px 70px #0006}h1,h2,h3{margin:0 0 10px}.eyebrow,.mono,.hint{font-family:IBM Plex Mono,monospace}.eyebrow{color:var(--a1);text-transform:uppercase;font-size:11px;letter-spacing:.13em}.muted{color:var(--muted)}.stack{display:grid;gap:14px}label{display:grid;gap:7px;font-size:14px}input,select,textarea{width:100%;border:1px solid var(--line);background:#07121de6;color:var(--text);border-radius:10px;padding:11px 12px}button{border:1px solid rgba(61,219,196,.5);background:linear-gradient(140deg,#3ddbc433,#3ddbc414);color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer}button.ghost{background:transparent;border-color:var(--line)}.error{color:#ff9e9e}.hint{color:var(--muted);font-size:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{border-right:1px solid var(--line);background:#05111cbf;padding:20px;display:grid;align-content:start;gap:14px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{text-align:left}.sidebar nav button.active{border-color:#ffc468b3;background:#ffc46826}.main{padding:24px;overflow:auto}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress{width:240px;display:grid;gap:7px;justify-items:end}.progress div{width:100%;height:9px;background:#74aace42;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--a1),var(--a2))}.steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.steps button.active{border-color:#ffc468b3;background:#ffc46826}.panel{border:1px solid var(--line);background:#07131ec7;border-radius:16px;padding:16px}.grid2{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid2 .full{grid-column:1 / -1}.actions{margin-top:14px;display:flex;justify-content:space-between;gap:12px}.right-actions{display:flex;gap:10px}pre{margin:0;white-space:pre-wrap;background:#030d15cc;border:1px solid var(--line);border-radius:10px;padding:10px}.kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.kpi-grid article{border:1px solid var(--line);border-radius:12px;padding:14px;background:#07131fbf}.kpi-grid strong{font-size:28px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{border-top:1px solid var(--line);padding:8px;text-align:left}.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cards article{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#07131ecc}.cards img{width:100%;height:180px;object-fit:cover;display:block}.card-body{padding:12px}.card-body p{margin:6px 0;color:var(--muted);font-size:13px}.card-body a{color:var(--a1);font-size:13px;text-decoration:none}.missing{height:180px;display:grid;place-items:center;color:var(--muted)}.inline{margin-bottom:10px}.legacy-app{min-height:100vh;background:#08131d}.legacy-status{position:fixed;top:12px;left:12px;z-index:999;background:#07121df0;border:1px solid rgba(116,170,206,.3);border-radius:8px;color:var(--a1);font:500 12px/1.2 IBM Plex Mono,monospace;padding:8px 10px}.legacy-main{min-height:100vh;padding:0}.legacy-main iframe{width:100%;min-height:100vh;border:0;border-radius:0;background:#fff}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.grid2,.kpi-grid{grid-template-columns:1fr}.header{display:grid;gap:12px}.progress{width:100%;justify-items:start}.actions{display:grid}.legacy-main iframe{min-height:100vh}}
