:root{--bg:#030712;--panel:rgba(8,18,38,.78);--panel2:rgba(15,23,42,.92);--line:rgba(34,211,238,.22);--cyan:#22d3ee;--green:#22c55e;--purple:#a855f7;--text:#e5f7ff;--muted:#8da8bb;--danger:#fb7185;--gold:#facc15}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#082f49 0,#020617 45%,#000 100%);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);min-height:100vh}.matrix:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(34,211,238,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.04) 1px,transparent 1px);background-size:42px 42px;pointer-events:none;mask-image:radial-gradient(circle,#000 40%,transparent 80%)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);padding:36px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(8,18,38,.92),rgba(2,6,23,.82));box-shadow:0 0 80px rgba(34,211,238,.25),inset 0 0 40px rgba(168,85,247,.08);text-align:center}.orb,.brand-orb{margin:auto;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--cyan);box-shadow:0 0 40px var(--cyan),inset 0 0 40px rgba(34,211,238,.2);animation:pulse 2s infinite}.orb span,.brand-orb{font-size:42px;font-weight:900;color:var(--cyan)}@keyframes pulse{50%{transform:scale(1.04);box-shadow:0 0 70px var(--purple)}}input,select,textarea{width:100%;padding:13px 14px;margin:8px 0;border-radius:14px;border:1px solid var(--line);background:#06111f;color:var(--text);outline:none}textarea{min-height:96px}button{border:1px solid rgba(34,211,238,.45);background:linear-gradient(135deg,#0891b2,#7c3aed);color:white;padding:11px 16px;border-radius:14px;cursor:pointer;font-weight:800;box-shadow:0 8px 30px rgba(34,211,238,.15)}button:hover{filter:brightness(1.15);transform:translateY(-1px)}.app{display:flex;min-height:100vh}.sidebar{width:290px;background:rgba(2,6,23,.88);border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.brand-orb{width:56px;height:56px;font-size:24px;margin:0}.brand span{display:block;color:var(--muted);font-size:12px}.sidebar a{display:block;padding:12px 13px;margin:6px 0;border:1px solid transparent;border-radius:14px;color:#c8f6ff;text-decoration:none}.sidebar a:hover,.sidebar a.active{border-color:var(--line);background:rgba(34,211,238,.09);box-shadow:inset 0 0 24px rgba(34,211,238,.06)}.logout{width:100%;margin-top:20px;background:linear-gradient(135deg,#7f1d1d,#be123c)}.main{flex:1;padding:24px;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.topbar h1{margin:0;font-size:34px}.topbar p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(145deg,rgba(15,23,42,.86),rgba(3,7,18,.75));border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 18px 55px rgba(0,0,0,.22),inset 0 0 40px rgba(34,211,238,.035)}.kpi b{display:block;font-size:28px;color:var(--cyan)}.kpi span,.muted{color:var(--muted)}.dashboard{grid-template-columns:1.2fr .8fr}.jarvis-core{min-height:360px;display:grid;place-items:center;position:relative;overflow:hidden}.jarvis-core:before,.jarvis-core:after{content:"";position:absolute;border:1px solid rgba(34,211,238,.35);border-radius:50%;width:270px;height:270px;animation:spin 12s linear infinite}.jarvis-core:after{width:210px;height:210px;border-color:rgba(168,85,247,.38);animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}.core-text{z-index:1;text-align:center}.core-text h2{font-size:42px;margin:0;color:var(--cyan);text-shadow:0 0 22px var(--cyan)}.terminal{font-family:Consolas,monospace;background:#020617;border-radius:16px;padding:14px;color:#86efac;min-height:220px;white-space:pre-wrap}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:rgba(2,6,23,.55)}th,td{text-align:left;padding:13px;border-bottom:1px solid rgba(148,163,184,.1);white-space:nowrap}th{color:var(--cyan);font-size:12px;text-transform:uppercase;background:rgba(34,211,238,.06)}.badge{padding:5px 9px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:#dff}.badge.ok{border-color:rgba(34,197,94,.5);color:#86efac}.badge.warn{border-color:rgba(250,204,21,.5);color:#fde68a}.badge.bad{border-color:rgba(251,113,133,.5);color:#fecdd3}.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow:auto;padding-bottom:8px}.lane{background:rgba(2,6,23,.52);border:1px solid var(--line);border-radius:18px;padding:12px;min-height:300px}.lane h3{margin:0 0 12px;color:var(--cyan)}.mini-card{padding:12px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.82);border-radius:15px;margin:10px 0}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:10}.hidden{display:none}.modal-card{width:min(760px,100%);max-height:88vh;overflow:auto;background:#020617;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 0 80px rgba(34,211,238,.28)}.x{float:right;background:#7f1d1d;padding:8px 12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px}.full{grid-column:1/-1}.charts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bar{height:14px;background:linear-gradient(90deg,var(--cyan),var(--purple));border-radius:20px}.alert{padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(34,211,238,.08);margin:8px 0}.danger{border-color:rgba(251,113,133,.55);color:#fecdd3}#toast{position:fixed;right:20px;bottom:20px;z-index:20}.toast{background:#02111f;border:1px solid var(--line);padding:14px 18px;border-radius:16px;margin-top:8px;box-shadow:0 12px 35px rgba(0,0,0,.3)}@media(max-width:900px){.app{display:block}.sidebar{width:auto;height:auto;position:relative}.main{padding:14px}.kpis,.dashboard,.charts{grid-template-columns:1fr}.topbar{display:block}.form-grid{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}.topbar h1{font-size:26px}}
