@font-face {
  font-family: Dana;
  src: url('/assets/fonts/DanaVF.woff2') format('woff2');
  font-display: swap;
}

:root {
  color-scheme: dark;
  --bg: #09070c;
  --panel: #121016;
  --field: #19161f;
  --line: rgba(255, 255, 255, .09);
  --text: #f6f0f8;
  --muted: #8f8298;
  --accent: #ae4cff;
  --accent-2: #547dff;
  --danger: #ff6578;
  --success: #64dda0;
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  direction: rtl;
  font-family: Dana, Tahoma, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 18% 100%, rgba(103, 51, 176, .18), transparent 35%),
    radial-gradient(circle at 82% 0%, rgba(28, 92, 179, .13), transparent 31%),
    var(--bg);
  overflow-x: hidden;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.auth-shell {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 34px 18px;
  position: relative;
}

.home-link {
  position: fixed;
  inset: 24px 28px auto auto;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
  transition: color .2s ease, transform .2s ease;
}

.home-link:hover { color: var(--text); transform: translateX(3px); }

.auth-wrap { width: min(100%, 410px); position: relative; z-index: 1; }

.brand {
  display: grid;
  justify-items: center;
  gap: 13px;
  margin-bottom: 25px;
}

.brand-logo {
  width: 74px;
  height: 74px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  box-shadow: 0 18px 50px rgba(63, 33, 91, .32), inset 0 1px rgba(255,255,255,.06);
}

.brand-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.brand h1 { margin: 0; font-size: 27px; letter-spacing: -.8px; }
.brand p { margin: -5px 0 0; color: var(--muted); font-size: 12px; }

.auth-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 24px;
  background: linear-gradient(155deg, rgba(19, 16, 23, .98), rgba(13, 11, 16, .98));
  box-shadow: 0 30px 90px rgba(0, 0, 0, .34), inset 0 1px rgba(255,255,255,.025);
}

.card-heading { margin-bottom: 21px; }
.card-heading h2 { margin: 0 0 6px; font-size: 18px; }
.card-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }

