/* VYRON Member OS — architectural shell and component system */
:root {
  color-scheme: dark;
  --p: #b7ff00;
  --p-rgb: 183, 255, 0;
  --bg: #050604;
  --g: #0d0f0c;
  --gc: #10130f;
  --gb: #252a22;
  --gh: #161a14;
  --tp: #f5f7f1;
  --ts: #858c7e;
  --td: #adb4a6;
  --tm: #dfe4da;
  --gr: #b7ff00;
  --out: #f5bb45;
  --det: #ff626c;
  --soon: #f5bb45;
  --nosub: #91978b;
  --maint: #c5cbc0;
  --fm: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: "Space Grotesk", Inter, system-ui, sans-serif;
  --mn: "JetBrains Mono", Consolas, monospace;
  --rad: 2px;
  --vx-lime: #b7ff00;
  --vx-lime-2: #d3ff66;
  --vx-ink: #050604;
  --vx-panel: #0a0c09;
  --vx-surface: #10130f;
  --vx-raised: #151914;
  --vx-line: #252a22;
  --vx-line-soft: #1a1e18;
  --vx-muted: #858c7e;
  --vx-dim: #5f665a;
  --vx-danger: #ff626c;
  --vx-warning: #f5bb45;
}

* { scrollbar-color: #3a4234 #090b08; }
html { background: var(--vx-ink); scroll-behavior: auto; }
body {
  min-width: 320px;
  background:
    linear-gradient(rgba(183,255,0,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(183,255,0,.018) 1px, transparent 1px),
    var(--vx-ink);
  background-size: 72px 72px;
  color: var(--tp);
}
body::before, body::after, .blob-bg { display: none !important; }
::selection { background: var(--vx-lime); color: #050604; }
:focus-visible { outline: 2px solid var(--vx-lime); outline-offset: 3px; }
a { color: var(--vx-lime); }
.hl { color: var(--vx-lime) !important; }
.tf, .mono { font-family: var(--mn); }

/* Authentication stays a separate, minimal VYRON gateway. */
.auth-screen {
  min-height: 100dvh;
  padding: 28px;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent 0 49.9%, rgba(183,255,0,.08) 50%, transparent 50.1%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    #050604;
  background-size: auto, 56px 56px, 56px 56px, auto;
}
.auth-screen::before {
  content: "VYRON";
  display: block !important;
  position: fixed;
  z-index: -1;
  right: -3vw;
  bottom: -5vw;
  color: rgba(255,255,255,.025);
  font: 700 clamp(100px, 24vw, 380px)/.72 var(--display);
  letter-spacing: -.1em;
}
.auth-screen::after {
  content: "MEMBER ACCESS / ENCRYPTED";
  display: block !important;
  position: fixed;
  top: 30px;
  left: 34px;
  color: var(--vx-muted);
  font: 700 9px/1 var(--mn);
  letter-spacing: .18em;
}
.auth-box { width: min(100%, 440px); max-width: 440px; padding: 0; }
.ac {
  position: relative;
  padding: 42px;
  border: 1px solid var(--vx-line);
  border-top: 3px solid var(--vx-lime);
  border-radius: 2px;
  background: #090b08;
  box-shadow: 24px 24px 0 rgba(0,0,0,.25);
  backdrop-filter: none;
}
.ac::before { display: none; }
.alogo, .sbl { color: #fff; font-family: var(--display); font-weight: 700; letter-spacing: -.04em; }
.alogo { margin-bottom: 42px; font-size: 19px; }
.alogo img, .sbl img { filter: brightness(0) saturate(100%) invert(94%) sepia(90%) saturate(2605%) hue-rotate(25deg) brightness(107%) contrast(106%); }
.ac h2 { font: 600 clamp(28px, 6vw, 38px)/1 var(--display); letter-spacing: -.05em; }
.asub { margin: 10px 0 28px; color: var(--vx-muted); line-height: 1.65; }
.af, .custom-checkbox { color: var(--vx-muted); }
.af a { color: #fff; }
.af b, .custom-checkbox label a { color: var(--vx-lime); }
.custom-checkbox input[type="checkbox"] { border-color: var(--vx-line); border-radius: 1px; background: #050604; }
.custom-checkbox input[type="checkbox"]:checked { border-color: var(--vx-lime); background: var(--vx-lime); }
.custom-checkbox input[type="checkbox"]:checked::after { color: #050604; }
.vc-stage, .vc-input { border-color: var(--vx-line); border-radius: 2px; background: #080a07; box-shadow: none; }
.vc-input:focus, .vc-input:not(:placeholder-shown) { border-color: var(--vx-lime); box-shadow: 3px 0 0 var(--vx-lime); }

/* Form and action primitives */
.ig input, .ig select, .ki, .custom-select select, textarea.ki, textarea {
  border: 1px solid var(--vx-line);
  border-radius: 2px;
  background: #080a07;
  color: #f5f7f1;
  box-shadow: none;
}
.ig input::placeholder, .ki::placeholder, textarea::placeholder { color: #596052; }
.ig i { color: #737a6d; }
.ig input:focus, .ig select:focus, .ki:focus, .custom-select select:focus, textarea:focus {
  border-color: var(--vx-lime);
  background: #0b0e09;
  box-shadow: 3px 0 0 var(--vx-lime);
  transform: none;
}
.custom-select::after { color: var(--vx-lime); }
select option { background: #090b08; }
.btn {
  border-radius: 2px;
  font-weight: 750;
  letter-spacing: -.01em;
  box-shadow: none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.btn.bp, .bp { border: 1px solid var(--vx-lime) !important; background: var(--vx-lime) !important; color: #050604 !important; }
.btn.bp:hover, .bp:hover { border-color: var(--vx-lime-2) !important; background: var(--vx-lime-2) !important; color: #050604 !important; transform: translateY(-1px); filter: none; }
.btn.bs, .bs { border: 1px solid var(--vx-line); background: #121511; color: #f5f7f1; }
.btn.bs:hover, .bs:hover { border-color: #47513e; background: #191d17; }
.btn.bd, .bd { border: 1px solid rgba(255,98,108,.38); background: rgba(255,98,108,.08); color: #ff858d; }
.btn-premium { border-color: #526b20 !important; background: #18210e !important; color: var(--vx-lime) !important; }
.btn-premium:hover { background: var(--vx-lime) !important; color: #050604 !important; }
.pb { background: var(--vx-lime); }

/* Desktop application shell: compact rail + contextual route launcher. */
.dw { min-height: 100dvh; padding: 16px 0 44px; }
.container.dg {
  width: min(1680px, calc(100% - 32px));
  max-width: none;
  padding: 0;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: start;
  gap: 22px;
}
.sb {
  position: sticky;
  z-index: 950;
  top: 16px;
  width: 82px;
  height: calc(100dvh - 32px);
  max-height: none;
  padding: 0;
  overflow: visible;
  border: 1px solid var(--vx-line);
  border-radius: 2px;
  background: #080a07;
  box-shadow: none;
  backdrop-filter: none;
}
.sb::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  left: -1px;
  height: 3px;
  background: var(--vx-lime);
}
.sb-shell { height: 100%; min-height: 0; padding: 0; display: grid; grid-template-rows: 86px minmax(0, 1fr) 82px; }
.sbh {
  min-width: 0;
  min-height: 0;
  padding: 16px 10px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  border: 0;
  border-bottom: 1px solid var(--vx-line-soft);
}
.sb-brand { min-width: 0; text-align: center; }
.sbl { margin: 0; padding: 0; display: grid; place-items: center; font-size: 0; line-height: 1; }
.sbl img { width: 32px !important; height: 32px !important; margin: 0 !important; object-fit: contain; }
.sb-brand-caption { display: block; margin-top: 9px; color: #6f7768; font: 650 6px/1 var(--mn); letter-spacing: .08em; white-space: nowrap; }
.sb-online { display: none; }
.nav-toggle { display: none; }
.sbn { min-height: 0; padding: 14px 8px; overflow: visible; display: block; }
.nav-dock { height: 100%; display: flex; flex-direction: column; align-items: stretch; gap: 7px; }
.dock-control {
  position: relative;
  min-height: 57px;
  padding: 7px 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: #697061;
  cursor: pointer;
}
.dock-control > span:last-child { font: 700 7px/1 var(--mn); letter-spacing: .04em; text-transform: uppercase; }
.dock-icon { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #1d211b; background: #0d100c; color: #7b8374; font-size: 11px; }
.dock-control:hover { border-color: var(--vx-line); color: #dce2d6; background: #0d100c; }
.dock-control.is-current::before {
  content: "";
  position: absolute;
  top: 13px;
  bottom: 13px;
  left: -9px;
  width: 3px;
  background: var(--vx-lime);
}
.dock-control.is-current { color: #f5f7f1; }
.dock-control.is-current .dock-icon { border-color: #4a641b; background: #17200d; color: var(--vx-lime); }
.dock-control.is-selected { border-color: #425b17; background: #11170c; }
.nav-launcher {
  position: absolute;
  z-index: 20;
  top: 0;
  left: calc(100% + 12px);
  width: 312px;
  height: 100%;
  padding: 0;
  display: grid;
  grid-template-rows: 78px minmax(0, 1fr) 48px;
  border: 1px solid #32382e;
  border-radius: 2px;
  background: #0a0c09;
  box-shadow: 22px 0 50px rgba(0,0,0,.56);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-8px);
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.sb.launcher-open .nav-launcher { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.nav-launcher-head { padding: 17px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--vx-line); }
.nav-launcher-head > div { display: flex; flex-direction: column; gap: 5px; }
.nav-launcher-head span { color: var(--vx-lime); font: 700 8px/1 var(--mn); letter-spacing: .16em; }
.nav-launcher-head strong { font: 600 22px/1 var(--display); letter-spacing: -.045em; }
.nav-launcher-close, .sbo {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--vx-line);
  border-radius: 2px;
  background: #10130f;
  color: #929a8b;
  cursor: pointer;
}
.nav-launcher-close:hover, .sbo:hover { border-color: #526045; color: var(--vx-lime); background: #151914; }
.nav-launcher-body { min-height: 0; padding: 14px; overflow-y: auto; }
.nav-section[hidden] { display: none !important; }
.nav-section-title { display: block; margin: 3px 4px 12px; color: #697061; font: 700 8px/1 var(--mn); letter-spacing: .17em; text-transform: uppercase; }
.nav-section-links { display: grid; gap: 5px; }
.nl {
  position: relative;
  min-height: 62px;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 20px;
  align-items: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: #a7aea0;
  text-decoration: none;
  box-shadow: none;
  transform: none;
}
.nl::before { display: none; }
.nl .nav-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--vx-line); border-radius: 1px; background: #10130f; color: #7b8374; }
.nl .nav-icon i { width: auto; color: inherit; font-size: 12px; }
.nav-copy { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nav-copy strong { color: #e1e6dc; font-size: 12px; line-height: 1; }
.nav-copy small { color: #687061; font: 600 8px/1.2 var(--mn); }
.nav-caret { color: #51584b; font-size: 9px !important; }
.nl:hover { border-color: var(--vx-line); background: #10130f; color: #fff; transform: none; }
.nl:hover .nav-icon { border-color: #425036; color: var(--vx-lime); }
.nl.active { border-color: var(--vx-lime); background: var(--vx-lime); color: #050604; }
.nl.active .nav-icon { border-color: rgba(5,6,4,.2); background: rgba(5,6,4,.13); color: #050604; }
.nl.active .nav-copy strong, .nl.active .nav-copy small, .nl.active .nav-caret { color: #050604; }
.nav-launcher-foot { padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--vx-line); color: #697061; font: 650 7px/1 var(--mn); letter-spacing: .06em; text-transform: uppercase; }
.nav-launcher-foot span { display: flex; align-items: center; gap: 7px; }
.nav-launcher-foot i { width: 6px; height: 6px; background: var(--vx-lime); }
.mobile-nav { display: none; }
.sbu {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 11px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  border: 0;
  border-top: 1px solid var(--vx-line-soft);
  background: transparent;
}
.sbu-avatar { width: 35px; height: 35px; flex: 0 0 35px; }
.sbu-avatar img, .sbu img { width: 35px; height: 35px; border: 1px solid #425036; border-radius: 1px; background: #131712; object-fit: cover; }
.sbu-presence { right: -2px; bottom: -2px; width: 8px; height: 8px; border: 2px solid #080a07; background: var(--vx-lime); box-shadow: none; }
.sbu-copy { display: none; }
.sbo { width: 31px; height: 31px; flex: 0 0 31px; }

/* Main workspace header */
.mn { min-width: 0; min-height: 80vh; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.mh {
  position: relative;
  min-height: 86px;
  margin: 0 0 24px;
  padding: 5px 0 18px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end !important;
  gap: 20px;
  border: 0;
  border-bottom: 1px solid var(--vx-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.mh::before { content: ""; position: absolute; bottom: -1px; left: 0; width: 84px; height: 3px; background: var(--vx-lime); }
.mh-kicker { display: block; margin-bottom: 8px; color: var(--vx-lime); font: 700 8px/1 var(--mn); letter-spacing: .18em; text-transform: uppercase; }
.mh h1 { margin: 0; font: 540 clamp(27px, 3vw, 40px)/.95 var(--display); letter-spacing: -.055em; }
.mh p { margin-top: 8px; color: var(--vx-muted); font: 500 10px/1 var(--mn); }
.mh-actions { width: auto !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; border: 0 !important; background: transparent !important; }
.bell-btn, .wallet-btn { height: 42px; border: 1px solid var(--vx-line); border-radius: 2px; background: #0c0f0b; color: #d5dbcf; box-shadow: none; }
.bell-btn:hover, .wallet-btn:hover, .bell-btn.active, .wallet-btn.active { border-color: #526045; background: #141812; color: var(--vx-lime); transform: none; box-shadow: none; }
.wallet-btn { min-width: 118px; }
.wallet-btn i { color: var(--vx-lime); }
.bell-badge { background: var(--vx-lime); color: #050604; box-shadow: 0 0 0 2px #080a07; }

/* Dropdown widgets */
.notif-dd, .wallet-dd {
  top: 50px;
  border: 1px solid #32382e;
  border-radius: 2px;
  background: #090b08;
  box-shadow: 18px 24px 55px rgba(0,0,0,.62);
  backdrop-filter: none;
}
.notif-header, .wallet-header { border-bottom-color: var(--vx-line); background: #0d100c; }
.notif-header button, .wallet-header button, .notif-type { color: var(--vx-lime); }
.notif-header button:hover, .wallet-header button:hover { background: #18200f; }
.notif-item { border-bottom-color: var(--vx-line-soft); }
.notif-item.unread { background: #10150c; }
.notif-item.unread::before { background: var(--vx-lime); box-shadow: none; }
.wallet-panel-body { background: #090b08; }
.wallet-summary-card, .wallet-history-item { border-color: var(--vx-line); border-radius: 1px; background: #10130f; }
.wallet-summary-card.main { border-color: #4c641e; background: #151d0e; }
.wallet-note { border-color: #40531c; border-radius: 1px; background: #12190c; color: #dfffa2; }
.wallet-history-icon.pos, .wallet-history-amount.pos { color: var(--vx-lime); }
.wallet-history-icon.pos { background: #18210e; }

/* Universal architectural surfaces */
.gc, .security-card, .tm-inbox-card, .tm-messages-card, .support-sidebar, .support-view,
.shop-product-card, .loader-card, .media-stat-card, .media-earning-card, .res-metric {
  border: 1px solid var(--vx-line) !important;
  border-radius: 2px !important;
  background: #0d100c !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.gc { position: relative; }
.gc::after { display: none; }
.gc:hover, .security-card:hover { border-color: #3b4435 !important; box-shadow: none !important; transform: none; }
.tab { animation: none; }
.badge { border-radius: 1px; font-family: var(--mn); letter-spacing: .04em; text-transform: uppercase; }
.ba, .bl2, .be { border: 1px solid var(--vx-line) !important; border-radius: 1px !important; background: #141712 !important; color: #b9c0b2 !important; }
.ba { border-color: #455b1b !important; background: #151d0e !important; color: var(--vx-lime) !important; }
.sub-item { border: 1px solid var(--vx-line); border-radius: 1px; background: #0a0c09; }
.sub-item:hover { border-color: #48533f; background: #10130f; }
.empty { color: var(--vx-muted); }
.at th { color: #81897a; border-color: var(--vx-line); font-family: var(--mn); text-transform: uppercase; }
.at td { border-color: var(--vx-line-soft); }
.at tr:hover td { background: #11150f; }
.atb { border-color: var(--vx-line); border-radius: 1px; }
.atb .ab.active, .atb .ab:hover { background: #19210f; color: var(--vx-lime); }

/* Overview: asymmetric operational bento, not stacked glass cards. */
#t-overview { --ov-line: var(--vx-line); --ov-soft: #0d100c; --ov-copy: var(--vx-muted); }
.overview-shell { display: grid; gap: 18px; }
.ov-welcome {
  min-height: 250px;
  padding: clamp(28px, 4vw, 56px);
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, .55fr);
  align-items: end;
  gap: 28px;
  overflow: hidden;
  border: 1px solid #354226;
  border-radius: 2px;
  background:
    linear-gradient(90deg, rgba(183,255,0,.12), transparent 42%),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.026) 80px),
    #0a0d08;
}
.ov-welcome::before { content: "01"; position: absolute; top: 22px; right: 28px; color: rgba(183,255,0,.16); font: 700 84px/1 var(--mn); background: none; }
.ov-welcome::after { display: none; }
.ov-eyebrow { color: var(--vx-lime); font: 700 9px/1 var(--mn); letter-spacing: .16em; text-transform: uppercase; }
.ov-welcome h2 { max-width: 780px; margin-top: 16px; font: 570 clamp(36px, 5vw, 66px)/.93 var(--display); letter-spacing: -.065em; }
.ov-welcome-copy > p { max-width: 620px; margin-top: 15px; color: #a0a89a; }
.ov-identity-row { margin-top: 28px; gap: 6px; }
.ov-identity-chip { min-height: 30px; border: 1px solid #31382c; border-radius: 1px; background: #10140e; }
.ov-identity-chip i, .ov-section-icon, .ov-quick-grid button > i { color: var(--vx-lime); }
.ov-profile-summary { padding: 14px; border: 1px solid #3a4333; border-radius: 1px; background: rgba(5,6,4,.76); }
.ov-avatar-wrap { border: 1px solid #526b20; border-radius: 1px; background: #151b10; }
.ov-avatar-wrap img { border-radius: 0; }
.ov-profile-link { border-radius: 1px; }
.ov-profile-link:hover { border-color: var(--vx-lime); background: var(--vx-lime); color: #050604; }
.ov-dashboard-grid { grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 18px; }
#t-overview .gc { border-radius: 2px; background: #0d100c; }
.ov-section-icon { border: 1px solid #42521f; border-radius: 1px; background: #161e0e; }
.ov-side-stack { gap: 18px; }
.ov-device-card, .ov-quick-card { min-height: 0; }
.ov-quick-grid button { border-color: var(--vx-line); border-radius: 1px; background: #090b08; }
.ov-quick-grid button:hover { border-color: #526045; background: #131812; }
.ov-account-card { border-left: 3px solid #394432 !important; }
.ov-text-btn:hover { color: var(--vx-lime); }

/* Store and access */
.shop-workspace { display: grid; gap: 16px; }
.shop-topbar {
  min-height: 230px;
  border: 1px solid #364128;
  border-radius: 2px;
  background: linear-gradient(100deg, #11170c, #080a07 62%);
}
.shop-title-block > span, .shop-product-card > .scg, .shop-modal-head > span, .shop-plan-duration { color: var(--vx-lime) !important; font-family: var(--mn); }
.shop-title-block > span::before { background: var(--vx-lime); box-shadow: none; }
.shop-redeem, .shop-toolbar, .shop-search { border-color: var(--vx-line); border-radius: 1px; background: #0a0d09; }
.shop-search:focus-within { border-color: var(--vx-lime); box-shadow: 3px 0 0 var(--vx-lime); }
.shop-game-filter { border-radius: 1px; }
.shop-game-filter.active, .shop-game-filter:hover { border-color: #4e6720; background: #18210e; color: var(--vx-lime); }
.shop-product-card { overflow: hidden; }
.shop-product-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: #353d30; }
.shop-product-card:hover { border-color: #526045 !important; transform: translateY(-2px); }
.shop-public-badge { border-color: #4e6720; border-radius: 1px; color: var(--vx-lime); }
.shop-wallet-choice { border-color: #40531c; border-radius: 1px; background: #12180d; }
.shop-wallet-choice strong { color: var(--vx-lime); }
.shop-option-row { border-radius: 1px; }
.shop-option-row:hover { border-color: #4b5c37; background: #121610 !important; }
#t-subs > .gc:first-child { border-top: 3px solid var(--vx-lime) !important; }

/* Downloads and changelog */
.loader-card { position: relative; overflow: hidden; }
.loader-card::before { content: "DOWNLOAD"; position: absolute; right: 16px; bottom: 8px; color: rgba(255,255,255,.035); font: 800 32px/1 var(--mn); }
.loader-card:hover { border-color: #536146 !important; }
.loader-card .dl-icon { color: var(--vx-lime) !important; filter: none !important; }
.cl-timeline::before { width: 1px; background: #38432f; }
.cl-t-item::before { border-color: var(--vx-lime); background: #080a07; box-shadow: none; }
.clf-btn { border-radius: 1px; }
.clf-btn.active { border-color: var(--vx-lime); background: var(--vx-lime); color: #050604; box-shadow: none; }

/* Security */
.security-shell { display: grid; gap: 16px; }
.security-banner {
  min-height: 146px;
  border: 1px solid #3b4a29;
  border-left: 4px solid var(--vx-lime);
  border-radius: 2px;
  background: #0c100a;
}
.security-banner::after { content: "SECURE"; right: 28px; border: 0; color: rgba(183,255,0,.06); font: 800 clamp(44px,8vw,100px)/1 var(--mn); box-shadow: none; }
.security-banner-icon, .security-card-icon { border: 1px solid #435421; border-radius: 1px; background: #17200e; color: var(--vx-lime); box-shadow: none; }
.security-eyebrow, .security-card-title > div > span { color: var(--vx-lime); font-family: var(--mn); }
.security-grid { gap: 16px; }
.security-card { position: relative; }
.security-card::before { top: 0; bottom: auto; width: 46px; height: 2px; background: var(--vx-lime); }
.security-avatar-wrap img { border-color: #526b20; border-radius: 1px; background: #10130f; }
.security-avatar-status { border-radius: 1px; border-color: #0d100c; background: var(--vx-lime); color: #050604; }
.security-divider { background: var(--vx-line); }
.security-outline-btn { border-color: #4e6720; border-radius: 1px; background: #131a0d; color: var(--vx-lime); }
.security-outline-btn:hover { border-color: var(--vx-lime); background: var(--vx-lime); color: #050604; }
.security-benefit, .security-banner-tip { border-color: #40531c; border-radius: 1px; background: #12190c; color: #d9efb3; }
.security-benefit i, .security-banner-tip i { color: var(--vx-lime); }
.security-state { border-color: var(--vx-line); border-radius: 1px; background: #121511; color: #b8beb1; }
.security-state.active { border-color: #4e6720; background: #17200e; color: var(--vx-lime); }
.security-discord-avatar, .security-discord-btn { border-radius: 1px; background: var(--vx-lime); color: #050604; box-shadow: none; }

/* Temporary mail */
.tm-workspace { --tm-red: var(--vx-lime); --tm-red-soft: #18210e; --tm-line: var(--vx-line); --tm-panel: #0d100c; }
.tm-hero { min-height: 180px; border: 1px solid #3b4a29; border-radius: 2px; background: linear-gradient(100deg,#12190c,#090b08 54%); }
.tm-hero::after { right: 6%; width: 180px; height: 180px; border: 1px solid rgba(183,255,0,.15); border-radius: 0; background: transparent; transform: rotate(45deg); }
.tm-hero-icon, .tm-card-icon, .tm-empty-visual, .tm-sender-icon { border: 1px solid #435421; border-radius: 1px; background: #17200e; color: var(--vx-lime); box-shadow: none; }
.tm-kicker, .tm-hero-badges i, .tm-domain-line i { color: var(--vx-lime); }
.tm-mailbox-stage { border-radius: 1px; background: #090c08; }
.tm-mailbox-stage::after { height: 1px; background: var(--vx-lime); }
.tm-copy:hover, .tm-message:hover, .tm-message[open] { border-color: #526045; color: var(--vx-lime); background: #121710; }
.tm-progress span, .tm-primary { border-radius: 1px; background: var(--vx-lime); color: #050604; box-shadow: none; }
.tm-primary:hover:not(:disabled) { background: var(--vx-lime-2); box-shadow: none; }
.tm-guide-item i { color: var(--vx-lime); }
.tm-live, .live-indicator { border-color: #4a611e !important; border-radius: 1px !important; background: #151d0e !important; color: var(--vx-lime) !important; }
.tm-live i, .live-dot, .tm-quota::before { background: var(--vx-lime) !important; color: var(--vx-lime) !important; box-shadow: none !important; }

/* Support workspace */
#t-support { --support-red: var(--vx-lime); --support-red-soft: #18210e; }
.support-page-head { border: 1px solid #3b4a29; border-radius: 2px; background: #0d110b; }
.support-page-head::after { display: none; }
.support-page-kicker, .support-sidebar-head span { color: var(--vx-lime); }
.support-page-kicker::before { background: var(--vx-lime); box-shadow: none; }
.support-quick-card { border-color: var(--vx-line); border-radius: 1px; background: #0b0e0a; }
.support-quick-card:hover { border-color: #526045; background: #131812; }
.support-quick-icon, .support-empty-visual { border: 1px solid #435421; border-radius: 1px; background: #17200e; color: var(--vx-lime); }
.support-filter-tabs .ab { border-radius: 1px; }
.support-filter-tabs .ab.active, .support-filter-tabs .ab:hover { border-color: #4e6720 !important; background: #18210e !important; color: var(--vx-lime) !important; }
.tic-card { border-radius: 1px !important; }
.tic-card:hover, .tic-card.act { border-color: #526045 !important; background: #121710 !important; }
.tic-card.act::before { background: var(--vx-lime); }
.theme-staff { background: var(--vx-lime); color: #050604; }
.theme-ai { border-color: #41551b; border-radius: 1px; background: #131a0d; color: #e8ffc5; }
.theme-ai .msg-meta { color: var(--vx-lime); }
.support-live-pill { border-color: #4a611e !important; background: #151d0e !important; color: var(--vx-lime) !important; }
.support-live-pill::before { background: var(--vx-lime) !important; box-shadow: none !important; }

/* Reseller and media creator */
.media-creator-hero, .reseller-builder { border: 1px solid #38462a; border-radius: 2px; background: linear-gradient(105deg,#12190c,#090b08 58%); }
.media-creator-hero::before, .res-metric::before, .media-earning-card::before, .media-stat-card::before { height: 2px; background: var(--vx-lime); }
.media-kicker, .res-eyebrow, .media-current-tier.current > span, .media-hero-copy h2 span { color: var(--vx-lime); }
.media-current-tier, .res-discount-badge, .media-submit-warning { border-color: #40531c; border-radius: 1px; background: #12190c; }
.media-stat-icon, .media-platform-icon, .res-metric-icon, .res-card-icon { border: 1px solid #435421; border-radius: 1px; background: #17200e; color: var(--vx-lime); }
.media-tier-card, .res-game-card, .res-plan-card, .res-qty-button { border-radius: 1px !important; }
.media-tier-card.current { border-color: var(--vx-lime); background: #151d0e; box-shadow: inset 3px 0 var(--vx-lime); }
.media-tier-card.current > span, .media-field-label b, .media-history-open, .media-earning-card > strong, .res-metric-balance .res-metric-value, .media-history-reward, .res-generated-head { color: var(--vx-lime) !important; }
.media-confirm-box > input:checked + span { border-color: var(--vx-lime); border-radius: 1px; background: var(--vx-lime); color: #050604; }
.res-game-card:hover, .res-game-card.selected, .res-plan-card:hover, .res-plan-card.selected, .res-qty-button:hover, .res-qty-button.selected { border-color: #66802b; background: #151d0e; box-shadow: none; }
.res-game-selected { border-radius: 1px; background: var(--vx-lime); color: #050604; }
.res-step > span, .res-empty-state i { border-radius: 1px; color: var(--vx-lime); background: #18210e; }

/* Modals, prompts, toast and event layers */
.mo { z-index: 9998; background: rgba(1,2,1,.82); backdrop-filter: blur(5px); }
.mb { border: 1px solid #343b30; border-top: 3px solid var(--vx-lime); border-radius: 2px; background: #0a0c09; box-shadow: 22px 28px 70px rgba(0,0,0,.72); }
.panel-prompt-icon { border-color: #435421 !important; border-radius: 1px !important; background: #17200e !important; color: var(--vx-lime) !important; }
.panel-prompt-kicker, .panel-prompt-hint i { color: var(--vx-lime) !important; }
.panel-prompt-field { border-radius: 1px !important; }
.panel-prompt-field:focus-within { border-color: var(--vx-lime) !important; box-shadow: 3px 0 var(--vx-lime) !important; }
.toast { border: 1px solid #343b30; border-radius: 1px; background: #11140f; box-shadow: 12px 15px 35px rgba(0,0,0,.5); }
.t-ok, .t-info { border-left-color: var(--vx-lime); }
.t-err { border-left-color: var(--vx-danger); }
#daily-supply-layer { --ds-accent: #b7ff00; --ds-accent-soft: #d3ff66; --ds-button-bg: #b7ff00; --ds-button-text: #050604; }
#daily-supply-layer [class*="card"], [class*="blackjack"] [class*="card"] { border-radius: 2px !important; }
.downtime-overlay, .maintenance-overlay { background: rgba(5,6,4,.94) !important; }

/* Admin inherits the shell only; permission and behavior remain untouched. */
#t-admin .admin-nav.atb, #t-admin .admin-panel, #t-admin .admin-filterbar { border-color: var(--vx-line); border-radius: 1px; background: #0d100c; }
#t-admin .admin-nav.atb .ab.active { border-color: #4e6720; background: #18210e; box-shadow: inset 3px 0 var(--vx-lime); }
#t-admin .admin-nav.atb .ab.active i, #t-admin .admin-results-kicker { color: var(--vx-lime); }

@media (max-width: 1180px) and (min-width: 993px) {
  .container.dg { width: calc(100% - 24px); grid-template-columns: 76px minmax(0,1fr); gap: 16px; }
  .sb { width: 76px; }
  .nav-launcher { width: 292px; }
  .ov-welcome { grid-template-columns: minmax(0,1fr) 280px; }
}

/* Mobile: compact top identity, fixed bottom navigation, route bottom sheet. */
@media (max-width: 992px) {
  body { background-size: 52px 52px; padding-bottom: 84px; }
  body.nav-open { overflow: hidden; }
  .dw { padding: 10px 0 24px; }
  .container.dg { width: min(100% - 20px, 760px); display: block; }
  .sb {
    position: relative;
    z-index: 1000;
    top: auto;
    width: 100%;
    height: 62px;
    max-height: none;
    margin-bottom: 18px;
    overflow: visible;
    border: 1px solid var(--vx-line);
    background: #080a07;
  }
  .sb::before { right: auto; width: 3px; height: auto; bottom: -1px; }
  .sb-shell { height: 60px; display: block; }
  .sbh { height: 60px; min-height: 60px; padding: 10px 11px 10px 15px; align-items: center; justify-content: space-between; border: 0; }
  .sb-brand { display: flex; align-items: center; gap: 10px; }
  .sbl { display: flex; gap: 9px; font-size: 16px; }
  .sbl img { width: 27px !important; height: 27px !important; }
  .sb-brand-caption { display: none; }
  .nav-toggle { width: auto; min-width: 76px; height: 36px; margin-left: auto; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--vx-line); border-radius: 1px; background: #10130f; color: #f5f7f1; }
  .nav-toggle:hover { border-color: #526045; background: #151914; }
  .sbn { min-height: 0; padding: 0; overflow: visible; display: block !important; }
  .nav-dock { display: none; }
  .nav-launcher {
    position: fixed;
    z-index: 1002;
    top: auto;
    right: 0;
    bottom: 72px;
    left: 0;
    width: 100%;
    height: min(620px, calc(100dvh - 92px));
    grid-template-rows: 74px minmax(0,1fr) 44px;
    border-width: 1px 0 0;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -26px 70px rgba(0,0,0,.74);
    opacity: 1;
    visibility: hidden;
    transform: translateY(calc(100% + 90px));
    pointer-events: none;
    transition: transform .2s ease, visibility .2s;
  }
  .sb.open .nav-launcher { visibility: visible; transform: none; pointer-events: auto; }
  .sb.open::after {
    content: "";
    position: fixed;
    z-index: 1001;
    inset: 0;
    display: block !important;
    background: rgba(2,3,2,.72);
  }
  .nav-launcher-head { padding: 15px 20px; }
  .nav-launcher-body { padding: 12px 14px 18px; }
  .nl { min-height: 64px; }
  .nav-launcher-foot { padding-inline: 18px; }
  .mobile-nav {
    position: fixed;
    z-index: 1003;
    right: 8px;
    bottom: 8px;
    left: 8px;
    height: 58px;
    padding: 5px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3px;
    border: 1px solid #343b30;
    border-radius: 3px;
    background: #090b08;
    box-shadow: 0 12px 35px rgba(0,0,0,.55);
  }
  .mobile-nav button { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 0; border-radius: 1px; background: transparent; color: #727a6c; }
  .mobile-nav button i { font-size: 11px; }
  .mobile-nav button span { font: 700 7px/1 var(--mn); text-transform: uppercase; }
  .mobile-nav button.active { background: #17200e; color: var(--vx-lime); }
  .sbu { display: none !important; }
  .mn { min-height: 0; }
  .mh { min-height: 82px; margin-bottom: 18px; padding: 4px 0 16px !important; }
  .mh h1 { font-size: clamp(27px, 7vw, 36px); }
  .ov-welcome { grid-template-columns: 1fr; min-height: 0; }
  .ov-dashboard-grid { grid-template-columns: 1fr; }
  .security-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .auth-screen { padding: 18px; }
  .auth-screen::after { top: 18px; left: 20px; }
  .ac { padding: 32px 24px; box-shadow: 12px 12px 0 rgba(0,0,0,.25); }
  .mh { grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
  .mh-actions { width: auto !important; justify-content: flex-end !important; }
  #top-wallet { width: auto !important; }
  #top-wallet .wallet-btn { width: auto !important; }
  .wallet-btn { min-width: 42px; width: 42px; padding: 0; }
  .wallet-btn span { display: none; }
  .notif-box { margin-left: 0; }
  .notif-dd, .wallet-dd { position: fixed; top: 76px; right: 10px; left: 10px; width: auto; max-height: calc(100dvh - 164px); }
  .support-quick-grid { grid-template-columns: 1fr; }
  .support-quick-card:last-child { grid-column: auto; }
  .shop-topbar { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .container.dg { width: calc(100% - 16px); }
  .mh-kicker { max-width: 210px; line-height: 1.35; }
  .mh h1 { font-size: 28px; }
  .bell-btn, .wallet-btn { height: 40px; }
  .ov-welcome { padding: 28px 18px; }
  .ov-welcome::before { top: 18px; right: 16px; font-size: 56px; }
  .ov-welcome h2 { font-size: 38px; }
  .ov-identity-row { display: grid; grid-template-columns: 1fr 1fr; }
  .ov-identity-chip:last-child { grid-column: 1 / -1; }
  .ov-profile-summary { margin-top: 6px; }
  .gc, .security-card { padding-inline: 18px; }
  .security-banner, .tm-hero, .shop-topbar { padding-inline: 18px; }
  .mb { width: calc(100vw - 18px); padding: 22px 16px; }
  .tc { right: 8px; bottom: 76px; left: 8px; }
}

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

@media (forced-colors: active) {
  .sb::before, .mh::before { border-color: CanvasText; }
  .nl.active, .btn.bp, .bp { border: 2px solid ButtonText !important; background: Highlight !important; color: HighlightText !important; }
}

/* Post-capture shell corrections: keep the mobile scrim behind the sheet and routes full-width. */
.nav-section, .nav-section-links, .nl { width: 100%; box-sizing: border-box; }
.nav-copy { overflow: hidden; }
.nav-copy strong, .nav-copy small { display: block; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 992px) {
  .sb.open::after { display: none !important; }
  .sb.open .nav-launcher { box-shadow: 0 -100vh 0 100vh rgba(2,3,2,.72), 0 -26px 70px rgba(0,0,0,.74); }
}

/* Lime is the only non-semantic accent, including inherited integration states. */
.security-card-icon.discord, .media-platform-icon, .media-stat-icon, .res-card-icon,
.ov-identity-state.is-ready i, .ov-device-state i {
  border-color: #435421 !important;
  background: #17200e !important;
  color: var(--vx-lime) !important;
  box-shadow: none !important;
}
.ov-identity-state.is-ready, .ov-device-state {
  border-color: #4a611e !important;
  background: #151d0e !important;
  color: var(--vx-lime) !important;
}

/* Legacy mobile CSS declared a two-column nav grid; launcher routes are always one full-width column. */
#nav-launcher .nav-section-links { grid-template-columns: minmax(0, 1fr) !important; }

/* Final specificity cleanup against legacy sidebar/modal rules. */
.sbu .sbu-copy { display: none !important; }
.mb { backdrop-filter: none !important; }

/* Human-scale panel pass — visible routes, compact content, plain language. */
:root {
  --fm: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mn: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rad: 5px;
}
body { background: #080908; font-family: var(--fm); font-size: 14px; }
body::before, body::after { display: none !important; }
.hl { color: inherit !important; }
.btn { min-height: 36px; border-radius: 5px; font-size: 12px; font-weight: 650; }
.ig input, .ig select, .ki, .custom-select select, textarea.ki, textarea { min-height: 40px; border-radius: 5px; }
.badge, .ba, .bl2, .be { border-radius: 4px !important; font-family: var(--fm); letter-spacing: 0; text-transform: none; }

/* Authentication without the generated-tech backdrop. */
.auth-screen { padding: 20px; background: #080908; }
.auth-screen::before, .auth-screen::after { display: none !important; }
.auth-box { max-width: 400px; }
.ac { padding: 30px; border-top-width: 2px; border-radius: 7px; box-shadow: none; }
.alogo { margin-bottom: 26px; font-size: 17px; }
.ac h2 { font-size: 28px; font-weight: 680; letter-spacing: -.035em; }
.asub { margin: 7px 0 22px; line-height: 1.5; }

/* Permanent route sidebar on desktop. */
@media (min-width: 993px) {
  .dw { padding: 10px 0 28px; }
  .container.dg { width: min(1500px, calc(100% - 20px)); grid-template-columns: 220px minmax(0,1fr); gap: 14px; }
  .sb { top: 10px; width: 220px; height: calc(100dvh - 20px); border-radius: 7px; }
  .sb::before { right: auto; bottom: -1px; width: 2px; height: auto; }
  .sb-shell { grid-template-rows: 60px minmax(0,1fr) 58px; }
  .sbh { padding: 10px 12px; align-items: center; justify-content: flex-start; border-bottom-color: var(--vx-line); }
  .sb-brand { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; }
  .sbl { display: flex; align-items: center; gap: 8px; font-size: 15px; }
  .sbl img { width: 25px !important; height: 25px !important; }
  .sb-brand-caption { margin: 0 0 0 auto; font: 600 9px/1 var(--fm); letter-spacing: 0; color: #73796e; }
  .sbn { padding: 8px; overflow-x: hidden; overflow-y: auto; }
  .nav-dock { display: none; }
  .nav-launcher {
    position: static;
    width: 100%;
    height: auto;
    padding: 0;
    display: block;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
  }
  .nav-launcher-head, .nav-launcher-foot { display: none; }
  .nav-launcher-body { padding: 0; overflow: visible; }
  #nav-launcher .nav-section[hidden] { display: block !important; }
  .nav-section { margin-bottom: 8px; }
  .nav-section-title { margin: 8px 8px 4px; color: #777d73; font: 600 10px/1.2 var(--fm); letter-spacing: 0; text-transform: none; }
  .nav-section-links { gap: 2px; }
  .nl {
    min-height: 38px;
    padding: 5px 7px;
    grid-template-columns: 26px minmax(0,1fr);
    gap: 8px;
    border-radius: 5px;
    color: #aeb3aa;
  }
  .nl .nav-icon { width: 26px; height: 26px; border: 0; border-radius: 4px; background: transparent; }
  .nl .nav-icon i { font-size: 11px; }
  .nav-copy { gap: 0; }
  .nav-copy strong { font-size: 12px; font-weight: 570; }
  .nav-copy small, .nav-caret { display: none; }
  .nl:hover { border-color: transparent; background: #141713; }
  .nl.active { border-color: #3d4e22; background: #18200f; color: #fff; box-shadow: inset 2px 0 var(--vx-lime); }
  .nl.active .nav-icon { border: 0; background: transparent; color: var(--vx-lime); }
  .nl.active .nav-copy strong { color: #fff; font-weight: 650; }
  .sbu { padding: 8px 10px; flex-direction: row; justify-content: flex-start; gap: 8px; }
  .sbu-avatar, .sbu-avatar img, .sbu img { width: 30px; height: 30px; flex-basis: 30px; border-radius: 4px; }
  .sbu .sbu-copy { min-width: 0; display: flex !important; flex: 1; flex-direction: column; gap: 1px; }
  .sbn2 { font-size: 11px; }
  .sbr { font-size: 9px; letter-spacing: 0; text-transform: none; }
  .sbo { width: 30px; height: 30px; flex-basis: 30px; margin-left: auto; border-radius: 4px; }
}

/* Compact page chrome and shared surfaces. */
.mn { min-height: 0; }
.mh { min-height: 60px; margin-bottom: 14px; padding: 2px 0 12px !important; gap: 14px; }
.mh::before { width: 52px; height: 2px; }
.mh-kicker { display: none; }
.mh h1 { font-size: 25px; font-weight: 680; letter-spacing: -.04em; line-height: 1; }
.mh p { margin-top: 5px; font: 500 11px/1 var(--fm); }
.bell-btn, .wallet-btn { height: 36px; border-radius: 5px; }
.wallet-btn { min-width: 104px; }
.notif-dd, .wallet-dd { top: 43px; border-radius: 7px; box-shadow: 0 14px 36px rgba(0,0,0,.5); }
.gc, .security-card, .tm-inbox-card, .tm-messages-card, .support-sidebar, .support-view,
.shop-product-card, .loader-card, .media-stat-card, .media-earning-card, .res-metric { border-radius: 6px !important; }
.gc, .security-card { padding: 18px; }
.overview-shell, .security-shell, .shop-workspace { gap: 12px; }
.sub-item { border-radius: 5px; }

/* Overview is now an information summary, not a landing page. */
.ov-welcome {
  min-height: 0;
  padding: 20px;
  grid-template-columns: minmax(0,1fr) 260px;
  align-items: center;
  gap: 20px;
  border-color: var(--vx-line);
  border-radius: 6px;
  background: #0d100c;
}
.ov-welcome::before, .ov-welcome::after { display: none; }
.ov-eyebrow, .security-eyebrow, .tm-kicker, .media-kicker, .res-eyebrow,
.shop-title-block > span, .support-page-kicker, .panel-prompt-kicker {
  font-family: var(--fm) !important;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}
.ov-welcome h2 { margin-top: 8px; font-size: clamp(27px, 3vw, 36px); font-weight: 680; letter-spacing: -.045em; line-height: 1.05; }
.ov-welcome-copy > p { margin-top: 9px; font-size: 13px; }
.ov-identity-row { margin-top: 14px; gap: 5px; }
.ov-identity-chip { min-height: 26px; padding-block: 4px; border-radius: 4px; font-size: 10px; }
.ov-profile-summary { padding: 10px; border-radius: 5px; }
.ov-avatar-wrap { width: 42px; height: 42px; border-radius: 4px; }
.ov-profile-link { width: 32px; height: 32px; border-radius: 4px; }
.ov-dashboard-grid { grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 12px; }
.ov-side-stack { gap: 12px; }
.ov-section-icon { width: 30px; height: 30px; border-radius: 4px; }
.ov-quick-grid { gap: 6px; }
.ov-quick-grid button { min-height: 54px; padding: 9px; border-radius: 5px; }
.ov-account-card { border-left-width: 1px !important; }

/* Product, security and tool pages use content-sized headers. */
.shop-topbar { min-height: 0; padding: 22px; gap: 22px; border-color: var(--vx-line); border-radius: 6px; background: #0d100c; }
.shop-title-block h1 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.045em; }
.shop-title-block p { max-width: 620px; margin-top: 8px; line-height: 1.55; }
.shop-redeem, .shop-toolbar, .shop-search { border-radius: 5px; }
.shop-toolbar { padding: 10px 12px; }
.shop-search { min-height: 38px; }
.shop-game-filter { min-height: 34px; border-radius: 4px; }
.shop-product-card { border-radius: 6px !important; }
.security-banner { min-height: 92px; padding: 16px 18px; border-left-width: 2px; border-radius: 6px; background: #0d100c; }
.security-banner::after { display: none; }
.security-banner-icon, .security-card-icon { width: 38px; height: 38px; border-radius: 4px; }
.security-banner-copy h2 { font-size: 26px; }
.security-banner-copy p { margin-top: 4px; }
.security-banner-tip { padding: 9px 11px; border-radius: 4px; }
.security-grid { gap: 12px; }
.security-card { border-radius: 6px !important; }
.security-card::before { width: 28px; height: 1px; }
.security-card-head { margin-bottom: 16px; }
.security-profile-row { gap: 16px; }
.security-divider { margin-block: 16px; }
.security-state, .security-outline-btn { border-radius: 4px; }
.tm-hero { min-height: 110px; padding: 18px 20px; border-color: var(--vx-line); border-radius: 6px; background: #0d100c; }
.tm-hero::after { display: none; }
.tm-hero h2 { font-size: clamp(26px, 3vw, 36px); }
.tm-hero p { margin-top: 7px; }
.tm-inbox-card, .tm-messages-card { padding: 18px; }
.tm-mailbox-stage { min-height: 170px; border-radius: 5px; }
.media-creator-hero, .reseller-builder { padding: 22px; border-radius: 6px; background: #0d100c; }
.media-hero-copy h2, .reseller-builder h2 { font-size: clamp(27px, 3vw, 38px); }
.media-stat-card, .media-earning-card, .res-metric { padding: 16px; }
.support-page-head { min-height: 0; padding: 20px; border-radius: 6px; background: #0d100c; }
.support-page-head::after { display: none; }
.support-quick-grid { gap: 10px; }
.support-quick-card { min-height: 76px; padding: 14px; border-radius: 5px; }
.support-sidebar, .support-view { border-radius: 6px !important; }
.support-empty-visual, .tm-empty-visual { width: 54px; height: 54px; border-radius: 5px; }
.loader-card::before { display: none; }
.mb { border-radius: 7px; }

@media (max-width: 992px) {
  body { padding-bottom: 64px; background: #080908; }
  .dw { padding: 8px 0 16px; }
  .container.dg { width: min(100% - 16px, 760px); }
  .sb { height: 52px; margin-bottom: 12px; border-radius: 6px; }
  .sb-shell { height: 50px; }
  .sbh { height: 50px; min-height: 50px; padding: 7px 9px 7px 12px; }
  .sbl { font-size: 15px; }
  .sbl img { width: 24px !important; height: 24px !important; }
  .nav-toggle { min-width: 68px; height: 34px; border-radius: 4px; }
  .nav-launcher { bottom: 60px; height: min(500px, calc(100dvh - 78px)); grid-template-rows: 58px minmax(0,1fr); border-radius: 10px 10px 0 0; }
  .nav-launcher-head { padding: 11px 14px; }
  .nav-launcher-head span { font-family: var(--fm); letter-spacing: 0; }
  .nav-launcher-head strong { font-size: 19px; }
  .nav-launcher-body { padding: 9px 10px 14px; }
  .nav-launcher-foot { display: none; }
  .nav-section-title { margin: 3px 5px 7px; font-family: var(--fm); letter-spacing: 0; text-transform: none; }
  .nl { min-height: 50px; padding: 6px 8px; grid-template-columns: 32px minmax(0,1fr) 16px; border-radius: 5px; }
  .nl .nav-icon { width: 32px; height: 32px; border-radius: 4px; }
  .nav-copy { gap: 2px; }
  .nav-copy small { font-family: var(--fm); letter-spacing: 0; }
  .mobile-nav { right: 6px; bottom: 6px; left: 6px; height: 50px; padding: 3px; border-radius: 6px; }
  .mobile-nav button { border-radius: 4px; }
  .mobile-nav button span { font: 600 9px/1 var(--fm); text-transform: none; }
  .mh { min-height: 56px; margin-bottom: 12px; padding-bottom: 10px !important; }
  .mh h1 { font-size: 23px; }
  .ov-welcome { grid-template-columns: 1fr; }
  .ov-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .ac { padding: 26px 20px; box-shadow: none; }
  .mh { grid-template-columns: minmax(0,1fr) auto; }
  .ov-welcome { padding: 17px; }
  .ov-welcome h2 { font-size: 28px; }
  .ov-identity-row { display: flex; flex-wrap: wrap; }
  .ov-identity-chip:last-child { grid-column: auto; }
  .gc, .security-card { padding: 15px; }
  .shop-topbar, .security-banner, .tm-hero { padding: 16px; }
  .shop-topbar { gap: 16px; }
  .security-banner { grid-template-columns: 36px 1fr; }
  .security-banner-tip { grid-column: 1 / -1; }
  .tm-hero { min-height: 0; }
  .notif-dd, .wallet-dd { top: 64px; max-height: calc(100dvh - 136px); }
}

@media (max-width: 520px) {
  .mh h1 { font-size: 22px; }
  .ov-welcome h2 { font-size: 26px; }
  .ov-profile-summary { margin-top: 0; }
  .shop-title-block h1, .tm-hero h2 { font-size: 27px; }
}

/* Final mobile density correction after viewport capture. */
@media (max-width: 992px) {
  .nav-launcher {
    height: auto;
    max-height: calc(100dvh - 78px);
    grid-template-rows: 58px minmax(0, auto);
  }
  .nav-launcher-body { max-height: calc(100dvh - 136px); overflow-y: auto; }
}
@media (max-width: 700px) {
  .ov-profile-summary { display: none; }
  .ov-welcome { min-height: 0; }
}
