:root {
  color-scheme: dark;
  --bg: #0b101a;
  --panel: rgba(25, 29, 38, .72);
  --panel-strong: rgba(31, 36, 47, .88);
  --ink: #e8edf5;
  --muted: #8994a6;
  --lime: #9fc7ff;
  --orange: #cba7f7;
  --blue: #9ee6c2;
  --line: rgba(207, 222, 245, .12);
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Consolas, monospace;
}
body {
  color: var(--ink);
  font-family: var(--sans);
  background:
    radial-gradient(ellipse at 76% -15%, rgba(101, 130, 183, .2), transparent 45%),
    radial-gradient(ellipse at 30% 100%, rgba(82, 105, 148, .1), transparent 45%),
    var(--bg);
}
main { view-transition-name: site-main; }
::view-transition-group(site-main) { animation-duration: .48s; animation-timing-function: cubic-bezier(.2,.8,.2,1); }
::view-transition-old(site-main) { animation: site-route-out .48s cubic-bezier(.2,.8,.2,1) both; }
::view-transition-new(site-main) { animation: site-route-in .48s cubic-bezier(.2,.8,.2,1) both; }
@keyframes site-route-out { to { opacity: .3; transform: translateX(-48px); filter: blur(9px); } }
@keyframes site-route-in { from { opacity: .25; transform: translateX(-48px); filter: blur(9px); } to { opacity: 1; transform: translateX(0); filter: blur(0); } }
.topbar { justify-content: flex-start; gap: 20px; background: rgba(15, 18, 24, .78); border-bottom-color: var(--line); backdrop-filter: blur(30px) saturate(145%); }
.main-nav.content-tabs { flex: 0 0 auto; width: max-content; justify-content: flex-start; margin-left: 16px; }
.header-account {
  min-width: 198px; max-width: 258px; min-height: 58px; margin-left: auto; padding: 8px 12px;
  display: grid; grid-template-columns: 32px minmax(0,1fr); grid-template-rows: 1fr 1fr; align-content: center; gap: 3px 9px;
  color: var(--ink); text-align: left; border: 1px solid rgba(205,220,242,.14); border-radius: 13px;
  background: linear-gradient(140deg, rgba(151,191,249,.12), rgba(255,255,255,.035));
  box-shadow: inset 0 1px rgba(255,255,255,.04); transition: border-color .2s, background .2s, transform .2s;
}
.header-account:hover { border-color: rgba(159,199,255,.36); background: linear-gradient(140deg, rgba(151,191,249,.18), rgba(255,255,255,.055)); transform: translateY(-1px); }
.header-account-main { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; grid-column: 2; grid-row: 1; }
.header-account-avatar { width: 32px; height: 100%; min-height: 38px; flex: 0 0 32px; grid-column: 1; grid-row: 1 / span 2; align-self: stretch; display: grid; place-items: center; border: 1px solid rgba(173,205,248,.2); border-radius: 10px; color: #c5dcff; background: rgba(151,191,249,.12); }
.header-account-avatar svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.header-account-identity { min-width: 0; }
.header-account-identity b { overflow: hidden; color: #edf3fc; font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.header-plan-status { min-width: 0; overflow: hidden; color: #9ba8ba; font-size: 9px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.header-device-status { min-width: 0; display: flex; align-items: center; gap: 6px; grid-column: 2; grid-row: 2; }
.header-device-status small { overflow: hidden; color: #9ba8ba; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.header-device-status i { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #8994a6; box-shadow: 0 0 8px rgba(137,148,166,.35); }
.header-device-status.is-online i { background: #9ee6c2; box-shadow: 0 0 9px rgba(120,215,163,.6); }
.header-device-status.is-error i { background: #f5aa82; box-shadow: 0 0 9px rgba(245,170,130,.5); }
.header-account-arrow { grid-column: 1; grid-row: 1; justify-self: end; color: #9ba8ba; font-size: 13px; }
.header-account:not(.is-guest) .header-account-arrow { display: none; }
.header-account.is-guest { min-width: 104px; min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 8px 14px; }
.header-account.is-guest .header-account-avatar { width: 24px; height: 24px; min-height: 24px; flex-basis: 24px; grid-column: auto; grid-row: auto; border-radius: 8px; }
.header-account.is-guest .header-account-main { justify-content: center; gap: 8px; }
.header-account.is-guest .header-account-identity b { font-size: 11px; }
.header-account.is-guest .header-account-arrow { grid-row: auto; }
.hero { isolation: isolate; overflow: visible; background-attachment: fixed; }
.hero-copy, .hero-bottom { z-index: 2; }
.hero-art { z-index: 1; }
body.is-hero-art-fixed .hero::before {
  position: fixed; inset: auto; top: var(--hero-glow-top); left: var(--hero-glow-left);
  right: auto; bottom: auto; width: var(--hero-glow-width); height: var(--hero-glow-height);
}
@media (min-width: 681px) {
  body.is-hero-art-fixed .hero-art {
    position: fixed !important; top: var(--hero-art-pin-top, 150px); right: var(--hero-art-pin-right, 8%); left: auto;
    width: var(--hero-art-pin-width, min(42vw, 480px)); height: var(--hero-art-pin-height, 400px);
    max-width: none; margin: 0; z-index: 1;
  }
}
.hero::before {
  content: ""; position: absolute; z-index: 0; inset: -12% 28% 4% -12%; pointer-events: none;
  background: radial-gradient(ellipse 430px 250px at 30% 38%, rgba(255,255,255,.17), rgba(159,199,255,.12) 43%, transparent 75%);
  filter: blur(15px); animation: startup-header-pulse 4s ease-in-out infinite;
}
@keyframes startup-header-pulse {
  0%,100% { opacity: .42; transform: scale(.94); }
  50% { opacity: 1; transform: scale(1.05); }
}
.brand-mark { border-color: rgba(173, 205, 248, .28); border-radius: 9px; background: rgba(151, 191, 249, .08); }
.brand-mark span { background: var(--lime); }
.brand-image { width: 29px; height: 29px; object-fit: contain; border-radius: 8px; }
.radar-logo { width: 46px; height: 46px; object-fit: contain; border-radius: 12px; }
.main-nav.content-tabs {
  gap: 4px; padding: 4px; border: 1px solid rgba(205, 220, 242, .1);
  border-radius: 13px; background: rgba(8, 12, 18, .38);
}
.main-nav .content-tab {
  padding: 8px 13px; border: 1px solid transparent; border-radius: 9px;
  background: transparent; color: #9ba8ba; font: 11px var(--sans); white-space: nowrap;
}
.main-nav .content-tab:hover { transform: none; background: rgba(255,255,255,.05); color: #e8edf5; }
.main-nav .content-tab.active { color: #edf4ff; background: rgba(151,191,249,.15); border-color: rgba(173,205,248,.13); }
.button { border-radius: 10px; }
.button-lime { color: #101722; background: linear-gradient(145deg, rgba(159,199,255,.95), rgba(126,162,214,.95)); }
.button-lime:hover { background: linear-gradient(145deg, #b8d5ff, #91b6ed); }
.button-outline { border-color: rgba(205,220,242,.15); background: rgba(255,255,255,.035); }
.button-dark { border: 1px solid rgba(220,235,255,.18); border-radius: 10px; background: rgba(154,193,247,.14); }
.hero { background: radial-gradient(ellipse at 76% 53%, rgba(101,130,183,.2), transparent 43%); border-bottom-color: var(--line); }
.hero h1 span, .cabinet h1 span { color: var(--lime); }
.hero h1 { font-size: clamp(48px, 4.4vw, 58px); letter-spacing: -2.7px; }
.eyebrow, .section-kicker, .plan-name, .step-foot, .hero-bottom, .art-caption, .popular-tag { color: #9ba8ba; }
.live-dot { background: #9ee6c2; box-shadow: 0 0 10px rgba(120,215,163,.55); }
.orbit { border-color: rgba(159,199,255,.17); }
.orbit-two { border-color: rgba(159,199,255,.13); }
.radar-center { background: linear-gradient(145deg, rgba(48,57,73,.88), rgba(23,28,38,.9)); border-color: rgba(173,205,248,.28); box-shadow: 0 0 35px rgba(151,191,249,.14), inset 0 1px rgba(255,255,255,.05); }
.radar-sweep { background: linear-gradient(45deg, transparent 46%, rgba(159,199,255,.18) 100%); }
.radar-point { background: #9fc7ff; box-shadow: 0 0 15px rgba(159,199,255,.72); }
.point-b { background: #cba7f7; box-shadow: 0 0 15px rgba(203,167,247,.6); }
.point-c { background: #9ee6c2; box-shadow: 0 0 12px rgba(158,230,194,.55); }
.float-card { background: linear-gradient(145deg, rgba(48,57,73,.82), rgba(23,28,38,.9)); border-color: rgba(205,220,242,.14); border-radius: 12px; box-shadow: 0 12px 34px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.035); backdrop-filter: blur(18px); }
.hero-art [data-art-fade] { will-change: opacity, filter; transition: opacity .06s linear, filter .06s linear; }
.mini-icon, .source-icon { background: rgba(151,191,249,.12); color: var(--lime); border-radius: 9px; }
.source-icon { color: var(--orange); background: rgba(203,167,247,.1); }
.float-card i, .arrow, .hero-bottom b, .art-caption span { color: #9ee6c2; }
.how-section { position: relative; z-index: 2; background: linear-gradient(180deg, #11161f, #0f141d); }
.step-card, .plan-card, .panel, .privacy-band { background: linear-gradient(145deg, rgba(48,57,73,.38), rgba(23,28,38,.55)); border-color: rgba(205,220,242,.1); border-radius: 16px; box-shadow: 0 7px 24px rgba(0,0,0,.12), inset 0 1px rgba(255,255,255,.035); }
.step-symbol { border-radius: 12px; }
.symbol-lime { color: #9fc7ff; background: rgba(151,191,249,.13); }
.symbol-orange { color: #cba7f7; background: rgba(203,167,247,.11); }
.symbol-blue { color: #9ee6c2; background: rgba(105,202,164,.1); }
.plan-featured { border-color: rgba(173,205,248,.33); background: linear-gradient(145deg, rgba(49,58,74,.62), rgba(23,28,38,.66)); }
.popular-tag { background: rgba(151,191,249,.18); color: #c5dcff; border: 1px solid rgba(173,205,248,.18); border-radius: 999px; }
.plan-name, .plan-card li:before { color: var(--lime); }
.privacy-band { background: linear-gradient(145deg, rgba(48,57,73,.48), rgba(23,28,38,.6)); }
.privacy-icon, .device-icon, .empty-icon { background: rgba(151,191,249,.12); color: var(--lime); }
.footer { border-top-color: var(--line); }
.cabinet { background: radial-gradient(ellipse at 12% 0%, rgba(101,130,183,.18), transparent 38%); }
.cabinet-note { background: rgba(116,158,214,.08); border-color: rgba(137,180,250,.18); border-radius: 12px; color: #bdcde3; }
.device-row, .topic-chip, .empty-state { background: rgba(9,12,17,.25); border-color: rgba(205,220,242,.11); border-radius: 12px; }
.topic-chip { background: rgba(137,180,250,.08); border-color: rgba(137,180,250,.14); }
.source-list { border-color: rgba(205,220,242,.1); }
.source-row { border-color: rgba(205,220,242,.08); }
.favicon-purple { background: rgba(203,167,247,.12); color: #d7baff; }
.favicon-blue { background: rgba(137,180,250,.12); color: #bbd5ff; }
.favicon-green { background: rgba(127,214,177,.11); color: #a9e7ca; }
.status-offline { background: rgba(255,255,255,.035); border-color: rgba(205,220,242,.13); }
.status-offline i { background: #8994a6; }
.progress-track { background: rgba(205,220,242,.12); }
.progress-track i { background: #9fc7ff; }
.account-user .avatar { background: rgba(151,191,249,.15); color: #c5dcff; }
.panel-note, .account-foot { color: #8994a6; }
.help-panel a, .empty-state .text-button { color: #a9ccfa; }
 [data-scroll-fade] { will-change: opacity, filter, transform; transition: opacity .06s linear, filter .06s linear, transform .06s linear; }
@media (max-width: 680px) {
  body.is-hero-art-fixed .hero::before { top: var(--hero-glow-top); left: var(--hero-glow-left); width: var(--hero-glow-width); height: var(--hero-glow-height); }
  .hero-art { position: sticky; top: 130px; }
  .main-nav.content-tabs { position: absolute; left: 5%; right: 5%; top: 69px; justify-content: space-between; }
  .main-nav .content-tab { padding: 8px 9px; font-size: 9px; }
  .hero { padding-top: 84px; }
  .hero::before {
    inset: -5% -18% 45% -18%;
    background: radial-gradient(ellipse 360px 200px at 26% 38%, rgba(255,255,255,.19), rgba(159,199,255,.14) 43%, transparent 76%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero::before { animation: none; opacity: .75; }
  ::view-transition-group(site-main) { animation-duration: .01ms; }
  ::view-transition-old(site-main), ::view-transition-new(site-main) { animation-duration: .01ms; }
  [data-scroll-fade] { will-change: opacity; transition: opacity .06s linear; }
}

.auth-backdrop[hidden], [hidden] { display: none !important; }
.auth-backdrop { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(4,7,12,.74); backdrop-filter: blur(12px); }
.auth-dialog { position: relative; width: min(100%, 440px); max-height: min(90vh, 760px); overflow: auto; padding: 30px; border: 1px solid rgba(205,220,242,.16); border-radius: 20px; background: linear-gradient(145deg, #202a3a, #141b27); box-shadow: 0 24px 80px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.05); animation: auth-dialog-in .28s cubic-bezier(.2,.8,.2,1) both; }
@keyframes auth-dialog-in { from { opacity: 0; transform: translateY(14px) scale(.98); filter: blur(5px); } to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } }
.auth-close { position: absolute; top: 13px; right: 15px; width: 36px; height: 36px; border: 1px solid rgba(205,220,242,.12); border-radius: 10px; color: #a9b5c6; background: rgba(255,255,255,.035); font-size: 24px; line-height: 1; }
.auth-dialog h2 { margin: 9px 40px 7px 0; color: #edf2fa; font-size: 28px; letter-spacing: -.8px; }
.auth-dialog > p { margin: 0; color: #98a5b8; font-size: 13px; line-height: 1.6; }
.auth-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 22px 0; border: 1px solid rgba(205,220,242,.1); border-radius: 12px; background: rgba(8,12,18,.5); }
.auth-switch button { min-height: 38px; border: 1px solid transparent; border-radius: 8px; color: #98a5b8; background: transparent; font-size: 12px; }
.auth-switch button.active { border-color: rgba(173,205,248,.15); color: #eef4ff; background: rgba(151,191,249,.14); }
.auth-dialog form > label:not(.consent-row), .auth-dialog form > div > label { display: block; margin: 14px 0 7px; color: #c6cfdd; font-size: 12px; }
.auth-dialog form > div > input[type="text"] { width: 100%; height: 47px; padding: 0 13px; border: 1px solid rgba(205,220,242,.14); border-radius: 10px; outline: 0; color: #eef3fb; background: rgba(7,11,17,.45); font: 13px var(--sans); }
.auth-dialog input[type="email"], .auth-dialog input[type="password"] { width: 100%; height: 47px; padding: 0 13px; border: 1px solid rgba(205,220,242,.14); border-radius: 10px; outline: 0; color: #eef3fb; background: rgba(7,11,17,.45); font: 13px var(--sans); }
.auth-dialog input:focus { border-color: rgba(159,199,255,.6); box-shadow: 0 0 0 3px rgba(159,199,255,.1); }
.auth-hint { display: block; margin-top: 6px; color: #8290a3; font-size: 10px; }
.consent-row { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0 4px; color: #9eabbd; font-size: 11px; line-height: 1.55; }
.consent-row input { flex: 0 0 auto; width: 17px; height: 17px; margin: 1px 0 0; accent-color: #9fc7ff; }
.consent-row a { color: #b8d4fb; text-decoration: underline; text-underline-offset: 2px; }
.auth-error { margin: 14px 0 0 !important; padding: 10px 12px; border: 1px solid rgba(255,116,116,.22); border-radius: 9px; color: #ffc0c0 !important; background: rgba(128,36,46,.15); font-size: 12px !important; }
.auth-submit { width: 100%; margin-top: 18px; justify-content: space-between; }
.auth-submit:disabled { opacity: .65; cursor: wait; }
.auth-dialog > .auth-service-note { margin-top: 16px; color: #79879a; font-size: 10px; }
.auth-privacy-note { margin: 10px 0 0; color: #8f9eb2; font-size: 10px; line-height: 1.55; }
.auth-privacy-note a { color: #b8d4fb; text-decoration: underline; text-underline-offset: 2px; }
.signout-button { margin: 8px 0 0; padding: 6px 0; }
body.auth-open { overflow: hidden; }
@media(max-width:680px) { .auth-backdrop { align-items: end; padding: 9px; } .auth-dialog { width: 100%; max-height: 92dvh; padding: 25px 21px 22px; border-radius: 19px 19px 14px 14px; } .auth-dialog h2 { font-size: 25px; } }
@media(prefers-reduced-motion:reduce) { .auth-dialog { animation: none; } }

.admin { min-height: 85vh; padding: 54px 6% 76px; background: radial-gradient(ellipse at 10% 0%, rgba(101,130,183,.15), transparent 36%); }
.admin-topline { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.admin-top-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.admin-role-label { color: #a4b4ca; font-size: 10px; }
.status-pill.status-online { border-color: rgba(153,224,157,.26); color: #b4e5b8; background: rgba(79,156,91,.13); }
.status-pill.status-online i { background: #a7e4aa; }
.status-pill.status-error { border-color: rgba(255,159,108,.3); color: #ffc39f; background: rgba(173,94,54,.13); }
.status-pill.status-error i { background: #ffad80; }
.admin-role-select { min-height: 39px; padding: 0 10px; border: 1px solid rgba(205,220,242,.16); border-radius: 9px; color: #e7edf7; background: #111923; font: 11px var(--sans); }
.admin-preview-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px; padding: 12px 15px; border: 1px solid rgba(190,217,255,.15); border-radius: 12px; color: #b9c7da; background: rgba(130,166,216,.07); font-size: 11px; }
.admin-operations { display: grid; gap: 12px; margin: 18px 0; }
.ops-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.ops-metric { display: flex; min-width: 0; flex-direction: column; gap: 7px; padding: 15px; }
.ops-metric span, .ops-metric small { color: #95a3b7; font-size: 10px; }
.ops-metric b { overflow-wrap: anywhere; color: #eef4ff; font-size: clamp(18px,2.5vw,25px); }
.ops-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ops-panel { min-width: 0; padding: 17px; }
.ops-panel h2, .ops-settings h2 { margin: 6px 0 13px; font-size: 16px; }
.ops-reading-list, .ops-plan-list { display: grid; gap: 8px; }
.ops-reading-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(205,220,242,.07); color: #9aa8bb; font-size: 10px; }
.ops-reading-row b { color: #e4edf9; text-align: right; }
.ops-plan-row { display: grid; gap: 5px; padding: 10px 0; border-bottom: 1px solid rgba(205,220,242,.07); }
.ops-plan-row b { color: #e4edf9; font-size: 11px; }
.ops-plan-row small, .ops-note, .ops-settings > div:first-child p { margin: 0; color: #8b99ad; font-size: 9px; line-height: 1.5; }
.ops-settings { display: grid; gap: 16px; padding: 18px; }
.ops-settings > div:first-child h2 { margin-bottom: 5px; }
.ops-settings-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.ops-settings-grid label { display: grid; align-content: start; gap: 7px; color: #a5b2c5; font-size: 10px; }
.ops-settings-grid input[type=number] { width: 100%; min-width: 0; height: 39px; padding: 0 10px; border: 1px solid rgba(205,220,242,.14); border-radius: 8px; outline: 0; color: #eef3fb; background: rgba(7,11,17,.45); font: 12px var(--sans); }
.ops-toggle { grid-template-columns: auto 1fr !important; align-items: center; align-content: center !important; padding-top: 21px; }
.ops-settings-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: #9fb0c4; font-size: 10px; }
.ops-settings-footer .button { min-height: 38px; font-size: 10px; }
.admin-topline h1 { margin: 14px 0 7px; font-size: clamp(34px, 5vw, 48px); letter-spacing: -2px; }
.admin-topline h1 span { color: var(--lime); }
.admin-topline p { margin: 0; color: #98a5b8; font-size: 13px; }
.admin-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 27px 0 16px; }
.admin-stat { min-height: 86px; display: flex; flex-direction: column; justify-content: space-between; padding: 17px 19px; }
.admin-stat span { color: #9ba8ba; font-size: 11px; }
.admin-stat b { color: #eef4ff; font-size: 25px; }
.admin-layout { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.5fr); align-items: start; gap: 14px; }
.admin-directory, .admin-user-detail { min-width: 0; }
.admin-directory .panel-heading { margin-bottom: 13px; }
.admin-search-label { display: block; margin-bottom: 7px; color: #99a6b8; font-size: 10px; }
.admin-search { width: 100%; height: 42px; padding: 0 12px; border: 1px solid rgba(205,220,242,.13); border-radius: 9px; outline: none; color: #eef3fb; background: rgba(7,11,17,.42); font: 12px var(--sans); }
.admin-search:focus { border-color: rgba(159,199,255,.55); box-shadow: 0 0 0 3px rgba(159,199,255,.08); }
.admin-user-list { display: grid; gap: 7px; margin-top: 12px; }
.admin-user-row { display: flex; flex-direction: column; gap: 9px; width: 100%; padding: 12px; border: 1px solid rgba(205,220,242,.09); border-radius: 10px; text-align: left; color: #e7edf7; background: rgba(8,12,18,.27); }
.admin-user-row:hover, .admin-user-row:focus-visible { border-color: rgba(159,199,255,.35); background: rgba(159,199,255,.06); }
.admin-user-row-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.admin-user-row-heading > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.admin-user-row-heading b { overflow-wrap: anywhere; font-size: 12px; }
.admin-user-row-heading small { overflow-wrap: anywhere; color: #8e9bad; font-size: 10px; }
.admin-state { flex: 0 0 auto; padding: 5px 8px; border: 1px solid rgba(158,230,194,.18); border-radius: 30px; color: #a6e0c1; background: rgba(89,189,140,.07); font-size: 9px; }
.admin-state.banned { border-color: rgba(255,133,146,.23); color: #ffadb7; background: rgba(190,65,81,.1); }
.admin-row-quota { color: #8d9aae; font-size: 9px; line-height: 1.45; }
.admin-list-empty, .admin-loading { padding: 22px 8px; color: #8e9bad; text-align: center; font-size: 12px; }
.admin-more { width: 100%; min-height: 39px; margin-top: 10px; font-size: 11px; }
.admin-detail-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.admin-detail-top h2 { margin: 6px 0 0; overflow-wrap: anywhere; font-size: 19px; }
.admin-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.admin-detail-stat { display: flex; min-width: 0; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid rgba(205,220,242,.09); border-radius: 10px; background: rgba(8,12,18,.25); }
.admin-detail-stat span { color: #8997aa; font-size: 9px; }
.admin-detail-stat b { overflow-wrap: anywhere; color: #dce5f3; font-size: 11px; font-weight: 550; }
.admin-action-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.admin-action-row .button { min-height: 39px; font-size: 10px; }
.admin-subscription-controls { margin-top: 15px; padding: 16px; border: 1px solid rgba(205,220,242,.1); border-radius: 12px; background: linear-gradient(145deg,rgba(31,38,50,.48),rgba(15,20,28,.48)); }
.admin-subscription-controls h3 { margin: 5px 0 12px; color: #e3ebf7; font-size: 13px; }
.admin-subscription-controls form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: end; }
.admin-subscription-controls label { display: grid; gap: 6px; min-width: 0; color: #9eabc0; font-size: 9px; }
.admin-subscription-controls input,.admin-subscription-controls select { width: 100%; min-width: 0; height: 37px; padding: 0 9px; border: 1px solid rgba(205,220,242,.12); border-radius: 8px; color: #dfe8f6; background: rgba(7,11,17,.58); font: inherit; font-size: 10px; }
.admin-subscription-controls .admin-subscription-reason { grid-column: 1/-1; }
.admin-subscription-controls .button { min-height: 38px; font-size: 10px; }
.admin-subscription-controls [role=status] { color: #ffb4b4; font-size: 9px; }
.admin-danger { border: 1px solid rgba(255,133,146,.2); color: #ffbac1; background: rgba(190,65,81,.12); }
.admin-danger:hover { background: rgba(190,65,81,.2); }
.admin-reset-result { display: flex; flex-direction: column; gap: 7px; margin-top: 14px; padding: 13px; border: 1px solid rgba(244,208,111,.2); border-radius: 10px; background: rgba(244,208,111,.06); }
.admin-reset-result b { color: #eee2b5; font-size: 11px; }
.admin-reset-result span { color: #b4aa83; font-size: 10px; line-height: 1.5; }
.admin-reset-result input { width: 100%; height: 36px; padding: 0 9px; border: 1px solid rgba(205,220,242,.12); border-radius: 7px; color: #d8e4f5; background: rgba(5,8,12,.55); font: 10px var(--mono); }
.admin-reset-result a { color: #c5dcff; font-size: 11px; text-decoration: underline; text-underline-offset: 2px; }
.admin-record-tools { margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(205,220,242,.1); }
.admin-record-buttons { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.admin-record-buttons .button { min-height: 34px; padding: 0 10px; font-size: 9px; }
.admin-record-buttons .button:disabled { opacity: .42; cursor: default; }
.admin-record-tools pre { max-height: 360px; overflow: auto; margin: 10px 0 0; padding: 12px; border-radius: 9px; color: #a9bbd3; background: rgba(5,8,12,.6); font: 10px/1.5 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-raw-data { margin-top: 16px; border-top: 1px solid rgba(205,220,242,.1); padding-top: 14px; }
.admin-raw-data summary { color: #aab7ca; cursor: pointer; font-size: 11px; }
.admin-raw-data pre { max-height: 460px; overflow: auto; margin: 12px 0 0; padding: 12px; border-radius: 9px; color: #a9bbd3; background: rgba(5,8,12,.6); font: 10px/1.5 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.reset-page { display: grid; min-height: calc(100vh - 76px); place-items: center; padding: 28px 18px; }
.reset-card { width: min(100%, 460px); padding: 27px; }
.reset-card h1 { margin: 9px 0; font-size: 26px; letter-spacing: -.7px; }
.reset-card > p { margin: 0 0 18px; color: #98a5b8; font-size: 12px; }
.reset-card label { display: block; margin: 14px 0 7px; color: #c6cfdd; font-size: 12px; }
.reset-card input[type="password"] { width: 100%; height: 45px; padding: 0 12px; border: 1px solid rgba(205,220,242,.14); border-radius: 9px; outline: 0; color: #eef3fb; background: rgba(7,11,17,.45); font: 13px var(--sans); }
.reset-card input:focus { border-color: rgba(159,199,255,.6); box-shadow: 0 0 0 3px rgba(159,199,255,.1); }
.reset-submit { width: 100%; margin-top: 19px; justify-content: space-between; }
.reset-submit:disabled { opacity: .65; cursor: wait; }
.reset-message { margin: 12px 0 0; color: #ffbac1; font-size: 11px; line-height: 1.55; }
.reset-message.success { color: #a6e0c1; }
@media(max-width:900px) { .admin-layout { grid-template-columns: 1fr; } }
@media(max-width:900px) { .ops-settings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .ops-metrics { grid-template-columns: 1fr 1fr; } .ops-grid, .ops-settings-grid { grid-template-columns: 1fr; } .ops-panel, .ops-settings { padding: 14px; } .ops-toggle { padding-top: 0; } }
@media(max-width:680px) { .admin { padding: 38px 16px 54px; } .admin-topline { align-items: flex-start; flex-direction: column; } .admin-topline h1 { font-size: 33px; } .admin-top-actions { justify-content: flex-start; } .admin-top-actions .button { min-height: 39px; padding: 0 10px; font-size: 10px; } .admin-preview-banner { align-items: flex-start; flex-direction: column; } .admin-role-select { flex: 1 1 100%; } .admin-summary { gap: 7px; } .admin-stat { min-height: 76px; padding: 12px; } .admin-stat span { font-size: 9px; } .admin-stat b { font-size: 21px; } .admin-detail-grid { grid-template-columns: 1fr 1fr; } .admin-subscription-controls form { grid-template-columns: 1fr; } .admin-subscription-controls .admin-subscription-reason { grid-column: auto; } .reset-page { min-height: calc(100vh - 112px); } .reset-card { padding: 21px; } }

.topic-catalog-panel{margin:0 0 24px;padding:22px}.topic-catalog-panel>.panel-heading{align-items:flex-start}.topic-catalog-panel>.panel-heading p{max-width:620px;color:#87958c;font-size:10px;line-height:1.6;margin:8px 0}.topic-catalog-editor{display:grid;gap:10px}.catalog-category{border:1px solid #34463c;background:#17231e;padding:14px}.catalog-category>summary{font-size:12px;font-weight:700;cursor:pointer}.catalog-category-fields{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid #2b3a33}.catalog-field{display:grid;gap:6px;color:#9ba99f;font-size:9px}.catalog-field input,.catalog-field textarea{width:100%;min-width:0;background:#111a16;border:1px solid #34453b;color:#dce5dc;padding:10px;font:10px var(--mono);outline:none}.catalog-field input:focus,.catalog-field textarea:focus{border-color:var(--lime)}.catalog-field textarea{min-height:105px;resize:vertical;line-height:1.6}.catalog-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0}.catalog-topic{border:1px solid #2c3c34;background:#1b2922;padding:12px}.catalog-topic-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px}.catalog-topic-fields{display:grid;gap:9px}.catalog-remove{white-space:nowrap}.topic-catalog-panel .ops-settings-footer{margin-top:15px}
@media(max-width:760px){.topic-catalog-panel{padding:16px}.topic-catalog-panel>.panel-heading{gap:12px;flex-wrap:wrap}.catalog-category-fields{grid-template-columns:1fr 1fr}.catalog-category-fields .catalog-field:nth-child(3){grid-column:1/-1}.catalog-topics{grid-template-columns:1fr}}
.admin-sections{display:flex;gap:8px;overflow-x:auto;margin:18px 0 22px;padding-bottom:4px;border-bottom:1px solid #2b3c34}.admin-section-tab{flex:0 0 auto;border:1px solid #314339;background:#17231e;color:#aab8ad;padding:11px 15px;font:600 10px var(--mono);cursor:pointer}.admin-section-tab.active{color:#d4f58f;border-color:#9ebc65;background:#273629}.admin-section-view{animation:adminSectionIn .24s ease both}@keyframes adminSectionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.topic-catalog-panel,.plan-constructor{margin:0 0 24px;padding:22px}.topic-catalog-panel>.panel-heading,.plan-constructor>.panel-heading{align-items:flex-start}.topic-catalog-panel>.panel-heading p,.plan-constructor>.panel-heading p{max-width:620px;color:#87958c;font-size:10px;line-height:1.6;margin:8px 0}.topic-catalog-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-field{display:grid;gap:6px;color:#9ba99f;font-size:9px}.catalog-field input,.catalog-field textarea{width:100%;min-width:0;background:#111a16;border:1px solid #34453b;color:#dce5dc;padding:10px;font:10px var(--mono);outline:none}.catalog-field input:focus,.catalog-field textarea:focus{border-color:var(--lime)}.catalog-field textarea{min-height:105px;resize:vertical;line-height:1.6}.catalog-topic{border:1px solid #2c3c34;background:#1b2922;padding:14px}.catalog-topic-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px}.catalog-topic-fields{display:grid;gap:10px}.plan-catalog-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plan-editor-card{border:1px solid #2e4036;background:#17231e;padding:16px;display:grid;gap:14px}.plan-editor-head{display:flex;justify-content:space-between;align-items:center}.plan-editor-head b{font-size:15px}.plan-editor-head span{font:9px var(--mono);color:#8b998f}.plan-editor-identity{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-editor-quotas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-editor-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.plan-platform-title{font-size:10px;color:#a9b6ac}.plan-platform-option{display:flex;align-items:center;gap:8px;border:1px solid #2c3d34;background:#1c2a23;padding:9px;color:#aebbb1;font-size:9px}.plan-platform-option input{accent-color:#b8d878}.plan-editor-card input:disabled{opacity:.7}.plan-constructor .ops-settings-footer{margin-top:18px}@media(max-width:760px){.topic-catalog-panel,.plan-constructor{padding:16px}.topic-catalog-panel>.panel-heading,.plan-constructor>.panel-heading{gap:12px;flex-wrap:wrap}.topic-catalog-editor,.plan-catalog-editor{grid-template-columns:1fr}.plan-editor-identity{grid-template-columns:1fr 1fr}}

/* Admin surfaces follow the rounded glass tabs and navy panels of the main app. */
.admin-sections {
  width: fit-content; max-width: 100%; display: flex; gap: 4px; overflow-x: auto;
  padding: 4px; border: 1px solid rgba(205,220,242,.1); border-radius: 13px;
  background: rgba(8,12,18,.38); scrollbar-width: thin;
}
.admin-section-tab {
  min-height: 36px; padding: 8px 13px; border: 1px solid transparent; border-radius: 9px;
  background: transparent; color: #9ba8ba; font: 11px var(--sans); white-space: nowrap;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.admin-section-tab:hover { background: rgba(255,255,255,.05); color: #e8edf5; }
.admin-section-tab.active { color: #edf4ff; background: rgba(151,191,249,.15); border-color: rgba(173,205,248,.13); }
.admin-section-tab:focus-visible { outline: 2px solid rgba(159,199,255,.65); outline-offset: 2px; }
.catalog-topic, .plan-editor-card {
  border: 1px solid rgba(205,220,242,.1); border-radius: 14px;
  background: linear-gradient(145deg, rgba(48,57,73,.38), rgba(23,28,38,.62));
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 7px 24px rgba(0,0,0,.12);
}
.catalog-field input, .catalog-field textarea, .plan-editor-card input {
  border: 1px solid rgba(205,220,242,.13); border-radius: 9px;
  background: rgba(8,12,18,.5); color: #e8edf5;
}
.catalog-field input:focus, .catalog-field textarea:focus, .plan-editor-card input:focus {
  border-color: rgba(159,199,255,.55); box-shadow: 0 0 0 3px rgba(151,191,249,.08);
}
.plan-platform-option {
  border: 1px solid rgba(205,220,242,.1); border-radius: 9px;
  background: rgba(8,12,18,.28); color: #b8c4d5;
}
.plan-platform-option input { accent-color: #9fc7ff; }
.admin .ops-settings-footer .button-lime {
  color: #e6efff; border: 1px solid rgba(173,205,248,.2);
  background: linear-gradient(145deg, rgba(72,91,122,.58), rgba(35,45,64,.82));
}
.admin .ops-settings-footer .button-lime:hover {
  background: linear-gradient(145deg, rgba(91,114,151,.68), rgba(44,58,83,.92));
}
@media(max-width:680px) { .admin-sections { width: 100%; } .admin-section-tab { flex: 1 0 auto; padding-inline: 10px; } }