.field { display: grid; gap: 8px; margin-bottom: 16px; }
.field-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.field label { font-size: 12px; font-weight: 650; color: #ded4e3; }
.field-link { border: 0; padding: 0; background: none; color: #aa9cb2; cursor: pointer; font-size: 11px; }
.field-link:hover { color: var(--text); }

.input-wrap { position: relative; }
.input-wrap input {
  width: 100%;
  height: 48px;
  border: 1px solid #302a39;
  border-radius: 13px;
  outline: none;
  color: var(--text);
  background: var(--field);
  padding: 0 15px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.input-wrap input:focus {
  border-color: rgba(174, 76, 255, .65);
  background: #1c1822;
  box-shadow: 0 0 0 4px rgba(174, 76, 255, .09);
}

.input-wrap input::placeholder { color: #675d6e; }
.latin-input { direction: ltr; text-align: center; letter-spacing: .6px; }
.code-input { letter-spacing: 11px; font-size: 19px; font-weight: 700; padding-right: 25px !important; }

.password-toggle {
  position: absolute;
  inset: 7px auto 7px 7px;
  width: 36px;
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  color: #8e8197;
  background: rgba(255,255,255,.035);
}
.password-toggle:hover { color: white; background: rgba(255,255,255,.07); }

.primary-button, .secondary-button {
  width: 100%;
  min-height: 48px;
  border-radius: 13px;
  border: 0;
  cursor: pointer;
  font-weight: 750;
  transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}

.primary-button {
  color: white;
  background: linear-gradient(100deg, var(--accent), var(--accent-2));
  box-shadow: 0 12px 34px rgba(135, 63, 229, .23);
}

.primary-button:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.08); }
.primary-button:disabled { cursor: wait; opacity: .62; }
.secondary-button { color: #cfc3d5; background: rgba(255,255,255,.045); border: 1px solid var(--line); }
.secondary-button:hover:not(:disabled) { background: rgba(255,255,255,.075); }

.form-message {
  display: none;
  margin: 0 0 15px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 11px;
  line-height: 1.7;
}
.form-message.show { display: block; }
.form-message.error { color: #ffb5bf; border-color: rgba(255, 101, 120, .2); background: rgba(255, 101, 120, .08); }
.form-message.success { color: #a9f2ca; border-color: rgba(100, 221, 160, .19); background: rgba(100, 221, 160, .075); }

.auth-switch { margin: 19px 0 0; text-align: center; color: var(--muted); font-size: 12px; }
.auth-switch a { color: #e2d8e7; font-weight: 700; }
.auth-switch a:hover { color: #c77cff; }

.verify-phone {
  direction: ltr;
  display: inline-block;
  color: #d6c9dc;
  font-weight: 700;
}

.resend-row { display: flex; justify-content: space-between; align-items: center; margin: -3px 0 16px; font-size: 11px; color: var(--muted); }
.resend-button { border: 0; background: none; color: #b56aff; padding: 0; cursor: pointer; }
.resend-button:disabled { color: #685e6e; cursor: default; }

.hidden { display: none !important; }

.account-card { text-align: center; }
.account-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 20px;
  color: var(--success);
  background: rgba(100, 221, 160, .09);
  border: 1px solid rgba(100, 221, 160, .16);
  font-size: 27px;
}
.account-phone { direction: ltr; font-size: 20px; margin: 8px 0 24px; }
.account-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.spinner {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-left: 8px;
  border: 2px solid rgba(255,255,255,.34);
  border-top-color: white;
  border-radius: 50%;
  vertical-align: -3px;
  animation: spin .7s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 540px) {
  .auth-shell { padding: 72px 14px 26px; align-items: start; }
  .home-link { inset: 20px 18px auto auto; }
  .auth-card { padding: 21px 17px; border-radius: 19px; }
  .brand { margin-bottom: 20px; }
  .brand-logo { width: 66px; height: 66px; }
  .brand h1 { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Account and admin dashboards */
.dashboard-body { background: #08060b; min-height: 100vh; }
.dashboard-body::before { opacity: .13; }
.dashboard-shell { width: 100%; min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0, 1fr); direction: ltr; }
.dashboard-sidebar { direction: rtl; position: sticky; top: 0; height: 100vh; padding: 26px 18px 20px; border-right: 1px solid rgba(255,255,255,.07); background: linear-gradient(180deg, rgba(21,11,28,.98), rgba(10,7,13,.99)); display: flex; flex-direction: column; z-index: 10; }
.dash-brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 24px; border-bottom: 1px solid rgba(255,255,255,.07); }
.dash-brand img { width: 46px; height: 46px; padding: 6px; box-sizing: border-box; border: 1px solid rgba(181,80,255,.18); border-radius: 14px; object-fit: contain; background: #160d20; box-shadow: 0 0 32px rgba(181,80,255,.22); }
.dash-brand span { display: grid; gap: 2px; }
.dash-brand b { direction: ltr; text-align: right; font-size: 17px; letter-spacing: 1.8px; }
.dash-brand small { color: #7f7188; font-size: 10px; }
.dash-nav { display: grid; gap: 7px; margin-top: 24px; }
.dash-nav a { height: 46px; border-radius: 13px; padding: 0 14px; display: flex; align-items: center; gap: 11px; color: #95879d; font-size: 12px; font-weight: 650; border: 1px solid transparent; transition: .2s ease; }
.dash-nav a span { width: 24px; color: #7b6c83; font-size: 17px; text-align: center; }
.dash-nav a:hover { color: #eee6f2; background: rgba(255,255,255,.035); }
.dash-nav a.active { color: white; border-color: rgba(190,93,255,.23); background: linear-gradient(100deg, rgba(178,74,255,.18), rgba(88,46,141,.08)); box-shadow: inset 3px 0 #b550ff; }
.dash-nav a.active span { color: #ca7cff; }
.sidebar-status { margin-top: auto; padding: 13px; border: 1px solid rgba(93,219,151,.12); border-radius: 14px; background: rgba(56,134,93,.055); display: flex; align-items: center; gap: 10px; }
.sidebar-status > i { width: 9px; height: 9px; border-radius: 50%; background: #5ddd97; box-shadow: 0 0 0 5px rgba(93,221,151,.08), 0 0 18px #4ee095; }
.sidebar-status span { display: grid; gap: 3px; }
.sidebar-status b { font-size: 10px; color: #bcebd1; }
.sidebar-status small { font-size: 8px; color: #5f7c6b; }
.sidebar-logout { height: 42px; margin-top: 10px; border-radius: 12px; border: 1px solid rgba(255,255,255,.07); color: #918298; background: rgba(255,255,255,.025); cursor: pointer; font: inherit; font-size: 11px; }
.sidebar-logout:hover { color: #ff9cab; border-color: rgba(255,96,114,.2); background: rgba(255,96,114,.06); }
.dashboard-main { direction: rtl; min-width: 0; padding: 26px clamp(22px, 4vw, 58px) 30px; }
.dashboard-topbar { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.dashboard-topbar p { margin: 0 0 4px; color: #765f83; font-size: 10px; letter-spacing: .4px; }
.dashboard-topbar h1 { margin: 0; font-size: clamp(18px, 2vw, 25px); letter-spacing: -.5px; }
.account-chip { min-width: 190px; display: flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.075); border-radius: 14px; background: rgba(255,255,255,.025); }
.account-chip .online-dot { width: 8px; height: 8px; border-radius: 50%; background: #59e493; box-shadow: 0 0 14px #59e493; }
.account-chip div { display: grid; gap: 2px; }
.account-chip small { color: #73657b; font-size: 8px; }
.account-chip b { direction: ltr; font-size: 11px; letter-spacing: .3px; }
.dash-hero { min-height: 260px; overflow: hidden; position: relative; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.08); border-radius: 26px; padding: clamp(28px, 4vw, 48px); background: radial-gradient(circle at 18% 110%, rgba(83,72,223,.19), transparent 42%), radial-gradient(circle at 80% 35%, rgba(182,63,255,.16), transparent 34%), linear-gradient(135deg, #140a1b, #0d0912 58%, #0a0a11); box-shadow: 0 25px 80px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.025); }
.dash-hero::after { content: ''; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(90deg, transparent, black); }
.hero-copy { position: relative; z-index: 2; }
.eyebrow, .section-kicker { color: #a35dd2; font-size: 9px; font-weight: 800; letter-spacing: 1.4px; direction: ltr; display: inline-block; }
.hero-copy h2 { margin: 12px 0; font-size: clamp(27px, 3.4vw, 43px); line-height: 1.45; letter-spacing: -1.6px; }
.hero-copy h2 em { color: #c768ff; font-style: normal; text-shadow: 0 0 30px rgba(187,88,255,.25); }
.hero-copy p { margin: 0; color: #87798e; font-size: 12px; }
.signal-orbit { width: 215px; height: 215px; flex: 0 0 215px; position: relative; z-index: 2; display: grid; place-items: center; }
.signal-orbit b { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 23px; direction: ltr; font-size: 24px; color: #edd9ff; background: linear-gradient(145deg,#7f20c5,#32124c); border: 1px solid rgba(233,174,255,.32); box-shadow: 0 0 55px rgba(181,73,255,.32), inset 0 1px rgba(255,255,255,.2); }
.orbit { position: absolute; border: 1px solid rgba(182,89,245,.2); border-radius: 50%; animation: orbitPulse 3s ease-in-out infinite; }
.o1 { inset: 45px; }.o2 { inset: 24px; animation-delay: .5s; }.o3 { inset: 3px; animation-delay: 1s; }
.pulse-node { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #b751ff; box-shadow: 0 0 14px #b751ff; }
.n1 { top: 29px; right: 41px; }.n2 { bottom: 34px; left: 30px; background: #567cff; }
@keyframes orbitPulse { 50% { transform: scale(1.035); opacity: .45; } }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 16px 0; }
.stat-card { min-height: 132px; display: flex; align-items: center; gap: 15px; border: 1px solid rgba(255,255,255,.075); border-radius: 19px; padding: 18px; background: linear-gradient(145deg, rgba(20,16,24,.98), rgba(12,10,15,.98)); position: relative; overflow: hidden; }
.stat-card::after { content: ''; position: absolute; inset: auto -30px -55px auto; width: 110px; height: 110px; border-radius: 50%; opacity: .1; filter: blur(25px); background: currentColor; }
.stat-icon { width: 43px; height: 43px; flex: 0 0 43px; display: grid; place-items: center; border-radius: 13px; font-size: 18px; background: color-mix(in srgb, currentColor 12%, transparent); border: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
.stat-card.purple { color: #c873ff; }.stat-card.blue { color: #638bff; }.stat-card.green { color: #5ddd97; }.stat-card.amber { color: #ffbd62; }
.stat-card div { display: grid; gap: 4px; }.stat-card small { color: #75697c; font-size: 9px; }.stat-card strong { color: #f5eef8; font-size: 24px; line-height: 1.2; }.stat-card strong i { color: #514657; font-size: 14px; font-style: normal; margin: 0 4px; }.stat-card p { margin: 0; color: #574e5c; font-size: 8px; }
.dashboard-panel { border: 1px solid rgba(255,255,255,.075); border-radius: 22px; background: linear-gradient(145deg, rgba(18,14,21,.98), rgba(10,8,12,.98)); padding: 24px; box-shadow: inset 0 1px rgba(255,255,255,.02); }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.panel-head h2, .subscription-grid h2 { margin: 5px 0 4px; font-size: 18px; }.panel-head p { margin: 0; color: #6e6275; font-size: 10px; }
.download-mini { height: 40px; display: inline-flex; align-items: center; gap: 10px; padding: 0 15px; border-radius: 12px; color: #d9c7e4; font-size: 10px; border: 1px solid rgba(192,100,255,.17); background: rgba(181,80,255,.07); }.download-mini:hover { border-color: rgba(192,100,255,.38); background: rgba(181,80,255,.12); }
.device-list { display: grid; gap: 10px; }
.device-item { display: grid; grid-template-columns: 48px minmax(0,1fr) auto auto; align-items: center; gap: 13px; padding: 13px; border: 1px solid rgba(255,255,255,.055); border-radius: 15px; background: rgba(255,255,255,.018); }
.device-symbol { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: #c576ff; background: rgba(181,80,255,.08); border: 1px solid rgba(181,80,255,.14); font-size: 18px; }
.device-info { display: grid; gap: 4px; min-width: 0; }.device-info b { font-size: 12px; }.device-info small { color: #695e70; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.device-state { display: inline-flex; align-items: center; gap: 7px; min-width: 72px; color: #74697b; font-size: 9px; }.device-state i { width: 7px; height: 7px; border-radius: 50%; background: #554b5b; }.device-state.online { color: #8ce9b4; }.device-state.online i { background: #59e493; box-shadow: 0 0 10px #59e493; }
.device-revoke { border: 1px solid rgba(255,96,114,.12); color: #9a7078; background: rgba(255,96,114,.035); height: 35px; padding: 0 12px; border-radius: 10px; cursor: pointer; font: inherit; font-size: 9px; }.device-revoke:hover { color: #ff9aa8; border-color: rgba(255,96,114,.25); }
.empty-devices { padding: 32px; text-align: center; color: #716577; font-size: 11px; border: 1px dashed rgba(255,255,255,.07); border-radius: 15px; }
.dashboard-loader { min-height: 70px; display: flex; align-items: center; justify-content: center; gap: 10px; color: #6e6275; font-size: 10px; }.dashboard-loader i { width: 16px; height: 16px; border: 2px solid #392d40; border-top-color: #b550ff; border-radius: 50%; animation: spin .7s linear infinite; }
.subscription-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; margin-top: 16px; }
.plan-line { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 18px; }.plan-line p { margin: 0; color: #6e6275; font-size: 9px; }.plan-badge { padding: 6px 11px; border-radius: 99px; color: #83e6ad; background: rgba(89,228,147,.07); border: 1px solid rgba(89,228,147,.14); font-size: 9px; }
.plan-progress { height: 6px; overflow: hidden; border-radius: 20px; background: #201923; }.plan-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6d6cff,#c259ff); transition: width .5s ease; }.plan-panel > small { display: block; margin-top: 8px; color: #6d6173; font-size: 9px; }
.upgrade-button { height: 42px; display: grid; place-items: center; margin-top: 18px; border-radius: 12px; color: white; font-size: 10px; font-weight: 700; background: linear-gradient(100deg,#a43ee8,#596cec); box-shadow: 0 10px 30px rgba(133,64,219,.15); }
.security-panel h2 { margin-bottom: 16px; }.security-row { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.045); }.security-row > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; color: #69dfa0; background: rgba(89,228,147,.07); font-size: 11px; }.security-row div { display: grid; gap: 3px; }.security-row b { font-size: 10px; }.security-row small { color: #665b6c; font-size: 8px; }.text-action { display: inline-block; margin-top: 15px; color: #aa72d0; font-size: 9px; }
.dash-footer { display: flex; direction: ltr; justify-content: space-between; margin-top: 20px; color: #3f3743; font-size: 8px; letter-spacing: 1px; }
.dash-toast { position: fixed; left: 24px; bottom: 24px; z-index: 100; max-width: 340px; padding: 12px 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; color: #efe7f2; background: #18121d; box-shadow: 0 20px 60px #0008; font-size: 10px; opacity: 0; transform: translateY(15px); pointer-events: none; transition: .25s ease; }.dash-toast.show { opacity: 1; transform: none; }.dash-toast.error { border-color: rgba(255,96,114,.25); color: #ffb1bc; }

/* Admin */
.admin-sidebar { background: linear-gradient(180deg, rgba(19,10,29,.99), rgba(8,6,11,.99)); }.admin-status { border-color: rgba(194,91,255,.14); background: rgba(181,80,255,.05); }.admin-status > i { background: #bd5eff; box-shadow: 0 0 16px #bd5eff; }.admin-hero { min-height: 165px; border: 1px solid rgba(191,90,255,.15); border-radius: 23px; padding: 30px; display: flex; align-items: center; justify-content: space-between; background: radial-gradient(circle at 85% 50%, rgba(166,52,241,.2), transparent 35%), linear-gradient(120deg,#160b1f,#0d0911); }.admin-hero h2 { margin: 8px 0; font-size: 28px; }.admin-hero p { margin: 0; color: #776a7e; font-size: 10px; }.live-pill { direction: ltr; display: flex; align-items: center; gap: 7px; padding: 8px 13px; border-radius: 99px; color: #71e6a5; background: rgba(89,228,147,.06); border: 1px solid rgba(89,228,147,.15); font: 800 9px Arial; letter-spacing: 1px; }.live-pill i { width: 7px; height: 7px; border-radius: 50%; background: #59e493; box-shadow: 0 0 12px #59e493; animation: orbitPulse 1.5s infinite; }
.admin-search { width: min(290px,100%); height: 42px; display: flex; align-items: center; gap: 8px; padding: 0 13px; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025); }.admin-search span { color: #725f7d; font-size: 17px; }.admin-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: #e9deed; background: transparent; direction: ltr; text-align: right; font-size: 10px; }.admin-search input::placeholder { color: #584e5d; }
.table-wrap { overflow-x: auto; margin: 0 -5px; }.users-table { width: 100%; border-collapse: collapse; min-width: 820px; }.users-table th { padding: 10px 12px; color: #5f5465; text-align: right; font-size: 8px; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,.06); }.users-table td { padding: 14px 12px; color: #aa9db0; font-size: 9px; border-bottom: 1px solid rgba(255,255,255,.045); }.users-table tr:last-child td { border-bottom: 0; }.user-cell { display: grid; gap: 3px; }.user-cell b { direction: ltr; text-align: right; color: #eee5f1; font-size: 10px; }.user-cell small { color: #544b58; font-size: 8px; }.table-badge { display: inline-flex; padding: 5px 9px; border-radius: 99px; color: #b991d1; background: rgba(181,80,255,.06); border: 1px solid rgba(181,80,255,.12); }.table-badge.active { color: #79e2a7; background: rgba(89,228,147,.055); border-color: rgba(89,228,147,.12); }.table-badge.suspended { color: #ff96a5; background: rgba(255,96,114,.05); border-color: rgba(255,96,114,.12); }.table-actions { display: flex; gap: 6px; }.table-actions button, .table-actions select { height: 31px; border-radius: 9px; border: 1px solid rgba(255,255,255,.08); color: #ad9eb4; background: #18121c; padding: 0 8px; font: inherit; font-size: 8px; cursor: pointer; outline: 0; }.table-actions button:hover { color: white; border-color: rgba(190,93,255,.25); }

@media (max-width: 1050px) {
  .dashboard-shell { grid-template-columns: 78px minmax(0,1fr); }
  .dashboard-sidebar { padding-inline: 10px; }.dash-brand { justify-content: center; padding-inline: 0; }.dash-brand span, .dash-nav a:not(.active)::after, .dash-nav a { font-size: 0; }.dash-nav a { justify-content: center; padding: 0; }.dash-nav a span { font-size: 18px; }.sidebar-status span, .sidebar-logout { display: none; }.sidebar-status { justify-content: center; padding: 14px 0; }
  .stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .dashboard-shell { display: block; }.dashboard-sidebar { position: fixed; inset: auto 10px 10px; width: auto; height: 64px; padding: 7px; border: 1px solid rgba(255,255,255,.09); border-radius: 18px; background: rgba(16,10,21,.94); backdrop-filter: blur(18px); flex-direction: row; align-items: center; box-shadow: 0 20px 55px #000b; }.dash-brand, .sidebar-status, .sidebar-logout { display: none; }.dash-nav { width: 100%; grid-template-columns: repeat(3,1fr); gap: 5px; margin: 0; }.dash-nav a { height: 48px; box-shadow: none !important; }.dash-nav a span { font-size: 17px; }
  .dashboard-main { padding: 20px 14px 95px; }.dashboard-topbar { align-items: flex-start; }.dashboard-topbar p { display: none; }.dashboard-topbar h1 { font-size: 17px; }.account-chip { min-width: 0; padding: 8px 10px; }.account-chip small { display: none; }.account-chip b { font-size: 9px; }
  .dash-hero { min-height: 320px; align-items: flex-start; padding: 25px; }.hero-copy h2 { font-size: 27px; }.signal-orbit { position: absolute; width: 170px; height: 170px; left: -12px; bottom: -17px; opacity: .75; }.o1 { inset: 36px }.o2 { inset: 18px }.o3 { inset: 0 }.signal-orbit b { width: 58px; height: 58px; border-radius: 19px; font-size: 19px; }
  .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.stat-card { min-height: 118px; padding: 14px; gap: 10px; }.stat-icon { width: 37px; height: 37px; flex-basis: 37px; }.stat-card strong { font-size: 19px; }
  .dashboard-panel { padding: 18px 14px; border-radius: 18px; }.panel-head { align-items: flex-start; }.panel-head p { max-width: 230px; }.download-mini { padding: 0 10px; font-size: 0; }.download-mini span { font-size: 16px; }.device-item { grid-template-columns: 42px minmax(0,1fr) auto; }.device-symbol { width: 40px; height: 40px; }.device-state { grid-column: 2; }.device-revoke { grid-column: 3; grid-row: 1 / span 2; }
  .subscription-grid { grid-template-columns: 1fr; }.admin-hero { min-height: 145px; padding: 22px; }.admin-hero h2 { font-size: 22px; }.admin-stats { grid-template-columns: repeat(2,1fr); }.users-panel .panel-head { display: grid; }.admin-search { width: 100%; }
}
@media (max-width: 430px) { .stat-grid { grid-template-columns: 1fr 1fr; }.stat-card { display: grid; align-content: center; }.stat-card p { display: none; }.dashboard-topbar h1 { max-width: 160px; }.device-item { gap: 9px; } }

/* Device approval */
.device-approval-body {
  min-height: 100svh;
  background:
    radial-gradient(circle at 8% 100%, rgba(78, 59, 213, .18), transparent 35%),
    radial-gradient(circle at 88% 8%, rgba(181, 62, 255, .17), transparent 30%),
    #08060b;
}
.device-approval-shell { width: min(1120px, calc(100% - 36px)); min-height: 100svh; margin: auto; padding: 28px 0; display: grid; grid-template-rows: auto 1fr auto; align-items: center; position: relative; z-index: 1; }
.approval-brand { direction: ltr; justify-self: start; display: flex; align-items: center; gap: 11px; }
.approval-brand img { width: 44px; height: 44px; object-fit: cover; border-radius: 13px; box-shadow: 0 0 28px rgba(181,80,255,.25); }
.approval-brand span { display: grid; gap: 2px; }.approval-brand b { color: #f2e8f7; font: 800 13px/1 Arial; letter-spacing: 1.8px; }.approval-brand small { color: #62566a; font-size: 8px; text-align: left; }
.approval-card { width: 100%; min-height: 570px; display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 30px; background: linear-gradient(145deg, rgba(18,13,22,.99), rgba(10,8,13,.99)); box-shadow: 0 35px 120px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.025); }
.approval-visual { min-height: 570px; position: relative; overflow: hidden; display: grid; place-items: center; border-left: 1px solid rgba(255,255,255,.06); background: radial-gradient(circle at 50% 48%, rgba(171,60,240,.24), transparent 31%), radial-gradient(circle at 10% 100%, rgba(56,83,220,.16), transparent 38%), #0e0913; }
.approval-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.025), transparent 30%); pointer-events: none; }
.approval-grid { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle, #000 25%, transparent 70%); }
.approval-orbit { position: absolute; border: 1px solid rgba(190,89,255,.16); border-radius: 50%; animation: approvalPulse 3.4s ease-in-out infinite; }.orbit-one { width: 290px; height: 290px; }.orbit-two { width: 390px; height: 390px; animation-delay: .7s; opacity: .55; }
.approval-device-icon { width: 112px; height: 112px; display: grid; place-items: center; position: relative; z-index: 2; border: 1px solid rgba(221,164,255,.28); border-radius: 34px; color: #edd7ff; font-size: 39px; background: linear-gradient(145deg, #7921b5, #2c1042); box-shadow: 0 0 75px rgba(181,70,255,.35), inset 0 1px rgba(255,255,255,.18); }
.approval-device-icon i { position: absolute; right: 8px; bottom: 8px; width: 18px; height: 18px; border: 4px solid #37134e; border-radius: 50%; background: #5ce496; box-shadow: 0 0 18px #5ce496; }
.approval-route { position: absolute; bottom: 100px; display: flex; align-items: center; gap: 36px; }.approval-route::before { content: ''; position: absolute; width: 94px; height: 1px; left: 8px; background: linear-gradient(90deg,#5f70ff,#c75dff); }.approval-route i { width: 8px; height: 8px; position: relative; z-index: 1; border-radius: 50%; background: #755a82; }.approval-route i:nth-child(2) { background: #be5bff; box-shadow: 0 0 15px #be5bff; animation: routeNode 1.4s ease-in-out infinite; }.approval-route i:nth-child(3) { background: #5f7dff; }
.approval-lock { position: absolute; top: 38px; right: 36px; display: flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 11px; color: #74e3a5; border: 1px solid rgba(89,228,147,.13); background: rgba(89,228,147,.05); font-size: 10px; }.approval-lock small { color: #688172; font-size: 8px; }
@keyframes approvalPulse { 50% { transform: scale(1.035); opacity: .45; } } @keyframes routeNode { 50% { transform: scale(1.45); } }
.approval-content { padding: clamp(34px, 5vw, 68px); display: flex; flex-direction: column; justify-content: center; }
.approval-eyebrow { direction: ltr; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; color: #aa60d8; font: 800 8px Arial; letter-spacing: 1.5px; }.approval-eyebrow i { width: 6px; height: 6px; border-radius: 50%; background: #b651f2; box-shadow: 0 0 12px #b651f2; }
.approval-content h1 { margin: 14px 0 10px; font-size: clamp(30px, 3.8vw, 47px); line-height: 1.35; letter-spacing: -1.7px; }.approval-content h1 em { direction: ltr; display: inline-block; color: #c46fff; font-style: normal; text-shadow: 0 0 30px rgba(189,93,255,.18); }
.approval-lead { max-width: 540px; margin: 0 0 22px; color: #84768b; font-size: 11px; line-height: 2; }
.approval-request { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid rgba(255,255,255,.075); border-radius: 16px; background: rgba(255,255,255,.025); }
.request-device-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: #c877ff; background: rgba(181,80,255,.09); border: 1px solid rgba(181,80,255,.15); font-size: 17px; }.request-device-info { min-width: 0; display: grid; gap: 3px; }.request-device-info small { color: #665b6c; font-size: 8px; }.request-device-info b { color: #eee5f2; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.request-device-info span { direction: ltr; text-align: right; color: #625768; font-size: 8px; }
.request-state { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 99px; color: #d8a05d; background: rgba(240,164,73,.06); border: 1px solid rgba(240,164,73,.13); font-size: 8px; }.request-state i { width: 6px; height: 6px; border-radius: 50%; background: #eda451; box-shadow: 0 0 9px #eda451; }.request-state.approved { color: #75e5a6; background: rgba(89,228,147,.06); border-color: rgba(89,228,147,.14); }.request-state.approved i { background: #59e493; box-shadow: 0 0 9px #59e493; }
.approval-code-row { display: flex; align-items: center; gap: 12px; margin: 10px 0; padding: 10px 13px; border: 1px solid rgba(255,255,255,.055); border-radius: 13px; background: rgba(255,255,255,.015); }.approval-code-row > span { color: #655a6b; font-size: 8px; }.approval-code-row strong { direction: ltr; margin-left: auto; color: #d9c2e7; font: 800 12px Arial; letter-spacing: 2px; }.approval-code-row small { color: #5c5261; font-size: 8px; }
.approval-account { display: flex; align-items: center; justify-content: space-between; padding: 2px 3px 12px; }.approval-account span { color: #685e6e; font-size: 8px; }.approval-account b { direction: ltr; color: #bcaac5; font-size: 10px; }
.approval-button { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 13px; border: 0; border-radius: 15px; color: white; font: 750 12px Dana, sans-serif; background: linear-gradient(100deg,#a83eea,#5b6cef); box-shadow: 0 14px 38px rgba(132,61,218,.22); cursor: pointer; transition: transform .2s ease, filter .2s ease, opacity .2s ease; }.approval-button i { font-style: normal; font-size: 17px; }.approval-button:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.08); }.approval-button:disabled { cursor: default; opacity: .7; }
.approval-security { display: flex; align-items: flex-start; gap: 7px; margin: 13px 4px 0; color: #5d5362; font-size: 8px; line-height: 1.8; }.approval-security span { color: #5fce91; }
.approval-footer { justify-self: center; display: flex; align-items: center; gap: 12px; color: #544a59; font-size: 9px; }.approval-footer a:hover { color: #b477d6; }.approval-footer i { width: 3px; height: 3px; border-radius: 50%; background: #4b414f; }

@media (max-width: 820px) {
  .device-approval-shell { width: min(100% - 24px, 620px); padding: 18px 0; }
  .approval-brand { margin-bottom: 16px; }.approval-card { min-height: 0; grid-template-columns: 1fr; border-radius: 24px; }.approval-visual { min-height: 185px; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.06); }.approval-orbit.orbit-one { width: 150px; height: 150px; }.approval-orbit.orbit-two { width: 215px; height: 215px; }.approval-device-icon { width: 72px; height: 72px; border-radius: 23px; font-size: 25px; }.approval-device-icon i { width: 14px; height: 14px; border-width: 3px; }.approval-route { display: none; }.approval-lock { top: 17px; right: 17px; }.approval-content { padding: 28px 24px 25px; }.approval-content h1 { font-size: 31px; margin-top: 10px; }.approval-lead { margin-bottom: 17px; }.approval-footer { margin-top: 15px; }
}
@media (max-width: 440px) {
  .device-approval-shell { width: min(100% - 16px, 420px); padding: 12px 0 calc(12px + env(safe-area-inset-bottom)); }.approval-brand img { width: 38px; height: 38px; }.approval-card { border-radius: 21px; }.approval-visual { min-height: 145px; }.approval-lock { top: 12px; right: 12px; }.approval-lock small { display: none; }.approval-content { padding: 23px 16px 20px; }.approval-content h1 { font-size: 27px; letter-spacing: -1px; }.approval-lead { font-size: 10px; line-height: 1.9; }.approval-request { grid-template-columns: 43px minmax(0,1fr); }.request-device-icon { width: 41px; height: 41px; }.request-state { grid-column: 2; width: max-content; }.approval-code-row { flex-wrap: wrap; }.approval-code-row strong { order: 3; width: 100%; text-align: center; font-size: 14px; padding-top: 3px; }.approval-code-row small { margin-right: auto; }.approval-button { min-height: 50px; }.approval-footer { font-size: 8px; }
}

/* Admin command center v2 */
.admin-v2 { --admin-card: rgba(16,11,21,.88); --admin-line: rgba(255,255,255,.075); background: #08050c; }
.admin-v2::before { opacity: .1; }
.admin-ambient { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.admin-ambient i { position: absolute; width: 520px; height: 520px; border-radius: 50%; filter: blur(120px); opacity: .08; background: #a539ff; }
.admin-ambient i:nth-child(1) { right: 18%; top: -300px; }.admin-ambient i:nth-child(2) { left: -280px; top: 35%; background: #315dff; }.admin-ambient i:nth-child(3) { right: 28%; bottom: -420px; background: #b429ff; }
.admin-shell { position: relative; z-index: 1; grid-template-columns: 264px minmax(0,1fr); }
.admin-v2 .admin-sidebar { padding: 25px 18px 18px; border-color: rgba(205,111,255,.09); background: linear-gradient(180deg,rgba(18,8,27,.98),rgba(8,5,12,.995)); }
.admin-v2 .dash-brand img { width: 48px; height: 48px; padding: 3px; background: #160d20; border: 1px solid rgba(211,133,255,.17); }
.admin-v2 .dash-brand b { color: #f2dfff; letter-spacing: 2.6px; }.admin-v2 .dash-brand small { direction: ltr; text-align: right; color: #6e567a; font: 700 8px Arial; letter-spacing: 1px; }
.admin-nav-label { margin: 22px 14px 5px; color: #4f4057; font-size: 8px; }
.admin-v2 .admin-nav { margin-top: 7px; }.admin-v2 .admin-nav a { position: relative; height: 48px; }.admin-v2 .admin-nav a b { font: inherit; }.admin-v2 .admin-nav a em { margin-right: auto; min-width: 24px; padding: 3px 6px; border-radius: 99px; color: #a876c2; background: rgba(185,79,255,.08); font: normal 8px Arial; text-align: center; }
.admin-v2 .dash-nav a.active { box-shadow: inset -3px 0 #b550ff, 0 12px 28px rgba(92,27,130,.08); background: linear-gradient(90deg,rgba(92,44,128,.06),rgba(181,80,255,.16)); }
.admin-main { max-width: 1720px; width: 100%; margin: 0 auto; padding: 24px clamp(22px,3.4vw,54px) 32px; }
.admin-topbar { position: sticky; top: 0; z-index: 20; min-height: 74px; margin: -24px calc(clamp(22px,3.4vw,54px) * -1) 20px; padding: 14px clamp(22px,3.4vw,54px); background: rgba(8,5,12,.74); border-bottom: 1px solid rgba(255,255,255,.045); backdrop-filter: blur(22px); }
.admin-topbar h1 { font-size: 22px; }.admin-top-actions { display: flex; align-items: center; gap: 10px; }.icon-action { width: 43px; height: 43px; border: 1px solid var(--admin-line); border-radius: 13px; color: #9c83aa; background: rgba(255,255,255,.025); cursor: pointer; font-size: 18px; }.icon-action:hover { color: white; border-color: rgba(192,97,255,.26); }.icon-action.spinning { animation: spin .7s linear infinite; }
.admin-command-hero { min-height: 250px; position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(290px,.7fr); align-items: center; border: 1px solid rgba(202,112,255,.13); border-radius: 28px; padding: 35px 42px; background: radial-gradient(circle at 80% 50%,rgba(165,50,240,.18),transparent 31%),radial-gradient(circle at 7% 120%,rgba(51,75,207,.14),transparent 35%),linear-gradient(135deg,#15091e,#0c0810 66%); box-shadow: 0 35px 90px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.025); }
.admin-command-hero::before { content:''; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent,#000 55%,transparent); }
.command-copy { position: relative; z-index: 2; }.command-copy .eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #bd76e7; font: 800 8px Arial; letter-spacing: 1.5px; }.command-copy .eyebrow i { width: 6px; height: 6px; border-radius: 50%; background: #b856f0; box-shadow: 0 0 13px #b856f0; }.command-copy h2 { margin: 12px 0 9px; font-size: clamp(27px,3vw,39px); letter-spacing: -1.2px; }.command-copy > p { max-width: 590px; margin: 0; color: #88778f; font-size: 11px; line-height: 2; }.hero-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }.hero-meta span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.065); border-radius: 99px; color: #776980; background: rgba(255,255,255,.02); font-size: 8px; }.hero-meta i { display: inline-block; width: 5px; height: 5px; margin-left: 5px; border-radius: 50%; background: #58dd96; box-shadow: 0 0 8px #58dd96; }
.command-visual { width: 240px; height: 200px; position: relative; justify-self: center; display: grid; place-items: center; }.command-core { width: 92px; height: 92px; position:relative;z-index:2; display:grid;place-items:center;border:1px solid rgba(226,171,255,.22);border-radius:31px;color:#e7c6fa;background:linear-gradient(145deg,#6d1e9e,#251030);box-shadow:0 0 65px rgba(179,68,239,.28),inset 0 1px rgba(255,255,255,.16);font:800 25px Arial; }.command-core small { position:absolute;bottom:17px;color:#a975bd;font:700 6px Arial;letter-spacing:1px; }.core-ring { position:absolute;border:1px solid rgba(196,94,255,.13);border-radius:50%;animation:approvalPulse 3s ease-in-out infinite; }.core-ring.r1{width:160px;height:160px}.core-ring.r2{width:220px;height:220px;animation-delay:.7s}.command-visual .node{position:absolute;padding:5px 8px;border:1px solid rgba(255,255,255,.07);border-radius:8px;color:#796883;background:#160d1d;font:700 6px Arial;letter-spacing:.6px}.command-visual .n1{top:10px;left:20px}.command-visual .n2{bottom:12px;right:5px}.command-visual .n3{top:35px;right:-5px}
.admin-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin: 13px 0; }.admin-kpi { min-height: 132px; padding: 17px; overflow:hidden;position:relative;border:1px solid var(--admin-line);border-radius:19px;background:linear-gradient(145deg,rgba(19,14,23,.94),rgba(11,8,14,.96)); }.admin-kpi::after { content:'';position:absolute;width:75px;height:75px;left:-27px;bottom:-33px;border-radius:50%;background:var(--kpi);filter:blur(28px);opacity:.16 }.admin-kpi.violet{--kpi:#b450ff}.admin-kpi.green{--kpi:#4ce094}.admin-kpi.blue{--kpi:#4d7cff}.admin-kpi.amber{--kpi:#f0a34c}.admin-kpi.pink{--kpi:#f052b1}.admin-kpi.cyan{--kpi:#3ccbd6}.kpi-head{display:flex;align-items:center;justify-content:space-between;color:#776a7e;font-size:9px}.kpi-head i{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;color:var(--kpi);background:color-mix(in srgb,var(--kpi) 9%,transparent);font-style:normal}.admin-kpi strong{display:block;margin:12px 0 5px;color:#f4eafa;font:800 25px Arial}.admin-kpi p{margin:0;color:#5e5364;font-size:8px}.admin-kpi p b{color:var(--kpi)}
.admin-insights { display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;margin-bottom:13px }.insight-card{min-height:235px;padding:21px;border:1px solid var(--admin-line);border-radius:21px;background:var(--admin-card)}.insight-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.insight-head span{display:block;margin-bottom:3px;color:#5e4b68;font:700 7px Arial;letter-spacing:1px}.insight-head h3{margin:0;font-size:14px}.insight-head>b,.insight-head>a{color:#9d66b9;font:700 8px Arial}.health-score{font-size:22px!important;color:#67dda0!important}.health-track{height:8px;overflow:hidden;border-radius:99px;background:#211827}.health-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#48c98a,#79e8ae);box-shadow:0 0 15px rgba(82,222,151,.28);transition:width .5s}.health-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.health-legend span{padding:12px;border:1px solid rgba(255,255,255,.055);border-radius:12px;color:#76687d;font-size:8px}.health-legend i{display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%}.health-legend .ok{background:#57dc98}.health-legend .warn{background:#ff6b7e}.health-legend b{color:#e9dfed;font:700 12px Arial}.version-bars{display:grid;gap:11px}.version-row>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.version-row b{direction:ltr;color:#cdbed4;font:700 9px Arial}.version-row span{color:#5d5262;font-size:7px}.version-row em{display:block;height:5px;overflow:hidden;border-radius:99px;background:#221827}.version-row em i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8933c2,#ca64ff)}.recent-users{display:grid;gap:7px}.recent-user{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px;border:0;border-radius:11px;color:inherit;background:transparent;cursor:pointer;text-align:right}.recent-user:hover{background:rgba(255,255,255,.028)}.recent-user>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#c781eb;background:#2a1536;font:700 8px Arial}.recent-user div{display:grid;gap:2px}.recent-user b{direction:ltr;text-align:right;color:#cfc1d5;font-size:8px}.recent-user small{color:#574c5c;font-size:7px}.recent-user>i{color:#664b73;font-style:normal}.empty-mini{color:#665a6c;font-size:9px;text-align:center}.mini-loader{width:18px;height:18px;margin:40px auto;border:2px solid #33253b;border-top-color:#b550ff;border-radius:50%;animation:spin .7s linear infinite}
.admin-users-panel,.admin-activity-panel{scroll-margin-top:92px;margin-top:13px}.admin-panel-head{align-items:center}.ghost-action{height:39px;padding:0 14px;border:1px solid rgba(255,255,255,.075);border-radius:11px;color:#9f8ba9;background:rgba(255,255,255,.025);cursor:pointer;font:inherit;font-size:9px}.ghost-action:hover{color:white;border-color:rgba(190,93,255,.24)}.admin-toolbar{display:flex;align-items:center;gap:8px;margin:18px 0 10px}.admin-v2 .admin-search{width:min(340px,100%);height:44px}.admin-filter{height:44px;min-width:140px;padding:0 12px;border:1px solid rgba(255,255,255,.075);border-radius:12px;outline:none;color:#a494ad;background:#17111b;font:inherit;font-size:9px}.result-count{margin-right:auto;color:#5f5266;font-size:8px}.admin-users-table{min-width:980px}.admin-users-table tbody tr{transition:background .18s}.admin-users-table tbody tr:hover{background:rgba(181,80,255,.025)}.admin-users-table td{height:68px}.admin-users-table .user-cell{display:flex;align-items:center;gap:9px}.user-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:11px;color:#c67ceb;background:#281535;font:700 8px Arial}.user-cell>div{display:grid;gap:3px}.metric-cell{color:#e1d3e7;font:700 11px Arial}.admin-users-table td>small{color:#5e5263;font-size:7px}.table-badge i{width:5px;height:5px;margin-left:5px;border-radius:50%;background:currentColor}.plan-free{color:#9c8ba5}.plan-premium{color:#d18cf7}.plan-unlimited{color:#70d7e8}.date-cell{color:#746679;font-size:8px}.inspect-user{width:34px;height:31px;border:1px solid rgba(255,255,255,.075);border-radius:9px;color:#9b87a5;background:#17111b;cursor:pointer}.inspect-user:hover{color:white;border-color:#743d90}.empty-table{padding:30px;color:#6d6072;text-align:center;font-size:10px}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:16px}.admin-pagination button{height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#94849d;background:#17111b;cursor:pointer;font:inherit;font-size:8px}.admin-pagination button:disabled{opacity:.35;cursor:default}.admin-pagination span{color:#685a70;font-size:8px}
.secure-badge{padding:7px 10px;border:1px solid rgba(89,228,147,.12);border-radius:99px;color:#68dda0;background:rgba(89,228,147,.045);font-size:8px}.audit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.audit-event{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.05);border-radius:13px;background:rgba(255,255,255,.014)}.audit-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#bd75e6;background:#291535}.audit-event div{display:grid;gap:3px}.audit-event b{font-size:9px}.audit-event small{color:#65596b;font-size:7px}.audit-event em{color:#5c5062;font-size:7px;font-style:normal}
.admin-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.2s}.admin-modal.open{opacity:1;visibility:visible}.admin-modal-backdrop{position:absolute;inset:0;background:rgba(3,2,5,.78);backdrop-filter:blur(9px)}.admin-modal-card{width:min(850px,100%);max-height:min(850px,calc(100svh - 40px));position:relative;z-index:1;overflow:auto;border:1px solid rgba(215,137,255,.15);border-radius:26px;background:linear-gradient(145deg,#160d1c,#0c0910);box-shadow:0 35px 120px #000a;transform:translateY(15px);transition:.25s}.admin-modal.open .admin-modal-card{transform:none}.admin-modal-card>header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:21px 24px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(15,9,19,.9);backdrop-filter:blur(18px)}.admin-modal-card>header span{color:#74547f;font:700 7px Arial;letter-spacing:1px}.admin-modal-card>header h2{direction:ltr;margin:4px 0 0;font:700 17px Arial}.admin-modal-card>header button{width:34px;height:34px;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#9f8da8;background:#211527;cursor:pointer;font-size:19px}.modal-user-content{padding:20px}.modal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.modal-summary>div{padding:13px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:rgba(255,255,255,.018)}.modal-summary span{display:block;margin-bottom:5px;color:#665a6c;font-size:7px}.modal-summary b{color:#ded1e4;font-size:9px}.modal-summary b.active{color:#65dda0}.modal-summary b.suspended{color:#ff7b8b}.admin-user-form{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:rgba(255,255,255,.016)}.admin-user-form label{display:grid;gap:6px;color:#75677c;font-size:8px}.admin-user-form input,.admin-user-form select{min-width:0;height:38px;padding:0 9px;border:1px solid rgba(255,255,255,.075);border-radius:10px;outline:none;color:#cfc1d6;background:#18111d;font:inherit}.admin-role-toggle{display:flex!important;align-items:center;gap:8px;cursor:pointer}.admin-role-toggle input{display:none}.admin-role-toggle span{width:34px;height:20px;position:relative;border-radius:99px;background:#2b2130}.admin-role-toggle span::after{content:'';position:absolute;width:14px;height:14px;top:3px;right:3px;border-radius:50%;background:#76667f;transition:.2s}.admin-role-toggle input:checked+span{background:#6f268f}.admin-role-toggle input:checked+span::after{right:17px;background:#e3b1ff}.save-user,.danger-user{height:39px;border-radius:11px;border:0;cursor:pointer;font:700 8px Dana}.save-user{color:white;background:linear-gradient(90deg,#8f32c8,#b94eff)}.danger-user{color:#ff9aa7;border:1px solid rgba(255,101,120,.14);background:rgba(255,101,120,.05)}.modal-section{margin-top:11px;padding:15px;border:1px solid rgba(255,255,255,.055);border-radius:16px}.modal-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal-section-head h3{margin:0;font-size:12px}.modal-section-head span{color:#665970;font-size:8px}.modal-devices,.modal-sessions{display:grid;gap:7px}.modal-device{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;border-radius:11px;background:rgba(255,255,255,.018)}.modal-device>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#a963cf;background:#281533}.modal-device>div{display:grid;gap:2px}.modal-device b{font-size:8px}.modal-device small{direction:ltr;text-align:right;color:#5d5263;font-size:7px}.modal-device em{color:#7c6d83;font-size:7px;font-style:normal}.modal-device em.online{color:#5ddd98}.modal-device.revoked{opacity:.48}.admin-device-revoke{height:28px;border:1px solid rgba(255,101,120,.13);border-radius:8px;color:#ff8f9e;background:rgba(255,101,120,.045);cursor:pointer;font:inherit;font-size:7px}.modal-sessions article{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px}.modal-sessions i{width:6px;height:6px;border-radius:50%;background:#59df99;box-shadow:0 0 9px #59df99}.modal-sessions div{display:grid;gap:2px}.modal-sessions b{font-size:8px}.modal-sessions small,.modal-sessions>article>span{color:#5f5365;font-size:7px}.modal-error{padding:40px;color:#ff9aa7;text-align:center}.modal-open{overflow:hidden}
@media(max-width:1250px){.admin-kpi-grid{grid-template-columns:repeat(3,1fr)}.admin-insights{grid-template-columns:1fr 1fr}.recent-card{grid-column:1/-1}.admin-shell{grid-template-columns:82px minmax(0,1fr)}.admin-v2 .dashboard-sidebar{padding-inline:10px}.admin-v2 .dash-brand{justify-content:center;padding-inline:0}.admin-v2 .dash-brand span,.admin-nav-label,.admin-v2 .admin-nav a b,.admin-v2 .admin-nav a em,.admin-v2 .sidebar-status span,.admin-v2 .sidebar-logout{display:none}.admin-v2 .admin-nav a{justify-content:center;padding:0}.admin-v2 .admin-nav a span{font-size:18px}}
@media(max-width:760px){.admin-shell{display:block}.admin-v2 .admin-sidebar{position:fixed;inset:auto 9px 9px;width:auto;height:66px;padding:7px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(14,8,19,.94);backdrop-filter:blur(18px);flex-direction:row;z-index:90}.admin-v2 .dash-brand,.admin-v2 .sidebar-status,.admin-v2 .sidebar-logout{display:none}.admin-v2 .admin-nav{width:100%;grid-template-columns:repeat(4,1fr);gap:4px;margin:0}.admin-v2 .admin-nav a{height:50px}.admin-main{padding:18px 12px 92px}.admin-topbar{top:0;margin:-18px -12px 14px;padding:10px 12px}.admin-topbar p{display:none}.admin-topbar h1{font-size:16px}.admin-topbar .account-chip{display:none}.admin-command-hero{min-height:300px;grid-template-columns:1fr;padding:25px}.command-copy h2{font-size:29px}.command-visual{position:absolute;width:190px;height:160px;left:-22px;bottom:-25px;opacity:.62}.command-core{width:70px;height:70px;border-radius:23px;font-size:19px}.core-ring.r1{width:120px;height:120px}.core-ring.r2{width:175px;height:175px}.hero-meta{max-width:190px}.admin-kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px}.admin-kpi{min-height:118px;padding:14px}.admin-insights{grid-template-columns:1fr}.recent-card{grid-column:auto}.admin-toolbar{display:grid;grid-template-columns:1fr 1fr}.admin-v2 .admin-search{grid-column:1/-1;width:100%}.admin-filter{min-width:0;width:100%}.result-count{grid-column:1/-1}.audit-list{grid-template-columns:1fr}.admin-user-form{grid-template-columns:1fr 1fr}.modal-summary{grid-template-columns:1fr 1fr}.admin-modal{padding:8px}.admin-modal-card{max-height:calc(100svh - 16px);border-radius:20px}.modal-user-content{padding:12px}.modal-device{grid-template-columns:32px minmax(0,1fr) auto}.modal-device em{grid-column:2}.admin-device-revoke{grid-column:3;grid-row:1/3}.admin-panel-head{align-items:flex-start}.admin-panel-head .ghost-action{font-size:0}.admin-panel-head .ghost-action span{font-size:13px}}
@media(max-width:430px){.admin-kpi-grid{grid-template-columns:1fr 1fr}.admin-kpi{min-height:112px}.admin-kpi strong{font-size:21px}.admin-user-form{grid-template-columns:1fr}.command-copy>p{max-width:250px}.hero-meta span:nth-child(2){display:none}}

/* Route orchestrator */
.route-manager{scroll-margin-top:92px;margin-top:13px;overflow:hidden;background:radial-gradient(circle at 0 0,rgba(120,49,177,.08),transparent 34%),linear-gradient(145deg,rgba(18,13,22,.98),rgba(9,7,12,.99))}
.route-manager-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(430px,1.18fr);gap:14px}
.route-form,.route-catalog-wrap{min-width:0;border:1px solid rgba(255,255,255,.06);border-radius:19px;background:rgba(255,255,255,.016)}
.route-form{padding:18px}.route-form-head span,.route-catalog-head span{color:#704d80;font:700 7px Arial;letter-spacing:1.2px}.route-form-head h3,.route-catalog-head h3{margin:5px 0 4px;font-size:14px}.route-form-head p{margin:0;color:#62566a;font-size:8px;line-height:1.8}
.route-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0 11px}.route-mode-switch input{position:absolute;opacity:0;pointer-events:none}.route-mode-switch label{cursor:pointer}.route-mode-switch span{min-height:58px;padding:11px 13px;display:grid;align-content:center;gap:3px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:#130e17;transition:.18s}.route-mode-switch b{font-size:10px}.route-mode-switch small{color:#62566a;font-size:7px}.route-mode-switch input:checked+span{border-color:rgba(187,84,255,.42);background:linear-gradient(120deg,rgba(137,43,195,.18),rgba(82,36,111,.09));box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 28px rgba(97,30,135,.08)}.route-mode-switch input:checked+span b{color:#d99bff}
.route-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-form label:not(.route-mode-switch label){display:grid;gap:6px;color:#786a7f;font-size:8px}.route-form input{width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid rgba(255,255,255,.07);border-radius:11px;outline:0;color:#ded1e4;background:#140f18;font:inherit;font-size:9px;transition:.18s}.route-form input:focus{border-color:rgba(189,85,255,.38);box-shadow:0 0 0 3px rgba(174,65,235,.055)}.route-form input::placeholder{color:#453b49}.route-form fieldset{margin:12px 0 0;padding:12px;border:1px solid rgba(255,255,255,.055);border-radius:14px}.route-form fieldset[hidden]{display:none}.route-form legend{padding:0 7px;color:#9e8aa8;font-size:8px}.route-form legend i{display:inline-block;width:5px;height:5px;margin-left:4px;border-radius:50%;background:#b450ff;box-shadow:0 0 8px #b450ff}.route-host-fields{grid-template-columns:1.35fr .65fr}.route-host-fields label:nth-child(3),.route-host-fields label:nth-child(4){grid-column:span 1}.route-submit{width:100%;height:45px;margin-top:13px;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid rgba(220,158,255,.13);border-radius:13px;color:#fff;background:linear-gradient(100deg,#7730b3,#a747e6);box-shadow:0 13px 35px rgba(126,44,174,.16);cursor:pointer;font:700 9px Dana;transition:.18s}.route-submit:hover{transform:translateY(-1px);filter:brightness(1.08)}.route-submit:disabled{opacity:.55;cursor:wait;transform:none}
.route-catalog-wrap{padding:16px}.route-catalog-head{height:45px;display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.route-catalog-head button{width:36px;height:36px;border:1px solid rgba(255,255,255,.07);border-radius:11px;color:#a887b8;background:#17111b;cursor:pointer;font-size:16px}.route-list{display:grid;gap:8px;max-height:670px;overflow:auto;padding-left:3px;scrollbar-width:thin;scrollbar-color:#52266b transparent}.route-card{padding:13px;border:1px solid rgba(255,255,255,.055);border-radius:15px;background:linear-gradient(125deg,rgba(255,255,255,.025),rgba(255,255,255,.01));transition:.18s}.route-card:hover{border-color:rgba(188,85,255,.16);transform:translateY(-1px)}.route-card-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}.route-badge{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(188,85,255,.16);border-radius:13px;color:#c67df0;background:#281535;font:800 8px Arial}.route-card-copy{min-width:0;display:grid;gap:3px}.route-card-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.route-card-copy small{direction:ltr;text-align:right;color:#5e5264;font:7px Arial}.route-state{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(255,255,255,.06);border-radius:99px;color:#8b7b93;background:#17111b;font-size:7px}.route-state i{width:5px;height:5px;border-radius:50%;background:#7b6d82}.route-state.online{color:#68dda0;border-color:rgba(89,228,147,.12);background:rgba(89,228,147,.04)}.route-state.online i{background:#59e493;box-shadow:0 0 8px #59e493}.route-state.provisioning{color:#d19af1}.route-state.provisioning i{background:#b550ff;box-shadow:0 0 8px #b550ff;animation:orbitPulse 1.2s infinite}.route-state.error{color:#ff96a4;border-color:rgba(255,96,114,.12)}.route-state.error i{background:#ff6072}.route-progress{margin:10px 0 0;color:#695b70;font-size:7px;line-height:1.7}.route-error{margin:8px 0 0;padding:8px;border-radius:9px;color:#d88d99;background:rgba(255,96,114,.04);font-size:7px;line-height:1.7}.route-card-foot{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.045)}.route-card-foot span{margin-left:auto;color:#4f4554;font:7px Arial}.route-card-foot button{height:29px;padding:0 9px;border:1px solid rgba(255,255,255,.065);border-radius:9px;color:#8f7c98;background:#17111b;cursor:pointer;font:inherit;font-size:7px}.route-card-foot button:hover{color:#eee2f3;border-color:rgba(188,85,255,.2)}.route-card-foot .route-delete:hover{color:#ff96a4;border-color:rgba(255,96,114,.2)}.route-empty{min-height:190px;display:grid;place-items:center;text-align:center;color:#62566a;font-size:9px;border:1px dashed rgba(255,255,255,.06);border-radius:14px}
@media(max-width:1100px){.route-manager-grid{grid-template-columns:1fr}.route-list{max-height:520px}}
@media(max-width:760px){.admin-v2 .admin-nav{grid-template-columns:repeat(5,1fr)}.route-manager-grid{display:block}.route-catalog-wrap{margin-top:10px}.route-fields{grid-template-columns:1fr 1fr}.route-manager .admin-panel-head{display:grid}.route-manager .secure-badge{width:max-content}.route-form{padding:14px}}
@media(max-width:480px){.route-fields,.route-host-fields{grid-template-columns:1fr}.route-host-fields label:nth-child(3),.route-host-fields label:nth-child(4){grid-column:auto}.route-card-main{grid-template-columns:38px minmax(0,1fr)}.route-badge{width:38px;height:38px}.route-state{grid-column:2;width:max-content}.route-card-foot{flex-wrap:wrap}.route-card-foot span{width:100%;order:-1}}

/* Admin user operations */
.route-card-main{grid-template-columns:42px minmax(0,1fr) auto auto}
.route-kind{padding:5px 7px;border:1px solid rgba(181,80,255,.15);border-radius:99px;color:#bd72e8;background:rgba(181,80,255,.06);font:700 6px Arial;letter-spacing:.7px}
@media(max-width:480px){.route-card-main{grid-template-columns:38px minmax(0,1fr) auto}.route-kind{grid-column:2;width:max-content}.route-state{grid-column:3;grid-row:1}}

.panel-actions{display:flex;align-items:center;gap:8px}
.primary-action{height:39px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(220,158,255,.16);border-radius:11px;color:#fff;background:linear-gradient(100deg,#7730b3,#a747e6);box-shadow:0 11px 28px rgba(126,44,174,.14);cursor:pointer;font:700 9px Dana;transition:.18s}
.primary-action:hover{transform:translateY(-1px);filter:brightness(1.08)}
.primary-action:disabled{opacity:.55;cursor:wait;transform:none}
.create-user-card{width:min(720px,100%)}
.create-user-form{padding:22px}
.create-user-intro{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:14px;border:1px solid rgba(190,93,255,.1);border-radius:15px;background:linear-gradient(110deg,rgba(151,50,210,.09),rgba(255,255,255,.012))}
.create-user-intro>i{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;color:#d795fa;background:#2a1536;font:normal 21px Arial}
.create-user-intro>div{display:grid;gap:3px}.create-user-intro b{font-size:11px}.create-user-intro small{color:#6d6073;font-size:8px}
.create-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.create-user-grid label{display:grid;gap:7px;color:#786a7f;font-size:8px}
.create-user-grid input,.create-user-grid select{width:100%;min-width:0;height:42px;padding:0 11px;border:1px solid rgba(255,255,255,.075);border-radius:11px;outline:0;color:#ded1e4;background:#140f18;font:inherit;font-size:9px}
.create-user-grid input:focus,.create-user-grid select:focus{border-color:rgba(189,85,255,.4);box-shadow:0 0 0 3px rgba(174,65,235,.055)}
.create-role{width:max-content;margin-top:15px;color:#8c7a95!important}
.create-user-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.055)}
.admin-password-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.2fr) auto;align-items:center;gap:10px;margin-top:10px;padding:14px;border:1px solid rgba(196,181,253,.075);border-radius:16px;background:linear-gradient(110deg,rgba(124,58,237,.055),rgba(255,255,255,.012))}
.admin-password-form>div{display:grid;gap:2px}.admin-password-form span{color:#765184;font:700 7px Arial;letter-spacing:1px}.admin-password-form b{font-size:10px}.admin-password-form small{color:#62566a;font-size:7px}
.admin-password-form input{min-width:0;height:39px;padding:0 10px;border:1px solid rgba(255,255,255,.075);border-radius:10px;outline:0;color:#ded1e4;background:#140f18;font:inherit;font-size:8px}
.admin-password-form input:focus{border-color:rgba(189,85,255,.38)}
.admin-password-form button{height:39px;padding:0 13px;border:1px solid rgba(189,85,255,.2);border-radius:10px;color:#ddadf7;background:rgba(148,48,201,.1);cursor:pointer;font:700 8px Dana}
@media(max-width:760px){.panel-actions{width:100%;justify-content:flex-end}.admin-panel-head{display:grid}.create-user-grid{grid-template-columns:1fr}.admin-password-form{grid-template-columns:1fr}.admin-password-form button{width:100%}}
/* Release control -------------------------------------------------------- */
.release-manager { position: relative; overflow: hidden; }
.release-form { display: grid; gap: 18px; margin-top: 24px; }
.release-master-card,
.release-platform,
.release-schedule,
.payment-row {
  border: 1px solid rgba(167, 139, 250, .16);
  background: linear-gradient(145deg, rgba(24, 12, 37, .92), rgba(10, 7, 15, .94));
  border-radius: 20px;
}
.release-master-card {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 20px 22px;
}
.release-master-card div { display: grid; gap: 5px; }
.release-master-card b { color: #f8f3ff; font-size: 15px; }
.release-master-card small { color: #8e8199; line-height: 1.8; }
.release-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.release-platform { padding: 20px; display: grid; gap: 14px; }
.release-platform header { display: flex; align-items: center; gap: 12px; }
.release-platform header > i {
  display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px;
  color: #d8c8ff; background: rgba(124, 58, 237, .16); font-style: normal; font-size: 20px;
}
.release-platform header > div { display: grid; gap: 2px; margin-inline-end: auto; }
.release-platform header b { color: #fff; font-family: Arial, sans-serif; }
.release-platform header small { color: #786e82; }
.release-platform > label,
.release-schedule > label { display: grid; gap: 7px; color: #9d91a8; font-size: 11px; }
.release-platform input,
.release-schedule input {
  width: 100%; min-height: 44px; border: 1px solid rgba(167, 139, 250, .18);
  background: #0e0914; color: #f7f1ff; border-radius: 13px; padding: 0 13px;
}
.release-schedule {
  display: grid; grid-template-columns: minmax(190px, .7fr) minmax(260px, 1.5fr) auto;
  gap: 14px; padding: 18px; align-items: end;
}
.release-schedule .primary-action { min-height: 44px; }
.payments-head {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding-top: 26px; margin-top: 24px; border-top: 1px solid rgba(167,139,250,.12);
}
.payments-head span { color: #8154cf; font: 700 9px Arial, sans-serif; letter-spacing: 1.5px; }
.payments-head h3 { color: #fff; margin: 5px 0 0; }
.payments-head button {
  width: 38px; height: 38px; border-radius: 12px; border: 1px solid rgba(167,139,250,.22);
  background: #130b1d; color: #c7aaff; cursor: pointer;
}
.payment-list { display: grid; gap: 10px; margin-top: 14px; }
.payment-row {
  display: grid; grid-template-columns: 110px minmax(180px, 1fr) 160px 130px;
  align-items: center; gap: 14px; padding: 14px 16px;
}
.payment-row > div { display: grid; gap: 4px; }
.payment-row b { color: #f5efff; direction: ltr; text-align: right; }
.payment-row small, .payment-row em { color: #746b7e; font: 10px Arial, sans-serif; font-style: normal; }
.payment-row strong { color: #d7c4ff; font-size: 13px; }
.payment-state { color: #a99fb3; font: 700 10px Arial, sans-serif; text-transform: uppercase; }
.payment-state i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-inline-end: 7px; background: #746b7e; }
.payment-state.paid { color: #59e9b1; }
.payment-state.paid i { background: #59e9b1; box-shadow: 0 0 12px rgba(89,233,177,.55); }
.payment-state.failed, .payment-state.cancelled { color: #ff8196; }
.payment-state.failed i, .payment-state.cancelled i { background: #ff607c; }

.product-manager-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.055)}
.product-manager-head span:first-child{color:#9b6be7;font:700 8px Arial;letter-spacing:1.5px}.product-manager-head h3{margin:5px 0 3px;color:#fff}.product-manager-head p{margin:0;color:#776d80;font-size:9px}
.product-manager-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}
.product-card{display:grid;gap:12px;padding:16px;border:1px solid rgba(188,85,255,.13);border-radius:17px;background:linear-gradient(145deg,rgba(124,58,237,.07),rgba(8,6,12,.42))}
.product-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.product-card header>div{display:grid;gap:3px}.product-card header b{color:#f4edff;font-size:11px}.product-card header small{color:#76558d;font:700 7px Arial;letter-spacing:1.2px}
.product-card>label,.product-fields label{display:grid;gap:6px}.product-card label>span:not(.admin-role-toggle span),.product-fields label>span{color:#8a7e91;font-size:8px}
.product-card input{width:100%;height:39px;padding:0 11px;border:1px solid rgba(255,255,255,.075);border-radius:10px;outline:0;color:#f4edff;background:#120d16;font:inherit;font-size:9px;box-sizing:border-box}.product-card input:focus{border-color:rgba(188,85,255,.42);box-shadow:0 0 0 3px rgba(124,58,237,.06)}
.product-fields{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:8px}.product-save{grid-column:1/-1;justify-self:end;min-width:220px}
.product-discount{min-height:66px;padding:10px 12px;display:grid;grid-template-columns:auto 126px minmax(120px,1fr);align-items:center;gap:12px;border:1px solid rgba(192,102,246,.12);border-radius:13px;background:rgba(103,35,145,.055)}
.product-discount>.admin-role-toggle{justify-self:start;color:#b7a7c0;font-size:8px}.discount-percent{display:grid;gap:5px;color:#7e7185;font-size:7px}.discount-input{position:relative;display:block}.discount-input input{height:34px!important;padding:0 10px 0 28px!important}.discount-input i{position:absolute;left:10px;top:50%;color:#b96bea;font-style:normal;transform:translateY(-50%);pointer-events:none}.product-discount output{justify-self:end;padding:7px 10px;border:1px solid rgba(255,255,255,.055);border-radius:9px;color:#716477;background:#130e17;font-size:8px;white-space:nowrap}.product-discount output.active{color:#8ee8b4;border-color:rgba(89,228,147,.16);background:rgba(89,228,147,.055)}
@media(max-width:760px){.product-manager-head{align-items:flex-start;flex-direction:column}.product-manager-form{grid-template-columns:1fr}.product-fields{grid-template-columns:1fr 1fr}.product-fields label:first-child{grid-column:1/-1}.product-discount{grid-template-columns:1fr 110px}.product-discount output{grid-column:1/-1;justify-self:stretch;text-align:center}.product-save{width:100%;justify-self:stretch}}
@media(max-width:420px){.product-discount{grid-template-columns:1fr}.product-discount output{grid-column:auto}.discount-percent{width:100%}}
.secure-badge.warning { color: #f3b86a; border-color: rgba(243,184,106,.25); }

@media (max-width: 900px) {
  .release-grid { grid-template-columns: 1fr; }
  .release-schedule { grid-template-columns: 1fr; }
  .payment-row { grid-template-columns: 95px 1fr; }
  .payment-row strong, .payment-row em { grid-column: 2; }
}
.account-upgrade-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.account-upgrade-actions .upgrade-button { margin: 0; border: 0; cursor: pointer; }
.account-upgrade-actions .upgrade-button.alt {
  background: #171020;
  border: 1px solid rgba(167,139,250,.22);
  color: #dccbff;
}
@media (max-width: 560px) { .account-upgrade-actions { grid-template-columns: 1fr; } }

.payment-result-body{margin:0;min-height:100vh;display:grid;place-items:center;color:#f8f4ff;background:radial-gradient(circle at 50% 10%,rgba(124,58,237,.22),transparent 36%),#08060c;font-family:Dana,Arial,sans-serif;overflow-x:hidden}
.payment-result-shell{width:min(92vw,620px);padding:42px 0;text-align:center}
.payment-result-brand{display:inline-flex;align-items:center;gap:11px;margin-bottom:22px;color:#fff;text-decoration:none;font:800 13px Arial,sans-serif;letter-spacing:1.6px}
.payment-result-brand img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(168,85,247,.48))}
.payment-result-card{position:relative;padding:44px 50px 38px;border:1px solid rgba(196,181,253,.16);border-radius:28px;background:linear-gradient(145deg,rgba(26,15,40,.88),rgba(8,6,12,.96));box-shadow:0 32px 90px rgba(0,0,0,.45);overflow:hidden}
.payment-result-card:before{content:"";position:absolute;inset:-100px auto auto -80px;width:250px;height:250px;border-radius:50%;background:#7c3aed;opacity:.12;filter:blur(55px)}
.payment-result-orbit{position:relative;width:92px;height:92px;margin:0 auto 23px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(167,139,250,.27);background:#120a1d}
.payment-result-orbit i{position:absolute;inset:-7px;border-radius:50%;border:2px solid #7c3aed;border-left-color:transparent;animation:paymentSpin 1.2s linear infinite}
.payment-result-orbit span{position:relative;font:800 35px Arial;color:#c4b5fd}
.payment-result-card.is-success .payment-result-orbit{background:rgba(32,185,129,.09);border-color:rgba(74,222,128,.35)}
.payment-result-card.is-success .payment-result-orbit i{border-color:#4ade80;border-left-color:transparent;animation:none}
.payment-result-card.is-success .payment-result-orbit span{color:#66efae}
.payment-result-card.is-failed .payment-result-orbit span{color:#ff7890}.payment-result-card.is-failed .payment-result-orbit i{border-color:#ff526f;border-left-color:transparent;animation:none}
.payment-result-kicker{color:#a78bfa;font:800 9px Arial;letter-spacing:2px}.payment-result-card h1{margin:12px 0 8px;font-size:28px}.payment-result-card>p{margin:0 auto;max-width:440px;color:#9d93a7;line-height:2;font-size:13px}
.payment-plan-card{margin:24px auto 0;padding:17px;border:1px solid rgba(167,139,250,.18);border-radius:18px;background:rgba(124,58,237,.08)}.payment-plan-card small{display:block;color:#8f829a}.payment-plan-card strong{display:block;margin:6px 0 10px;font-size:20px}.payment-plan-card div{display:flex;justify-content:center;gap:9px}.payment-plan-card span{padding:5px 10px;border-radius:20px;color:#ccbaff;background:rgba(124,58,237,.13);font-size:10px}
.payment-result-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 0}.payment-result-meta div{padding:13px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055)}.payment-result-meta dt{color:#776d80;font-size:9px}.payment-result-meta dd{margin:6px 0 0;color:#ded4e8;font:700 11px Arial;direction:ltr}
.payment-result-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-top:18px}.payment-result-actions a{display:grid;place-items:center;min-height:48px;border-radius:14px;text-decoration:none;font-weight:800;font-size:12px}.payment-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#5b21b6);box-shadow:0 12px 30px rgba(124,58,237,.23)}.payment-secondary{color:#d6cbe0;border:1px solid rgba(167,139,250,.16);background:#100b15}
.payment-result-secure{margin:16px 0 0;color:#786e82;font-size:10px}.payment-result-secure i{display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80}@keyframes paymentSpin{to{transform:rotate(360deg)}}
@media(max-width:560px){.payment-result-shell{padding:20px 0}.payment-result-card{padding:34px 20px 28px;border-radius:22px}.payment-result-card h1{font-size:23px}.payment-result-meta,.payment-result-actions{grid-template-columns:1fr}}
/* Account traffic and subscriber-only console DNS */
.stat-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
.stat-card.cyan .stat-icon{color:#67e8f9;background:rgba(34,211,238,.1)}
.usage-panel,.dns-panel,.dns-manager{margin-top:22px;overflow:hidden;position:relative}
.usage-layout{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;padding:8px 4px 4px}
.usage-orbit{--usage-angle:0deg;width:190px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#9a5cff var(--usage-angle),rgba(154,92,255,.1) 0);position:relative;box-shadow:0 0 45px rgba(123,55,255,.12)}
.usage-orbit:before{content:"";position:absolute;inset:12px;border-radius:inherit;background:#0d0813;border:1px solid rgba(255,255,255,.08)}
.usage-orbit>div{position:relative;text-align:center;display:grid;gap:3px}.usage-orbit strong{font-size:30px}.usage-orbit span{color:#aaa0b8;font-size:12px}
.usage-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.usage-detail>div:not(.usage-track){padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025);display:grid;gap:7px}.usage-detail span{color:#978ca5;font-size:12px}.usage-detail b{font-size:18px}.usage-track{grid-column:1/-1;height:9px;background:rgba(255,255,255,.06);border-radius:20px;overflow:hidden}.usage-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6d28d9,#b25cff);box-shadow:0 0 18px #8b5cf6;transition:width .6s ease}
.dns-content{min-height:110px}.dns-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dns-address{color:#fff;text-align:right;padding:18px 20px;border:1px solid rgba(161,93,255,.25);border-radius:18px;background:linear-gradient(135deg,rgba(115,45,190,.12),rgba(255,255,255,.02));display:grid;gap:7px;cursor:pointer;transition:.2s}.dns-address:hover{transform:translateY(-2px);border-color:#9d5cff;box-shadow:0 12px 30px rgba(99,40,160,.18)}.dns-address span,.dns-address small{color:#9d91ab;font-size:11px}.dns-address b{font:700 22px/1.2 monospace;direction:ltr;text-align:left}.dns-steps{margin:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:dns}.dns-steps li{list-style:none;padding:14px;border-radius:14px;background:rgba(255,255,255,.025);color:#c7bece;font-size:13px}.dns-locked{display:flex;align-items:center;gap:18px;padding:22px;border:1px dashed rgba(160,95,230,.32);border-radius:20px;background:rgba(95,35,145,.07)}.dns-locked>span{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#251132;color:#c77dff;font-size:24px}.dns-locked div{flex:1}.dns-locked h3{margin:0 0 6px}.dns-locked p{margin:0;color:#978ca5}.dns-locked a{padding:11px 16px;border-radius:12px;background:#7c3aed;color:#fff}
.dns-admin-form{display:grid;gap:18px}.dns-enable{display:flex;justify-content:space-between;align-items:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08)}.dns-enable span{display:grid;gap:5px}.dns-enable small{color:#8f849b}.dns-enable input{width:22px;height:22px;accent-color:#8b5cf6}.dns-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dns-admin-grid label{display:grid;gap:7px}.dns-admin-grid span{font-size:12px;color:#9b90a7}.dns-admin-grid input{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:13px;border:1px solid rgba(255,255,255,.1);background:#0b0710;color:#fff;outline:0}.dns-admin-grid input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.12)}
@media(max-width:800px){.usage-layout{grid-template-columns:1fr}.usage-orbit{margin:auto;width:160px}.usage-detail{grid-template-columns:1fr}.usage-track{grid-column:auto}.dns-addresses,.dns-steps,.dns-admin-grid{grid-template-columns:1fr}.dns-locked{align-items:flex-start;flex-wrap:wrap}}
.dns-approval,.dns-waiting{margin:16px 0;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:17px}.dns-approval{border:1px solid rgba(93,239,174,.3);background:rgba(40,190,125,.08);box-shadow:0 12px 35px rgba(18,120,77,.08)}.dns-approval>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#31d391;color:#07150f;font-weight:900}.dns-approval>div,.dns-waiting>div{flex:1}.dns-approval h3,.dns-devices-head h3{margin:0 0 4px}.dns-approval p,.dns-devices-head p{margin:0;color:#9d91a9;font-size:12px}.dns-approval button,#add-dns-device{border:1px solid rgba(181,125,255,.35);border-radius:12px;padding:11px 15px;background:#7c3aed;color:#fff;cursor:pointer}.dns-waiting{border:1px solid rgba(154,92,255,.22);background:rgba(154,92,255,.055)}.dns-waiting i{width:12px;height:12px;border-radius:50%;background:#b45cff;box-shadow:0 0 0 7px rgba(180,92,255,.1);animation:pulse 1.5s infinite}.dns-waiting small{display:block;margin-top:4px;color:#918699}.dns-devices-head{margin-top:18px;display:flex;align-items:center;justify-content:space-between}.dns-devices-head button:disabled{opacity:.4;cursor:not-allowed}.dns-device-list{margin-top:10px;display:grid;gap:9px}.dns-device-list article{display:grid;grid-template-columns:40px 1fr auto auto;gap:12px;align-items:center;padding:13px 15px;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:rgba(255,255,255,.02)}.dns-device-list article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#21102e;color:#c77dff}.dns-device-list article div{display:grid;gap:3px}.dns-device-list article small{color:#8f8499}.dns-device-list article em{color:#5ce6a8;font-style:normal;font-size:11px}.revoke-dns{border:0;background:transparent;color:#ff8798;cursor:pointer}.dns-empty{padding:18px;border:1px dashed rgba(255,255,255,.1);border-radius:14px;color:#918699;text-align:center}.dns-token-field{grid-column:1/-1}.dns-token-field>div{display:grid;grid-template-columns:1fr auto;gap:8px}.dns-token-field button{padding:0 14px;border:1px solid rgba(154,92,255,.3);border-radius:12px;background:#251131;color:#d9b7ff;cursor:pointer}
@media(max-width:650px){.dns-approval{align-items:flex-start;flex-wrap:wrap}.dns-approval button{width:100%}.dns-device-list article{grid-template-columns:38px 1fr auto}.dns-device-list article em{display:none}.dns-token-field>div{grid-template-columns:1fr}.dns-token-field button{min-height:42px}}
.dns-add-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dns-add-actions button{min-height:40px}.dns-add-actions #add-dns-ip{background:#21102e;border-color:rgba(198,126,255,.3);color:#e6c9ff}
@media(max-width:650px){.dns-devices-head{align-items:flex-start;gap:12px;flex-direction:column}.dns-add-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.dns-add-actions button{padding-inline:8px}}

/* Account center v3 — stable desktop rail and five-item mobile navigation */
.account-v3 { --account-line: rgba(198, 144, 255, .13); --account-surface: rgba(14, 9, 19, .96); }
.account-v3 .dashboard-shell { grid-template-columns: 268px minmax(0, 1fr); }
.account-v3 .dashboard-sidebar {
  padding: 22px 16px 18px;
  border-color: var(--account-line);
  background: radial-gradient(circle at 50% 0, rgba(124,58,237,.13), transparent 30%), #09060d;
  box-shadow: 18px 0 70px rgba(0,0,0,.2);
}
.account-v3 .dash-brand { min-height: 58px; padding: 0 8px 20px; }
.account-v3 .dash-brand img { width: 50px; height: 50px; border-radius: 16px; }
.account-v3 .dash-brand b { font-size: 16px; letter-spacing: 2.2px; }
.account-v3 .dash-nav { gap: 8px; margin-top: 20px; }
.account-v3 .dash-nav a { min-width: 0; height: 48px; padding: 0 13px; border-radius: 14px; }
.account-v3 .dash-nav a b { overflow: hidden; color: inherit; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.account-v3 .dash-nav a span { flex: 0 0 30px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.025); }
.account-v3 .dash-nav a.active { box-shadow: inset -3px 0 #b45cff, 0 10px 30px rgba(95,36,144,.08); }
.account-v3 .dashboard-main { width: 100%; max-width: 1560px; margin-inline: auto; box-sizing: border-box; }
.account-v3 .dash-hero { min-height: 235px; }
.account-v3 .hero-copy { max-width: 720px; }
.account-v3 .hero-copy p { max-width: 590px; line-height: 2; }
.hero-quick-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.hero-quick-actions a { min-height: 40px; padding: 0 16px; display: inline-grid; place-items: center; border: 1px solid rgba(187,113,255,.2); border-radius: 12px; color: #e9dbf5; background: rgba(151,66,218,.08); font-size: 10px; font-weight: 750; transition: .2s ease; }
.hero-quick-actions a:first-child { color: #fff; border-color: rgba(190,114,255,.3); background: linear-gradient(135deg, #782ed2, #5f35c8); box-shadow: 0 12px 32px rgba(108,45,194,.18); }
.hero-quick-actions a:hover { transform: translateY(-2px); border-color: rgba(205,151,255,.5); }
.account-v3 section[id] { scroll-margin-top: 24px; }
.account-v3 .stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.account-v3 .stat-card { min-width: 0; }
.account-v3 .dashboard-panel { border-color: var(--account-line); background: linear-gradient(145deg, rgba(16,11,21,.98), rgba(8,6,11,.99)); }
.account-v3 .sidebar-status { padding: 14px; }
.account-v3 .sidebar-logout { flex: 0 0 42px; }
.dns-manual-form { display: grid; grid-template-columns: minmax(160px,.8fr) minmax(200px,1fr) auto; gap: 10px; margin: 14px 0 4px; padding: 14px; border: 1px solid rgba(185,107,255,.16); border-radius: 16px; background: rgba(122,52,182,.045); }
.dns-manual-form label { display: grid; gap: 6px; min-width: 0; }
.dns-manual-form label span { color: #8f8299; font-size: 10px; }
.dns-manual-form input { width: 100%; height: 43px; box-sizing: border-box; padding: 0 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; outline: 0; color: #f3eaff; background: #0d0911; font: inherit; font-size: 12px; }
.dns-manual-form input:focus { border-color: rgba(181,92,255,.55); box-shadow: 0 0 0 3px rgba(154,75,220,.09); }
.dns-manual-form button { align-self: end; min-width: 144px; height: 43px; border: 1px solid rgba(205,143,255,.32); border-radius: 11px; color: #fff; background: linear-gradient(135deg,#7c3aed,#5b21b6); cursor: pointer; font: inherit; font-size: 10px; font-weight: 750; }
.dns-manual-form button:disabled { opacity: .55; cursor: wait; }
.dns-capacity { color: #817489; font-size: 10px; }

@media (max-width: 1280px) {
  .account-v3 .dashboard-shell { grid-template-columns: 88px minmax(0,1fr); }
  .account-v3 .dashboard-sidebar { padding-inline: 10px; }
  .account-v3 .dash-brand { justify-content: center; padding-inline: 0; }
  .account-v3 .dash-brand span, .account-v3 .sidebar-status span, .account-v3 .sidebar-logout { display: none; }
  .account-v3 .dash-nav a { justify-content: center; padding: 0; }
  .account-v3 .dash-nav a b { display: none; }
  .account-v3 .dash-nav a span { flex-basis: 34px; width: 34px; height: 34px; font-size: 18px; }
  .account-v3 .sidebar-status { justify-content: center; padding: 15px 0; }
  .account-v3 .stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .account-v3 .dashboard-shell { display: block; }
  .account-v3 .dashboard-sidebar { position: fixed; inset: auto 10px max(10px, env(safe-area-inset-bottom)); width: auto; height: 68px; padding: 7px; border: 1px solid rgba(203,146,255,.17); border-radius: 21px; background: rgba(10,6,15,.93); backdrop-filter: blur(22px); box-shadow: 0 18px 60px rgba(0,0,0,.62); flex-direction: row; z-index: 90; }
  .account-v3 .dash-brand, .account-v3 .sidebar-status, .account-v3 .sidebar-logout { display: none; }
  .account-v3 .dash-nav { width: 100%; height: 100%; margin: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; }
  .account-v3 .dash-nav a { width: 100%; height: 54px; min-width: 0; display: grid; place-items: center; gap: 0; border-radius: 15px; box-shadow: none; }
  .account-v3 .dash-nav a b { display: none; }
  .account-v3 .dash-nav a span { width: 34px; height: 34px; flex-basis: 34px; font-size: 17px; background: transparent; }
  .account-v3 .dash-nav a.active { box-shadow: none; background: linear-gradient(145deg,rgba(139,62,216,.3),rgba(83,39,127,.17)); }
  .account-v3 .dashboard-main { padding: 18px 13px calc(104px + env(safe-area-inset-bottom)); }
  .account-v3 .dashboard-topbar { min-height: 54px; margin-bottom: 14px; align-items: center; }
  .account-v3 .dashboard-topbar h1 { max-width: 210px; font-size: 17px; line-height: 1.55; }
  .account-v3 .dash-hero { min-height: 330px; padding: 24px 20px; }
  .account-v3 .hero-copy h2 { font-size: 25px; line-height: 1.55; letter-spacing: -.8px; }
  .account-v3 .hero-copy p { max-width: 260px; font-size: 10px; }
  .account-v3 .signal-orbit { opacity: .45; }
  .account-v3 .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .account-v3 .stat-card { min-height: 112px; padding: 13px; }
  .account-v3 .stat-card:last-child { grid-column: 1/-1; }
  .account-v3 .panel-head { display: grid; gap: 12px; }
  .account-v3 .download-mini { width: fit-content; font-size: 9px; }
  .dns-manual-form { grid-template-columns: 1fr; padding: 12px; }
  .dns-manual-form button { width: 100%; }
}
@media (max-width: 390px) {
  .account-v3 .dashboard-main { padding-inline: 10px; }
  .account-v3 .dashboard-sidebar { inset-inline: 7px; }
  .account-v3 .dash-nav { gap: 2px; }
  .account-v3 .stat-grid { grid-template-columns: 1fr; }
  .account-v3 .stat-card:last-child { grid-column: auto; }
  .account-v3 .account-chip { max-width: 120px; }
  .account-v3 .dashboard-topbar h1 { max-width: 170px; }
}

/* DNS device IP refresh: public ISP addresses can change without warning. */
.dns-device-list article { grid-template-columns: 40px minmax(0,1fr) auto auto auto; }
.update-dns { border: 0; background: transparent; color: #c8a8ff; cursor: pointer; white-space: nowrap; }
@media (max-width:650px) {
  .dns-device-list article { grid-template-columns: 38px minmax(0,1fr) auto auto; }
  .dns-device-list article em { display: none; }
  .update-dns { font-size: 10px; }
}

/* Infrastructure observability */
.monitor-body { --mon-bg:#08050c; --mon-panel:#0e0913; --mon-line:rgba(206,145,255,.13); --mon-muted:#887b91; min-height:100vh; color:#f7f1fb; background:radial-gradient(circle at 75% -10%,rgba(106,36,172,.2),transparent 35%),#07040a; }
.monitor-ambient { position:fixed; inset:0; overflow:hidden; pointer-events:none; }
.monitor-ambient::after { content:""; position:absolute; inset:0; opacity:.17; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,#000,transparent 80%); }
.monitor-ambient i { position:absolute; width:420px; aspect-ratio:1; border-radius:50%; filter:blur(100px); opacity:.12; }
.monitor-ambient i:nth-child(1){right:16%;top:-240px;background:#9d45ff}.monitor-ambient i:nth-child(2){left:-180px;top:42%;background:#4530c7}.monitor-ambient i:nth-child(3){right:44%;bottom:-280px;background:#c845ff}
.monitor-shell { position:relative; z-index:1; grid-template-columns:250px minmax(0,1fr); max-width:1920px; min-height:100vh; margin:auto; }
.monitor-sidebar { background:rgba(8,5,11,.88); border-left:1px solid var(--mon-line); backdrop-filter:blur(24px); }
.monitor-nav a { min-height:47px; }
.monitor-nav a.active { color:#fff; border-color:rgba(178,85,255,.32); background:linear-gradient(100deg,rgba(133,44,209,.25),rgba(112,46,175,.05)); box-shadow:inset -3px 0 #b55bff,0 12px 35px rgba(82,23,134,.12); }
.monitor-side-health { margin-top:auto; padding:14px; display:flex; align-items:center; gap:10px; border:1px solid rgba(94,236,175,.13); border-radius:15px; background:rgba(24,74,57,.08); direction:ltr; }
.monitor-side-health>i { width:9px; height:9px; border-radius:50%; background:#54e6a6; box-shadow:0 0 15px #54e6a6; animation:monitorPulse 1.8s infinite; }
.monitor-side-health div { display:grid; gap:3px; }.monitor-side-health b{font-size:10px}.monitor-side-health small{color:#7e7187;font-size:8px}
.monitor-main { min-width:0; padding:26px clamp(18px,2.3vw,42px) 60px; }
.monitor-topbar { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.monitor-topbar p,.monitor-panel header span,.fleet-head>div>span { margin:0 0 5px; color:#ad62ef; font-size:9px; font-weight:800; letter-spacing:2px; direction:ltr; }
.monitor-topbar h1 { margin:0; font-size:clamp(23px,2.2vw,34px); letter-spacing:-1px; }.monitor-topbar>div>span{color:var(--mon-muted);font-size:10px}
.monitor-actions { display:flex; align-items:end; gap:9px; }.monitor-actions label{display:grid;gap:5px;color:#766a7e;font-size:8px}.monitor-actions select,.monitor-actions button{height:43px;border:1px solid var(--mon-line);border-radius:13px;outline:0;color:#eadff1;background:rgba(19,12,25,.86);font:inherit;font-size:10px}.monitor-actions select{min-width:110px;padding:0 12px}.monitor-actions button{padding:0 16px;display:flex;align-items:center;gap:8px;cursor:pointer}.monitor-actions button:hover{border-color:rgba(187,95,255,.45);background:rgba(112,41,166,.16)}.monitor-actions button.loading i{animation:monitorSpin .8s linear infinite}
.monitor-status-strip { min-height:54px; padding:0 17px; margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(208,153,255,.1); border-radius:17px; background:linear-gradient(90deg,rgba(131,46,203,.07),rgba(12,8,16,.75)); }
.live-signal,.status-clock{display:flex;align-items:center;gap:10px}.live-signal>i{width:8px;height:8px;border-radius:50%;background:#5de8aa;box-shadow:0 0 18px #5de8aa;animation:monitorPulse 1.8s infinite}.live-signal span,.status-clock{display:grid;gap:2px}.live-signal b{font-size:9px;letter-spacing:1px}.live-signal small,.status-clock span{color:#776b7e;font-size:8px}.status-clock{text-align:left}.status-clock b{font:700 13px monospace;color:#c9afd9}
.monitor-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.monitor-kpi { position:relative; min-height:112px; padding:17px; overflow:hidden; display:flex; align-items:center; gap:14px; border:1px solid var(--mon-line); border-radius:19px; background:linear-gradient(145deg,rgba(18,11,24,.98),rgba(10,7,13,.97)); }
.monitor-kpi .kpi-icon { position:relative; z-index:1; flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(193,124,255,.2); border-radius:13px; color:#c17aff; background:rgba(126,51,184,.1); font-size:16px; }.monitor-kpi>div{display:grid;gap:3px;min-width:0}.monitor-kpi small{color:#8c7d95;font-size:9px}.monitor-kpi strong{font-size:22px;line-height:1.2;white-space:nowrap}.monitor-kpi p{margin:0;color:#675d6e;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-kpi .kpi-glow{position:absolute;left:-40px;bottom:-55px;width:130px;aspect-ratio:1;border-radius:50%;background:#7b2cc1;filter:blur(55px);opacity:.13}.kpi-online .kpi-icon{color:#5ce4aa;border-color:rgba(92,228,170,.2);background:rgba(36,126,89,.1)}.kpi-alert .kpi-icon{color:#ffbf68;border-color:rgba(255,191,104,.2);background:rgba(155,92,26,.1)}
.monitor-grid-top { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr); gap:14px; margin-bottom:24px; }
.monitor-panel { min-width:0; border:1px solid var(--mon-line); border-radius:22px; background:linear-gradient(145deg,rgba(15,9,20,.97),rgba(9,6,12,.98)); box-shadow:0 24px 70px rgba(0,0,0,.17); }
.monitor-panel>header { min-height:70px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid rgba(255,255,255,.045); }.monitor-panel header h2{margin:0;font-size:15px}.monitor-panel header b{padding:7px 10px;display:flex;align-items:center;gap:7px;border:1px solid rgba(82,227,165,.16);border-radius:20px;color:#7eeab9;background:rgba(42,135,95,.07);font-size:8px}.monitor-panel header b>i{width:6px;height:6px;border-radius:50%;background:#58e9a9;box-shadow:0 0 10px #58e9a9}.monitor-panel header b.degraded{color:#ffae73;border-color:rgba(255,144,89,.18);background:rgba(142,60,29,.08)}.monitor-panel header b.degraded>i{background:#ff8b63;box-shadow:0 0 10px #ff8b63}
.monitor-topology { min-height:245px; padding:23px; display:grid; grid-template-columns:minmax(145px,1fr) minmax(80px,.45fr) minmax(145px,1fr) minmax(80px,.45fr) minmax(145px,1fr); align-items:center; direction:ltr; }
.topology-lane{display:grid;gap:8px}.topology-node{min-width:0;padding:11px;display:flex;align-items:center;gap:9px;border:1px solid rgba(184,114,236,.14);border-radius:14px;background:rgba(18,11,23,.9);direction:ltr}.topology-node>span{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;border-radius:11px;color:#d3a2ff;background:linear-gradient(145deg,#43205f,#24112f);font-size:9px;font-weight:800}.topology-node>div{min-width:0;display:grid;gap:3px}.topology-node b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.topology-node small{overflow:hidden;color:#766b7d;font-size:7px;text-overflow:ellipsis}.topology-node em{margin-left:auto;color:#6be6ac;font-size:7px;font-style:normal}.topology-node.offline{opacity:.54;border-color:rgba(255,95,115,.16)}.topology-node.offline em{color:#ff6a7e}.topology-path{display:flex;align-items:center;gap:4px;color:#66586e}.topology-path i{height:1px;flex:1;background:linear-gradient(90deg,rgba(160,73,224,.15),#a348e0);position:relative}.topology-path i:last-child{background:linear-gradient(90deg,#a348e0,rgba(160,73,224,.15))}.topology-path b{font-size:6px;white-space:nowrap}.topology-bypass,.topology-empty{padding:10px;text-align:center;color:#655b6b;border:1px dashed rgba(255,255,255,.07);border-radius:12px;font-size:7px}
.alert-panel{overflow:hidden}.monitor-alert-list{height:245px;padding:12px;box-sizing:border-box;overflow:auto;scrollbar-width:thin;scrollbar-color:#552374 transparent}.monitor-alert{padding:11px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.045)}.monitor-alert>i{width:7px;height:7px;border-radius:50%;background:#ffb05f;box-shadow:0 0 10px rgba(255,176,95,.55)}.monitor-alert.critical>i{background:#ff5d79}.monitor-alert>div{display:grid;gap:3px}.monitor-alert b{font-size:9px}.monitor-alert small{overflow:hidden;color:#756979;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.monitor-alert>span{color:#625868;font-size:7px}.all-clear{height:100%;display:grid;place-content:center;place-items:center;gap:7px;text-align:center}.all-clear span{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(82,232,169,.18);border-radius:50%;color:#62e5ad;background:rgba(47,137,99,.08)}.all-clear b{font-size:10px}.all-clear small{color:#706576;font-size:8px}
.fleet-head { margin:0 2px 13px; display:flex;align-items:end;justify-content:space-between;gap:20px}.fleet-head h2{margin:0 0 4px;font-size:20px}.fleet-head p{margin:0;color:#756a7b;font-size:9px}.fleet-legend{display:flex;gap:13px}.fleet-legend span{display:flex;align-items:center;gap:5px;color:#7c7182;font-size:8px}.fleet-legend i,.capacity-state i{width:6px;height:6px;border-radius:50%}.fleet-legend i.online,.capacity-state.online i{background:#53e3a5}.fleet-legend i.warning,.capacity-state.warning i{background:#ffb15f}.fleet-legend i.offline,.capacity-state.offline i{background:#ff5f78}
.monitor-node-grid { min-height:240px; display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.monitor-node-grid>.monitor-loader{grid-column:1/-1}.server-observer{min-width:0;padding:17px;border:1px solid var(--mon-line);border-radius:22px;background:linear-gradient(150deg,rgba(18,11,24,.98),rgba(9,6,12,.99));transition:.25s ease}.server-observer:hover{transform:translateY(-3px);border-color:rgba(185,99,255,.3);box-shadow:0 24px 70px rgba(0,0,0,.26)}.server-observer.warning{border-color:rgba(255,173,93,.23)}.server-observer.offline{border-color:rgba(255,91,119,.17)}.server-observer>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.server-identity{display:flex;align-items:center;gap:10px;min-width:0}.server-identity>span{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(191,105,255,.2);border-radius:13px;color:#d4a1ff;background:linear-gradient(145deg,#36154c,#1b0d24);font-size:10px;font-weight:850}.server-identity>div{min-width:0}.server-identity small{color:#a150e1;font-size:7px;letter-spacing:1px}.server-identity h3{margin:2px 0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-identity p{margin:0;color:#6c6171;font:7px monospace}.server-state{display:flex;align-items:center;gap:5px;color:#61dfaa;font-size:7px}.server-state i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor}.warning .server-state{color:#ffb15f}.offline .server-state{color:#ff617b}.server-primary-metrics{margin:18px 0 15px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.radial-stat{--value:0;aspect-ratio:1;max-width:82px;margin:auto;width:100%;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#9f50e8 calc(var(--value)*1%),rgba(255,255,255,.045) 0);position:relative}.radial-stat::before{content:"";position:absolute;inset:5px;border-radius:50%;background:#100a15}.radial-stat.memory{background:conic-gradient(#5d7cf0 calc(var(--value)*1%),rgba(255,255,255,.045) 0)}.radial-stat.disk{background:conic-gradient(#52d5a0 calc(var(--value)*1%),rgba(255,255,255,.045) 0)}.radial-stat span{position:relative;display:grid;place-items:center;gap:2px}.radial-stat b{font-size:11px}.radial-stat small{color:#6d6273;font-size:6px}.server-throughput{padding:11px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border:1px solid rgba(255,255,255,.045);border-radius:14px;background:rgba(255,255,255,.012)}.server-throughput>div{min-width:0;display:grid;gap:4px}.server-throughput span{color:#706577;font-size:6px}.server-throughput b{font-size:8px;white-space:nowrap}.server-chart{height:54px;margin-top:10px;position:relative;border-bottom:1px solid rgba(255,255,255,.04)}.server-chart svg{width:100%;height:44px;overflow:visible}.server-chart>span{position:absolute;right:0;top:2px;color:#64576d;font-size:5px;letter-spacing:1px}.server-meta{margin:10px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.server-meta span{display:grid;gap:3px}.server-meta small{color:#695e70;font-size:6px}.server-meta b{font-size:8px}.service-row{min-height:22px;display:flex;flex-wrap:wrap;gap:5px}.service-row span{padding:5px 7px;display:flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.05);border-radius:12px;color:#817487;font-size:6px}.service-row i{width:4px;height:4px;border-radius:50%;background:#53dfaa}.service-row .inactive i{background:#ff657e}.server-observer>footer{margin-top:12px;padding-top:10px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.04);color:#6a5d71;font-size:6px}.server-observer>footer span{color:#ac6bdb;direction:ltr}
.capacity-panel{margin-top:14px;overflow:hidden}.capacity-panel>header small{color:#6f6376;font-size:7px;letter-spacing:1px}.capacity-table{padding:6px 17px 17px}.capacity-row{min-height:54px;display:grid;grid-template-columns:1.4fr repeat(3,1fr) .9fr .8fr;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.04);font-size:8px}.capacity-header{min-height:38px;color:#655b6b;font-size:7px}.capacity-row>span{min-width:0;position:relative}.capacity-row>span:first-child{display:grid;gap:2px}.capacity-row>span:first-child b{font-size:9px}.capacity-row>span:first-child small{color:#655b69;font-size:6px}.capacity-row>span:nth-child(2),.capacity-row>span:nth-child(3),.capacity-row>span:nth-child(4){height:20px;display:flex;align-items:center;gap:7px}.capacity-row>span>i[style]{height:4px;flex:1;max-width:90px;border-radius:5px;background:linear-gradient(90deg,#7936b9 var(--w),rgba(255,255,255,.05) var(--w))}.capacity-state{display:flex;align-items:center;gap:5px}.capacity-state.online{color:#66dfa9}.capacity-state.warning{color:#ffb15f}.capacity-state.offline{color:#ff627c}
.monitor-loader{min-height:180px;display:grid;place-content:center;place-items:center;gap:10px;color:#776a80;font-size:9px}.monitor-loader.compact{min-height:100px}.monitor-loader i{width:28px;height:28px;border:2px solid rgba(164,85,218,.15);border-top-color:#a44fdf;border-radius:50%;animation:monitorSpin .8s linear infinite}
@keyframes monitorSpin{to{transform:rotate(360deg)}}@keyframes monitorPulse{50%{opacity:.35;transform:scale(.75)}}
@media (prefers-reduced-motion:reduce){.monitor-body *{animation:none!important;transition:none!important}}
@media(max-width:1350px){.monitor-shell{grid-template-columns:88px minmax(0,1fr)}.monitor-sidebar{padding-inline:10px}.monitor-sidebar .dash-brand span,.monitor-sidebar .admin-nav-label,.monitor-sidebar .dash-nav b,.monitor-sidebar .monitor-side-health div,.monitor-sidebar .sidebar-logout{display:none}.monitor-sidebar .dash-brand,.monitor-sidebar .dash-nav a,.monitor-side-health{justify-content:center}.monitor-sidebar .dash-nav a{padding:0}.monitor-sidebar .dash-nav a span{margin:0}.monitor-side-health{padding:15px 0}.monitor-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.monitor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-grid-top{grid-template-columns:1fr}.monitor-node-grid{grid-template-columns:1fr}.monitor-topology{min-height:210px}.capacity-row{grid-template-columns:1.3fr repeat(3,1fr) .9fr}.capacity-row>span:nth-child(5){display:none}}
@media(max-width:720px){.monitor-shell{display:block}.monitor-sidebar{position:fixed;inset:auto 9px max(9px,env(safe-area-inset-bottom));width:auto;height:66px;padding:6px;z-index:100;display:block;border:1px solid var(--mon-line);border-radius:21px;background:rgba(9,5,12,.94);backdrop-filter:blur(22px)}.monitor-sidebar .dash-brand,.monitor-sidebar .admin-nav-label,.monitor-side-health,.monitor-sidebar .sidebar-logout{display:none}.monitor-sidebar .dash-nav{height:100%;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.monitor-sidebar .dash-nav a{min-height:0;height:54px;border-radius:15px}.monitor-sidebar .dash-nav a span{width:34px;height:34px;display:grid;place-items:center}.monitor-main{padding:16px 11px calc(96px + env(safe-area-inset-bottom))}.monitor-topbar{align-items:flex-start}.monitor-topbar>div>span{display:none}.monitor-topbar h1{font-size:21px}.monitor-actions label{display:none}.monitor-actions button{width:43px;padding:0;justify-content:center}.monitor-actions button span{display:none}.monitor-status-strip{padding-inline:12px}.monitor-kpis{gap:8px}.monitor-kpi{min-height:96px;padding:12px;gap:9px}.monitor-kpi .kpi-icon{flex-basis:35px;width:35px;height:35px}.monitor-kpi strong{font-size:17px}.monitor-topology{padding:15px;display:flex;overflow:auto;gap:8px}.topology-lane{min-width:135px}.topology-path{min-width:52px}.fleet-head{align-items:start}.fleet-legend{display:none}.server-observer{padding:14px}.capacity-table{padding:5px 11px 12px;overflow:auto}.capacity-row{min-width:650px}.monitor-panel{border-radius:18px}}
@media(max-width:430px){.monitor-kpis{grid-template-columns:1fr 1fr}.monitor-kpi{display:grid;align-content:center}.monitor-kpi .kpi-icon{display:none}.monitor-kpi p{font-size:7px}.status-clock{display:none}.server-throughput{gap:4px}.server-throughput b{font-size:7px}}

/* Cross-browser responsive hardening */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
img, svg, video, canvas { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
.dashboard-shell > *, .dashboard-main > *, .dashboard-panel > *, .admin-panel-head > *, .panel-head > * { min-width: 0; }
.dashboard-sidebar,.admin-topbar,.admin-modal-backdrop,.monitor-sidebar { -webkit-backdrop-filter: blur(20px); }
.dash-hero::after,.approval-grid,.admin-command-hero::before,.monitor-ambient::after { -webkit-mask-image: linear-gradient(90deg,transparent,#000 55%,transparent); }
.admin-modal-card { max-height: calc(100vh - 40px); max-height: min(850px,calc(100svh - 40px)); }
.route-editor { position:fixed; inset:0; z-index:130; display:grid; place-items:center; padding:18px; opacity:0; visibility:hidden; transition:.2s ease; }
.route-editor.open { opacity:1; visibility:visible; }
.route-editor-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(3,2,5,.78); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); cursor:default; }
.route-editor-card { position:relative; z-index:1; width:min(620px,100%); max-height:calc(100vh - 36px); overflow:auto; padding:0; border:1px solid rgba(205,124,255,.18); border-radius:24px; color:#f5ecfa; background:linear-gradient(145deg,#160d1d,#0b080f); box-shadow:0 35px 120px #000b; font-family:Dana,Arial,sans-serif; transform:translateY(12px); transition:.2s ease; }
.route-editor.open .route-editor-card { transform:none; }
.route-editor-card header { padding:19px 21px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(255,255,255,.06); }
.route-editor-card header span { color:#8f55ae; font:700 7px Arial; letter-spacing:1px; }
.route-editor-card h3 { margin:4px 0 0; font-size:15px; }
.route-editor-close { width:35px; height:35px; flex:0 0 35px; border:1px solid rgba(255,255,255,.08); border-radius:11px; color:#b5a5bd; background:#1c1421; cursor:pointer; font-size:19px; }
.route-editor-grid { padding:20px 21px 12px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.route-editor-grid label { display:grid; gap:6px; color:#817487; font-size:8px; }
.route-editor-grid input { width:100%; min-width:0; height:43px; padding:0 11px; border:1px solid rgba(255,255,255,.08); border-radius:11px; outline:0; color:#f3eafb; background:#120d16; font:inherit; }
.route-editor-grid input:focus { border-color:rgba(190,88,255,.48); box-shadow:0 0 0 3px rgba(170,66,231,.07); }
.route-editor-card>p { margin:0 21px; padding:11px; border-radius:11px; color:#776a7e; background:rgba(134,50,185,.055); font-size:8px; line-height:1.9; }
.route-editor-card footer { padding:16px 21px 20px; display:flex; justify-content:flex-end; gap:8px; }
.route-editor-card footer button { min-width:110px; height:40px; border:1px solid rgba(255,255,255,.08); border-radius:11px; color:#a99ab0; background:#18111d; cursor:pointer; font:700 8px Dana; }
.route-editor-card footer .route-editor-save { color:#fff; border-color:rgba(206,137,255,.2); background:linear-gradient(100deg,#7931b6,#a746e3); }
.server-route-tags { min-height:25px; margin-top:10px; display:flex; flex-wrap:wrap; gap:5px; }
.server-route-tags span { max-width:100%; padding:5px 7px; display:inline-flex; align-items:center; gap:5px; overflow:hidden; border:1px solid rgba(182,91,242,.1); border-radius:9px; color:#b79ac9; background:rgba(112,42,151,.05); font-size:6px; text-overflow:ellipsis; white-space:nowrap; }

/* Readability pass for the customer dashboard, admin and monitoring views. */
.dashboard-body, .admin-body, .monitor-body { font-size: 15px; }
.dash-nav a { font-size: 14px; }
.dashboard-topbar p, .panel-head p, .admin-hero p { font-size: 12px; }
.stat-card small, .stat-card p, .device-info small, .security-row small { font-size: 11px; }
.device-info b, .security-row b, .route-card-copy p, .route-card-foot { font-size: 13px; }
.monitor-kpi small, .monitor-kpi p, .monitor-panel header b, .fleet-head p { font-size: 11px; }
.server-identity small, .server-state, .server-throughput span, .server-meta small,
.service-row span, .server-observer > footer, .capacity-row, .capacity-header { font-size: 10px; }
.server-identity h3, .monitor-alert b, .topology-node b { font-size: 14px; }
.server-identity p, .server-throughput b, .server-meta b, .capacity-row > span:first-child b { font-size: 11px; }
.topology-node small, .topology-node em, .monitor-alert small, .monitor-alert > span { font-size: 10px; }
.route-order-up, .route-order-down { min-width: 36px; font-size: 18px !important; }

/* Admin control center: larger type, clearer hierarchy and roomier controls. */
.admin-v2 .dashboard-main { font-size: 16px; }
.admin-v2 .dash-brand b { font-size: 19px; }
.admin-v2 .dash-brand small, .admin-nav-label { font-size: 10px; }
.admin-v2 .admin-nav a { min-height: 54px; font-size: 14px; }
.admin-v2 .admin-nav a span { font-size: 20px; }
.admin-v2 .admin-nav a em { font-size: 10px; padding: 4px 8px; }
.admin-topbar h1 { font-size: 27px; }
.admin-topbar p { font-size: 12px; }
.command-copy h2 { font-size: clamp(32px, 3vw, 44px); }
.command-copy > p, .admin-hero p { font-size: 13px; line-height: 2; }
.admin-kpi small { font-size: 11px; }
.admin-kpi strong { font-size: 29px; }
.admin-kpi p { font-size: 10px; }
.insight-head span, .version-row span, .recent-user small { font-size: 10px; }
.insight-head h3 { font-size: 18px; }
.health-legend span, .version-row b, .recent-user b { font-size: 12px; }
.panel-head h2, .admin-panel-head h2 { font-size: 22px; }
.panel-head p, .admin-panel-head p { font-size: 12px; line-height: 2; }
.section-kicker, .route-form-head span, .route-catalog-head span { font-size: 10px; }
.route-form-head h3, .route-catalog-head h3 { font-size: 19px; }
.route-form-head p { font-size: 11px; }
.route-form label:not(.route-mode-switch label), .route-form legend { font-size: 11px; }
.route-form input, .admin-filter, .admin-search input { height: 46px; font-size: 12px; }
.route-submit, .primary-action, .ghost-action { min-height: 46px; font-size: 12px; }
.route-card { padding: 17px; }
.route-card-copy b { font-size: 14px; }
.route-card-copy small, .route-progress, .route-error, .route-state { font-size: 10px; }
.route-card-foot span, .route-card-foot button { font-size: 10px; }
.users-table th { font-size: 11px; padding-block: 14px; }
.users-table td { font-size: 12px; padding-block: 17px; }
.user-cell b, .metric-cell { font-size: 13px; }
.user-cell small, .admin-users-table td > small, .date-cell { font-size: 10px; }
.table-actions button, .table-actions select, .admin-pagination button, .admin-pagination span { font-size: 10px; }
.release-platform header b, .product-card header b { font-size: 15px; }
.release-platform header small, .release-platform label, .product-card label,
.dns-admin-form label, .release-schedule label { font-size: 11px; }
.release-platform input, .product-card input, .dns-admin-form input,
.release-schedule input { min-height: 44px; font-size: 12px; }
.audit-item b, .payment-item b { font-size: 13px; }
.audit-item small, .payment-item small { font-size: 10px; }

@media(max-width:760px) {
  .admin-topbar h1 { font-size: 20px; }
  .command-copy h2 { font-size: 31px; }
  .panel-head h2, .admin-panel-head h2 { font-size: 19px; }
  .admin-kpi strong { font-size: 24px; }
}
.server-route-tags i { color:#805495; font:normal 6px Arial; direction:ltr; }
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))) {
  .dashboard-sidebar,.admin-topbar,.admin-modal-backdrop,.monitor-sidebar { background-color:#0d0812; }
}
@media (hover:none) and (pointer:coarse) {
  .dash-nav a,.route-card-foot button,.icon-action,.ghost-action { min-height:42px; }
  .server-observer:hover,.route-card:hover,.primary-action:hover { transform:none; }
}
@media(max-width:760px){
  .admin-v2 .admin-nav { display:flex; grid-template-columns:none; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scrollbar-width:none; }
  .admin-v2 .admin-nav::-webkit-scrollbar { display:none; }
  .admin-v2 .admin-nav a { flex:1 0 56px; min-width:56px; }
  .admin-top-actions { gap:6px; }
  .admin-topbar { min-width:0; }
  .admin-topbar>div:first-child { min-width:0; }
  .admin-topbar h1 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dashboard-panel { padding:16px 13px; border-radius:18px; }
  .route-card-copy small { overflow-wrap:anywhere; white-space:normal; }
  .route-editor { padding:8px; }
  .route-editor-card { max-height:calc(100vh - 16px); border-radius:19px; }
  .route-editor-grid { grid-template-columns:1fr; padding:15px 14px 10px; }
  .route-editor-card>p { margin-inline:14px; }
  .route-editor-card footer { padding:14px; }
}
@media(max-width:420px){
  .auth-shell { width:min(100% - 20px,440px); }
  .auth-card { padding-inline:17px; border-radius:21px; }
  .admin-main,.account-v3 .dashboard-main,.monitor-main { padding-inline:9px; }
  .admin-kpi { min-width:0; padding:12px; }
  .admin-kpi p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .route-card { padding:11px; }
  .route-editor-card footer { display:grid; grid-template-columns:1fr 1fr; }
  .route-editor-card footer button { min-width:0; width:100%; }
}
@media(max-width:340px){
  .admin-kpi-grid,.monitor-kpis,.stat-grid,.account-v3 .stat-grid { grid-template-columns:1fr; }
  .admin-kpi,.monitor-kpi { min-height:96px; }
  .admin-command-hero { padding:20px 17px; }
  .command-copy h2 { font-size:24px; }
}

/* Server profile policy and destructive user action */
.table-actions .danger { color:#ff9cac; border-color:rgba(255,91,119,.2); background:rgba(255,72,105,.06); }
.table-actions .danger:hover { color:#ffdce2; border-color:rgba(255,91,119,.45); background:rgba(255,72,105,.12); }
.user-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.delete-user-v2{height:30px;padding:0 10px;border:1px solid rgba(255,91,119,.18);border-radius:9px;color:#ff9cac;background:rgba(255,72,105,.055);cursor:pointer;font:700 7px Dana;transition:.18s}
.delete-user-v2:hover{color:#fff;border-color:rgba(255,91,119,.48);background:rgba(255,72,105,.16);box-shadow:0 0 18px rgba(255,72,105,.08)}
.delete-account-user{grid-column:1/-1;height:40px;border:1px solid rgba(255,74,103,.2);border-radius:11px;color:#ff9cac;background:linear-gradient(90deg,rgba(255,58,91,.05),rgba(255,58,91,.11));cursor:pointer;font:700 8px Dana;transition:.2s}
.delete-account-user:hover{color:#fff;border-color:rgba(255,74,103,.5);background:rgba(255,58,91,.16)}
.route-profile-fieldset { min-width:0; margin:0; padding:15px; border:1px solid rgba(183,91,245,.13); border-radius:16px; background:rgba(113,42,151,.025); }
.route-editor-card > .route-profile-fieldset { margin:8px 21px 0; }
.route-profile-fieldset legend { padding:0 8px; color:#c9b3d6; font-size:9px; }
.route-profile-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.route-profile-toolbar p { margin:0; color:#786882; font-size:8px; line-height:1.8; }
.route-profile-toolbar>div { display:flex; gap:6px; flex:0 0 auto; }
.route-profile-toolbar button { min-height:30px; padding:0 10px; border:1px solid rgba(190,91,255,.14); border-radius:9px; color:#bfa6ce; background:#1a1020; cursor:pointer; font:inherit; font-size:7px; }
.route-profile-picker { display:grid; gap:13px; }
.route-profile-picker section { min-width:0; }
.route-profile-picker h4 { margin:0 0 7px; color:#9e55cd; font:700 7px Arial; letter-spacing:1.4px; }
.route-profile-picker section>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.route-profile-picker label { min-width:0; cursor:pointer; }
.route-profile-picker input { position:absolute; opacity:0; pointer-events:none; }
.route-profile-picker label span { min-height:34px; padding:7px 8px; display:flex; align-items:center; gap:7px; overflow:hidden; border:1px solid rgba(255,255,255,.065); border-radius:10px; color:#87788f; background:#151019; font-size:7px; white-space:nowrap; text-overflow:ellipsis; transition:border-color .16s,background .16s,color .16s,transform .16s; }
.route-profile-picker label span i { width:16px; height:16px; display:grid; place-items:center; flex:0 0 auto; border-radius:5px; color:transparent; background:#211727; font:700 8px Arial; }
.route-profile-picker input:checked+span { color:#e6d7ed; border-color:rgba(183,73,255,.3); background:rgba(134,45,184,.11); }
.route-profile-picker input:checked+span i { color:#fff; background:linear-gradient(135deg,#8530c6,#b94eff); }
.route-profile-picker label:hover span { transform:translateY(-1px); border-color:rgba(196,111,255,.28); }
.route-profile-summary { margin-top:9px; display:flex; align-items:center; gap:6px; color:#76667f; font-size:7px; }

/* Release readability pass: admin and live-monitor text stays compact, but is
   now legible on 1080p/1440p displays and browser zoom levels. */
.admin-main .dash-nav a,.monitor-main .dash-nav a{font-size:13px}
.admin-main .panel-head p,.admin-main .admin-hero p{font-size:12px}
.admin-main .users-table th{font-size:10px}
.admin-main .users-table td{font-size:11px}
.admin-main .user-cell b{font-size:12px}
.admin-main .user-cell small{font-size:10px}
.admin-main .table-actions button,.admin-main .table-actions select{font-size:10px}
.admin-main .route-editor-grid label,.admin-main .route-editor-card>p{font-size:10px}
.admin-main .route-profile-picker label span,.admin-main .route-profile-summary{font-size:9px}
.monitor-main .fleet-head p{font-size:11px}
.monitor-main .server-identity small,.monitor-main .server-state{font-size:9px}
.monitor-main .server-identity h3{font-size:15px}
.monitor-main .server-identity p{font-size:9px}
.monitor-main .server-throughput span,.monitor-main .server-meta small{font-size:8px}
.monitor-main .server-throughput b,.monitor-main .server-meta b{font-size:10px}
.monitor-main .service-row span,.monitor-main .server-observer>footer{font-size:8px}
.monitor-main .capacity-row{font-size:10px}
.monitor-main .capacity-row>span:first-child b{font-size:11px}
.monitor-main .capacity-row>span:first-child small{font-size:8px}
.account-v3 .panel-head p,.account-v3 .hero-copy p{font-size:12px}
.account-v3 .device-info b{font-size:13px}
.account-v3 .device-info small,.account-v3 .device-state{font-size:10px}
.account-v3 .stat-card small{font-size:10px}
.account-v3 .stat-card p{font-size:9px}
.account-v3 .plan-line p,.account-v3 .plan-panel>small{font-size:10px}
.account-v3 .security-row b{font-size:11px}
.account-v3 .security-row small{font-size:9px}
.route-profile-summary b { color:#d8b8e9; font:700 9px Arial; }
.route-profile-summary em { margin-right:auto; padding:4px 7px; border-radius:7px; color:#69dca0; background:rgba(71,211,141,.06); font-style:normal; }
.route-profile-summary em.warning { color:#eab56b; background:rgba(234,181,107,.06); }
@media(max-width:760px){.route-profile-toolbar{align-items:flex-start;flex-direction:column}.route-profile-picker section>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.route-profile-picker section>div{grid-template-columns:1fr}.route-profile-toolbar>div{width:100%}.route-profile-toolbar button{flex:1}}

/* Final admin legibility layer; kept last so legacy compact rules cannot win. */
.admin-v2 .dashboard-main { font-size:16px; }
.admin-v2 .dash-nav a { font-size:14px; }
.admin-v2 .panel-head h2 { font-size:23px; }
.admin-v2 .panel-head p { font-size:13px; line-height:2; }
.admin-v2 .admin-kpi small,.admin-v2 .admin-kpi p { font-size:12px; }
.admin-v2 .insight-head span,.admin-v2 .version-row span,.admin-v2 .recent-user small { font-size:11px; }
.admin-v2 .health-legend span,.admin-v2 .version-row b,.admin-v2 .recent-user b { font-size:13px; }
.admin-v2 .route-form-head span,.admin-v2 .route-catalog-head span,.admin-v2 .section-kicker { font-size:11px; }
.admin-v2 .route-form-head h3,.admin-v2 .route-catalog-head h3 { font-size:19px; }
.admin-v2 .route-form-head p,.admin-v2 .route-form label:not(.route-mode-switch label),.admin-v2 .route-form legend { font-size:12px; }
.admin-v2 .route-card-copy b { font-size:15px; }
.admin-v2 .route-card-copy small,.admin-v2 .route-progress,.admin-v2 .route-error,.admin-v2 .route-state { font-size:11px; }
.admin-v2 .route-card-foot span,.admin-v2 .route-card-foot button { font-size:11px; }
.admin-v2 .route-profile-fieldset legend,.admin-v2 .route-profile-toolbar p { font-size:11px; }
.admin-v2 .route-profile-toolbar button,.admin-v2 .route-profile-picker h4 { font-size:10px; }
.admin-v2 .route-profile-picker label span,.admin-v2 .route-profile-summary { min-height:40px; font-size:11px; }
.admin-v2 .users-table th { font-size:12px; }
.admin-v2 .users-table td { font-size:13px; }
.admin-v2 .user-cell b,.admin-v2 .metric-cell { font-size:14px; }
.admin-v2 .user-cell small,.admin-v2 .admin-users-table td>small,.admin-v2 .date-cell { font-size:11px; }
.admin-v2 .table-actions button,.admin-v2 .table-actions select,.admin-v2 .admin-pagination button,.admin-v2 .admin-pagination span { font-size:11px; }
.admin-v2 .release-platform label,.admin-v2 .product-card label,.admin-v2 .dns-admin-form label,.admin-v2 .release-schedule label { font-size:12px; }
.admin-v2 .audit-item b,.admin-v2 .payment-item b { font-size:14px; }
.admin-v2 .audit-item small,.admin-v2 .payment-item small { font-size:11px; }

/* Route error cards and DNS devices: stable RTL/LTR alignment at every width. */
.admin-v2 .route-card-main {
  grid-template-columns:42px minmax(0,1fr) auto auto;
  grid-template-areas:"badge copy kind state";
}
.admin-v2 .route-badge { grid-area:badge; }
.admin-v2 .route-card-copy { grid-area:copy; }
.admin-v2 .route-kind { grid-area:kind; }
.admin-v2 .route-state { grid-area:state; justify-self:end; white-space:nowrap; }
.admin-v2 .route-error {
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:start;
  gap:8px;
  padding:10px 12px;
  overflow:hidden;
  text-align:start;
  border:1px solid rgba(255,96,114,.08);
}
.admin-v2 .route-error i {
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  color:#ff9cab;
  background:rgba(255,96,114,.09);
  font:700 11px Arial;
}
.admin-v2 .route-error span { min-width:0; overflow-wrap:anywhere; unicode-bidi:plaintext; }
.admin-v2 .route-card-foot { flex-wrap:wrap; row-gap:8px; }
.admin-v2 .route-card-foot>span { min-width:130px; flex:1 1 150px; }
.admin-v2 .route-card-foot button { flex:0 0 auto; white-space:nowrap; }

.account-v3 .dns-device-list article {
  grid-template-columns:40px minmax(0,1fr) auto minmax(150px,auto);
  gap:12px;
}
.account-v3 .dns-device-list article>div:not(.dns-device-actions) { min-width:0; }
.account-v3 .dns-device-list article small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-v3 .dns-device-actions {
  min-width:0;
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.account-v3 .dns-device-actions button {
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:#17111d;
  font:700 11px Dana,Arial,sans-serif;
  white-space:nowrap;
}
.account-v3 .dns-device-actions .update-dns { color:#c8a8ff; border-color:rgba(181,125,255,.18); }
.account-v3 .dns-device-actions .revoke-dns { color:#ff8798; border-color:rgba(255,96,114,.16); }

@media(max-width:650px) {
  .admin-v2 .route-card-main {
    grid-template-columns:38px minmax(0,1fr) auto;
    grid-template-areas:"badge copy state" ". kind kind";
    align-items:center;
  }
  .admin-v2 .route-error { grid-template-columns:20px minmax(0,1fr); padding:9px; }
  .admin-v2 .route-card-foot>span { width:100%; flex-basis:100%; order:-1; }
  .account-v3 .dns-device-list article {
    grid-template-columns:38px minmax(0,1fr) auto;
    padding:12px;
  }
  .account-v3 .dns-device-actions {
    grid-column:1/-1;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .account-v3 .dns-device-actions button { width:100%; min-height:40px; }
}

@media(max-width:390px) {
  .admin-v2 .route-state { font-size:10px; padding-inline:7px; }
  .admin-v2 .route-card-foot button { min-height:38px; flex:1 1 auto; }
  .account-v3 .dns-device-list article em { display:none; }
  .account-v3 .dns-device-list article { grid-template-columns:34px minmax(0,1fr); }
}

/* Account mobile stabilization: keep every dashboard surface inside the viewport. */
@media(max-width:760px) {
  html, body.account-v3 { width:100%; max-width:100%; overflow-x:hidden; }
  .account-v3, .account-v3 * { box-sizing:border-box; }
  .account-v3 .dashboard-shell,
  .account-v3 .dashboard-main,
  .account-v3 .dashboard-main > * { width:100%; min-width:0; max-width:100%; }
  .account-v3 .dashboard-main { padding:14px 10px calc(98px + env(safe-area-inset-bottom)); overflow:hidden; }
  .account-v3 .dashboard-topbar {
    display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
    gap:8px; min-height:52px; margin-bottom:12px;
  }
  .account-v3 .dashboard-topbar > div:first-child { min-width:0; }
  .account-v3 .dashboard-topbar h1 { max-width:none; font-size:16px; line-height:1.55; overflow-wrap:anywhere; }
  .account-v3 .account-chip { min-width:0; max-width:43vw; padding:8px 9px; }
  .account-v3 .account-chip div { min-width:0; }
  .account-v3 .account-chip b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .account-v3 .dash-hero {
    min-height:340px; padding:22px 17px 160px; align-items:flex-start;
    border-radius:21px;
  }
  .account-v3 .hero-copy { width:100%; max-width:none; position:relative; z-index:2; }
  .account-v3 .hero-copy h2 { font-size:clamp(23px,7vw,29px); line-height:1.48; overflow-wrap:anywhere; }
  .account-v3 .hero-copy p { max-width:100%; font-size:12px; line-height:1.9; }
  .account-v3 .hero-quick-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
  .account-v3 .hero-quick-actions a { min-width:0; padding-inline:8px; text-align:center; white-space:normal; }
  .account-v3 .signal-orbit { width:165px; height:165px; left:50%; bottom:-18px; transform:translateX(-50%); }
  .account-v3 .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .account-v3 .stat-card { min-width:0; min-height:112px; padding:13px 11px; gap:9px; }
  .account-v3 .stat-card > div { min-width:0; }
  .account-v3 .stat-card strong,
  .account-v3 .stat-card p { max-width:100%; overflow-wrap:anywhere; }
  .account-v3 .dashboard-panel { width:100%; padding:17px 12px; border-radius:18px; overflow:hidden; }
  .account-v3 .panel-head,
  .account-v3 .plan-line,
  .account-v3 .dns-devices-head { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  .account-v3 .panel-head > *,
  .account-v3 .plan-line > *,
  .account-v3 .dns-devices-head > * { min-width:0; }
  .account-v3 .panel-head p { max-width:100%; font-size:11px; line-height:1.8; overflow-wrap:anywhere; }
  .account-v3 .secure-badge,
  .account-v3 .plan-badge { justify-self:start; }
  .account-v3 .device-item { grid-template-columns:40px minmax(0,1fr); gap:9px; padding:11px; }
  .account-v3 .device-item > * { min-width:0; }
  .account-v3 .device-state { grid-column:2; }
  .account-v3 .device-revoke { grid-column:1/-1; grid-row:auto; width:100%; min-height:40px; }
  .account-v3 .usage-layout { grid-template-columns:1fr; gap:18px; padding-inline:0; }
  .account-v3 .usage-orbit { width:145px; height:145px; margin-inline:auto; }
  .account-v3 .usage-detail { grid-template-columns:1fr; gap:9px; }
  .account-v3 .usage-track { grid-column:auto; }
  .account-v3 .dns-addresses,
  .account-v3 .dns-steps,
  .account-v3 .dns-manual-form,
  .account-v3 .subscription-grid { grid-template-columns:minmax(0,1fr); }
  .account-v3 .dns-address { width:100%; min-width:0; padding:14px; }
  .account-v3 .dns-address b { max-width:100%; font-size:16px; overflow-wrap:anywhere; word-break:break-all; }
  .account-v3 .dns-locked { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; padding:15px; }
  .account-v3 .dns-locked > span { width:44px; height:44px; }
  .account-v3 .dns-locked a { grid-column:1/-1; width:100%; text-align:center; }
  .account-v3 .dns-device-list article { grid-template-columns:34px minmax(0,1fr); gap:9px; padding:11px; }
  .account-v3 .dns-device-list article em { grid-column:2; justify-self:start; }
  .account-v3 .dns-device-actions { grid-column:1/-1; width:100%; display:grid !important; grid-template-columns:1fr 1fr; }
  .account-v3 .dns-device-actions button { width:100%; min-width:0; min-height:42px; }
  .account-v3 input,
  .account-v3 select,
  .account-v3 textarea { width:100%; min-width:0; font-size:16px; }
  .account-v3 .account-upgrade-actions { display:grid; grid-template-columns:1fr; }
  .account-v3 .account-upgrade-actions button { width:100%; }
  .account-v3 .dashboard-sidebar {
    inset-inline:7px; bottom:max(7px,env(safe-area-inset-bottom)); height:64px;
    max-width:calc(100vw - 14px); padding:5px; overflow:hidden;
  }
  .account-v3 .dash-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; width:100%; min-width:0; }
  .account-v3 .dash-nav a { width:100%; min-width:0; height:52px; padding:0; }
  .account-v3 .dash-nav a span { font-size:16px; }
  .account-v3 .dash-footer { flex-wrap:wrap; gap:5px; padding-inline:3px; }
  .account-v3 .dash-toast { left:10px; right:10px; bottom:calc(82px + env(safe-area-inset-bottom)); max-width:none; }
}

@media(max-width:420px) {
  .account-v3 .dashboard-topbar { grid-template-columns:1fr; }
  .account-v3 .account-chip { max-width:100%; justify-self:start; }
  .account-v3 .stat-grid { grid-template-columns:1fr; }
  .account-v3 .hero-quick-actions { grid-template-columns:1fr; }
  .account-v3 .dash-hero { min-height:390px; padding-bottom:155px; }
}

/* Admin DNS automatic provisioning */
.dns-provision-form {
  position:relative; margin-top:22px; padding:24px; overflow:hidden;
  border:1px solid rgba(147,72,255,.28); border-radius:22px;
  background:linear-gradient(135deg,rgba(94,32,154,.16),rgba(20,16,27,.92) 55%,rgba(29,164,124,.08));
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 18px 45px rgba(0,0,0,.2);
}
.dns-provision-form::before {
  content:""; position:absolute; width:260px; height:260px; inset:-150px auto auto -90px;
  border-radius:50%; background:rgba(151,71,255,.16); filter:blur(40px); pointer-events:none;
}
.dns-provision-head { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.dns-provision-head > div { min-width:0; }
.dns-provision-head span { color:#b98aff; font-size:12px; font-weight:900; letter-spacing:.16em; }
.dns-provision-head h3 { margin:7px 0 5px; color:#fff; font-size:21px; line-height:1.55; }
.dns-provision-head p { max-width:760px; margin:0; color:#aaa1b4; font-size:14px; line-height:1.9; }
.dns-provision-head > i { display:grid; flex:0 0 50px; width:50px; height:50px; place-items:center; border:1px solid rgba(175,111,255,.35); border-radius:16px; color:#c49bff; background:rgba(129,55,218,.16); font-size:28px; font-style:normal; }
.dns-secret-note { position:relative; display:flex; align-items:center; gap:12px; margin:20px 0; padding:13px 15px; border:1px solid rgba(48,204,154,.2); border-radius:14px; background:rgba(35,160,121,.07); }
.dns-secret-note b { flex:0 0 auto; color:#74e4bb; font-size:13px; }
.dns-secret-note span { color:#a8a0ae; font-size:12px; line-height:1.8; }
.dns-provision-grid { position:relative; display:grid; grid-template-columns:2fr .8fr 1fr 1.5fr; gap:12px; }
.dns-provision-grid label { display:grid; gap:8px; min-width:0; color:#cfc6d7; font-size:13px; font-weight:700; }
.dns-provision-grid input { width:100%; min-width:0; height:48px; padding:0 13px; border:1px solid rgba(255,255,255,.1); border-radius:13px; outline:0; color:#fff; background:rgba(10,8,14,.62); font:inherit; transition:.2s ease; }
.dns-provision-grid input:focus { border-color:#9d5cff; box-shadow:0 0 0 3px rgba(141,71,238,.13); }
.dns-private-key-field { position:relative; display:grid; gap:8px; margin-top:14px; color:#cfc6d7; font-size:13px; font-weight:700; }
.dns-private-key-field textarea { width:100%; min-height:112px; resize:vertical; padding:12px 13px; border:1px solid rgba(255,255,255,.1); border-radius:13px; outline:0; color:#fff; background:rgba(10,8,14,.62); font:12px/1.65 monospace; }
.dns-private-key-field textarea:focus { border-color:#9d5cff; box-shadow:0 0 0 3px rgba(141,71,238,.13); }
.dns-clear-secondary { position:relative; display:flex; align-items:center; gap:11px; width:max-content; max-width:100%; margin:17px 0; cursor:pointer; }
.dns-clear-secondary input { width:18px; height:18px; accent-color:#914be9; }
.dns-clear-secondary span { display:grid; gap:2px; }
.dns-clear-secondary b { color:#e5dcea; font-size:13px; }
.dns-clear-secondary small { color:#8f8796; font-size:11px; line-height:1.65; }
.dns-provision-submit { position:relative; width:auto; min-width:250px; }
.dns-provision-status { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; margin-top:18px; padding:16px; border:1px solid rgba(157,92,255,.25); border-radius:16px; background:rgba(8,7,11,.48); }
.dns-provision-status[hidden] { display:none; }
.dns-provision-status-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; color:#b57cff; background:rgba(148,73,246,.14); font-style:normal; }
.dns-provision-status h3 { margin:0 0 4px; color:#f3ecf7; font-size:15px; }
.dns-provision-status p { margin:0; color:#aaa1b0; font-size:12px; line-height:1.75; }
.dns-provision-status pre { max-height:120px; margin:12px 0 0; padding:10px; overflow:auto; direction:ltr; border-radius:10px; color:#ffabb7; background:rgba(110,25,42,.2); font:11px/1.7 monospace; white-space:pre-wrap; }
.dns-provision-progress { height:4px; margin-top:13px; overflow:hidden; border-radius:5px; background:rgba(255,255,255,.07); }
.dns-provision-progress i { display:block; width:42%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7d35dc,#c184ff); }
.dns-provision-status.provisioning .dns-provision-progress i { animation:dnsProvisionMove 1.25s ease-in-out infinite alternate; }
.dns-provision-status.complete { border-color:rgba(54,213,158,.3); }
.dns-provision-status.complete .dns-provision-status-icon { color:#66e1b3; background:rgba(32,178,126,.14); }
.dns-provision-status.complete .dns-provision-progress i { width:100%; background:#42d39e; }
.dns-provision-status.error { border-color:rgba(244,83,109,.3); }
.dns-provision-status.error .dns-provision-status-icon { color:#ff8497; background:rgba(208,43,72,.14); }
.dns-provision-status.error .dns-provision-progress i { width:100%; background:#e54d67; }
@keyframes dnsProvisionMove { from { transform:translateX(-10%); } to { transform:translateX(150%); } }

@media(max-width:900px) {
  .dns-provision-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
  .dns-provision-form { padding:18px 13px; border-radius:18px; }
  .dns-provision-head > i { display:none; }
  .dns-provision-head h3 { font-size:18px; }
  .dns-provision-head p { font-size:12px; }
  .dns-secret-note { display:grid; gap:4px; }
  .dns-provision-grid { grid-template-columns:minmax(0,1fr); }
  .dns-provision-grid input { font-size:16px; }
  .dns-provision-submit { width:100%; min-width:0; }
}
