:root{
  --bg:#0b0c0f;--bg2:#15161a;--panel:#1b1d22;--panel2:#24272d;--text:#ffffff;--muted:#c9cbd1;--accent:#f2c230;--accent2:#ffe082;--danger:#ff6b6b;--border:#3a3d45;--input:#111318;--shadow:rgba(0,0,0,.45)
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top,#2d2f36,#0b0c0f 58%);color:var(--text);min-height:100vh}.splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0b0c0f;z-index:20;animation:hideSplash .8s ease 2.1s forwards}.splash-logo{width:180px;height:180px;border-radius:30px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#252831,#111318);box-shadow:0 0 55px rgba(242,194,48,.35);animation:pulse 1.4s ease-in-out infinite;border:1px solid var(--border)}.logo-mark{font-size:42px;font-weight:900;letter-spacing:2px;color:var(--accent)}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes hideSplash{to{opacity:0;visibility:hidden}}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:430px;background:rgba(27,29,34,.94);border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:0 20px 80px var(--shadow);backdrop-filter:blur(8px)}.brand{text-align:center;margin-bottom:24px}.brand-badge{margin:0 auto 12px;width:86px;height:86px;border-radius:22px;background:#111318;border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.brand h1{margin:0;font-size:30px}.brand p{margin:8px 0 0;color:var(--muted)}label{display:block;margin:14px 0 7px;color:var(--text);font-weight:650}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--input);color:var(--text);font-size:15px}input[type=file]{background:#15171d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer;background:var(--accent);color:#111318}.btn.secondary{background:#2a2d34;color:var(--text);border:1px solid var(--border)}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn.danger{background:var(--danger);color:#210808}.btn.full{width:100%;margin-top:18px}.error{padding:12px 14px;border-radius:12px;background:rgba(255,107,107,.13);border:1px solid rgba(255,107,107,.42);color:#ffd1d1;margin-bottom:14px}.success{padding:12px 14px;border-radius:12px;background:rgba(242,194,48,.12);border:1px solid rgba(242,194,48,.38);color:#fff0bc;margin-bottom:14px}.layout{max-width:1240px;margin:0 auto;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}.topbar h1{margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.panel{background:rgba(27,29,34,.95);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 18px 60px var(--shadow)}.panel h2,.panel h3{margin-top:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:840px}.table th,.table td{padding:14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{color:var(--accent2);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.progress{height:10px;background:#101116;border-radius:999px;overflow:hidden;min-width:120px;border:1px solid #30333b}.bar{height:100%;background:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.mt{margin-top:18px}.muted{color:var(--muted)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#2a2d34;border:1px solid var(--border);color:var(--accent2);font-size:13px;font-weight:700}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:34px 18px;z-index:30}.modal:target{display:flex}.modal-card{width:min(980px,100%);background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 25px 90px rgba(0,0,0,.65)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.phase{background:#15171d;border:1px solid var(--border);border-radius:18px;padding:16px;margin-top:14px}.phase-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.phase-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.hidden{display:none!important}.small{font-size:13px}.nowrap{white-space:nowrap}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.layout{padding:18px}.card,.panel,.modal-card{border-radius:18px;padding:18px}}
.splash-img{max-width:145px;max-height:145px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(242,194,48,.38))}.brand-logo{max-width:70px;max-height:70px;object-fit:contain}.icon-btn{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#111318;color:var(--accent);border:1px solid var(--accent);font-size:20px;font-weight:900}.actions .icon-btn{flex:0 0 auto}.jarvis-body{overflow:hidden;background:#030507;color:#fff}.jarvis-stage{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(242,194,48,.14),transparent 28%),radial-gradient(circle at top,rgba(255,255,255,.08),transparent 34%),#030507}.jarvis-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(242,194,48,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(242,194,48,.09) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,#000 0,transparent 72%);animation:gridMove 5.5s linear infinite}.jarvis-core{position:relative;z-index:2;width:min(760px,92vw);min-height:420px;border:1px solid rgba(242,194,48,.55);border-radius:36px;background:linear-gradient(145deg,rgba(20,22,27,.92),rgba(5,7,10,.82));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;box-shadow:0 0 70px rgba(242,194,48,.18),inset 0 0 45px rgba(242,194,48,.07);overflow:hidden}.jarvis-core:before,.jarvis-core:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.08);border-radius:28px;pointer-events:none}.jarvis-core:after{inset:34px;border-color:rgba(242,194,48,.18)}.jarvis-logo{width:180px;max-width:56vw;filter:drop-shadow(0 0 28px rgba(242,194,48,.5));animation:jarvisPulse 1.8s ease-in-out infinite}.jarvis-core h1{font-size:clamp(28px,4vw,52px);line-height:1.05;margin:28px 0 10px;color:#fff;text-shadow:0 0 22px rgba(242,194,48,.34)}.jarvis-core p{margin:0;color:var(--accent2);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scan-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 18px var(--accent);animation:scan 2.2s ease-in-out infinite}.jarvis-status{position:absolute;right:24px;bottom:22px;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.jarvis-status strong{color:var(--accent)}.jarvis-orbit{position:absolute;border:1px solid rgba(242,194,48,.35);border-radius:50%;box-shadow:0 0 36px rgba(242,194,48,.08)}.orbit-one{width:620px;height:620px;animation:spin 11s linear infinite}.orbit-two{width:820px;height:360px;transform:rotate(-18deg);animation:spinReverse 14s linear infinite}.orbit-three{width:360px;height:820px;transform:rotate(28deg);animation:spin 16s linear infinite}@keyframes gridMove{to{background-position:42px 42px}}@keyframes jarvisPulse{50%{transform:scale(1.035);filter:drop-shadow(0 0 44px rgba(242,194,48,.65))}}@keyframes scan{0%,100%{top:16%;opacity:.25}50%{top:84%;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@media(max-width:720px){.jarvis-core{min-height:360px;padding:26px}.jarvis-status{position:static;margin-top:22px}.orbit-one{width:420px;height:420px}.orbit-two,.orbit-three{display:none}}
