*{box-sizing:border-box}
:root{
  --bg:#07111f;--bg-2:#0a1526;--panel:#0d1a2d;--panel-2:#111f34;--panel-3:#14243c;
  --border:rgba(143,165,198,.16);--border-strong:rgba(146,168,208,.28);
  --text:#f5f8ff;--muted:#91a3bd;--muted-2:#6f819b;
  --accent:#8b7cf6;--accent-2:#48c9ff;--accent-soft:rgba(139,124,246,.16);
  --ok:#45d99a;--warn:#ffbd59;--danger:#ff6b7a;--info:#58c7ff;
  --shadow:0 24px 70px rgba(0,0,0,.26);--radius:20px;--radius-sm:14px;
  --sidebar:268px;--topbar:82px;color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#edf3fb;--bg-2:#f8fbff;--panel:#fff;--panel-2:#f5f8fd;--panel-3:#eef3fa;
  --border:rgba(50,73,110,.13);--border-strong:rgba(48,70,108,.22);
  --text:#14223a;--muted:#61728a;--muted-2:#8391a6;
  --accent:#6d5fe8;--accent-2:#168fc7;--accent-soft:rgba(109,95,232,.10);
  --shadow:0 22px 55px rgba(34,59,93,.13);color-scheme:light;
}
html[data-theme="ambient"]{
  --bg:#0a1020;--bg-2:#10152b;--panel:rgba(17,26,49,.86);--panel-2:rgba(22,33,59,.84);--panel-3:rgba(31,42,72,.82);
  --accent:#b074ff;--accent-2:#27d8e8;--accent-soft:rgba(176,116,255,.16);
}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.muted{color:var(--muted)}
.eyebrow{display:inline-flex;font-size:.72rem;font-weight:800;letter-spacing:.15em;color:#9e95ff;text-transform:uppercase}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted-2);box-shadow:0 0 0 4px rgba(127,145,171,.08)}
.status-dot.ok{background:var(--ok);box-shadow:0 0 0 4px rgba(69,217,154,.1)}
.status-dot.warn{background:var(--warn);box-shadow:0 0 0 4px rgba(255,189,89,.1)}
.status-dot.bad{background:var(--danger);box-shadow:0 0 0 4px rgba(255,107,122,.1)}
.brand-mark{width:45px;height:45px;flex:0 0 auto}
.brand-name{font-weight:800;font-size:1.24rem}
.brand-tagline{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.65rem;margin-top:2px}
.brand-lockup{display:flex;align-items:center;gap:13px}.brand-lockup-large .brand-mark{width:58px;height:58px}

.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr);background:
radial-gradient(circle at 14% 12%,rgba(58,205,246,.12),transparent 35%),
radial-gradient(circle at 65% 72%,rgba(139,92,246,.15),transparent 42%),var(--bg)}
.auth-brand{position:relative;overflow:hidden;padding:58px 7vw;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border)}
.auth-copy{position:relative;z-index:2;max-width:720px;margin:70px 0}
.auth-copy h1{font-size:clamp(2.7rem,5vw,5.5rem);line-height:.98;letter-spacing:-.06em;margin:20px 0 24px;max-width:800px}
.auth-copy p{font-size:1.15rem;line-height:1.75;color:var(--muted);max-width:660px}
.feature-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.feature-chips span,.chip{border:1px solid var(--border);background:rgba(255,255,255,.035);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700;color:var(--muted)}
.auth-security{position:relative;z-index:2;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.86rem}
.ambient-orb{position:absolute;border-radius:50%;filter:blur(6px);opacity:.4;pointer-events:none}
.orb-a{width:320px;height:320px;background:radial-gradient(circle,#2cd5ef,transparent 68%);right:-120px;top:8%}
.orb-b{width:420px;height:420px;background:radial-gradient(circle,#784df8,transparent 68%);left:22%;bottom:-210px}
.auth-panel-wrap{display:flex;align-items:center;justify-content:center;padding:40px}
.auth-panel{width:min(470px,100%);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px;padding:38px}
.auth-panel h2{font-size:2rem;letter-spacing:-.035em;margin:10px 0 10px}
.auth-panel p{line-height:1.6}
.mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:32px}.mobile-brand div{display:flex;flex-direction:column}.mobile-brand small{color:var(--muted)}
.form-stack{display:grid;gap:16px;margin:26px 0 18px}
label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}
input,select,textarea{width:100%;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:12px 13px;border-radius:12px;outline:none;transition:.18s border,.18s box-shadow}
input:focus,select:focus,textarea:focus{border-color:rgba(139,124,246,.7);box-shadow:0 0 0 3px rgba(139,124,246,.12)}
textarea{min-height:120px;resize:vertical}
.button{border:1px solid var(--border);background:var(--panel-3);color:var(--text);border-radius:12px;padding:11px 15px;font-weight:800;transition:.16s transform,.16s border,.16s background}
.button:hover{transform:translateY(-1px);border-color:var(--border-strong)}
.button.primary{background:linear-gradient(135deg,#806ff2,#6860e8 54%,#4aa7e5);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(103,83,225,.2)}
.button.secondary{background:var(--panel-2)}
.button.danger{background:rgba(255,107,122,.1);border-color:rgba(255,107,122,.3);color:#ff8d99}
.button.ghost{background:transparent}
.button.small{padding:7px 10px;border-radius:9px;font-size:.78rem}
.button.wide{width:100%}
.button:disabled{opacity:.48;cursor:not-allowed;transform:none}
.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.link-button{border:0;background:none;color:#9a91fb;padding:3px 0;font-weight:750}
.form-hint{font-size:.78rem!important;color:var(--muted-2)!important}
.message-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(69,217,154,.12);border:1px solid rgba(69,217,154,.25);color:var(--ok);font-size:1.6rem;font-weight:900}

.portal-shell{min-height:100vh;background:
radial-gradient(circle at 80% -10%,rgba(116,84,245,.10),transparent 28%),
radial-gradient(circle at 46% 110%,rgba(46,199,231,.08),transparent 32%),var(--bg)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:rgba(8,18,33,.94);border-right:1px solid var(--border);padding:24px 16px 18px;display:flex;flex-direction:column;z-index:30;backdrop-filter:blur(18px)}
html[data-theme="light"] .sidebar{background:rgba(255,255,255,.92)}
.sidebar-brand{height:72px;display:flex;align-items:center;gap:12px;padding:0 10px 18px;border-bottom:1px solid var(--border)}
.sidebar-brand div{display:flex;flex-direction:column}.sidebar-brand strong{font-size:1.02rem}.sidebar-brand span{color:var(--muted);font-size:.74rem;margin-top:3px}
.nav{display:flex;flex-direction:column;gap:4px;padding:20px 0;overflow:auto}
.nav-item{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:12px;text-align:left;font-weight:700}
.nav-item:hover{color:var(--text);background:rgba(255,255,255,.035)}
.nav-item.active{color:#d8d3ff;border-color:rgba(139,124,246,.22);background:linear-gradient(90deg,rgba(139,124,246,.16),rgba(75,189,239,.06))}
.nav-icon{width:24px;text-align:center;color:#9d94ff;font-size:1.05rem}
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#7567e9;color:#fff;font-size:.66rem}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding:17px 8px 0}
.cloud-mini-status{display:flex;gap:11px;align-items:center}.cloud-mini-status div{display:flex;flex-direction:column;min-width:0}.cloud-mini-status strong{font-size:.76rem}.cloud-mini-status span{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-version{display:block;color:var(--muted-2);font-size:.65rem;margin-top:14px}
.portal-main{margin-left:var(--sidebar);min-height:100vh}
.topbar{height:var(--topbar);position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:0 32px;background:rgba(7,17,31,.73);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
html[data-theme="light"] .topbar{background:rgba(240,246,253,.78)}
.topbar-title{display:flex;flex-direction:column;gap:3px}.topbar-title strong{font-size:1.05rem}
.topbar-actions{display:flex;align-items:center;gap:9px;margin-left:auto}
.icon-button{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-weight:900;display:grid;place-items:center}
.account-button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:14px;padding:5px 10px 5px 6px;display:flex;align-items:center;gap:9px}
.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#5cc9ed,#7665ea 57%,#a256e4);color:#fff;font-weight:900}
.account-text{display:flex;flex-direction:column;text-align:left;max-width:200px}.account-text strong,.account-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-text strong{font-size:.76rem}.account-text small{font-size:.66rem;color:var(--muted)}
.mobile-menu{display:none}
.content{padding:34px 34px 54px;max-width:1540px;margin:0 auto}
.global-banner{margin:20px 34px 0;padding:13px 16px;border-radius:13px;border:1px solid rgba(88,199,255,.24);background:rgba(88,199,255,.08);color:var(--text);font-size:.86rem}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}
.page-head h1{font-size:2rem;letter-spacing:-.04em;margin:7px 0 0}.page-head p{margin:7px 0 0;color:var(--muted);line-height:1.55}
.page-actions{display:flex;gap:9px;flex-wrap:wrap}

.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.stat-card,.card{border:1px solid var(--border);background:linear-gradient(145deg,var(--panel),var(--panel-2));border-radius:var(--radius);box-shadow:0 10px 32px rgba(0,0,0,.06)}
.stat-card{padding:18px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between}
.stat-card .stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.76rem;font-weight:750}
.stat-value{font-size:2rem;font-weight:850;letter-spacing:-.04em}.stat-meta{color:var(--muted);font-size:.73rem}
.card{padding:20px}
.card + .card{margin-top:14px}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.card-header h2,.card-header h3{margin:0;letter-spacing:-.02em}.card-header h2{font-size:1.1rem}.card-header h3{font-size:.98rem}
.card-header p{margin:4px 0 0;color:var(--muted);font-size:.78rem}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.status-line{display:flex;align-items:center;gap:9px}.status-line strong{font-size:.85rem}.status-line small{display:block;color:var(--muted);margin-top:3px}
.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--border)}
.kv{background:var(--panel-2);padding:13px 14px;min-width:0}.kv span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:5px}.kv strong,.kv code{font-size:.82rem;overflow-wrap:anywhere}
code{font-family:"SFMono-Regular",Consolas,monospace;color:#a8dfff}

.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}
table{width:100%;border-collapse:collapse;min-width:720px}
th,td{padding:12px 13px;text-align:left;border-bottom:1px solid var(--border);font-size:.78rem;vertical-align:middle}
th{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.015)}
tr:last-child td{border-bottom:0}.row-title{font-weight:800}.row-sub{display:block;color:var(--muted);font-size:.69rem;margin-top:3px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;border:1px solid var(--border);font-size:.67rem;font-weight:800;color:var(--muted)}
.badge.ok{color:#7ee5b4;border-color:rgba(69,217,154,.26);background:rgba(69,217,154,.08)}
.badge.warn{color:#ffd27f;border-color:rgba(255,189,89,.28);background:rgba(255,189,89,.08)}
.badge.bad{color:#ff9ba6;border-color:rgba(255,107,122,.28);background:rgba(255,107,122,.08)}
.badge.info{color:#8ad9ff;border-color:rgba(88,199,255,.28);background:rgba(88,199,255,.08)}

.callout{padding:15px 16px;border-radius:14px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);line-height:1.55;font-size:.82rem}
.callout strong{color:var(--text)}.callout.ok{border-color:rgba(69,217,154,.25);background:rgba(69,217,154,.07)}.callout.warn{border-color:rgba(255,189,89,.25);background:rgba(255,189,89,.07)}
.empty{padding:34px 20px;text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:14px}.empty strong{display:block;color:var(--text);margin-bottom:6px}
.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.divider{height:1px;background:var(--border);margin:18px 0}
.list{display:grid;gap:10px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2)}.list-item-main{min-width:0}.list-item-main strong{display:block;font-size:.84rem}.list-item-main span{display:block;color:var(--muted);font-size:.72rem;margin-top:4px;overflow-wrap:anywhere}
.install-card{display:grid;gap:16px}.install-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.install-title h3{margin:0 0 5px;font-size:1rem}.install-title p{margin:0;color:var(--muted);font-size:.75rem}
.public-url{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;background:rgba(88,199,255,.06);border:1px solid rgba(88,199,255,.16);font-family:monospace;font-size:.74rem;overflow-wrap:anywhere}
.public-url a{color:#8ad9ff;text-decoration:none;overflow-wrap:anywhere}

.activation-code{font-family:monospace;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:1.15rem}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.plan-card{border:1px solid var(--border);border-radius:16px;padding:17px;background:var(--panel-2)}.plan-card h3{margin:0}.plan-price{font-size:1.55rem;font-weight:850;margin:13px 0}
.ticket-message{padding:12px 13px;border-radius:12px;background:var(--panel-2);border:1px solid var(--border);margin:8px 0}.ticket-message.admin{border-color:rgba(139,124,246,.28);background:rgba(139,124,246,.08)}.ticket-message .meta{font-size:.68rem;color:var(--muted);margin-bottom:6px}.ticket-message .body{white-space:pre-wrap;line-height:1.55;font-size:.8rem}
.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.recovery-code{font-family:monospace;background:var(--panel-3);border:1px solid var(--border);padding:9px;border-radius:9px;text-align:center}
.toast-host{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:9px;max-width:min(390px,calc(100vw - 36px))}
.toast{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:13px;padding:12px 14px;font-size:.8rem;animation:toast-in .2s ease}.toast.ok{border-color:rgba(69,217,154,.35)}.toast.bad{border-color:rgba(255,107,122,.4)}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.loading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.skeleton{min-height:160px;background:linear-gradient(90deg,var(--panel),var(--panel-2),var(--panel));background-size:200% 100%;animation:sk 1.4s infinite}.skeleton.card{border-radius:var(--radius)}@keyframes sk{to{background-position:-200% 0}}
.sidebar-backdrop{display:none}

@media(max-width:1180px){.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-3,.plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  :root{--topbar:72px}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel-wrap{min-height:100vh;padding:24px}.mobile-brand{display:flex}
  .sidebar{transform:translateX(-102%);transition:transform .2s ease}.sidebar.open{transform:none}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:25}.sidebar-backdrop.open{display:block}
  .portal-main{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 16px}.content{padding:24px 16px 45px}.global-banner{margin:14px 16px 0}.account-text{display:none}
}
@media(max-width:680px){
  .stat-grid,.grid-2,.grid-3,.plan-grid,.form-grid{grid-template-columns:1fr}.kv-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.inline-form{grid-template-columns:1fr}.auth-panel{padding:28px 22px}.recovery-grid{grid-template-columns:1fr}.topbar-title .eyebrow{display:none}
}
