:root{
  --bg:#050812;--bg2:#090e1b;--panel:#0d1422e6;--panel2:#101a2c;
  --text:#f3f6ff;--muted:#8290aa;--line:#1d2b45;--line2:#263b5f;
  --cyan:#20d8ff;--blue:#3c7dff;--violet:#8d63ff;--green:#39e495;
  --yellow:#ffd166;--red:#ff647d;--shadow:0 24px 70px #0008;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
 radial-gradient(circle at 75% -10%,#1a1450 0,transparent 26%),
 radial-gradient(circle at 18% 0,#08254c 0,transparent 30%),
 linear-gradient(180deg,#050812,#060914 65%,#05070c);
 color:var(--text);font:14px/1.55 Inter,Segoe UI,Arial,sans-serif;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.09;background-image:url('/static/branding/nexryva-space-bg.png');background-size:cover;background-position:center;mix-blend-mode:screen}
a{color:#c7d4ea;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;position:relative}
.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #16243b;background:#070b13e8;backdrop-filter:blur(18px);padding:22px 16px;display:flex;flex-direction:column;z-index:5}
.brand-block{display:flex;align-items:center;gap:10px;padding:8px 8px 24px;border-bottom:1px solid #172338;margin-bottom:16px}
.brand-block img{width:150px;max-height:42px;object-fit:contain;object-position:left center}
.brand-block span{font-size:9px;letter-spacing:.24em;color:var(--cyan);font-weight:900}
.side-nav{display:grid;gap:5px}
.side-nav a{padding:11px 12px;border-radius:10px;color:#8f9db5;font-weight:650;display:flex;gap:10px;align-items:center;border:1px solid transparent}
.side-nav a:hover{background:#0d1524;color:white;border-color:#172944}
.side-nav a.active{background:linear-gradient(90deg,#0d2334,#131a31);color:#eefaff;border-color:#214563;box-shadow:inset 3px 0 0 var(--cyan)}
.side-nav a span{color:var(--cyan);width:18px;text-align:center}
.sidebar-bottom{margin-top:auto;display:grid;gap:10px}
.mini-status{display:flex;gap:9px;align-items:center;background:#0b111d;border:1px solid #1b2a42;border-radius:12px;padding:10px}
.mini-status small{display:block;color:var(--muted);font-size:10px}.mini-status b{display:block;font-size:12px}
.pulse{width:9px;height:9px;border-radius:50%;background:#586173}.pulse.on{background:var(--green);box-shadow:0 0 14px var(--green)}
.side-logout{width:100%;background:#101827;border:1px solid #23324d;color:#b9c5d9;border-radius:10px;padding:10px;font-weight:800}
.workspace{padding:30px;max-width:1700px;width:100%;margin:auto;position:relative;z-index:1}
.top-hero{min-height:280px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;border:1px solid #1e3151;border-radius:22px;padding:38px 42px;background:
 linear-gradient(110deg,#09101eeb 0%,#0b1427dd 48%,#16104add 100%);box-shadow:var(--shadow);position:relative;margin-bottom:18px}
.top-hero:after{content:"";position:absolute;inset:auto -80px -160px auto;width:500px;height:500px;border:1px solid #3048a0;border-radius:50%;box-shadow:0 0 100px #4356ff33}
.hero-copy{position:relative;z-index:2;max-width:820px}.eyebrow{color:var(--cyan);font-size:11px;font-weight:900;letter-spacing:.17em;margin:0 0 8px}.eyebrow.small{font-size:10px}
h1{font-size:42px;line-height:1.05;margin:0 0 12px}h2{font-size:22px;margin:0}.lead{font-size:16px;color:#a4b0c4;max-width:820px;margin:0 0 16px}.muted{color:var(--muted)}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap}.hero-meta span{background:#09111f;border:1px solid #1e3150;border-radius:999px;padding:6px 10px;color:#8497b6;font-size:11px}.hero-meta b{color:#dce8fb}
.hero-orbit{position:relative;z-index:2;width:250px;height:220px;display:grid;place-items:center}.hero-orbit img{width:220px;filter:drop-shadow(0 0 35px #3977ff88)}
.metric-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:12px;margin-bottom:16px}.metric-card{padding:18px 19px;border:1px solid #1d2d48;background:linear-gradient(180deg,#0d1524de,#0b101adc);border-radius:15px;box-shadow:0 15px 40px #0004}.metric-card.accent{border-color:#245371;background:linear-gradient(145deg,#0b1d2b,#11142c)}.metric-card span{display:block;color:#8595b1;font-size:11px}.metric-card strong{display:block;font-size:28px;margin:3px 0}.metric-card small{color:#6f809e;font-size:10px}
.panel{background:linear-gradient(180deg,#0d1523e9,#090f19ef);border:1px solid #1b2a43;border-radius:18px;padding:20px;box-shadow:0 18px 55px #0005;margin-bottom:16px;backdrop-filter:blur(8px)}
.panel-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.status-pill,.subtle-pill,.status-chip{border-radius:999px;padding:7px 11px;background:#0c1421;border:1px solid #24324a;color:#8998b1;font-size:10px;font-weight:850;letter-spacing:.05em}
.status-pill.running{color:#66efaa;border-color:#225b42;background:#0d271b}
.progress{height:8px;background:#080d16;border-radius:999px;border:1px solid #18263c;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet));box-shadow:0 0 16px #29bfff88}.progress.thin{height:5px;margin:8px 0}
.phase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.phase-card{background:#0a101b;border:1px solid #192944;border-radius:12px;padding:13px}.phase-line{display:flex;justify-content:space-between;gap:8px}.phase-line b{font-size:12px}.phase-line strong{font-size:13px;color:#dcecff}.phase-state{font-size:9px;letter-spacing:.08em;color:#7184a5}
.missing-box{margin-top:14px;padding:13px;border-radius:12px;background:#0d1320;border:1px dashed #263956}.missing-box>b{font-size:11px}.missing-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.missing-list span{font-size:10px;color:#94a4bd;background:#080e17;padding:5px 8px;border-radius:8px}
.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.two-col.lower{grid-template-columns:1.45fr .55fr}
.chat-history{height:380px;overflow:auto;background:#070c13;border:1px solid #16243a;border-radius:13px;padding:12px;margin-bottom:12px}.chat-row{max-width:88%;margin:8px 0}.chat-row.owner{margin-left:auto}.chat-meta{display:flex;gap:8px;align-items:center;color:#7183a1;font-size:10px;margin-bottom:4px}.chat-row.owner .chat-meta{justify-content:flex-end}.chat-bubble{white-space:pre-wrap;background:#101827;border:1px solid #1f304b;padding:10px 12px;border-radius:12px}.chat-row.owner .chat-bubble{background:#10233a;border-color:#205078}.chat-mode{padding:2px 6px;border-radius:999px;background:#172034}.chat-mode.task{background:#24361c;color:#a9ed82}.reference-line{color:#7487a7;font-size:10px;margin-top:4px}.empty-chat,.empty-state{min-height:90px;display:grid;place-items:center;text-align:center;color:#70819d;padding:20px}
.ai-compose{display:grid;gap:10px}.mode-switch{display:flex;gap:8px}.mode-switch input{display:none}.mode-switch span{display:block;padding:7px 10px;border:1px solid #1f2d46;border-radius:9px;color:#8d9cb5;background:#0a101a;cursor:pointer}.mode-switch input:checked+span{border-color:#2a6f91;color:#dffaff;background:#0c2431}
textarea,input,select{width:100%;background:#070c14;color:#edf4ff;border:1px solid #20304b;border-radius:10px;padding:10px 12px;outline:none}textarea{resize:vertical}textarea:focus,input:focus,select:focus{border-color:#2daed1;box-shadow:0 0 0 3px #24d6ff0d}
.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reference-grid label,.release-form label{display:block;color:#8c9cb5;font-size:10px;font-weight:800;margin-bottom:4px}.reference-grid small{font-weight:400;color:#647691}
.primary-wide,.release-form button{border:0;border-radius:10px;padding:11px 14px;background:linear-gradient(90deg,#20d8ff,#6876ff,#9463ff);color:#071019;font-weight:900}
.terminal{height:535px;overflow:auto;background:#05090f;border:1px solid #16253b;border-radius:12px;padding:12px;color:#a9c6ee;font:11px/1.65 Consolas,monospace}.log-warn{color:#ffd36c}.log-error{color:#ff778b}
.controls{display:flex;gap:8px;flex-wrap:wrap}.control-stack{margin-top:10px;display:grid}.control-stack form,.control-stack button{width:100%}.success,.warn,.danger{border:1px solid transparent;border-radius:9px;padding:10px 12px;font-weight:850}.success{background:#0f3825;border-color:#185737;color:#64eaa2}.warn{background:#392b10;border-color:#624817;color:#ffd569}.danger{background:#3b1520;border-color:#6a2132;color:#ff8195}
.table{display:grid}.tr{display:grid;grid-template-columns:48px 1fr 180px 55px;gap:8px;padding:10px 9px;border-bottom:1px solid #17243a;align-items:center}.th{color:#6f809e;font-size:10px}.badge{font-size:10px;font-weight:900}.badge.done{color:var(--green)}.badge.blocked{color:var(--red)}.badge.coding,.badge.testing,.badge.review,.badge.planning{color:var(--cyan)}.badge.waiting_for_owner_approval{color:var(--yellow)}
.task-mini-stats{display:flex;gap:8px}.task-mini-stats span{font-size:10px;color:#7889a5;background:#09101b;padding:6px 8px;border-radius:8px}.task-mini-stats b{color:white}
.env-card{padding:15px;border:1px solid #1e3555;border-radius:12px;background:#09121f;margin:7px 0}.env-card span{display:block;font-size:9px;letter-spacing:.15em;color:#7186a8}.env-card b{display:block;margin:3px 0;font-size:12px}.env-card small{color:#687a96}.env-card.staging{border-color:#245a6e}.env-card.production{border-color:#40366e}.env-arrow{text-align:center;color:#697a99;font-size:10px;padding:5px}
.git-card{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.git-card div{background:#070c14;border:1px solid #18263d;padding:9px;border-radius:9px}.git-card span{display:block;color:#667994;font-size:9px}.git-card b{font-size:10px}.good{color:var(--green)}.bad{color:var(--yellow)}
.text-link{font-size:11px;color:var(--cyan)}
.approval{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px;border:1px solid #53431d;background:#20190c;border-radius:12px;margin:8px 0}.approval p{margin:4px 0;color:#c8b47c}
.page-head{padding:18px 4px 24px}.release-flow{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr 38px 1fr;gap:5px;align-items:center;margin-bottom:16px}.flow-node{padding:16px;border-radius:14px;border:1px solid #25324b;background:#0b111c;min-height:92px}.flow-node span{font-size:10px;color:#60728f}.flow-node b{display:block;font-size:16px;margin:3px 0}.flow-node small{color:#7385a2}.flow-node.cyan{border-color:#23637c}.flow-node.violet{border-color:#423673}.flow-node.green{border-color:#205b42}.flow-arrow{text-align:center;color:#58718d}
.release-form{display:grid;gap:8px;margin-top:14px}.warning-box{margin-top:12px;padding:10px;border:1px solid #67501f;background:#2a200d;color:#ffd66f;border-radius:9px}
.big-progress-row>div:first-child{display:flex;justify-content:space-between;align-items:end;margin-bottom:8px}.big-progress-row strong{font-size:28px}.env-list{display:grid;gap:7px;margin-top:15px}.env-list div{display:flex;justify-content:space-between;border-bottom:1px solid #17243a;padding:8px 0}.env-list span{color:#7183a0}.env-list b{font-size:11px}
.release-list{display:grid;gap:10px}.release-row{display:grid;grid-template-columns:110px 1fr 200px;gap:14px;border:1px solid #1b2a43;background:#09101a;border-radius:12px;padding:13px}.release-version{font-size:18px;font-weight:900;color:#ddecff}.release-version small{display:block;font-size:9px;color:var(--cyan);text-transform:uppercase}.release-info>b{display:block;font-size:11px}.release-info>small{color:#6b7d99}.release-info pre{max-height:110px;overflow:auto;white-space:pre-wrap;background:#060a10;border:1px solid #152137;border-radius:8px;padding:8px;color:#899ab5;font-size:10px}.release-actions{display:flex;align-items:center;justify-content:flex-end}.release-actions button{border:0;border-radius:9px;padding:9px 11px;background:#10263b;color:#8ee7ff;font-weight:850}
.file-list{display:grid}.file-list a{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid #17243a}.file-list small{color:#6f809d}
pre.code,pre{white-space:pre-wrap;word-break:break-word;background:#05090f;padding:14px;border-radius:10px;overflow:auto;border:1px solid #17243a}.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.shots img{width:100%;border-radius:11px;border:1px solid #1b2b46}figcaption{color:#72839e;padding:5px}
.login-body{display:grid;place-items:center;overflow:hidden}.login-space{position:fixed;inset:0;background:linear-gradient(90deg,#050812bb,#05081277),url('/static/branding/nexryva-space-bg.png') center/cover;filter:saturate(1.1)}.login-card{position:relative;width:min(440px,92vw);padding:30px;background:#080e18e8;border:1px solid #20395d;border-radius:20px;box-shadow:0 30px 100px #000c;backdrop-filter:blur(18px)}.login-logo{width:230px;display:block;margin:auto}.login-tag{display:block;text-align:center;color:var(--cyan);letter-spacing:.3em;font-size:9px;font-weight:900;margin-top:5px}.login-card h1{font-size:28px;margin-top:22px}.login-card label{display:block;color:#8292ad;font-size:11px;margin-top:12px}.login-card button{width:100%;margin-top:16px;border:0;border-radius:10px;padding:11px;background:linear-gradient(90deg,#20d8ff,#726eff,#9563ff);font-weight:900;color:#061019}.alert{background:#32131c;color:#ff8b9d;border:1px solid #5c2030;padding:9px;border-radius:8px}
@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(3,1fr)}.phase-grid{grid-template-columns:repeat(3,1fr)}.two-col,.two-col.lower{grid-template-columns:1fr}.terminal{height:330px}.hero-orbit{width:180px}.hero-orbit img{width:170px}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:10px}.brand-block{border:0;margin:0;padding:7px}.brand-block img{width:130px}.side-nav{display:flex;overflow:auto}.side-nav a{white-space:nowrap}.sidebar-bottom{display:none}.workspace{padding:14px}.top-hero{padding:25px;min-height:220px}.hero-orbit{display:none}.metric-grid{grid-template-columns:1fr 1fr}.phase-grid{grid-template-columns:1fr 1fr}.release-flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg)}.release-row{grid-template-columns:1fr}.release-actions{justify-content:flex-start}}
@media(max-width:560px){h1{font-size:32px}.metric-grid,.phase-grid,.reference-grid{grid-template-columns:1fr}.tr{grid-template-columns:35px 1fr 95px}.tr span:last-child{display:none}.chat-row{max-width:96%}.git-card{grid-template-columns:1fr}}

.crawl-check{display:flex!important;align-items:center;gap:8px;margin-top:9px!important;padding:8px 9px;border:1px solid #1c3553;border-radius:9px;background:#08111e;cursor:pointer}
.crawl-check input{width:auto!important;accent-color:#20d8ff}
.crawl-check span{color:#b8cae4;font-size:11px;font-weight:800}
.crawl-help{display:block;color:#637896!important;font-size:9px!important;line-height:1.45;margin-top:5px}

.dev-head{display:flex;justify-content:space-between;gap:20px;align-items:end}
.dev-actions{display:flex;gap:8px;flex-wrap:wrap}.dev-actions button,.dev-open{border:1px solid #28527a;background:#0c1e32;color:#aeeeff;border-radius:10px;padding:9px 12px;font-weight:850}
.dev-statusbar{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}.dev-statusbar div{background:#09101b;border:1px solid #1a2b46;border-radius:10px;padding:9px 11px}.dev-statusbar span{display:block;color:#697d9c;font-size:9px}.dev-statusbar b{display:block;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-shell{background:#060a10;border:1px solid #203554;border-radius:16px;overflow:hidden;box-shadow:0 22px 70px #0008;margin-bottom:16px}.browser-bar{height:43px;background:#0c1421;border-bottom:1px solid #1b2a43;display:flex;align-items:center;gap:12px;padding:0 12px}.browser-dots{color:#687a98;letter-spacing:.25em;font-size:9px}.browser-bar .address{flex:1;background:#070c14;border:1px solid #172740;color:#7187a9;border-radius:8px;padding:6px 10px;font:10px Consolas,monospace}.browser-bar button{background:#101c2d;color:#8ea5c5;border:1px solid #213451;border-radius:7px;padding:5px 9px}
#devPreview{display:block;width:100%;height:72vh;min-height:620px;border:0;background:white}.dev-bottom{grid-template-columns:1.25fr .75fr}.capability-list{display:grid;gap:7px;margin-top:13px}.capability-list span{padding:8px 10px;background:#08101a;border:1px solid #182842;border-radius:9px;color:#9eb2cf;font-size:11px}
@media(max-width:1100px){.dev-statusbar{grid-template-columns:repeat(3,1fr)}.dev-head{align-items:flex-start;flex-direction:column}#devPreview{height:62vh;min-height:500px}}
@media(max-width:600px){.dev-statusbar{grid-template-columns:1fr 1fr}#devPreview{min-height:420px}}
