:root{
  --bg:#020204;--panel:#0b0f18;--panel2:#111827;--line:rgba(0,216,255,.22);--line2:rgba(255,255,255,.08);
  --text:#f4fbff;--soft:#b9c7d9;--muted:#718095;--cyan:#00d8ff;--green:#15ff9a;--red:#ff4f6d;--amber:#ffb84d;
  --nav-h:82px;--header-h:78px;--radius:26px;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-height:100%;margin:0;background:radial-gradient(circle at 18% 0%,rgba(0,216,255,.14),transparent 32%),radial-gradient(circle at 90% 18%,rgba(21,255,154,.08),transparent 34%),linear-gradient(180deg,#020204,#050912 55%,#020204);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,.ghost-btn,.logout,.labs-link{cursor:pointer;border:1px solid var(--line);background:linear-gradient(135deg,rgba(0,216,255,.12),rgba(21,255,154,.06));color:var(--text);border-radius:16px;padding:12px 16px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}button:hover,.ghost-btn:hover,.logout:hover,.labs-link:hover{box-shadow:0 0 24px rgba(0,216,255,.18);border-color:rgba(0,216,255,.48)}input,select{width:100%;border:1px solid var(--line2);background:rgba(3,7,14,.78);color:var(--text);border-radius:16px;padding:14px 15px;outline:none}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(0,216,255,.08)}code{color:var(--green)}
.crt-noise{pointer-events:none;position:fixed;inset:0;z-index:0;opacity:.06;background:repeating-linear-gradient(0deg,rgba(255,255,255,.7) 0,rgba(255,255,255,.7) 1px,transparent 1px,transparent 4px)}
.app-shell{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:20px 24px 36px}.app-header{position:sticky;top:14px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:var(--header-h);padding:14px 16px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,rgba(8,11,18,.92),rgba(3,5,10,.82));box-shadow:0 18px 52px rgba(0,0,0,.36);backdrop-filter:blur(22px)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:17px;background:#050505;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(0,216,255,.18),0 0 30px rgba(0,216,255,.15);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:1000}.brand-mark i{font-style:normal;animation:blink 1.1s steps(2,start) infinite}.brand strong{display:block;font-size:15px;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.top-actions a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.labs-link{background:rgba(255,255,255,.04)}.logout{border-color:rgba(255,79,109,.24);background:linear-gradient(135deg,rgba(255,79,109,.10),rgba(0,216,255,.05))}
.app-nav{position:sticky;top:auto;z-index:40;margin:14px auto 22px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:8px;border:1px solid var(--line2);border-radius:24px;background:rgba(5,8,14,.72);backdrop-filter:blur(18px)}.nav-item{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:15px;color:var(--muted);font-weight:900;font-size:12px}.nav-item i{font-size:15px}.nav-item.active{background:linear-gradient(135deg,var(--cyan),var(--green));color:#001116;box-shadow:0 0 28px rgba(0,216,255,.18)}
.page{animation:in .22s ease both}.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;margin:14px 0;border:1px solid var(--line2);background:rgba(255,255,255,.04)}.alert strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.alert.error{border-color:rgba(255,79,109,.4);color:#ffdce3}.alert.success{border-color:rgba(21,255,154,.35);color:#d8ffe9}.panel,.hero-card,.metric,.last-card,.project-card,.login-card{border:1px solid var(--line2);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,24,39,.78),rgba(5,8,14,.72));box-shadow:0 18px 60px rgba(0,0,0,.28);overflow:hidden}.terminal-bar{height:42px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--line2);background:rgba(0,0,0,.23)}.terminal-bar span{width:10px;height:10px;border-radius:999px;background:var(--red)}.terminal-bar span:nth-child(2){background:var(--amber)}.terminal-bar span:nth-child(3){background:var(--green)}.terminal-bar em{margin-left:8px;color:var(--muted);font-size:12px;font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.compact{height:36px}.prompt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.prompt b{color:var(--green)}
.login-page{min-height:calc(100vh - 140px);display:grid;place-items:center}.login-card{width:min(620px,100%)}.login-body{padding:34px}.login-logo{font-size:72px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:1000}.login-logo i{font-style:normal;animation:blink 1.1s steps(2,start) infinite}.login-form{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:18px}.hint{color:var(--muted);font-size:13px}
.hero-card{padding:34px}.hero-card h1{margin:10px 0 16px;font-size:clamp(46px,8vw,86px);letter-spacing:-.07em;line-height:.92}.hero-card h1 span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--cyan)}.hero-card h1 i{font-style:normal;animation:blink 1.1s steps(2,start) infinite}.system-status{display:inline-flex;align-items:center;gap:9px;padding:12px 14px;border-radius:999px;border:1px solid var(--line2);font-weight:1000;letter-spacing:.08em}.system-status.ok{color:var(--green);border-color:rgba(21,255,154,.3)}.system-status.warn{color:var(--amber);border-color:rgba(255,184,77,.3)}.system-status.bad{color:var(--red);border-color:rgba(255,79,109,.3)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.metric{padding:20px}.metric span,.last-card span,.mini-label{display:block;color:var(--muted);font-size:11px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}.metric strong{display:block;margin:8px 0;font-size:38px;line-height:1}.metric small,.last-card small,.target-card small,.project-card small{color:var(--muted)}.metric.ok strong{color:var(--green)}.metric.bad strong{color:var(--red)}.last-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:22px}.last-card strong{display:block;font-size:28px;margin:4px 0}.last-card em{font-style:normal;color:var(--cyan);font-weight:1000}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0;font-size:42px;letter-spacing:-.04em}.section-head p{margin:6px 0 0;color:var(--muted)}.project-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.project-card{padding:16px}.project-card.active{border-color:rgba(0,216,255,.52);box-shadow:0 0 34px rgba(0,216,255,.12)}.project-main{display:block}.health{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:1000;letter-spacing:.1em}.health.ok{color:var(--green)}.health.warn{color:var(--amber)}.health.bad{color:var(--red)}.project-card strong{display:block;margin:10px 0 6px;font-size:21px}.project-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:12px}.project-meta em{font-style:normal;color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.project-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.project-actions a{border:1px solid var(--line2);border-radius:12px;padding:10px;text-align:center;color:var(--soft);font-size:12px;font-weight:900}.project-actions a:hover{border-color:var(--line);color:var(--text)}.project-form{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.form-grid .wide{grid-column:1/-1}.form-grid label span,.field span{display:block;margin-bottom:8px;color:var(--muted);font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}.form-actions{display:flex;gap:10px;padding:0 18px 18px}.form-actions a{padding:12px 16px;color:var(--muted)}button.danger{border-color:rgba(255,79,109,.45);background:rgba(255,79,109,.12)}
.project-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.security-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;border:1px solid rgba(255,184,77,.28);background:rgba(255,184,77,.08);color:var(--amber);font-size:10px;font-weight:1000;letter-spacing:.08em}.security-badge i{font-size:10px}
.deploy-panel{max-width:900px;margin:0 auto}.field{display:block;padding:18px 18px 0}.target-card{margin:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line2);border-radius:22px;background:linear-gradient(135deg,rgba(0,216,255,.08),rgba(21,255,154,.04),rgba(0,0,0,.18))}.target-card strong{display:block;font-size:31px;margin:5px 0}.target-card div:last-child{text-align:right;display:grid;gap:8px}.target-card b{color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.drop-zone{position:relative;display:grid;place-items:center;text-align:center;gap:9px;min-height:230px;border:1px dashed rgba(0,216,255,.58);border-radius:24px;background:radial-gradient(circle at center,rgba(0,216,255,.13),rgba(0,0,0,.34) 60%),repeating-linear-gradient(135deg,rgba(21,255,154,.035) 0,rgba(21,255,154,.035) 1px,transparent 1px,transparent 13px)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone strong{font-size:25px}.drop-zone strong:before{content:"< ";color:var(--cyan)}.drop-zone strong:after{content:" />";color:var(--green)}.drop-zone.loaded{border-color:rgba(21,255,154,.75);box-shadow:0 0 34px rgba(21,255,154,.12)}.run-btn{display:block;margin:18px;width:calc(100% - 36px);min-height:60px;border-radius:19px;background:linear-gradient(135deg,var(--cyan),var(--green));color:#001116}
.rollback-panel{margin-bottom:16px}.rollback-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px 18px}.rollback-summary>div{border:1px solid var(--line2);border-radius:18px;padding:14px;background:rgba(255,255,255,.035)}.rollback-summary span{display:block;color:var(--muted);font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}.rollback-summary strong{display:block;margin:6px 0;color:var(--text);font-size:22px}.rollback-summary small{color:var(--muted)}.danger-zone{border-color:rgba(255,79,109,.22)}.rollback-form{display:grid;grid-template-columns:1fr 280px 150px;gap:12px;align-items:center;padding:18px}.rollback-form label span,.rollback-form strong{display:block;color:#ffdce3}.rollback-form small{display:block;color:var(--muted);margin-top:5px}.logs-panel{overflow:hidden}.log-stream{max-height:62vh;overflow:auto;padding:12px 16px;background:rgba(0,0,0,.24)}.log-line{margin:0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--soft);font-size:12px;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.log-line span{color:var(--muted)}.log-line b{color:var(--cyan);margin:0 8px}.log-line em{font-style:normal;color:var(--text);margin-right:8px}.log-line i{font-style:normal;text-transform:uppercase;letter-spacing:.1em;margin-right:8px}.log-line.success i{color:var(--green)}.log-line.error i{color:var(--red)}
@keyframes blink{50%{opacity:0}}@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* v2.4.1 layout reset: desktop = top tabs only, mobile = bottom nav only */
@media(min-width:721px){
  .app-shell{padding-bottom:36px;}
  .app-nav{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;margin:14px auto 22px!important;box-shadow:none;}
  .page{padding-top:0!important;padding-bottom:0!important;}
  .log-stream{max-height:calc(100vh - 360px);min-height:320px;overflow:auto;}
}

@media(max-width:1050px){.project-list{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){:root{--header-h:70px;--nav-h:86px}.app-shell{padding:0 12px calc(var(--nav-h) + 18px + env(safe-area-inset-bottom))}.app-header{position:fixed;top:0;left:0;right:0;z-index:80;border-radius:0 0 24px 24px;border-left:0;border-right:0;border-top:0;min-height:var(--header-h);padding:10px 12px;background:linear-gradient(180deg,rgba(3,5,10,.98),rgba(3,5,10,.90));display:flex;align-items:center;justify-content:space-between}.brand{flex:1 1 auto;min-width:0;gap:10px}.brand-mark{width:42px;height:42px;flex-basis:42px;border-radius:14px;font-size:19px}.brand strong{font-size:12px;letter-spacing:.08em}.brand small{font-size:10px}.top-actions{gap:7px}.labs-link,.logout{width:38px;height:38px;padding:0;border-radius:14px;justify-content:center}.labs-link span,.logout span{display:none}.app-nav{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));top:auto;z-index:70;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:0;padding:9px;border-radius:25px;background:linear-gradient(180deg,rgba(8,11,18,.94),rgba(2,2,4,.98));box-shadow:0 -14px 50px rgba(0,0,0,.56),0 0 34px rgba(0,216,255,.12);backdrop-filter:blur(22px)}.nav-item{min-height:56px;flex-direction:column;gap:4px;border-radius:18px;font-size:10px}.nav-item i{font-size:18px}.page{padding-top:calc(var(--header-h) + 18px)}.alert{margin-top:calc(var(--header-h) + 12px)}.alert + .page{padding-top:12px}.hero-card{padding:20px;border-radius:24px}.hero-card .prompt{font-size:11px}.hero-card h1{font-size:42px}.system-status{width:100%;justify-content:center;font-size:11px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px;border-radius:20px}.metric strong{font-size:28px}.last-card{border-radius:20px;align-items:flex-start}.last-card strong{font-size:21px}.section-head{align-items:stretch;flex-direction:column;margin-bottom:14px}.section-head h2{font-size:30px}.project-list{grid-template-columns:1fr;gap:12px}.project-card{border-radius:22px}.form-grid{grid-template-columns:1fr;padding:14px}.form-grid .wide{grid-column:auto}.form-actions{display:grid;padding:0 14px 14px}.target-card{margin:14px;flex-direction:column;border-radius:20px}.target-card div:last-child{text-align:left}.target-card strong{font-size:26px}.field{padding:14px 14px 0}.drop-zone{min-height:180px;border-radius:20px}.drop-zone strong{font-size:18px}.run-btn{margin:14px;width:calc(100% - 28px);min-height:58px}.rollback-form{grid-template-columns:1fr;padding:14px}.rollback-summary{grid-template-columns:1fr;padding:0 14px 14px}.log-stream{max-height:55vh;min-height:45vh;overflow:auto}.login-page{padding-top:calc(var(--header-h) + 20px)}.login-body{padding:24px}.login-form{grid-template-columns:1fr}}

/* v3.1.1 — Deploy archive target guard */
.guard-card{display:flex;align-items:flex-start;gap:12px;margin:12px 0 16px;padding:13px 15px;border:1px solid rgba(21,255,154,.24);border-radius:18px;background:rgba(21,255,154,.055);color:var(--text)}
.guard-card strong{display:flex;gap:8px;align-items:center;color:var(--green);white-space:nowrap}.guard-card span{color:var(--muted);font-size:13px;line-height:1.35}@media(max-width:720px){.guard-card{display:grid}.guard-card strong{white-space:normal}}

/* v3.3.1 Storage & Retention Manager + compact nav */
.storage-hero{padding:0;overflow:hidden;margin-bottom:16px}.storage-total{padding:22px 24px;border-bottom:1px solid var(--line2)}.storage-total span,.storage-actions span{display:block;color:var(--muted);font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}.storage-total strong{display:block;margin:6px 0;font-size:44px;letter-spacing:-.05em}.storage-total small,.cleanup-preview small{color:var(--muted)}.storage-actions{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;padding:18px}.storage-actions form{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:end}.storage-actions input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--text);font-weight:900}.storage-actions button{min-height:44px;border-radius:14px}.cleanup-preview{border:1px solid var(--line2);background:rgba(255,255,255,.035);border-radius:18px;padding:14px}.cleanup-preview strong{display:block;margin:5px 0;font-size:22px}.storage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.storage-table-panel{padding:0;margin-bottom:16px;overflow:hidden}.storage-table{width:100%;border-collapse:collapse}.storage-table th,.storage-table td{padding:14px 16px;border-bottom:1px solid var(--line2);text-align:left}.storage-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.storage-table td small{display:block;color:var(--muted);margin-top:3px}.storage-table td b{color:var(--cyan)}.compact-table th,.compact-table td{padding:10px 14px}.hint{padding:18px;color:var(--muted)}
@media(max-width:720px){.app-nav{grid-template-columns:repeat(6,1fr);gap:6px}.storage-actions,.storage-actions form{grid-template-columns:1fr}.storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-table-panel{overflow:auto}.storage-table{min-width:680px}.storage-total strong{font-size:34px}}
