:root {
  --bg: #0a0b0f;
  --panel: #111319;
  --panel-2: #171a22;
  --line: #252936;
  --text: #f5f7fb;
  --muted: #8c94a7;
  --accent: #28d9ff;
  --accent-soft: rgba(40,217,255,.12);
  --blue: #5f7cff;
  --danger: #ff5b67;
  --warning: #ffbd4a;
  --success: #41d68b;
  --radius: 20px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 85% 0%,rgba(95,124,255,.12),transparent 28%),var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:260px 1fr; }
.sidebar { position:sticky; top:0; height:100vh; padding:24px 18px; border-right:1px solid var(--line); background:rgba(10,11,15,.92); backdrop-filter:blur(20px); display:flex; flex-direction:column; }
.sidebar-brand { display:flex; align-items:center; gap:12px; padding:4px 8px 28px; }
.sidebar-brand strong { display:block; font-size:16px; }
.sidebar-brand span { display:block; color:var(--muted); font-size:11px; margin-top:2px; text-transform:uppercase; letter-spacing:.12em; }
.brand-mark { width:96px; height:82px; display:grid; place-items:center; flex:0 0 auto; }
.brand-mark img { width:100%; height:100%; object-fit:contain; display:block; filter:drop-shadow(0 16px 30px rgba(40,217,255,.2)); }
.brand-mark.small { width:48px; height:48px; }
.brand-mark.small img { filter:drop-shadow(0 8px 16px rgba(40,217,255,.18)); }
.sidebar nav { display:flex; flex-direction:column; gap:7px; }
.nav-item { display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:12px; color:#aeb5c6; font-size:14px; transition:.2s ease; }
.nav-item span { width:22px; color:#6f7789; font-weight:800; text-align:center; }
.nav-item:hover { background:var(--panel-2); color:var(--text); }
.nav-item.active { background:var(--accent-soft); color:var(--accent); }
.nav-item.active span { color:var(--accent); }
.sidebar-bottom { margin-top:auto; border-top:1px solid var(--line); padding:18px 8px 0; }
.user-chip { display:flex; align-items:center; gap:10px; }
.user-chip>span { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--panel-2); color:var(--accent); font-weight:800; }
.user-chip strong,.user-chip small { display:block; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-chip strong { font-size:13px; }.user-chip small { color:var(--muted); font-size:10px; margin-top:3px; }
.logout { display:inline-block; color:var(--muted); font-size:12px; margin:14px 0 0 46px; }.logout:hover{color:var(--danger)}
.content { min-width:0; padding:32px clamp(24px,4vw,58px) 60px; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:28px; }
.topbar h1 { margin:3px 0 0; font-size:clamp(28px,4vw,42px); letter-spacing:-.04em; }
.eyebrow { margin:0; color:var(--accent); font-weight:800; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.button { border:0; min-height:42px; padding:10px 16px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:750; font-size:13px; transition:transform .15s ease,background .15s ease,border .15s ease; }
.button:hover { transform:translateY(-1px); }.button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.button.primary { color:#080a08; background:var(--accent); box-shadow:0 10px 30px rgba(40,217,255,.12); }
.button.secondary { color:var(--text); background:var(--panel-2); border:1px solid var(--line); }
.button.danger { background:rgba(255,91,103,.12); border:1px solid rgba(255,91,103,.3); color:#ff8992; }
.button.wide { width:100%; }.button.large { min-height:54px; font-size:15px; }
.alert { padding:14px 16px; border-radius:14px; margin-bottom:18px; border:1px solid var(--line); background:var(--panel); font-size:13px; line-height:1.55; }
.alert.success { border-color:rgba(65,214,139,.25); background:rgba(65,214,139,.08); color:#8de8ba; }
.alert.warning { border-color:rgba(255,189,74,.25); background:rgba(255,189,74,.08); color:#ffd17a; }
.alert.danger { border-color:rgba(255,91,103,.25); background:rgba(255,91,103,.08); color:#ff9aa2; }
.card { background:linear-gradient(180deg,rgba(23,26,34,.96),rgba(15,17,23,.96)); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:0 24px 80px rgba(0,0,0,.18); }
.card-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.card-head h2,.card h2 { margin:5px 0 0; font-size:20px; letter-spacing:-.025em; }.card-head>a{font-size:12px;color:var(--accent)}
.card-copy { color:var(--muted); font-size:13px; line-height:1.65; margin:0 0 22px; }
.status-strip { display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid var(--line); border-radius:16px; padding:15px 18px; background:rgba(17,19,25,.8); margin-bottom:20px; }
.status-strip>a { color:var(--accent); font-size:12px; font-weight:700; }
.system-status { display:flex; align-items:center; gap:12px; }.system-status strong,.system-status small{display:block}.system-status small{color:var(--muted);font-size:11px;margin-top:4px}
.pulse { width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 6px rgba(255,189,74,.08);background:var(--warning)}.pulse.ok{background:var(--success);box-shadow:0 0 0 6px rgba(65,214,139,.08)}
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:20px; }
.metric { min-height:150px; padding:20px; border-radius:18px; border:1px solid var(--line); background:var(--panel); display:flex; flex-direction:column; justify-content:space-between; }
.metric span { color:var(--muted); font-size:12px; }.metric strong { font-size:42px; letter-spacing:-.06em; }.metric small{color:#606879;font-size:11px}
.table-wrap { overflow:auto; margin:0 -6px -6px; }table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line);font-size:12px}th{color:#687184;text-transform:uppercase;letter-spacing:.1em;font-size:9px}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-link{color:var(--accent);font-weight:700}.muted{color:var(--muted)}
.badge { display:inline-flex; align-items:center; padding:6px 9px; border-radius:999px; font-size:10px; font-weight:800; white-space:nowrap; border:1px solid transparent; }
.badge.success { background:rgba(65,214,139,.1); color:#6be0a5; border-color:rgba(65,214,139,.18); }.badge.warning{background:rgba(255,189,74,.1);color:#ffc65f;border-color:rgba(255,189,74,.2)}.badge.failed,.badge.rolled_back{background:rgba(255,91,103,.1);color:#ff7c87;border-color:rgba(255,91,103,.2)}.badge.running{background:rgba(95,124,255,.1);color:#8fa4ff;border-color:rgba(95,124,255,.2)}.badge.queued,.badge.neutral{background:#20232c;color:#9ca4b5;border-color:#2e3340}
.empty { text-align:center; padding:54px 20px; color:var(--muted); }.empty strong{display:block;color:var(--text);font-size:18px}.empty p{font-size:13px;margin:8px 0 18px}
.integration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.integration-card{position:relative;overflow:hidden}.integration-logo{position:absolute;right:-12px;top:-20px;font-size:82px;font-weight:950;letter-spacing:-.12em;opacity:.06}.integration-logo.tw{color:#3ba9ff}.integration-logo.aa{color:var(--accent)}
.form-stack { display:flex; flex-direction:column; gap:15px; }label { display:flex; flex-direction:column; gap:7px; color:#b7becc; font-size:11px; font-weight:700; }
input,select,textarea { width:100%; color:var(--text); background:#0d0f14; border:1px solid #292e3a; border-radius:11px; padding:12px 13px; outline:none; transition:border .15s,box-shadow .15s; }
input:focus,select:focus,textarea:focus { border-color:rgba(40,217,255,.6); box-shadow:0 0 0 3px rgba(40,217,255,.08); }
input::placeholder,textarea::placeholder{color:#4f5665}.field-grid{display:grid;gap:14px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-actions { display:flex; gap:10px; align-items:center; margin-top:4px; }.form-actions form{margin:0}
.check-field { min-height:58px; padding:11px 12px; background:#0d0f14; border:1px solid #292e3a; border-radius:12px; flex-direction:row; align-items:center; gap:11px; cursor:pointer; }.check-field input{width:18px;height:18px;accent-color:var(--accent)}.check-field span{display:block}.check-field strong,.check-field small{display:block}.check-field strong{font-size:11px;color:var(--text)}.check-field small{font-weight:500;color:var(--muted);margin-top:3px;line-height:1.3}.danger-option{border-color:rgba(255,91,103,.18)}
.notice { margin-top:18px; border:1px dashed #343947; border-radius:16px; padding:18px 20px; color:var(--muted); font-size:12px; }.notice strong{color:var(--text)}.notice p{margin:6px 0 0;line-height:1.6}
.split-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:20px; margin-bottom:20px; }.manifest-help pre,details pre{padding:14px;background:#0b0d12;border:1px solid var(--line);border-radius:12px;color:#b9c5a6;overflow:auto;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.manifest-help p{color:var(--muted);font-size:13px;line-height:1.65}
.drop-field { padding:16px; border:1px dashed #384052; border-radius:14px; background:#0d0f14; }.drop-field span{color:var(--text);font-size:12px}.drop-field input{padding:8px;background:transparent;border:0}.drop-field small{color:var(--muted);font-weight:500;line-height:1.5}
.package-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.package-card{padding:16px;border:1px solid var(--line);border-radius:15px;background:#0e1016;display:grid;grid-template-columns:42px 1fr;gap:12px}.package-card>a{grid-column:2;color:var(--accent);font-size:11px;font-weight:800}.package-icon{width:42px;height:42px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:10px;font-weight:900}.package-card h3{margin:1px 0 4px;font-size:14px}.package-card p,.package-card small{margin:0;color:var(--muted);font-size:10px}.package-card small{display:block;margin-top:5px}
.deploy-card { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr); gap:42px; padding:32px; }.deploy-intro{padding:10px 0}.deploy-intro h2{font-size:32px;max-width:420px;margin:10px 0 16px}.deploy-intro p:last-child{color:var(--muted);font-size:13px;line-height:1.75}.deploy-form{padding:22px;border-radius:18px;background:#0d0f14;border:1px solid var(--line)}.domain-builder{display:grid;grid-template-columns:1fr auto 1.4fr;align-items:end;gap:10px}.domain-builder>span{padding:0 0 12px;color:var(--accent);font-weight:900}.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-note{margin:0;text-align:center;color:var(--muted);font-size:10px;line-height:1.5}
.deployment-hero { border:1px solid var(--line); border-radius:18px; padding:22px; background:linear-gradient(120deg,rgba(40,217,255,.08),rgba(95,124,255,.05)); margin-bottom:20px; display:flex;justify-content:space-between;align-items:center;gap:18px}.deployment-title{display:flex;align-items:center;gap:12px}.deployment-title h2{font-size:28px;margin:0}.deployment-hero p{color:var(--muted);font-size:12px;margin:7px 0 0}.hero-actions{display:flex;gap:9px}.hero-actions form{margin:0}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.6fr);gap:20px}.detail-side{display:flex;flex-direction:column;gap:20px}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:10px;width:1px;background:var(--line)}.timeline-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:13px;padding:0 0 22px}.timeline-dot{width:17px;height:17px;border-radius:50%;background:#20242d;border:4px solid #11141a;z-index:1}.timeline-item.success .timeline-dot{background:var(--success)}.timeline-item.warning .timeline-dot{background:var(--warning)}.timeline-item.failed .timeline-dot{background:var(--danger)}.timeline-item.running .timeline-dot{background:var(--blue);box-shadow:0 0 0 5px rgba(95,124,255,.08)}.timeline-item.rolled_back .timeline-dot{background:#bd7780}.timeline-head{display:flex;justify-content:space-between;gap:14px}.timeline-head strong{font-size:13px}.timeline-head span{color:#61697a;font-size:10px}.timeline-item p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.timeline details{margin-top:9px}.timeline summary{font-size:10px;color:#7d8596;cursor:pointer}.credentials{min-height:145px;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;margin:16px 0 12px;resize:vertical}.resource-list{display:flex;flex-direction:column;margin-top:16px}.resource-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.resource-list span{color:var(--muted);font-size:10px}.resource-list strong{font-size:10px;text-align:right;max-width:62%;overflow:hidden;text-overflow:ellipsis}.path-value{word-break:break-all}.danger-zone{border-color:rgba(255,91,103,.2)}.danger-zone p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.6}
.install-body,.login-body{display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 20%,rgba(40,217,255,.1),transparent 30%),radial-gradient(circle at 80% 0%,rgba(95,124,255,.12),transparent 30%),var(--bg)}.install-shell,.login-shell{width:min(1050px,100%);display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(13,15,20,.92);box-shadow:0 40px 120px rgba(0,0,0,.35)}.brand-panel,.login-brand{padding:54px;background:linear-gradient(145deg,#11151a,#0c0e12);display:flex;flex-direction:column;justify-content:center}.brand-panel h1,.login-brand h1{font-size:48px;margin:14px 0 12px;letter-spacing:-.06em}.brand-panel>p:last-of-type,.login-brand p:last-child{color:var(--muted);line-height:1.7;max-width:420px}.install-card,.login-card{padding:46px;background:var(--panel)}.install-card h2,.login-card h2{font-size:28px;margin:7px 0 24px}.requirements{margin-top:30px;display:grid;gap:8px}.requirement{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}.requirement span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#20242d}.requirement.ok span{background:rgba(65,214,139,.12);color:var(--success)}.requirement.bad span{background:rgba(255,91,103,.12);color:var(--danger)}.section-divider{font-size:9px;letter-spacing:.16em;color:#667084;text-transform:uppercase;border-top:1px solid var(--line);padding-top:15px;margin-top:2px}
.login-shell{max-width:820px;grid-template-columns:1fr .9fr}.login-brand{padding:48px}.login-brand .brand-mark{width:118px;height:98px}.login-brand h1{font-size:40px}.login-card{padding:48px 42px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.integration-grid{grid-template-columns:1fr}.package-grid{grid-template-columns:repeat(2,1fr)}.deploy-card{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.option-grid{grid-template-columns:1fr}.split-layout{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px}.sidebar-brand{padding-bottom:14px}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar-bottom{display:none}.content{padding:22px 15px 40px}.topbar{align-items:flex-start}.topbar .button{display:none}.metric-grid{grid-template-columns:1fr 1fr}.field-grid.two,.domain-builder{grid-template-columns:1fr}.domain-builder>span{display:none}.package-grid{grid-template-columns:1fr}.deployment-hero{align-items:flex-start;flex-direction:column}.hero-actions{flex-wrap:wrap}.install-shell,.login-shell{grid-template-columns:1fr}.brand-panel,.login-brand{padding:32px}.install-card,.login-card{padding:30px}.brand-panel h1{font-size:38px}.status-strip{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.topbar h1{font-size:30px}.card{padding:18px}.deploy-card{padding:18px}.deployment-title{align-items:flex-start;flex-direction:column}.deployment-title h2{font-size:22px}}
.integration-actions { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); display:grid; gap:12px; }
.integration-actions form { margin:0; }
.token-form { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; }
.token-form .button { white-space:nowrap; }
@media(max-width:760px){.token-form{grid-template-columns:1fr}}


/* Brand and self-update */
.version-card code,.update-upload-card code,.update-rules code{font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#bcefff;background:#0b1018;border:1px solid #203242;border-radius:7px;padding:2px 6px}
.update-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:20px;margin-bottom:20px}
.version-card{display:flex;flex-direction:column;justify-content:space-between;min-height:310px;background:radial-gradient(circle at 10% 0%,rgba(40,217,255,.13),transparent 44%),linear-gradient(180deg,rgba(23,26,34,.97),rgba(14,17,24,.97))}
.version-brand{display:flex;align-items:center;gap:22px}.version-brand>img{width:142px;height:122px;object-fit:contain;filter:drop-shadow(0 20px 36px rgba(40,217,255,.18))}.version-brand h2{font-size:30px;margin:7px 0 10px}.version-brand p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.65;max-width:520px}
.update-readiness{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);background:rgba(8,12,18,.55);border-radius:15px}.update-readiness strong,.update-readiness small{display:block}.update-readiness small{margin-top:4px;color:var(--muted);font-size:11px}
.update-upload-card h2{font-size:27px;margin:7px 0 10px}.update-upload-card .card-copy{margin-bottom:18px}
.update-rules{margin-bottom:20px}.safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.safety-grid>div{padding:17px;border:1px solid var(--line);border-radius:14px;background:#0e1118}.safety-grid strong{font-size:13px}.safety-grid p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.rollback-update-form{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0}.rollback-update-form label{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:10px;white-space:nowrap}.rollback-update-form input{width:15px;height:15px;accent-color:var(--danger)}.rollback-update-form .button{min-height:34px;padding:7px 10px;font-size:10px}
.update-error{margin-top:8px;max-width:310px}.update-error summary{font-size:10px;color:#ff9aa2;cursor:pointer}.update-error pre{white-space:pre-wrap;max-height:180px;font-size:10px;line-height:1.5}
.maintenance-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 10%,rgba(40,217,255,.13),transparent 35%),var(--bg)}.maintenance-card{width:min(520px,100%);text-align:center;padding:44px;border:1px solid var(--line);border-radius:26px;background:rgba(17,19,25,.96);box-shadow:0 35px 100px rgba(0,0,0,.4)}.maintenance-card>img{width:150px;height:130px;object-fit:contain;filter:drop-shadow(0 18px 34px rgba(40,217,255,.2))}.maintenance-card h1{font-size:34px;margin:8px 0 12px}.maintenance-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.maintenance-progress{height:8px;margin-top:25px;border-radius:999px;background:#0a0d13;overflow:hidden;border:1px solid var(--line)}.maintenance-progress span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--accent));animation:maintenance-slide 1.4s ease-in-out infinite}
@keyframes maintenance-slide{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
@media(max-width:1100px){.update-overview{grid-template-columns:1fr}.safety-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.version-brand{align-items:flex-start}.version-brand>img{width:100px;height:90px}.safety-grid{grid-template-columns:1fr}.updates-table{min-width:900px}}
@media(max-width:480px){.version-brand{display:block}.version-brand>img{width:105px;height:90px;margin-bottom:10px}.maintenance-card{padding:30px 22px}.maintenance-card h1{font-size:28px}}


.domain-source-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-4px;color:var(--muted);font-size:13px}.domain-source-row .inline-form{margin:0}.text-button{appearance:none;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;padding:4px 0}.text-button:hover{text-decoration:underline}.text-button:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.domain-sync-status{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.domain-sync-status small{color:var(--muted)}
@media (max-width:720px){.domain-source-row,.domain-sync-status{align-items:flex-start;flex-direction:column}}
