/* VYRON panel layouts v2
   Scoped to Overview, Shop, Subscriptions, Downloads, Security and Support. */

#t-overview,
#t-shop,
#t-subs,
#t-downloads,
#t-security,
#t-support {
  --cc2-green: var(--vx-lime, #b7ff00);
  --cc2-green-rgb: 183, 255, 0;
  --cc2-bg: #080a08;
  --cc2-panel: #0d100d;
  --cc2-panel-2: #121612;
  --cc2-panel-3: #171b17;
  --cc2-line: rgba(255, 255, 255, .09);
  --cc2-line-strong: rgba(255, 255, 255, .16);
  --cc2-text: #f3f6ef;
  --cc2-soft: #c8cec2;
  --cc2-muted: #858d80;
  --cc2-radius: 14px;
  color: var(--cc2-text);
}

.cc2-page {
  width: 100%;
  color: var(--cc2-text);
}

.cc2-page * {
  box-sizing: border-box;
}

.cc2-page button,
.cc2-page input,
.cc2-page textarea {
  font-family: var(--fm, Inter, sans-serif);
}

.cc2-page button,
.cc2-page a {
  -webkit-tap-highlight-color: transparent;
}

.cc2-page button:focus-visible,
.cc2-page a:focus-visible,
.cc2-page input:focus-visible,
.cc2-page textarea:focus-visible {
  outline: 2px solid var(--cc2-green);
  outline-offset: 3px;
}

.cc2-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--cc2-green);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cc2-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Overview: identity strip + access stage */
.overview2-page {
  display: grid;
  gap: 16px;
}

.ov2-account-strip {
  min-height: 104px;
  display: grid;
  grid-template-columns: minmax(240px, .9fr) minmax(420px, 1.25fr) auto;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--cc2-line);
  border-bottom: 2px solid var(--cc2-green);
  border-radius: var(--cc2-radius);
  background: var(--cc2-panel);
}

.ov2-profile-block {
  min-width: 0;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.ov2-avatar {
  position: relative;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
}

.ov2-avatar img {
  width: 100%;
  height: 100%;
  border: 1px solid rgba(var(--cc2-green-rgb), .42);
  border-radius: 50%;
  object-fit: cover;
  background: var(--cc2-panel-2);
}

.ov2-avatar > span {
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: 13px;
  height: 13px;
  border: 3px solid var(--cc2-panel);
  border-radius: 50%;
  background: var(--cc2-green);
}

.ov2-profile-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.ov2-profile-copy small,
.ov2-identity-list dt,
.ov2-hwid-readout small,
.ov2-details-panel .ov-account-copy > span {
  color: var(--cc2-muted);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ov2-profile-copy strong {
  overflow: hidden;
  color: var(--cc2-text);
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ov2-profile-copy > span {
  overflow: hidden;
  color: var(--cc2-muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ov2-identity-list {
  min-width: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-right: 1px solid var(--cc2-line);
  border-left: 1px solid var(--cc2-line);
}

.ov2-identity-list > div {
  min-width: 0;
  padding: 18px;
  display: grid;
  align-content: center;
  gap: 7px;
  border-right: 1px solid var(--cc2-line);
}

.ov2-identity-list > div:last-child { border-right: 0; }
.ov2-identity-list dt,
.ov2-identity-list dd { margin: 0; }

.ov2-identity-list dd {
  overflow: hidden;
  color: var(--cc2-soft);
  font: 700 11px/1.25 var(--fm, Inter, sans-serif);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ov2-identity-list .ov2-account-state {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--cc2-green);
}

.ov2-account-state i { color: inherit !important; }

.ov2-strip-actions {
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.ov2-strip-actions button {
  width: 62px;
  height: 62px;
  padding: 7px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 7px;
  border: 1px solid var(--cc2-line);
  border-radius: 11px;
  color: var(--cc2-muted);
  background: transparent;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}

.ov2-strip-actions button i { font-size: 13px; }
.ov2-strip-actions button span { font-size: 8px; font-weight: 750; }
.ov2-strip-actions button:hover { border-color: rgba(var(--cc2-green-rgb), .45); color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .05); }

.ov2-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
  gap: 16px;
  align-items: stretch;
}

.ov2-side-column { min-width: 0; display: grid; grid-template-rows: auto 1fr; gap: 16px; }
.ov2-device-panel,
.ov2-details-panel { min-width: 0; border: 1px solid var(--cc2-line); border-radius: var(--cc2-radius); background: var(--cc2-panel); }
.ov2-device-panel { padding: 22px; }
.ov2-device-panel > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; }
.ov2-panel-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(var(--cc2-green-rgb), .28); border-radius: 9px; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .05); }
.ov2-device-panel header small { color: var(--cc2-muted); font-size: 8px; text-transform: uppercase; }
.ov2-device-panel h3 { margin: 3px 0 0; color: var(--cc2-text); font-size: 14px; }
#t-overview #o-hwid-state { padding: 5px 7px; border: 1px solid var(--cc2-line) !important; border-radius: 6px; color: var(--cc2-muted) !important; background: rgba(255, 255, 255, .025) !important; font-size: 8px; white-space: nowrap; }
#t-overview #o-hwid-state.is-linked { border-color: rgba(var(--cc2-green-rgb), .3) !important; color: var(--cc2-green) !important; }
.ov2-hwid-readout { margin: 22px 0; padding: 13px; display: grid; gap: 7px; overflow: hidden; border: 1px solid var(--cc2-line); background: #090b09; }
.ov2-hwid-readout code { overflow: hidden; color: var(--cc2-soft); font: 600 10px/1.4 var(--mn, monospace); text-overflow: ellipsis; white-space: nowrap; }
.ov2-device-panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ov2-device-panel > footer p { max-width: 255px; margin: 0; color: var(--cc2-muted); font-size: 9px; line-height: 1.55; }
.ov2-device-panel > footer button,
.ov2-details-panel > header button { flex: 0 0 auto; min-height: 34px; padding: 0 10px; border: 1px solid var(--cc2-line); border-radius: 8px; color: var(--cc2-soft); background: transparent; cursor: pointer; font-size: 8px; font-weight: 700; }
.ov2-device-panel > footer button:hover,
.ov2-details-panel > header button:hover { border-color: rgba(var(--cc2-green-rgb), .4); color: var(--cc2-green); }

.ov2-details-panel { padding: 22px; }
.ov2-details-panel > header { margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ov2-details-panel h3 { margin: 5px 0 0; color: var(--cc2-text); font-size: 15px; }
#t-overview .ov2-details-list { display: grid; }
#t-overview .ov-account-item { min-width: 0; min-height: 58px; padding: 10px 0; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 0 !important; border-bottom: 1px solid var(--cc2-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
#t-overview .ov-account-item:last-child { border-bottom: 0 !important; }
#t-overview .ov-account-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .06); }
#t-overview .ov-account-copy { min-width: 0; display: grid; gap: 3px; }
#t-overview .ov-account-copy strong { overflow: hidden; color: var(--cc2-soft); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#t-overview .ov-account-status { padding: 4px 6px; border-radius: 5px; color: var(--cc2-muted); background: rgba(255, 255, 255, .035); font-size: 7px; white-space: nowrap; }
#t-overview .ov-account-status.ok { color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .07); }
#t-overview .ov-account-status.warn { color: var(--cc2-soft); }

/* Shop: sticky discovery rail + catalog */
.shop2-page {
  display: grid;
  grid-template-columns: 285px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.shop2-sidebar {
  position: sticky;
  top: 18px;
  overflow: hidden;
  border: 1px solid var(--cc2-line);
  border-radius: var(--cc2-radius);
  background: var(--cc2-panel);
}

.shop2-sidebar > header { padding: 25px 22px 21px; border-bottom: 1px solid var(--cc2-line); }
.shop2-sidebar h2 { margin: 8px 0 9px; color: var(--cc2-text); font-size: 24px; letter-spacing: -.04em; }
.shop2-sidebar > header p { margin: 0; color: var(--cc2-muted); font-size: 10px; line-height: 1.65; }
.shop2-redeem { padding: 20px 18px; border-bottom: 1px solid var(--cc2-line); background: rgba(var(--cc2-green-rgb), .025); }
.shop2-section-heading { margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.shop2-section-heading > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(var(--cc2-green-rgb), .3); border-radius: 8px; color: var(--cc2-green); }
.shop2-section-heading small { color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
.shop2-section-heading h3 { margin: 3px 0 0; color: var(--cc2-text); font-size: 13px; }
.shop2-redeem > label,
.shop2-search > span,
.shop2-filter-label > span { display: block; margin-bottom: 7px; color: var(--cc2-muted); font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.shop2-key-field { height: 44px; padding: 3px; display: flex; border: 1px solid var(--cc2-line); border-radius: 9px; background: #080a08; }
#t-shop .shop2-key-field .ki { min-width: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0 8px; border: 0 !important; outline: 0; color: var(--cc2-text); background: transparent !important; box-shadow: none !important; font: 500 8px var(--mn, monospace); }
.shop2-key-field button { flex: 0 0 auto; width: 36px; border: 0; border-radius: 7px; color: #080a08; background: var(--cc2-green); cursor: pointer; }
.shop2-redeem .ae { min-height: 14px; margin-top: 6px; font-size: 8px; }
.shop2-discovery { padding: 20px 18px; }
.shop2-search > div { height: 42px; padding: 0 11px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--cc2-line); border-radius: 9px; background: #080a08; }
.shop2-search i { color: var(--cc2-green); font-size: 10px; }
.shop2-search input { min-width: 0; width: 100%; height: 100%; border: 0; outline: 0; color: var(--cc2-text); background: transparent; font-size: 9px; }
.shop2-filter-label { margin: 19px 0 9px; display: flex; align-items: center; justify-content: space-between; }
.shop2-filter-label > span { margin: 0; }
.shop2-filter-label small { color: var(--cc2-muted); font-size: 7px; }
#t-shop .shop-game-filters { display: grid; gap: 5px; }
#t-shop .shop-game-filter { width: 100%; min-height: 34px; padding: 0 10px; border: 1px solid transparent; border-radius: 7px; color: var(--cc2-muted); background: transparent; cursor: pointer; font-size: 9px; text-align: left; }
#t-shop .shop-game-filter:hover,
#t-shop .shop-game-filter.active { border-color: rgba(var(--cc2-green-rgb), .25); color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .055); }
.shop2-assurance { padding: 15px 18px; display: grid; gap: 7px; border-top: 1px solid var(--cc2-line); color: var(--cc2-muted); font-size: 8px; }
.shop2-assurance span { display: flex; align-items: center; gap: 7px; }
.shop2-assurance i { color: var(--cc2-green); }

.shop2-catalog { min-width: 0; }
.shop2-catalog-head { min-height: 78px; margin-bottom: 14px; padding: 0 3px 15px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--cc2-line); }
.shop2-catalog-head h2 { margin: 6px 0 0; color: var(--cc2-text); font-size: 27px; letter-spacing: -.045em; }
#t-shop .shop-product-count { padding: 6px 8px; border: 1px solid var(--cc2-line); border-radius: 6px; color: var(--cc2-muted); background: var(--cc2-panel); font-size: 8px; white-space: nowrap; }
#t-shop #shop-grid.shop2-product-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 13px !important; }
#t-shop .shop2-product-card { min-width: 0; min-height: 400px; padding: 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; border: 1px solid var(--cc2-line) !important; border-radius: var(--cc2-radius) !important; color: var(--cc2-text) !important; background: var(--cc2-panel) !important; box-shadow: none !important; text-align: left !important; transition: border-color .2s ease, transform .2s ease !important; }
#t-shop .shop2-product-card::before,
#t-shop .shop2-product-card::after { display: none !important; }
#t-shop .shop2-product-card:hover { border-color: rgba(var(--cc2-green-rgb), .38) !important; transform: translateY(-3px) !important; box-shadow: 0 18px 45px rgba(0, 0, 0, .26) !important; }
.shop2-product-visual { position: relative; height: 166px; overflow: hidden; border-bottom: 1px solid var(--cc2-line); background: var(--cc2-panel-2); }
#t-shop .shop2-product-visual .shop-product-image { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
#t-shop .shop2-product-visual .shop-product-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); opacity: .62; transition: filter .25s ease, opacity .25s ease, transform .25s ease; }
#t-shop .shop2-product-card:hover .shop-product-image img { filter: grayscale(.35) contrast(1.04); opacity: .82; transform: scale(1.025); }
#t-shop .shop2-product-visual .shop-product-image.fallback { display: grid; place-items: center; color: rgba(var(--cc2-green-rgb), .34); font-size: 40px; }
#t-shop .shop-public-badge { position: absolute; z-index: 2; top: 12px; left: 12px; padding: 5px 7px; border: 1px solid rgba(var(--cc2-green-rgb), .32); border-radius: 5px; color: var(--cc2-green); background: rgba(8, 10, 8, .88); font-size: 7px; text-transform: uppercase; }
.shop2-product-code { position: absolute; right: 10px; bottom: -10px; color: rgba(var(--cc2-green-rgb), .18); font-size: 62px; font-weight: 800; letter-spacing: -.12em; line-height: 1; }
.shop2-product-copy { flex: 1 1 auto; padding: 19px 19px 14px; }
#t-shop .shop2-product-copy .scg { margin: 0 0 8px !important; color: var(--cc2-green) !important; font-size: 8px !important; letter-spacing: .08em; text-transform: uppercase; }
#t-shop .shop2-product-copy h3 { margin: 0 0 9px !important; color: var(--cc2-text) !important; font-size: 19px !important; line-height: 1.15 !important; }
#t-shop .shop2-product-copy .shop-product-summary { min-height: 48px; margin: 0; color: var(--cc2-muted); font-size: 9px; line-height: 1.65; }
.shop2-product-footer { padding: 15px 19px 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; border-top: 1px solid var(--cc2-line); }
.shop2-product-pricing { min-width: 0; }
.shop2-product-pricing > small { display: block; margin-bottom: 4px; color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
#t-shop .shop2-product-pricing .scp { margin: 0 !important; color: var(--cc2-text) !important; font-size: 22px !important; line-height: 1 !important; }
#t-shop .shop2-product-pricing .scp small { color: var(--cc2-muted) !important; font-size: 11px !important; }
#t-shop .shop2-product-pricing .scd { display: block; margin: 5px 0 0 !important; color: var(--cc2-muted) !important; font-size: 8px !important; }
#t-shop .shop2-product-footer > button { min-width: 102px; min-height: 38px; padding: 0 11px !important; border: 1px solid var(--cc2-green) !important; border-radius: 8px !important; color: #080a08 !important; background: var(--cc2-green) !important; box-shadow: none !important; font-size: 8px !important; font-weight: 750 !important; }
#t-shop .shop-no-results { grid-column: 1 / -1; min-height: 240px; display: grid; place-items: center; border: 1px dashed var(--cc2-line); border-radius: var(--cc2-radius); color: var(--cc2-muted); text-align: center; }

/* Subscriptions: lifecycle timeline */
.subscriptions2-page { display: grid; gap: 18px; }
.subs2-header { min-height: 124px; padding: 20px 4px 20px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 24px; border-bottom: 1px solid var(--cc2-line); }
.subs2-header h2 { margin: 6px 0 6px; color: var(--cc2-text); font-size: 29px; letter-spacing: -.045em; }
.subs2-header p { margin: 0; color: var(--cc2-muted); font-size: 10px; }
.subs2-counters { margin: 0; display: flex; overflow: hidden; border: 1px solid var(--cc2-line); border-radius: 10px; background: var(--cc2-panel); }
.subs2-counters > div { min-width: 94px; padding: 13px 16px; display: grid; gap: 4px; border-right: 1px solid var(--cc2-line); }
.subs2-counters > div:last-child { border-right: 0; }
.subs2-counters dt { color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
.subs2-counters dd { margin: 0; color: var(--cc2-green); font-size: 24px; font-weight: 680; line-height: 1; }
.subs2-header > button { min-height: 42px; padding: 0 15px; border: 1px solid var(--cc2-green); border-radius: 9px; color: #080a08; background: var(--cc2-green); cursor: pointer; font-size: 9px; font-weight: 750; }
.subs2-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
.subs2-live { min-width: 0; padding-left: 20px; border-left: 1px solid rgba(var(--cc2-green-rgb), .28); }
.subs2-live > header { min-height: 70px; display: flex; align-items: center; gap: 13px; }
.subs2-line-dot { width: 9px; height: 9px; margin-left: -25px; border: 2px solid var(--cc2-bg); border-radius: 50%; background: var(--cc2-green); box-shadow: 0 0 0 1px rgba(var(--cc2-green-rgb), .4); }
.subs2-live header small,
.subs2-archive header small,
.subs2-entry header small { color: var(--cc2-muted); font-size: 8px; text-transform: uppercase; }
.subs2-live h3,
.subs2-archive h3 { margin: 4px 0 0; color: var(--cc2-text); font-size: 17px; }
.subs2-timeline { display: grid; gap: 1px; }
.subs2-entry { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); }
.subs2-entry-marker { position: relative; display: flex; justify-content: flex-start; }
.subs2-entry-marker span { position: relative; z-index: 1; width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid rgba(var(--cc2-green-rgb), .28); border-radius: 50%; color: var(--cc2-green); background: var(--cc2-bg); font: 700 7px var(--mn, monospace); }
.subs2-entry-marker i { position: absolute; top: 29px; bottom: 0; left: 14px; width: 1px; background: var(--cc2-line); }
.subs2-entry:last-child .subs2-entry-marker i { display: none; }
.subs2-entry-main { margin-bottom: 12px; padding: 18px; border: 1px solid var(--cc2-line); border-radius: 11px; background: var(--cc2-panel); }
.subs2-entry-main > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.subs2-entry h4 { margin: 4px 0 0; color: var(--cc2-text); font-size: 15px; }
.subs2-state { padding: 5px 7px; border: 1px solid rgba(var(--cc2-green-rgb), .28); border-radius: 6px; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .045); font-size: 7px; text-transform: uppercase; }
.subs2-entry.is-frozen .subs2-state { border-color: var(--cc2-line); color: var(--cc2-muted); background: rgba(255, 255, 255, .025); }
.subs2-entry dl { margin: 16px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--cc2-line); }
.subs2-entry dl > div { padding: 10px 12px; display: grid; gap: 4px; border-right: 1px solid var(--cc2-line); }
.subs2-entry dl > div:last-child { border-right: 0; }
.subs2-entry dt { color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
.subs2-entry dd { margin: 0; color: var(--cc2-soft); font-size: 9px; }
.subs2-entry footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.subs2-entry footer p { margin: 0; color: var(--cc2-muted); font-size: 8px; line-height: 1.5; }
.subs2-entry footer p i { margin-right: 5px; color: var(--cc2-green); }
.subs2-row-action,
.subs2-empty button { flex: 0 0 auto; min-height: 34px; padding: 0 10px; border: 1px solid var(--cc2-line); border-radius: 7px; color: var(--cc2-soft); background: transparent; cursor: pointer; font-size: 8px; font-weight: 700; }
.subs2-row-action:hover:not(:disabled),
.subs2-empty button:hover { border-color: rgba(var(--cc2-green-rgb), .4); color: var(--cc2-green); }
.subs2-row-action:disabled { opacity: .35; cursor: not-allowed; }
.subs2-row-action.is-resume { border-color: rgba(var(--cc2-green-rgb), .32); color: var(--cc2-green); }
.subs2-empty { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed var(--cc2-line); border-radius: 12px; text-align: center; }
.subs2-empty > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .07); }
.subs2-empty h4 { margin: 14px 0 6px; color: var(--cc2-text); }
.subs2-empty p { margin: 0 0 17px; color: var(--cc2-muted); font-size: 9px; }

.subs2-archive { min-width: 0; overflow: hidden; border: 1px solid var(--cc2-line); border-radius: var(--cc2-radius); background: var(--cc2-panel); }
.subs2-archive > header { min-height: 78px; padding: 17px 19px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--cc2-line); }
.subs2-archive > header > i { color: var(--cc2-green); }
.subs2-history { max-height: 610px; padding: 5px 18px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(var(--cc2-green-rgb), .25) transparent; }
.subs2-history-row { min-height: 75px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid var(--cc2-line); }
.subs2-history-row:last-child { border-bottom: 0; }
.subs2-history-row > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .055); font-size: 9px; }
.subs2-history-row h4 { margin: 0 0 4px; color: var(--cc2-soft); font-size: 10px; }
.subs2-history-row p { margin: 0; color: var(--cc2-muted); font-size: 7px; }
.subs2-history-row p i { margin: 0 3px; color: var(--cc2-green); }
.subs2-history-row > small { padding: 4px 6px; border-radius: 5px; color: var(--cc2-muted); background: rgba(255, 255, 255, .03); font-size: 7px; }
.subs2-history-empty { min-height: 280px; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--cc2-muted); text-align: center; }
.subs2-history-empty i { color: var(--cc2-green); font-size: 22px; }
.subs2-history-empty p { margin: 0; font-size: 9px; }

/* Downloads: build dock + release stream */
.downloads2-page { display: grid; gap: 18px; }
.downloads2-header { min-height: 92px; padding: 14px 3px 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; border-bottom: 1px solid var(--cc2-line); }
.downloads2-header h2 { margin: 6px 0 0; color: var(--cc2-text); font-size: 29px; letter-spacing: -.045em; }
.downloads2-header p { max-width: 410px; margin: 0; color: var(--cc2-muted); font-size: 9px; line-height: 1.6; text-align: right; }
.downloads2-workspace { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 18px; align-items: start; }
.downloads2-dock { position: sticky; top: 18px; min-width: 0; overflow: hidden; border: 1px solid rgba(var(--cc2-green-rgb), .26); border-radius: var(--cc2-radius); background: var(--cc2-panel); }
.downloads2-dock-label { min-height: 40px; padding: 0 15px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--cc2-line); color: var(--cc2-muted); background: rgba(var(--cc2-green-rgb), .025); font-size: 8px; text-transform: uppercase; }
.downloads2-dock-label i { color: var(--cc2-green); }
.downloads2-build { padding: 22px; }
.downloads2-build-mark { position: relative; height: 128px; margin-bottom: 20px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--cc2-line); background: #090b09; }
.downloads2-build-mark > i { color: var(--cc2-green); font-size: 30px; }
.downloads2-build-mark > span { position: absolute; right: -4px; bottom: -27px; color: rgba(var(--cc2-green-rgb), .08); font-size: 130px; font-weight: 800; line-height: 1; }
.downloads2-build > header { display: flex; align-items: center; justify-content: space-between; gap: 13px; }
.downloads2-build header small { color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
.downloads2-build h3 { margin: 4px 0 0; color: var(--cc2-text); font-size: 17px; }
.downloads2-status { padding: 5px 7px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--cc2-line); border-radius: 6px; color: var(--cc2-muted); background: rgba(255, 255, 255, .025); font-size: 7px; text-transform: uppercase; }
.downloads2-status i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.downloads2-status.is-online { border-color: rgba(var(--cc2-green-rgb), .3); color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .05); }
.downloads2-status.is-maintenance,
.downloads2-status.is-offline { color: var(--cc2-muted); }
.downloads2-build dl { margin: 19px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--cc2-line); border-bottom: 1px solid var(--cc2-line); }
.downloads2-build dl > div { padding: 12px 8px; display: grid; gap: 5px; border-right: 1px solid var(--cc2-line); }
.downloads2-build dl > div:first-child { padding-left: 0; }
.downloads2-build dl > div:last-child { padding-right: 0; border-right: 0; }
.downloads2-build dt { color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
.downloads2-build dd { margin: 0; color: var(--cc2-soft); font-size: 9px; }
.downloads2-mobile-note { margin: -5px 0 15px; color: var(--cc2-soft); font-size: 8px; line-height: 1.5; }
.downloads2-mobile-note i { color: var(--cc2-green); }
.downloads2-build-actions { display: grid; grid-template-columns: 1fr 1.25fr; gap: 7px; }
.downloads2-build-actions button { min-height: 39px; padding: 0 9px; border-radius: 8px; cursor: pointer; font-size: 8px; font-weight: 750; }
.downloads2-issues { border: 1px solid var(--cc2-line); color: var(--cc2-soft); background: transparent; }
.downloads2-download { border: 1px solid var(--cc2-green); color: #080a08; background: var(--cc2-green); }
.downloads2-build-actions button:disabled { border-color: var(--cc2-line); color: var(--cc2-muted); background: rgba(255, 255, 255, .03); cursor: not-allowed; }
.downloads2-build > footer { margin-top: 16px; display: flex; align-items: flex-start; gap: 8px; color: var(--cc2-muted); font-size: 7px; line-height: 1.5; }
.downloads2-build > footer i { color: var(--cc2-green); }

.downloads2-journal { min-width: 0; }
.downloads2-journal-head { min-height: 62px; padding: 0 2px 13px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--cc2-line); }
.downloads2-journal-head h3 { margin: 5px 0 0; color: var(--cc2-text); font-size: 19px; }
.downloads2-journal-head > span { color: var(--cc2-muted); font-size: 8px; }
#t-downloads .downloads2-filters { padding: 11px 0; display: flex; flex-wrap: wrap; gap: 5px; border-bottom: 1px solid var(--cc2-line); }
#t-downloads .clf-btn { min-height: 30px; padding: 0 10px; border: 1px solid var(--cc2-line); border-radius: 6px; color: var(--cc2-muted); background: transparent; cursor: pointer; font-size: 7px; }
#t-downloads .clf-btn:hover,
#t-downloads .clf-btn.active { border-color: var(--cc2-green) !important; color: #080a08 !important; background: var(--cc2-green) !important; box-shadow: none !important; }
.downloads2-feed { display: grid; }
#t-downloads .downloads2-release { min-width: 0; margin: 0 !important; padding: 20px 2px; display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; border-bottom: 1px solid var(--cc2-line); opacity: 1 !important; transform: none !important; animation: none !important; }
#t-downloads .downloads2-release::before { display: none !important; }
.downloads2-release-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.downloads2-release-meta span { padding: 4px 6px; border-radius: 5px; color: var(--cc2-muted); background: rgba(255, 255, 255, .035); font-size: 7px; text-transform: uppercase; }
.downloads2-release-meta .downloads2-type { color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .07); }
.downloads2-release-meta time { margin-top: 4px; color: var(--cc2-muted); font-size: 7px; }
.downloads2-release-body { min-width: 0; }
.downloads2-release-body > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.downloads2-release-body h4 { margin: 0; color: var(--cc2-text); font-size: 16px; line-height: 1.3; }
.downloads2-release-body > header button { flex: 0 0 auto; width: 29px; height: 29px; border: 1px solid var(--cc2-line); border-radius: 7px; color: var(--cc2-muted); background: transparent; cursor: pointer; }
.downloads2-release-body > header button:hover { border-color: rgba(var(--cc2-green-rgb), .4); color: var(--cc2-green); }
.downloads2-release-copy { margin-top: 12px; color: var(--cc2-soft); font-size: 9px; line-height: 1.75; }
.downloads2-empty { min-height: 260px; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--cc2-muted); text-align: center; }
.downloads2-empty i { color: var(--cc2-green); font-size: 20px; }
.downloads2-empty p { margin: 0; font-size: 9px; }
#t-downloads .cl-gallery-strip { margin-top: 14px; border: 1px solid var(--cc2-line); border-radius: 9px; background: #090b09; }

/* Security: navigation rail + horizontal settings */
.security2-page { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 20px; align-items: start; }
.security2-rail { position: sticky; top: 18px; min-width: 0; padding: 24px 18px 18px; border: 1px solid var(--cc2-line); border-radius: var(--cc2-radius); background: var(--cc2-panel); }
.security2-mark { width: 50px; height: 50px; margin-bottom: 18px; display: grid; place-items: center; border: 1px solid rgba(var(--cc2-green-rgb), .35); border-radius: 50%; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .05); font-size: 18px; }
.security2-rail h2 { margin: 7px 0 7px; color: var(--cc2-text); font-size: 26px; letter-spacing: -.045em; }
.security2-rail header p { margin: 0; color: var(--cc2-muted); font-size: 9px; line-height: 1.55; }
.security2-rail nav { margin: 22px 0; display: grid; border-top: 1px solid var(--cc2-line); }
.security2-rail nav button { width: 100%; min-height: 46px; padding: 0 8px; display: flex; align-items: center; gap: 10px; border: 0; border-bottom: 1px solid var(--cc2-line); color: var(--cc2-muted); background: transparent; cursor: pointer; font: inherit; font-size: 11px; text-align: left; }
.security2-rail nav button span { color: rgba(var(--cc2-green-rgb), .58); font: 700 9px var(--mn, monospace); }
.security2-rail nav button:hover,
.security2-rail nav button.is-active { color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .055); }
.security2-rail nav button.is-active span { color: var(--cc2-green); }
.security2-rail-note { padding: 12px; display: flex; align-items: flex-start; gap: 8px; border: 1px solid rgba(var(--cc2-green-rgb), .18); border-radius: 8px; color: var(--cc2-muted); background: rgba(var(--cc2-green-rgb), .03); font-size: 7px; line-height: 1.5; }
.security2-rail-note i { margin-top: 1px; color: var(--cc2-green); }
.security2-settings { min-width: 0; border-top: 1px solid var(--cc2-line); }
#t-security .security2-setting { position: relative; min-width: 0; padding: 24px 3px; border: 0 !important; border-bottom: 1px solid var(--cc2-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; scroll-margin-top: 96px; transition: border-color .25s ease, background .25s ease; }
#t-security .security2-setting.is-account-target { border-bottom-color: rgba(var(--cc2-green-rgb), .48) !important; background: linear-gradient(90deg, rgba(var(--cc2-green-rgb), .045), transparent 62%) !important; }
#t-security .security2-setting::before,
#t-security .security2-setting::after { display: none !important; }
.security2-setting > header { min-height: 43px; margin-bottom: 20px; display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.security2-setting > header > span:first-child { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(var(--cc2-green-rgb), .28); border-radius: 50%; color: var(--cc2-green); font: 700 7px var(--mn, monospace); }
.security2-setting > header small,
.security2-name-form small,
.security2-name-form label > span,
.security2-password-fields label > span,
.security2-code small { color: var(--cc2-muted); font-size: 7px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.security2-setting > header h3 { margin: 4px 0 0; color: var(--cc2-text); font-size: 16px; }
#t-security .security2-setting > header > b { padding: 5px 7px; border: 1px solid var(--cc2-line) !important; border-radius: 6px !important; color: var(--cc2-muted) !important; background: rgba(255, 255, 255, .025) !important; font-size: 7px !important; font-weight: 650 !important; white-space: nowrap; }
#t-security .security2-setting > header > b.active { border-color: rgba(var(--cc2-green-rgb), .3) !important; color: var(--cc2-green) !important; background: rgba(var(--cc2-green-rgb), .05) !important; }
#t-security .security2-setting > header > b.warning { color: var(--cc2-soft) !important; }
.security2-profile-layout { display: grid; grid-template-columns: auto minmax(190px, .55fr) minmax(320px, 1fr); align-items: center; gap: 22px; }
.security2-avatar { position: relative; width: 100px; height: 100px; }
.security2-avatar img { width: 100%; height: 100%; border: 1px solid rgba(var(--cc2-green-rgb), .3) !important; border-radius: 50% !important; object-fit: cover; background: var(--cc2-panel) !important; }
.security2-avatar button { position: absolute; right: -3px; bottom: -3px; width: 34px; height: 34px; border: 4px solid var(--cc2-bg); border-radius: 50%; color: #080a08; background: var(--cc2-green); cursor: pointer; }
.security2-avatar-actions h4,
.security2-name-form h4,
.security2-toggle-row h4 { margin: 0 0 6px; color: var(--cc2-text); font-size: 12px; }
.security2-avatar-actions p,
.security2-name-form p,
.security2-setting-body p,
.security2-toggle-row p { margin: 0; color: var(--cc2-muted); font-size: 8px; line-height: 1.55; }
.security2-avatar-actions input { display: none; }
.security2-avatar-actions > div { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 6px; }
.security2-avatar-actions button,
.security2-setting-body > button,
.security2-button-pair button { min-height: 35px; padding: 0 11px; border: 1px solid var(--cc2-line); border-radius: 7px; color: var(--cc2-soft); background: transparent; cursor: pointer; font-size: 8px; font-weight: 700; }
.security2-avatar-actions button:hover,
.security2-setting-body > button:hover,
.security2-button-pair button:hover { border-color: rgba(var(--cc2-green-rgb), .4); color: var(--cc2-green); }
#t-security .security2-danger { color: var(--cc2-muted); }
.security2-name-form { min-width: 0; padding-left: 22px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; border-left: 1px solid var(--cc2-line); }
.security2-name-form > div:first-child { grid-column: 1 / -1; }
.security2-name-form label,
.security2-password-fields label { min-width: 0; display: grid; gap: 6px; }
.security2-name-form input,
.security2-password-fields input { min-width: 0; width: 100%; height: 40px; padding: 0 11px; border: 1px solid var(--cc2-line); border-radius: 8px; outline: 0; color: var(--cc2-text); background: var(--cc2-panel); font-size: 9px; }
.security2-name-form input:focus,
.security2-password-fields input:focus { border-color: rgba(var(--cc2-green-rgb), .5); box-shadow: 0 0 0 3px rgba(var(--cc2-green-rgb), .06); }
.security2-name-form > button { align-self: end; min-height: 40px; padding: 0 13px; border: 1px solid var(--cc2-green); border-radius: 8px; color: #080a08; background: var(--cc2-green); cursor: pointer; font-size: 8px; font-weight: 750; }
.security2-name-form .ae { grid-column: 1 / -1; min-height: 12px; font-size: 8px; }
.security2-setting-body { padding-left: 47px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; }
.security2-code { max-width: 500px; margin-top: 13px; padding: 11px; display: grid; gap: 6px; overflow: hidden; border: 1px solid var(--cc2-line); background: var(--cc2-panel); }
.security2-code code { overflow: hidden; color: var(--cc2-soft); font: 600 9px var(--mn, monospace); text-overflow: ellipsis; white-space: nowrap; }
.security2-password-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.security2-password-fields .ae { grid-column: 1 / -1; min-height: 12px; font-size: 8px; }
.security2-setting-copy { display: flex; align-items: center; gap: 12px; }
.security2-setting-copy > i { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .06); }
.security2-button-pair { display: flex; gap: 7px; }
.security2-button-pair #btn-tfa-on { border-color: var(--cc2-green); color: #080a08; background: var(--cc2-green); }
.security2-toggle-row { padding-left: 47px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.security2-anchor { position: absolute; top: 0; }
#t-security .security-discord-state { min-height: 72px; margin-left: 47px; display: grid; align-items: center; }
#t-security .security-discord-account,
#t-security .security-discord-connect { padding: 13px !important; border: 1px solid var(--cc2-line) !important; border-radius: 9px !important; background: var(--cc2-panel) !important; }
#t-security .security-discord-avatar { border-radius: 50% !important; color: #080a08 !important; background: var(--cc2-green) !important; }
#t-security .security-discord-btn { border: 1px solid var(--cc2-green) !important; border-radius: 7px !important; color: #080a08 !important; background: var(--cc2-green) !important; box-shadow: none !important; }

/* Support: rail + inbox + conversation */
.support2-page { display: grid; gap: 14px; }
.support2-toolbar { min-height: 82px; padding: 13px 2px 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; gap: 24px; border-bottom: 1px solid var(--cc2-line); }
.support2-toolbar h2 { margin: 5px 0 0; color: var(--cc2-text); font-size: 28px; letter-spacing: -.045em; }
.support2-toolbar p { max-width: 340px; margin: 0; color: var(--cc2-muted); font-size: 9px; line-height: 1.5; }
.support2-toolbar > button { min-height: 40px; padding: 0 14px; border: 1px solid var(--cc2-green); border-radius: 8px; color: #080a08; background: var(--cc2-green); cursor: pointer; font-size: 8px; font-weight: 750; }
.support2-workspace { min-height: 680px; display: grid; grid-template-columns: 180px 330px minmax(0, 1fr); border: 1px solid var(--cc2-line); border-radius: var(--cc2-radius); background: var(--cc2-panel); }
.support2-rail { min-width: 0; padding: 18px 12px; display: flex; flex-direction: column; border-right: 1px solid var(--cc2-line); }
.support2-rail-title { padding: 0 7px 14px; display: grid; gap: 3px; }
.support2-rail-title small,
.support2-inbox > header small { color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
.support2-rail-title strong { color: var(--cc2-soft); font-size: 11px; }
.support2-filter-tabs { display: grid; gap: 4px; }
#t-support .support2-filter-tabs .ab { width: 100%; min-height: 38px; padding: 0 9px; display: flex; align-items: center; gap: 9px; border: 1px solid transparent !important; border-radius: 7px !important; color: var(--cc2-muted) !important; background: transparent !important; cursor: pointer; font-size: 8px; text-align: left; }
#t-support .support2-filter-tabs .ab i { width: 15px; text-align: center; }
#t-support .support2-filter-tabs .ab:hover,
#t-support .support2-filter-tabs .ab.active { border-color: rgba(var(--cc2-green-rgb), .24) !important; color: var(--cc2-green) !important; background: rgba(var(--cc2-green-rgb), .05) !important; }
.support2-resources { margin-top: auto; padding-top: 16px; display: grid; gap: 4px; border-top: 1px solid var(--cc2-line); }
.support2-resources > small { padding: 0 7px 5px; color: var(--cc2-muted); font-size: 7px; text-transform: uppercase; }
.support2-resources button,
.support2-resources a { min-height: 34px; padding: 0 7px; display: flex; align-items: center; gap: 8px; border: 0; border-radius: 7px; color: var(--cc2-muted); background: transparent; cursor: pointer; font-size: 8px; text-align: left; text-decoration: none; }
.support2-resources button:hover,
.support2-resources a:hover { color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .04); }
.support2-resources i { width: 14px; text-align: center; }
.support2-inbox { min-width: 0; padding: 16px 13px; display: grid; grid-template-rows: auto minmax(0, 1fr); border-right: 1px solid var(--cc2-line); background: #0a0c0a; }
.support2-inbox > header { min-height: 50px; padding: 0 4px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--cc2-line); }
.support2-inbox h3 { margin: 3px 0 0; color: var(--cc2-text); font-size: 16px; }
.support2-inbox > header > span { padding: 5px 7px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(var(--cc2-green-rgb), .25); border-radius: 6px; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .04); font-size: 7px; text-transform: uppercase; }
.support2-inbox > header > span i { width: 5px; height: 5px; border-radius: 50%; background: var(--cc2-green); }
.support2-ticket-list { min-height: 0; padding-top: 8px; overflow-y: auto; display: grid; align-content: start; gap: 5px; scrollbar-width: thin; scrollbar-color: rgba(var(--cc2-green-rgb), .25) transparent; }
#t-support .support2-ticket { width: 100%; min-height: 74px; padding: 10px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid transparent !important; border-radius: 9px !important; color: var(--cc2-soft); background: transparent !important; box-shadow: none !important; cursor: pointer; text-align: left; }
#t-support .support2-ticket::before,
#t-support .support2-ticket::after { display: none !important; }
#t-support .support2-ticket:hover,
#t-support .support2-ticket.act { border-color: rgba(var(--cc2-green-rgb), .25) !important; background: rgba(var(--cc2-green-rgb), .045) !important; transform: none !important; }
.support2-ticket-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .055); font-size: 9px; }
.support2-ticket-copy { min-width: 0; display: grid; gap: 3px; }
.support2-ticket-copy small,
.support2-ticket-copy > span { overflow: hidden; color: var(--cc2-muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.support2-ticket-copy strong { overflow: hidden; color: var(--cc2-soft); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#t-support .support2-ticket .tb { padding: 4px 5px !important; border: 1px solid rgba(var(--cc2-green-rgb), .2) !important; border-radius: 5px !important; color: var(--cc2-green) !important; background: rgba(var(--cc2-green-rgb), .04) !important; font-size: 6px !important; }
.support2-list-empty { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: var(--cc2-muted); text-align: center; }
.support2-list-empty i { color: var(--cc2-green); font-size: 20px; }
.support2-list-empty strong { color: var(--cc2-soft); font-size: 10px; }
.support2-list-empty span { font-size: 8px; }
.support2-thread { position: relative; min-width: 0; min-height: 678px; overflow: hidden; display: flex; flex-direction: column; background: var(--cc2-panel); }
#t-support .support-empty { width: 100%; min-height: 678px; padding: 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
#t-support .support-empty-visual { width: 58px; height: 58px; margin-bottom: 14px; display: grid; place-items: center; border: 1px solid rgba(var(--cc2-green-rgb), .28); border-radius: 50%; color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .05); font-size: 18px; }
#t-support .support-empty > small { color: var(--cc2-green); font-size: 7px; text-transform: uppercase; }
#t-support .support-empty h3 { margin: 8px 0 6px; color: var(--cc2-text); font-size: 18px; }
#t-support .support-empty p { max-width: 330px; margin: 0 0 16px; color: var(--cc2-muted); font-size: 9px; line-height: 1.6; }
#t-support .support-empty button { min-height: 37px; padding: 0 12px; border: 1px solid var(--cc2-green); border-radius: 8px; color: #080a08; background: var(--cc2-green); cursor: pointer; font-size: 8px; font-weight: 750; }
#t-support .support2-thread-head,
#t-support .tic-v-head { min-height: 76px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--cc2-line); background: rgba(var(--cc2-green-rgb), .02); }
#t-support .tic-v-head h2 { color: var(--cc2-text) !important; }
#t-support .support2-thread-messages,
#t-support .tic-v-body { flex: 1 1 auto; min-height: 0; padding: 18px; overflow-y: auto; background: #0b0e0b; }
#t-support .msg-b { max-width: min(76%, 620px); padding: 10px 13px; border: 1px solid var(--cc2-line) !important; border-radius: 11px !important; color: var(--cc2-soft) !important; background: var(--cc2-panel-2) !important; font-size: 9px; line-height: 1.65; }
#t-support .msg-right { margin-left: auto; border-color: rgba(var(--cc2-green-rgb), .25) !important; color: var(--cc2-text) !important; background: rgba(var(--cc2-green-rgb), .075) !important; }
#t-support .theme-staff { border-color: var(--cc2-green) !important; color: #080a08 !important; background: var(--cc2-green) !important; }
#t-support .theme-ai { border-color: rgba(var(--cc2-green-rgb), .2) !important; color: var(--cc2-soft) !important; background: rgba(var(--cc2-green-rgb), .045) !important; }
#t-support .msg-meta { margin-bottom: 5px; color: var(--cc2-muted) !important; font-size: 7px; }
#t-support .support2-thread-compose,
#t-support .tic-v-foot { padding: 12px; display: flex; gap: 8px; border-top: 1px solid var(--cc2-line); background: var(--cc2-panel); }
#t-support .tic-v-foot textarea { min-height: 50px; margin: 0; border: 1px solid var(--cc2-line) !important; border-radius: 8px !important; color: var(--cc2-text) !important; background: #090b09 !important; }
#t-support .tic-v-foot .btn { min-height: 40px; border: 1px solid var(--cc2-green) !important; border-radius: 8px !important; color: #080a08 !important; background: var(--cc2-green) !important; box-shadow: none !important; }
#t-support .tic-v-foot.closed { justify-content: center; color: var(--cc2-muted); font-size: 8px; }

@media (max-width: 1100px) {
  .ov2-account-strip { grid-template-columns: minmax(220px, .8fr) minmax(360px, 1.2fr); }
  .ov2-strip-actions { grid-column: 1 / -1; padding-top: 0; justify-content: flex-end; border-top: 1px solid var(--cc2-line); }
  .ov2-strip-actions button { width: auto; height: 40px; padding: 0 12px; grid-auto-flow: column; }
  .ov2-workspace { grid-template-columns: 1fr; }
  .ov2-side-column { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .shop2-page { grid-template-columns: 250px minmax(0, 1fr); }
  #t-shop #shop-grid.shop2-product-grid { grid-template-columns: 1fr !important; }
  .subs2-layout { grid-template-columns: minmax(0, 1fr) 300px; }
  .downloads2-workspace { grid-template-columns: 320px minmax(0, 1fr); }
  .security2-page { grid-template-columns: 205px minmax(0, 1fr); }
  .security2-profile-layout { grid-template-columns: auto minmax(0, 1fr); }
  .security2-name-form { grid-column: 1 / -1; padding: 18px 0 0; border-top: 1px solid var(--cc2-line); border-left: 0; }
  .support2-workspace { grid-template-columns: 155px 295px minmax(0, 1fr); }
}

@media (max-width: 800px) {
  .ov2-account-strip { grid-template-columns: 1fr; }
  .ov2-identity-list { border-top: 1px solid var(--cc2-line); border-right: 0; border-left: 0; }
  .ov2-strip-actions { grid-column: auto; }
  .ov2-side-column { grid-template-columns: 1fr; }
  .shop2-page { grid-template-columns: 1fr; }
  .shop2-sidebar { position: static; }
  .shop2-sidebar > header { padding-bottom: 18px; }
  .shop2-discovery { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr); gap: 14px; align-items: end; }
  .shop2-filter-label { display: none; }
  #t-shop .shop-game-filters { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; }
  #t-shop .shop-game-filter { width: auto; flex: 0 0 auto; }
  .shop2-assurance { grid-template-columns: repeat(2, 1fr); }
  #t-shop #shop-grid.shop2-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .subs2-header { grid-template-columns: 1fr auto; }
  .subs2-header > button { grid-column: 1 / -1; justify-self: start; }
  .subs2-layout { grid-template-columns: 1fr; }
  .subs2-archive { margin-left: 20px; }
  .downloads2-header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .downloads2-header p { text-align: left; }
  .downloads2-workspace { grid-template-columns: 1fr; }
  .downloads2-dock { position: static; }
  .downloads2-build { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0 20px; }
  .downloads2-build-mark { grid-row: 1 / span 5; height: 100%; min-height: 250px; margin: 0; }
  .downloads2-build > footer { grid-column: 2; }
  .security2-page { grid-template-columns: 1fr; }
  .security2-rail { position: static; }
  .security2-rail header { display: grid; grid-template-columns: auto 1fr; gap: 0 14px; align-items: center; }
  .security2-mark { grid-row: 1 / span 4; margin: 0; }
  .security2-rail nav { grid-template-columns: repeat(3, 1fr); }
  .security2-rail nav button { padding: 0 8px; }
  .security2-rail-note { display: none; }
  .support2-toolbar { grid-template-columns: 1fr auto; }
  .support2-toolbar p { grid-column: 1 / -1; grid-row: 2; }
  .support2-workspace { grid-template-columns: 170px minmax(0, 1fr); }
  .support2-inbox { border-right: 0; }
  .support2-thread { grid-column: 1 / -1; min-height: 560px; border-top: 1px solid var(--cc2-line); }
  #t-support .support-empty { min-height: 560px; }
}

@media (max-width: 600px) {
  .overview2-page,
  .subscriptions2-page,
  .downloads2-page,
  .support2-page { gap: 11px; }
  .ov2-profile-block { padding: 16px; }
  .ov2-identity-list { grid-template-columns: 1fr; }
  .ov2-identity-list > div { min-height: 53px; padding: 12px 16px; border-right: 0; border-bottom: 1px solid var(--cc2-line); }
  .ov2-identity-list > div:last-child { border-bottom: 0; }
  .ov2-strip-actions { display: grid; grid-template-columns: repeat(3, 1fr); padding: 10px; }
  .ov2-strip-actions button { width: 100%; justify-content: center; }
  .ov2-device-panel,
  .ov2-details-panel { padding: 17px; }
  .ov2-device-panel > header { grid-template-columns: auto minmax(0, 1fr); }
  #t-overview #o-hwid-state { grid-column: 1 / -1; justify-self: start; }
  .ov2-device-panel > footer { align-items: flex-start; flex-direction: column; }
  .shop2-discovery { grid-template-columns: 1fr; }
  .shop2-assurance { grid-template-columns: 1fr; }
  .shop2-catalog-head { align-items: flex-start; flex-direction: column; }
  #t-shop #shop-grid.shop2-product-grid { grid-template-columns: 1fr !important; }
  .shop2-product-visual { height: 180px; }
  .shop2-product-footer { align-items: stretch; flex-direction: column; }
  #t-shop .shop2-product-footer > button { width: 100%; }
  .subs2-header { padding-top: 5px; grid-template-columns: 1fr; }
  .subs2-counters { width: 100%; }
  .subs2-counters > div { flex: 1 1 0; }
  .subs2-header > button { grid-column: auto; width: 100%; }
  .subs2-live { padding-left: 13px; }
  .subs2-line-dot { margin-left: -18px; }
  .subs2-entry { grid-template-columns: 35px minmax(0, 1fr); }
  .subs2-entry-main { padding: 15px; }
  .subs2-entry dl { grid-template-columns: 1fr; }
  .subs2-entry dl > div { border-right: 0; border-bottom: 1px solid var(--cc2-line); }
  .subs2-entry dl > div:last-child { border-bottom: 0; }
  .subs2-entry footer { align-items: stretch; flex-direction: column; }
  .subs2-row-action { width: 100%; }
  .subs2-archive { margin-left: 13px; }
  .downloads2-build { display: block; padding: 17px; }
  .downloads2-build-mark { min-height: 120px; height: 120px; margin-bottom: 18px; }
  .downloads2-build > footer { grid-column: auto; }
  .downloads2-build dl { grid-template-columns: 1fr; }
  .downloads2-build dl > div { padding: 10px 0; border-right: 0; border-bottom: 1px solid var(--cc2-line); }
  .downloads2-build dl > div:last-child { border-bottom: 0; }
  .downloads2-build-actions { grid-template-columns: 1fr; }
  #t-downloads .downloads2-release { grid-template-columns: 1fr; gap: 12px; }
  .downloads2-release-meta { flex-direction: row; flex-wrap: wrap; }
  .downloads2-release-meta time { width: 100%; }
  .security2-rail { padding: 18px 14px; }
  .security2-rail nav { grid-template-columns: repeat(2, 1fr); }
  #t-security .security2-setting { padding: 20px 0; }
  .security2-profile-layout { grid-template-columns: 1fr; }
  .security2-name-form { grid-column: auto; grid-template-columns: 1fr; }
  .security2-name-form > div:first-child,
  .security2-name-form .ae { grid-column: auto; }
  .security2-name-form > button { width: 100%; }
  .security2-setting > header { grid-template-columns: 35px minmax(0, 1fr); }
  #t-security .security2-setting > header > b { grid-column: 2; justify-self: start; }
  .security2-setting-body,
  .security2-toggle-row { padding-left: 0; align-items: stretch; grid-template-columns: 1fr; }
  .security2-setting-body { gap: 15px; }
  .security2-setting-body > button { width: 100%; }
  .security2-password-fields { grid-template-columns: 1fr; }
  .security2-button-pair { flex-direction: column; }
  .security2-button-pair button { width: 100%; }
  #t-security .security-discord-state { margin-left: 0; }
  .support2-toolbar { grid-template-columns: 1fr; }
  .support2-toolbar p { grid-column: auto; grid-row: auto; }
  .support2-toolbar > button { width: 100%; }
  .support2-workspace { grid-template-columns: 1fr; min-height: 0; }
  .support2-rail { border-right: 0; border-bottom: 1px solid var(--cc2-line); }
  .support2-filter-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #t-support .support2-filter-tabs .ab { min-width: 0; padding: 7px 3px; flex-direction: column; justify-content: center; gap: 4px; }
  #t-support .support2-filter-tabs .ab span { font-size: 6px; }
  .support2-resources { margin-top: 14px; grid-template-columns: repeat(3, 1fr); }
  .support2-resources > small { grid-column: 1 / -1; }
  .support2-resources button,
  .support2-resources a { justify-content: center; }
  .support2-resources span { display: none; }
  .support2-inbox { min-height: 470px; border-right: 0; border-bottom: 1px solid var(--cc2-line); }
  .support2-thread,
  #t-support .support-empty { min-height: 520px; }
  #t-support .support2-thread-head,
  #t-support .tic-v-head { align-items: flex-start; flex-direction: column; }
  #t-support .msg-b { max-width: 90%; }
  #t-support .support2-thread-compose,
  #t-support .tic-v-foot { flex-direction: column; }
  #t-support .tic-v-foot .btn { width: 100%; }
}

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

/* Readability pass v3: human-scale type and controls. */
html[data-panel-route] .mh .mh-kicker { font-size: 11px !important; line-height: 1.35 !important; }
html[data-panel-route] .mh h1 { font-size: clamp(32px, 3vw, 44px) !important; line-height: 1.05 !important; }
html[data-panel-route] .mh #wm { font-size: 13px !important; line-height: 1.4 !important; }

.cc2-page {
  font-size: 15px;
  line-height: 1.55;
}

.cc2-kicker { font-size: 12px; line-height: 1.35; }

/* Overview readability */
.ov2-account-strip { min-height: 124px; }
.ov2-profile-block { padding: 22px 24px; gap: 17px; }
.ov2-avatar { width: 68px; height: 68px; }
.ov2-profile-copy { gap: 5px; }
.ov2-profile-copy small,
.ov2-identity-list dt,
.ov2-hwid-readout small,
.ov2-details-panel .ov-account-copy > span { font-size: 11px; line-height: 1.35; }
.ov2-profile-copy strong { font-size: 21px; }
.ov2-profile-copy > span { font-size: 14px; }
.ov2-identity-list > div { padding: 22px; gap: 9px; }
.ov2-identity-list dd { font-size: 15px; line-height: 1.35; }
.ov2-strip-actions { padding: 16px; gap: 10px; }
.ov2-strip-actions button { width: 76px; height: 72px; gap: 8px; }
.ov2-strip-actions button i { font-size: 17px; }
.ov2-strip-actions button span { font-size: 12px; }
.ov2-workspace,
.ov2-side-column { gap: 20px; }
.ov2-device-panel,
.ov2-details-panel { padding: 27px; }
.ov2-panel-icon { width: 46px; height: 46px; font-size: 16px; }
.ov2-device-panel header small { font-size: 11px; }
.ov2-device-panel h3,
.ov2-details-panel h3 { font-size: 20px; }
#t-overview #o-hwid-state { padding: 7px 9px; font-size: 12px !important; }
.ov2-hwid-readout { padding: 17px; gap: 9px; }
.ov2-hwid-readout code { font-size: 13px; line-height: 1.55; }
.ov2-device-panel > footer p { max-width: 320px; font-size: 13px; line-height: 1.65; }
.ov2-device-panel > footer button,
.ov2-details-panel > header button { min-height: 42px; padding: 0 14px; font-size: 12px; }
#t-overview .ov-account-item { min-height: 72px; padding: 13px 0; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; }
#t-overview .ov-account-icon { width: 38px; height: 38px; font-size: 14px; }
#t-overview .ov-account-copy { gap: 5px; }
#t-overview .ov-account-copy strong { font-size: 14px; }
#t-overview .ov-account-status { padding: 5px 8px; font-size: 10px; }

/* Shop readability */
.shop2-page { grid-template-columns: 320px minmax(0, 1fr); gap: 24px; }
.shop2-sidebar > header { padding: 30px 27px 26px; }
.shop2-sidebar h2 { font-size: 30px; line-height: 1.12; }
.shop2-sidebar > header p { font-size: 14px; line-height: 1.7; }
.shop2-redeem { padding: 25px 23px; }
.shop2-section-heading { margin-bottom: 20px; gap: 13px; }
.shop2-section-heading > span { width: 44px; height: 44px; font-size: 15px; }
.shop2-section-heading small { font-size: 11px; }
.shop2-section-heading h3 { font-size: 18px; }
.shop2-redeem > label { margin-bottom: 9px; font-size: 12px; }
.shop2-key-field { height: 52px; padding: 4px; }
#t-shop .shop2-key-field .ki { padding: 0 12px; font-size: 12px; }
.shop2-key-field button { width: 44px; font-size: 15px; }
.shop2-redeem .ae { min-height: 18px; margin-top: 8px; font-size: 12px; }
.shop2-catalog-head { min-height: 94px; margin-bottom: 18px; padding-bottom: 19px; }
.shop2-catalog-head h2 { font-size: 34px; }
#t-shop .shop-product-count { padding: 8px 11px; font-size: 12px; }
#t-shop #shop-grid.shop2-product-grid { gap: 18px !important; }
#t-shop .shop2-product-card { min-height: 480px; }
.shop2-product-visual { height: 205px; }
#t-shop .shop-public-badge { top: 15px; left: 15px; padding: 7px 9px; font-size: 10px; }
.shop2-product-copy { padding: 24px 24px 18px; }
#t-shop .shop2-product-copy .scg { margin-bottom: 11px !important; font-size: 12px !important; }
#t-shop .shop2-product-copy h3 { margin-bottom: 12px !important; font-size: 25px !important; }
#t-shop .shop2-product-copy .shop-product-summary { min-height: 66px; font-size: 14px; line-height: 1.7; }
.shop2-product-footer { padding: 19px 24px 24px; gap: 16px; }
.shop2-product-pricing > small { margin-bottom: 6px; font-size: 10px; }
#t-shop .shop2-product-pricing .scp { font-size: 29px !important; }
#t-shop .shop2-product-pricing .scp small { font-size: 15px !important; }
#t-shop .shop2-product-pricing .scd { margin-top: 7px !important; font-size: 12px !important; }
#t-shop .shop2-product-footer > button { min-width: 126px; min-height: 46px; padding: 0 16px !important; font-size: 13px !important; }

/* Subscriptions readability */
.subs2-header { min-height: 148px; gap: 30px; }
.subs2-header h2 { font-size: 36px; }
.subs2-header p { font-size: 14px; line-height: 1.6; }
.subs2-counters > div { min-width: 110px; padding: 17px 20px; gap: 6px; }
.subs2-counters dt { font-size: 11px; }
.subs2-counters dd { font-size: 30px; }
.subs2-header > button { min-height: 48px; padding: 0 19px; font-size: 13px; }
.subs2-layout { grid-template-columns: minmax(0, 1fr) 390px; gap: 24px; }
.subs2-live > header { min-height: 84px; }
.subs2-live header small,
.subs2-archive header small,
.subs2-entry header small { font-size: 11px; }
.subs2-live h3,
.subs2-archive h3 { font-size: 22px; }
.subs2-entry { grid-template-columns: 54px minmax(0, 1fr); }
.subs2-entry-marker span { width: 36px; height: 36px; font-size: 10px; }
.subs2-entry-marker i { top: 36px; left: 18px; }
.subs2-entry-main { margin-bottom: 16px; padding: 23px; }
.subs2-entry h4 { font-size: 19px; }
.subs2-state { padding: 7px 9px; font-size: 11px; }
.subs2-entry dl { margin: 20px 0; }
.subs2-entry dl > div { padding: 14px 16px; gap: 6px; }
.subs2-entry dt { font-size: 10px; }
.subs2-entry dd { font-size: 14px; }
.subs2-entry footer p { font-size: 12px; line-height: 1.6; }
.subs2-row-action,
.subs2-empty button { min-height: 42px; padding: 0 14px; font-size: 13px; }
.subs2-empty h4 { font-size: 19px; }
.subs2-empty p { font-size: 13px; }
.subs2-archive > header { min-height: 94px; padding: 21px 23px; }
.subs2-history { padding: 7px 22px; }
.subs2-history-row { min-height: 92px; gap: 13px; }
.subs2-history-row > span { width: 38px; height: 38px; font-size: 12px; }
.subs2-history-row h4 { font-size: 14px; }
.subs2-history-row p { font-size: 11px; }
.subs2-history-row > small { font-size: 10px; }
.subs2-history-empty p { font-size: 13px; }

/* Downloads readability */
.downloads2-header { min-height: 112px; }
.downloads2-header h2 { font-size: 36px; }
.downloads2-header p { max-width: 520px; font-size: 14px; line-height: 1.65; }
.downloads2-workspace { grid-template-columns: 400px minmax(0, 1fr); gap: 24px; }
.downloads2-dock-label { min-height: 48px; padding: 0 19px; font-size: 11px; }
.downloads2-build { padding: 27px; }
.downloads2-build-mark { height: 150px; }
.downloads2-build header small { font-size: 11px; }
.downloads2-build h3 { font-size: 22px; }
.downloads2-status { padding: 7px 9px; font-size: 10px; }
.downloads2-build dl { margin: 23px 0; }
.downloads2-build dl > div { padding: 15px 10px; gap: 7px; }
.downloads2-build dt { font-size: 10px; }
.downloads2-build dd { font-size: 14px; }
.downloads2-mobile-note { font-size: 12px; }
.downloads2-build-actions { gap: 9px; }
.downloads2-build-actions button { min-height: 47px; padding: 0 13px; font-size: 12px; }
.downloads2-build > footer { margin-top: 20px; font-size: 11px; line-height: 1.6; }
.downloads2-journal-head { min-height: 76px; padding-bottom: 17px; }
.downloads2-journal-head h3 { font-size: 24px; }
.downloads2-journal-head > span { font-size: 11px; }
#t-downloads .downloads2-filters { padding: 14px 0; gap: 7px; }
#t-downloads .clf-btn { min-height: 38px; padding: 0 13px; font-size: 11px; }
#t-downloads .downloads2-release { padding: 25px 3px; grid-template-columns: 155px minmax(0, 1fr); gap: 26px; }
.downloads2-release-meta { gap: 8px; }
.downloads2-release-meta span { padding: 5px 8px; font-size: 10px; }
.downloads2-release-meta time { font-size: 10px; }
.downloads2-release-body h4 { font-size: 21px; }
.downloads2-release-body > header button { width: 38px; height: 38px; font-size: 13px; }
.downloads2-release-copy { margin-top: 15px; font-size: 14px; line-height: 1.8; }
.downloads2-empty p { font-size: 13px; }

/* Security readability */
.security2-page { grid-template-columns: 270px minmax(0, 1fr); gap: 28px; }
.security2-rail { padding: 29px 23px 23px; }
.security2-mark { width: 60px; height: 60px; font-size: 21px; }
.security2-rail h2 { font-size: 34px; }
.security2-rail header p { font-size: 14px; line-height: 1.65; }
.security2-rail nav { margin: 27px 0; }
.security2-rail nav button { min-height: 48px; gap: 12px; font-size: 14px; }
.security2-rail nav button span { font-size: 10px; }
.security2-rail-note { padding: 15px; gap: 10px; font-size: 11px; line-height: 1.6; }
#t-security .security2-setting { padding: 31px 4px; }
.security2-setting > header { min-height: 52px; margin-bottom: 25px; grid-template-columns: 43px minmax(0, 1fr) auto; gap: 15px; }
.security2-setting > header > span:first-child { width: 43px; height: 43px; font-size: 10px; }
.security2-setting > header small,
.security2-name-form small,
.security2-name-form label > span,
.security2-password-fields label > span,
.security2-code small { font-size: 10px; }
.security2-setting > header h3 { font-size: 21px; }
#t-security .security2-setting > header > b { padding: 7px 9px; font-size: 12px !important; }
.security2-profile-layout { gap: 28px; }
.security2-avatar { width: 120px; height: 120px; }
.security2-avatar button { width: 40px; height: 40px; }
.security2-avatar-actions h4,
.security2-name-form h4,
.security2-toggle-row h4 { font-size: 17px; }
.security2-avatar-actions p,
.security2-name-form p,
.security2-setting-body p,
.security2-toggle-row p { font-size: 14px; line-height: 1.65; }
.security2-avatar-actions > div { margin-top: 17px; gap: 9px; }
.security2-avatar-actions button,
.security2-setting-body > button,
.security2-button-pair button { min-height: 44px; padding: 0 15px; font-size: 13px; }
.security2-name-form { padding-left: 28px; gap: 12px; }
.security2-name-form label,
.security2-password-fields label { gap: 8px; }
.security2-name-form input,
.security2-password-fields input { height: 48px; padding: 0 14px; font-size: 14px; }
.security2-name-form > button { min-height: 48px; padding: 0 17px; font-size: 13px; }
.security2-name-form .ae,
.security2-password-fields .ae { min-height: 17px; font-size: 12px; }
.security2-setting-body,
.security2-toggle-row { padding-left: 58px; gap: 30px; }
.security2-code { margin-top: 17px; padding: 15px; gap: 8px; }
.security2-code code { font-size: 13px; }
.security2-setting-copy > i { width: 48px; height: 48px; font-size: 16px; }
#t-security .security-discord-state { min-height: 90px; margin-left: 58px; font-size: 14px; }

/* Support readability */
.support2-toolbar { min-height: 104px; gap: 30px; }
.support2-toolbar h2 { font-size: 35px; }
.support2-toolbar p { max-width: 440px; font-size: 14px; line-height: 1.65; }
.support2-toolbar > button { min-height: 48px; padding: 0 18px; font-size: 13px; }
.support2-workspace { grid-template-columns: 215px 380px minmax(0, 1fr); min-height: 720px; }
.support2-rail { padding: 22px 16px; }
.support2-rail-title { padding: 0 10px 18px; gap: 5px; }
.support2-rail-title small,
.support2-inbox > header small { font-size: 10px; }
.support2-rail-title strong { font-size: 15px; }
.support2-filter-tabs { gap: 6px; }
#t-support .support2-filter-tabs .ab { min-height: 46px; padding: 0 12px; gap: 11px; font-size: 13px; }
#t-support .support2-filter-tabs .ab i { width: 18px; font-size: 14px; }
.support2-inbox { padding: 20px 17px; }
.support2-inbox > header { min-height: 64px; padding: 0 6px 15px; }
.support2-inbox h3 { font-size: 21px; }
.support2-inbox > header > span { padding: 7px 9px; font-size: 10px; }
.support2-ticket-list { padding-top: 11px; gap: 7px; }
#t-support .support2-ticket { min-height: 92px; padding: 14px; gap: 12px; }
.support2-ticket-icon { width: 40px; height: 40px; font-size: 13px; }
.support2-ticket-copy { gap: 5px; }
.support2-ticket-copy small,
.support2-ticket-copy > span { font-size: 10px; }
.support2-ticket-copy strong { font-size: 14px; }
#t-support .support2-ticket .tb { padding: 5px 7px !important; font-size: 9px !important; }
.support2-list-empty strong { font-size: 14px; }
.support2-list-empty span { font-size: 12px; }
.support2-thread { min-height: 718px; }
#t-support .support-empty { min-height: 718px; }
#t-support .support-empty > small { font-size: 10px; }
#t-support .support-empty h3 { font-size: 23px; }
#t-support .support-empty p { max-width: 410px; font-size: 14px; line-height: 1.7; }
#t-support .support-empty button { min-height: 45px; padding: 0 16px; font-size: 13px; }
#t-support .support2-thread-head,
#t-support .tic-v-head { min-height: 92px; padding: 20px 23px; }
#t-support .msg-b { padding: 14px 17px; font-size: 13px; line-height: 1.7; }
#t-support .msg-meta { margin-bottom: 7px; font-size: 10px; }
#t-support .support2-thread-compose,
#t-support .tic-v-foot { padding: 16px; gap: 11px; }
#t-support .tic-v-foot textarea { min-height: 64px; padding: 13px; font-size: 14px; }
#t-support .tic-v-foot .btn { min-height: 48px; padding-inline: 18px; font-size: 13px; }
#t-support .tic-v-foot.closed { font-size: 12px; }

@media (max-width: 1200px) {
  .shop2-page { grid-template-columns: 290px minmax(0, 1fr); }
  .subs2-layout { grid-template-columns: minmax(0, 1fr) 340px; }
  .downloads2-workspace { grid-template-columns: 350px minmax(0, 1fr); }
  .security2-page { grid-template-columns: 235px minmax(0, 1fr); }
  .support2-workspace { grid-template-columns: 185px 330px minmax(0, 1fr); }
}

@media (max-width: 800px) {
  .shop2-page,
  .subs2-layout,
  .downloads2-workspace,
  .security2-page { grid-template-columns: 1fr; }
  .support2-workspace { grid-template-columns: 190px minmax(0, 1fr); }
  .security2-setting-body,
  .security2-toggle-row { padding-left: 0; }
  #t-security .security-discord-state { margin-left: 0; }
}

@media (max-width: 600px) {
  html[data-panel-route] .mh h1 { font-size: 30px !important; }
  .ov2-device-panel,
  .ov2-details-panel { padding: 20px; }
  .shop2-product-visual { height: 200px; }
  .subs2-entry-main { padding: 18px; }
  .downloads2-build { padding: 21px; }
  #t-security .security2-setting { padding: 25px 0; }
  .support2-workspace { grid-template-columns: 1fr; }
  .support2-thread,
  #t-support .support-empty { min-height: 560px; }
}

/* Shop checkout v3: coupon and purchase in one readable dialog. */
#mbox:has(.shop3-checkout) {
  width: min(940px, calc(100vw - 32px));
  max-width: 940px;
  max-height: min(900px, calc(100vh - 32px));
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(183, 255, 0, .28);
  border-top: 4px solid var(--vx-lime, #b7ff00);
  border-radius: 18px;
  color: #f3f6ef;
  background: #0a0d09;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .72);
}

.shop3-checkout { padding: 30px; }
.shop3-head { display: grid; grid-template-columns: 190px minmax(0, 1fr); align-items: center; gap: 26px; padding-bottom: 26px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.shop3-media { position: relative; height: 138px; overflow: hidden; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .1); border-radius: 13px; background: #111610; }
.shop3-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35); }
.shop3-media > span { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid rgba(183, 255, 0, .35); border-radius: 50%; color: var(--vx-lime, #b7ff00); background: rgba(183, 255, 0, .07); font-size: 22px; }
.shop3-head > div:last-child > span { display: block; margin-bottom: 7px; color: var(--vx-lime, #b7ff00); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.shop3-head h3 { margin: 0 0 9px !important; color: #f5f7f2; font-size: 34px; line-height: 1.1; letter-spacing: -.045em; }
.shop3-head p { max-width: 610px; margin: 0; color: #a7afa1; font-size: 15px; line-height: 1.7; }
.shop3-features { padding: 20px 0 0; display: flex; flex-wrap: wrap; gap: 9px; }
.shop3-features span { padding: 8px 11px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 8px; color: #cbd1c5; background: rgba(255, 255, 255, .025); font-size: 12px; }
.shop3-features i { color: var(--vx-lime, #b7ff00); }
.shop3-tools { margin: 24px 0; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(230px, .5fr); gap: 14px; }
.shop3-tools > :only-child { grid-column: 1 / -1; }
.shop3-coupon,
.shop3-wallet { border: 1px solid rgba(255, 255, 255, .1); border-radius: 13px; background: #10140f; }
.shop3-coupon { padding: 20px; }
.shop3-tool-copy { margin-bottom: 17px; display: flex; align-items: center; gap: 13px; }
.shop3-tool-copy > span { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; color: var(--vx-lime, #b7ff00); background: rgba(183, 255, 0, .07); font-size: 15px; }
.shop3-tool-copy h4 { margin: 0 0 4px; color: #f3f6ef; font-size: 18px; }
.shop3-tool-copy p { margin: 0; color: #929b8d; font-size: 13px; line-height: 1.5; }
.shop3-coupon > label { display: block; margin-bottom: 8px; color: #cbd1c5; font-size: 12px; font-weight: 700; }
.shop3-coupon-field { height: 50px; padding: 4px; display: flex; border: 1px solid rgba(255, 255, 255, .13); border-radius: 10px; background: #080a08; }
.shop3-coupon-field:focus-within { border-color: rgba(183, 255, 0, .55); box-shadow: 0 0 0 3px rgba(183, 255, 0, .07); }
.shop3-coupon-field input { min-width: 0; width: 100%; height: 100%; padding: 0 12px; border: 0; outline: 0; color: #f3f6ef; background: transparent; font: 700 14px/1 var(--mn, monospace); letter-spacing: .04em; text-transform: uppercase; }
.shop3-coupon-field input[aria-invalid="true"] { color: #f3f6ef; }
.shop3-coupon-field button { flex: 0 0 auto; min-width: 88px; border: 1px solid var(--vx-lime, #b7ff00); border-radius: 7px; color: #080a08; background: var(--vx-lime, #b7ff00); cursor: pointer; font-size: 13px; font-weight: 800; }
.shop3-coupon-field button:disabled { opacity: .55; cursor: wait; }
.shop3-coupon-status { min-height: 19px; margin: 9px 0 0; color: #8e9789; font-size: 12px; line-height: 1.5; }
.shop3-coupon-status.is-loading,
.shop3-coupon-status.is-success { color: var(--vx-lime, #b7ff00); }
.shop3-coupon-status.is-error { color: #d8ded2; }
.shop3-wallet { min-height: 100%; padding: 20px; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-content: center; align-items: center; gap: 12px; cursor: pointer; }
.shop3-wallet > input { position: absolute; opacity: 0; pointer-events: none; }
.shop3-wallet::before { content: "Wallet"; grid-column: 1 / -1; margin-bottom: 7px; color: var(--vx-lime, #b7ff00); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shop3-wallet-control { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 6px; color: transparent; background: #080a08; }
.shop3-wallet input:checked + .shop3-wallet-control { border-color: var(--vx-lime, #b7ff00); color: #080a08; background: var(--vx-lime, #b7ff00); }
.shop3-wallet > span:last-child { min-width: 0; display: grid; gap: 5px; }
.shop3-wallet strong { color: #f3f6ef; font-size: 14px; }
.shop3-wallet small { color: #929b8d; font-size: 12px; line-height: 1.45; }
.shop3-plan-list { display: grid; gap: 10px; }
.shop3-plan { min-width: 0; min-height: 98px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 12px; background: #10130f; transition: border-color .2s ease, background .2s ease; }
.shop3-plan:hover,
.shop3-plan.has-discount { border-color: rgba(183, 255, 0, .32); background: rgba(183, 255, 0, .035); }
.shop3-plan-copy { min-width: 0; }
.shop3-plan-copy > span { display: block; margin-bottom: 5px; color: var(--vx-lime, #b7ff00); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.shop3-plan-copy h4 { margin: 0; color: #f3f6ef; font-size: 18px; line-height: 1.35; }
.shop3-plan-purchase { flex: 0 0 auto; display: flex; align-items: center; gap: 20px; }
.shop3-price { min-width: 130px; display: grid; justify-items: end; gap: 3px; }
.shop3-price-original { color: #7e8779; font-size: 12px; }
.shop3-price-current { color: #f3f6ef; font: 800 22px/1.1 var(--mn, monospace); }
.shop3-plan.has-discount .shop3-price-current { color: var(--vx-lime, #b7ff00); }
.shop3-price-saving { min-height: 16px; color: var(--vx-lime, #b7ff00); font-size: 11px; }
.shop3-plan-purchase > button { min-width: 126px; min-height: 46px; padding: 0 16px; border: 1px solid var(--vx-lime, #b7ff00); border-radius: 9px; color: #080a08; background: var(--vx-lime, #b7ff00); cursor: pointer; font-size: 13px; font-weight: 800; }
.shop3-plan-purchase > button:disabled { opacity: .52; cursor: wait; }
.shop3-plan-purchase > button.is-loading i { animation: spin .8s linear infinite; }
.shop3-checkout-status { min-height: 20px; margin: 13px 0 0; color: #929b8d; font-size: 13px; text-align: right; }
.shop3-checkout-status.is-loading { color: var(--vx-lime, #b7ff00); }
.shop3-checkout-status.is-error { color: #d8ded2; }
.shop3-empty { padding: 50px 30px; text-align: center; }
.shop3-empty i { margin-bottom: 16px; color: var(--vx-lime, #b7ff00); font-size: 32px; }
.shop3-empty h3 { margin: 0 0 8px; font-size: 25px; }
.shop3-empty p { margin: 0; color: #929b8d; font-size: 14px; }

@media (max-width: 760px) {
  #mbox:has(.shop3-checkout) { width: calc(100vw - 18px); max-height: calc(100vh - 18px); border-radius: 12px; }
  .shop3-checkout { padding: 21px 17px; }
  .shop3-head { grid-template-columns: 1fr; gap: 18px; }
  .shop3-media { height: 150px; }
  .shop3-head h3 { font-size: 28px; }
  .shop3-tools { grid-template-columns: 1fr; }
  .shop3-tools > :only-child { grid-column: auto; }
  .shop3-plan { align-items: flex-start; flex-direction: column; }
  .shop3-plan-purchase { width: 100%; justify-content: space-between; }
}

@media (max-width: 460px) {
  .shop3-head h3 { font-size: 25px; }
  .shop3-coupon { padding: 16px; }
  .shop3-coupon-field { height: auto; padding: 0; flex-direction: column; border: 0; background: transparent; }
  .shop3-coupon-field input { height: 48px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 9px; background: #080a08; }
  .shop3-coupon-field button { min-height: 44px; margin-top: 7px; }
  .shop3-plan-purchase { align-items: stretch; flex-direction: column; }
  .shop3-price { min-width: 0; justify-items: start; }
  .shop3-plan-purchase > button { width: 100%; }
}

/* Notifications v3: readable inbox dropdown. */
.bell-btn {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 10px;
  color: #c9d0c4;
  background: #0d100c;
  font-size: 18px;
}
.bell-btn:hover,
.bell-btn.active { border-color: rgba(183, 255, 0, .48); color: var(--vx-lime, #b7ff00); background: rgba(183, 255, 0, .055); }
.bell-badge { top: -6px; right: -7px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; color: #080a08; background: var(--vx-lime, #b7ff00); font-size: 10px; box-shadow: 0 0 0 3px #080a08; }
#notif-dd {
  top: 58px;
  right: 0;
  width: min(480px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid rgba(183, 255, 0, .24);
  border-top: 3px solid var(--vx-lime, #b7ff00);
  border-radius: 14px;
  color: #f3f6ef;
  background: #090c08;
  box-shadow: 0 28px 75px rgba(0, 0, 0, .72);
}
#notif-dd .notif-header { min-height: 78px; padding: 18px 21px; border-bottom: 1px solid rgba(255, 255, 255, .1); background: #0e120d; }
#notif-dd .notif-header h4 { min-width: 0; margin: 0; display: flex; align-items: center; gap: 9px; color: #f3f6ef; font-size: 18px; font-weight: 750; }
#notif-dd .notif-header h4 i { color: var(--vx-lime, #b7ff00) !important; font-size: 16px; }
.notif3-header-count { padding: 5px 7px; border: 1px solid rgba(183, 255, 0, .25); border-radius: 6px; color: var(--vx-lime, #b7ff00); background: rgba(183, 255, 0, .045); font-size: 10px; font-weight: 750; white-space: nowrap; }
#notif-dd .notif-header button { min-height: 38px; padding: 0 11px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 7px; color: #c9d0c4; background: transparent; font-size: 12px; font-weight: 700; }
#notif-dd .notif-header button:hover { border-color: rgba(183, 255, 0, .38); color: var(--vx-lime, #b7ff00); background: rgba(183, 255, 0, .04); }
#notif-list { max-height: min(570px, calc(100vh - 190px)); overflow-y: auto; background: #090c08; scrollbar-color: rgba(183, 255, 0, .28) transparent; }
#notif-list .notif3-item { min-height: 112px; padding: 19px 21px; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 15px; border-bottom: 1px solid rgba(255, 255, 255, .08); background: transparent; }
#notif-list .notif3-item:hover { background: rgba(255, 255, 255, .025); }
#notif-list .notif3-item.unread { background: rgba(183, 255, 0, .04); }
#notif-list .notif3-item.unread::before { width: 4px; background: var(--vx-lime, #b7ff00); box-shadow: none; }
.notif3-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(183, 255, 0, .24); border-radius: 11px; color: var(--vx-lime, #b7ff00); background: rgba(183, 255, 0, .055); font-size: 15px; }
.notif3-content { min-width: 0; }
.notif3-content > header { margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.notif3-type { overflow: hidden; color: var(--vx-lime, #b7ff00); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.notif3-content time { flex: 0 0 auto; color: #7f897a; font-size: 11px; }
.notif3-content > p { margin: 0; color: #d2d8cd; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.notif3-actions { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.notif3-action { min-height: 40px; padding: 0 13px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 8px; color: #cbd1c5; background: #121611; cursor: pointer; font-size: 12px; font-weight: 750; }
.notif3-action:hover { border-color: rgba(183, 255, 0, .42); color: var(--vx-lime, #b7ff00); }
.notif3-action.is-primary { border-color: var(--vx-lime, #b7ff00); color: #080a08; background: var(--vx-lime, #b7ff00); }
.notif3-resolution { margin-top: 11px; display: inline-flex; align-items: center; gap: 7px; color: #aeb6a8; font-size: 11px; font-weight: 750; text-transform: uppercase; }
.notif3-resolution.is-accepted { color: var(--vx-lime, #b7ff00); }
.notif3-resolution.is-denied { color: #8f988a; }
.notif3-empty { min-height: 310px; padding: 35px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.notif3-empty > span { width: 62px; height: 62px; margin-bottom: 17px; display: grid; place-items: center; border: 1px solid rgba(183, 255, 0, .24); border-radius: 50%; color: var(--vx-lime, #b7ff00); background: rgba(183, 255, 0, .05); font-size: 21px; }
.notif3-empty h5 { margin: 0 0 7px; color: #f3f6ef; font-size: 19px; }
.notif3-empty p { max-width: 310px; margin: 0; color: #8d9688; font-size: 13px; line-height: 1.65; }

@media (max-width: 560px) {
  #notif-dd { position: fixed; top: 74px; right: 9px; left: 9px; width: auto; max-height: calc(100vh - 92px); }
  #notif-dd .notif-header { min-height: 70px; padding: 15px 16px; }
  #notif-dd .notif-header h4 { font-size: 16px; }
  .notif3-header-count { display: none; }
  #notif-dd .notif-header button { min-height: 36px; padding: 0 9px; }
  #notif-list { max-height: calc(100vh - 162px); }
  #notif-list .notif3-item { min-height: 104px; padding: 16px; grid-template-columns: 39px minmax(0, 1fr); gap: 12px; }
  .notif3-icon { width: 39px; height: 39px; }
  .notif3-content > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .notif3-content > p { font-size: 14px; }
}

/* Overview v4: account launchpad replaces subscription/access status. */
.ov3-launchpad {
  position: relative;
  min-width: 0;
  min-height: 550px;
  padding: clamp(28px, 4vw, 52px);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(190px, 1fr) auto;
  gap: 32px;
  border: 1px solid rgba(var(--cc2-green-rgb), .26);
  border-radius: var(--cc2-radius);
  background:
    linear-gradient(120deg, rgba(var(--cc2-green-rgb), .08), transparent 42%),
    radial-gradient(circle at 88% 12%, rgba(var(--cc2-green-rgb), .1), transparent 24%),
    var(--cc2-panel);
}
.ov3-launchpad::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .14;
  background-image: linear-gradient(rgba(var(--cc2-green-rgb), .16) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--cc2-green-rgb), .16) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(135deg, transparent 12%, #000 70%);
}
.ov3-launchpad > * { position: relative; z-index: 1; }
.ov3-launchpad-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ov3-launchpad-kicker,
.ov3-launchpad-ready { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ov3-launchpad-kicker { color: var(--cc2-green); }
.ov3-launchpad-ready { padding: 8px 10px; border: 1px solid rgba(var(--cc2-green-rgb), .25); border-radius: 7px; color: var(--cc2-soft); background: rgba(var(--cc2-green-rgb), .04); }
.ov3-launchpad-ready i { width: 7px; height: 7px; border-radius: 50%; background: var(--cc2-green); box-shadow: 0 0 12px rgba(var(--cc2-green-rgb), .55); }
.ov3-launchpad-copy { max-width: 760px; align-self: center; }
.ov3-launchpad-index { display: block; margin-bottom: 14px; color: var(--cc2-muted); font: 750 11px/1.3 var(--mn, monospace); letter-spacing: .12em; }
.ov3-launchpad h2 { max-width: 680px; margin: 0 0 18px; color: var(--cc2-text); font-size: clamp(42px, 5vw, 68px); font-weight: 650; letter-spacing: -.06em; line-height: .98; }
.ov3-launchpad-copy p { max-width: 650px; margin: 0; color: var(--cc2-muted); font-size: 16px; line-height: 1.72; }
.ov3-launchpad-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ov3-launchpad-actions button { min-width: 0; min-height: 112px; padding: 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--cc2-line); border-radius: 11px; color: var(--cc2-soft); background: rgba(8, 10, 8, .72); cursor: pointer; text-align: left; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.ov3-launchpad-actions button:hover { border-color: rgba(var(--cc2-green-rgb), .48); background: rgba(var(--cc2-green-rgb), .055); transform: translateY(-2px); }
.ov3-launchpad-actions button.is-primary { border-color: rgba(var(--cc2-green-rgb), .42); background: rgba(var(--cc2-green-rgb), .075); }
.ov3-launchpad-actions button > span { min-width: 0; display: grid; gap: 5px; }
.ov3-launchpad-actions small { color: var(--cc2-green); font: 800 10px/1 var(--mn, monospace); letter-spacing: .08em; }
.ov3-launchpad-actions strong { color: var(--cc2-text); font-size: 15px; }
.ov3-launchpad-actions em { overflow: hidden; color: var(--cc2-muted); font-size: 11px; font-style: normal; line-height: 1.45; text-overflow: ellipsis; }
.ov3-launchpad-actions button > i { flex: 0 0 auto; color: var(--cc2-green); font-size: 13px; }

@media (max-width: 1100px) {
  .ov3-launchpad-actions { grid-template-columns: 1fr; }
  .ov3-launchpad-actions button { min-height: 84px; }
}

@media (max-width: 600px) {
  .ov3-launchpad { min-height: 0; padding: 24px 18px; grid-template-rows: auto auto auto; gap: 28px; }
  .ov3-launchpad h2 { font-size: clamp(38px, 12vw, 52px); }
  .ov3-launchpad-copy p { font-size: 14px; }
  .ov3-launchpad-ready { padding: 7px 8px; font-size: 9px; }
  .ov3-launchpad-actions button { min-height: 82px; padding: 15px; }
}

/* Account v4: Operational Updates toggle uses the lime system theme. */
#t-security .security-toggle .dt-slider {
  border: 1px solid rgba(255, 255, 255, .16);
  background: #151a13;
  box-shadow: none;
}
#t-security .security-toggle .dt-slider::before {
  background: #d7ddd2;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .42);
}
#t-security .security-toggle input:checked + .dt-slider {
  border-color: var(--cc2-green);
  background: var(--cc2-green) !important;
  box-shadow: 0 0 0 3px rgba(var(--cc2-green-rgb), .1), 0 0 18px rgba(var(--cc2-green-rgb), .22) !important;
}
#t-security .security-toggle input:checked + .dt-slider::before {
  background: #080a08;
}
#t-security .security-toggle input:focus-visible + .dt-slider {
  outline: 2px solid var(--cc2-green);
  outline-offset: 3px;
}
#t-security .security-toggle input:disabled + .dt-slider {
  cursor: wait;
  opacity: .62;
}

/* Native Account navigation remains available if the command-center script fails. */
#t-security .account-fallback-nav {
  margin: 0 0 18px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--cc2-line);
  border-radius: var(--cc2-radius);
  background: var(--cc2-panel);
}
#t-security .account-fallback-nav a {
  min-height: 48px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-right: 1px solid var(--cc2-line);
  color: var(--cc2-muted);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
#t-security .account-fallback-nav a:last-child { border-right: 0; }
#t-security .account-fallback-nav a span { color: var(--cc2-green); font: 750 9px/1 var(--mn, monospace); }
#t-security .account-fallback-nav a:hover,
#t-security .account-fallback-nav a:focus-visible { color: var(--cc2-green); background: rgba(var(--cc2-green-rgb), .055); }
#t-security .security-card[id] { scroll-margin-top: 96px; }

@media (max-width: 800px) {
  #t-security .account-fallback-nav { grid-template-columns: repeat(3, 1fr); }
  #t-security .account-fallback-nav a:nth-child(3) { border-right: 0; }
  #t-security .account-fallback-nav a:nth-child(-n+3) { border-bottom: 1px solid var(--cc2-line); }
}

@media (max-width: 600px) {
  #t-security .account-fallback-nav { grid-template-columns: repeat(2, 1fr); }
  #t-security .account-fallback-nav a:nth-child(3) { border-right: 1px solid var(--cc2-line); }
  #t-security .account-fallback-nav a:nth-child(2n) { border-right: 0; }
  #t-security .account-fallback-nav a:nth-child(-n+4) { border-bottom: 1px solid var(--cc2-line); }
}

/* Create ticket dialog: dedicated Support composer. */
#modal:has(.ticket3-compose) {
  padding: 16px;
}

#mbox:has(.ticket3-compose) {
  width: min(850px, calc(100vw - 32px));
  max-width: 850px;
  max-height: min(860px, calc(100dvh - 32px));
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(183, 255, 0, .25);
  border-top: 4px solid var(--vx-lime, #b7ff00);
  border-radius: 16px;
  color: #f3f6ef;
  background: #090c08;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .76);
  scrollbar-color: rgba(183, 255, 0, .28) transparent;
}

.ticket3-compose {
  --ticket3-lime: var(--vx-lime, #b7ff00);
  --ticket3-line: rgba(255, 255, 255, .1);
  --ticket3-muted: #90998a;
  color: #f3f6ef;
  background: #090c08;
}

.ticket3-compose,
.ticket3-compose * {
  box-sizing: border-box;
}

.ticket3-head {
  min-height: 142px;
  padding: 27px 30px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid var(--ticket3-line);
  background: radial-gradient(circle at 12% 0, rgba(183, 255, 0, .09), transparent 38%), #0d110c;
}

.ticket3-head-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(183, 255, 0, .34);
  border-radius: 13px;
  color: var(--ticket3-lime);
  background: rgba(183, 255, 0, .065);
  font-size: 19px;
}

.ticket3-head-copy {
  min-width: 0;
}

.ticket3-head-copy > span {
  display: block;
  margin-bottom: 6px;
  color: var(--ticket3-lime);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#mbox .ticket3-head h3 {
  margin: 0 0 7px;
  color: #f5f7f2;
  font-size: 29px;
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -.04em;
}

.ticket3-head-copy p {
  max-width: 610px;
  margin: 0;
  color: #a2aa9c;
  font-size: 13px;
  line-height: 1.55;
}

.ticket3-close {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  align-self: start;
  border: 1px solid var(--ticket3-line);
  border-radius: 10px;
  color: #abb3a5;
  background: #111510;
  cursor: pointer;
  font-size: 14px;
  transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}

.ticket3-close:hover {
  border-color: rgba(183, 255, 0, .42);
  color: var(--ticket3-lime);
  background: rgba(183, 255, 0, .045);
}

.ticket3-form[aria-busy="true"] {
  cursor: progress;
}

.ticket3-body {
  padding: 25px 30px;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(230px, .65fr);
  align-items: stretch;
  gap: 18px;
}

.ticket3-fields {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 17px;
}

.ticket3-field {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.ticket3-label {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #d9ded4;
  font-size: 12px;
  font-weight: 750;
}

.ticket3-label em {
  color: var(--ticket3-lime);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ticket3-label small {
  overflow: hidden;
  color: #727b6d;
  font-size: 10px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ticket3-input {
  position: relative;
  min-width: 0;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 10px;
  background: #070a07;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.ticket3-input:focus-within {
  border-color: rgba(183, 255, 0, .7);
  background: #0a0e09;
  box-shadow: 0 0 0 3px rgba(183, 255, 0, .075);
}

.ticket3-input:has([aria-invalid="true"]) {
  border-color: rgba(255, 101, 111, .7);
  box-shadow: 0 0 0 3px rgba(255, 101, 111, .07);
}

#mbox .ticket3-input input,
#mbox .ticket3-input select,
#mbox .ticket3-input textarea {
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 0 42px 0 44px;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0;
  color: #f3f6ef;
  background: transparent !important;
  box-shadow: none !important;
  font: 600 13px/1.45 var(--fm, Inter, sans-serif);
  transform: none !important;
}

#mbox .ticket3-input input::placeholder,
#mbox .ticket3-input textarea::placeholder {
  color: #596254;
  font-weight: 500;
}

#mbox .ticket3-input select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

#mbox .ticket3-input textarea {
  min-height: 156px;
  padding-top: 14px;
  padding-bottom: 14px;
  resize: vertical;
}

.ticket3-leading,
.ticket3-chevron {
  position: absolute;
  z-index: 1;
  color: #768070;
  pointer-events: none;
}

.ticket3-leading {
  top: 16px;
  left: 16px;
  font-size: 13px;
}

.ticket3-chevron {
  top: 18px;
  right: 16px;
  color: var(--ticket3-lime);
  font-size: 10px;
}

.ticket3-field-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  color: #717a6c;
  font-size: 10px;
  line-height: 1.45;
}

.ticket3-field-meta small:first-child {
  min-width: 0;
}

.ticket3-field-meta small:last-child {
  flex: 0 0 auto;
  white-space: nowrap;
}

.ticket3-status {
  min-height: 20px;
  margin: -3px 0 0;
  color: #7d8678;
  font-size: 11px;
  line-height: 1.5;
}

.ticket3-status.is-loading {
  color: var(--ticket3-lime);
}

.ticket3-status.is-error {
  color: #ff8189;
}

.ticket3-guidance {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--ticket3-line);
  border-radius: 12px;
  background: #0f130e;
}

.ticket3-guidance-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--ticket3-lime);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ticket3-guidance h4 {
  margin: 13px 0 7px;
  color: #edf1e9;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.ticket3-guidance > p {
  margin: 0;
  color: var(--ticket3-muted);
  font-size: 11px;
  line-height: 1.6;
}

.ticket3-guidance ul {
  margin: 20px 0;
  padding: 0;
  display: grid;
  gap: 15px;
  list-style: none;
}

.ticket3-guidance li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 9px;
  color: #8f988a;
  font-size: 10px;
  line-height: 1.5;
}

.ticket3-guidance li > i {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(183, 255, 0, .24);
  border-radius: 6px;
  color: var(--ticket3-lime);
  background: rgba(183, 255, 0, .04);
  font-size: 8px;
}

.ticket3-guidance li span,
.ticket3-guidance li strong {
  display: block;
}

.ticket3-guidance li strong {
  margin-bottom: 2px;
  color: #dce1d7;
  font-size: 11px;
}

.ticket3-privacy {
  padding: 11px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid rgba(183, 255, 0, .16);
  border-radius: 8px;
  color: #8f988a;
  background: rgba(183, 255, 0, .025);
  font-size: 10px;
  line-height: 1.5;
}

.ticket3-privacy i {
  margin-top: 2px;
  color: var(--ticket3-lime);
}

.ticket3-footer {
  min-height: 82px;
  padding: 17px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--ticket3-line);
  background: #0d100c;
}

.ticket3-footer > p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #818a7c;
  font-size: 10px;
}

.ticket3-footer > p i {
  color: var(--ticket3-lime);
}

.ticket3-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 9px;
}

.ticket3-button {
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 9px;
  cursor: pointer;
  font: 750 12px/1 var(--fm, Inter, sans-serif);
  transition: border-color .16s ease, color .16s ease, background-color .16s ease, transform .16s ease;
}

.ticket3-cancel {
  min-width: 88px;
  border: 1px solid rgba(255, 255, 255, .12);
  color: #c0c7bb;
  background: #121611;
}

.ticket3-cancel:hover {
  border-color: rgba(255, 255, 255, .22);
  color: #f3f6ef;
  background: #171c16;
}

.ticket3-submit {
  min-width: 154px;
  border: 1px solid var(--ticket3-lime);
  color: #080a08;
  background: var(--ticket3-lime);
}

.ticket3-submit:hover:not(:disabled) {
  background: #c8ff3f;
  transform: translateY(-1px);
}

.ticket3-button:disabled {
  opacity: .58;
  cursor: wait;
  transform: none;
}

.ticket3-submit-spinner {
  display: none;
}

.ticket3-submit.is-loading .ticket3-submit-spinner {
  display: inline-block;
  animation: ticket3-spin .8s linear infinite;
}

.ticket3-submit.is-loading .ticket3-submit-arrow {
  display: none;
}

.ticket3-close:focus-visible,
.ticket3-button:focus-visible,
.ticket3-input:focus-within {
  outline: 2px solid var(--ticket3-lime);
  outline-offset: 2px;
}

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

@media (max-width: 720px) {
  #modal:has(.ticket3-compose) { padding: 9px; }
  #mbox:has(.ticket3-compose) {
    width: calc(100vw - 18px);
    max-height: calc(100dvh - 18px);
    border-radius: 12px;
  }
  .ticket3-head { min-height: 0; padding: 21px 18px; grid-template-columns: 46px minmax(0, 1fr) 38px; gap: 13px; }
  .ticket3-head-icon { width: 46px; height: 46px; border-radius: 10px; font-size: 16px; }
  #mbox .ticket3-head h3 { font-size: 25px; }
  .ticket3-head-copy p { font-size: 12px; }
  .ticket3-close { width: 38px; height: 38px; border-radius: 8px; }
  .ticket3-body { padding: 20px 18px; grid-template-columns: 1fr; }
  .ticket3-guidance { padding: 17px; }
  .ticket3-guidance ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .ticket3-guidance li { grid-template-columns: 1fr; }
  .ticket3-footer { padding: 16px 18px; }
}

@media (max-width: 520px) {
  .ticket3-head { grid-template-columns: minmax(0, 1fr) 38px; }
  .ticket3-head-icon { display: none; }
  #mbox .ticket3-head h3 { font-size: 23px; }
  .ticket3-label { align-items: flex-start; flex-direction: column; gap: 4px; }
  .ticket3-label small { max-width: 100%; white-space: normal; }
  .ticket3-field-meta { flex-direction: column; gap: 4px; }
  .ticket3-guidance ul { grid-template-columns: 1fr; }
  .ticket3-guidance li { grid-template-columns: 22px minmax(0, 1fr); }
  .ticket3-footer { align-items: stretch; flex-direction: column; }
  .ticket3-footer > p { justify-content: center; text-align: center; }
  .ticket3-actions { width: 100%; }
  .ticket3-button { flex: 1 1 0; }
  .ticket3-submit { min-width: 0; }
}

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

/* Shop deep links identify the product group without opening its plans automatically. */
#t-shop .shop-product-card.shop-product-card-linked {
  border-color: rgba(var(--cc2-green-rgb), .5) !important;
  box-shadow: inset 3px 0 0 var(--cc2-green) !important;
}

#t-shop .shop-product-card.shop-product-card-linked [data-options] {
  border-color: var(--cc2-green) !important;
}

/* Panel navigation identity: readable brand, distinct route icons and account footer. */
#wm[hidden] {
  display: none !important;
}

@media (min-width: 993px) {
  .container.dg {
    grid-template-columns: 244px minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .sb {
    width: 244px !important;
    border-radius: 10px !important;
    background: #090c08 !important;
  }

  .sb-shell {
    grid-template-rows: 78px minmax(0, 1fr) 78px !important;
  }

  .sbh {
    min-height: 78px !important;
    padding: 12px 14px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-bottom: 1px solid var(--vx-line) !important;
  }

  .sb-brand {
    min-width: 0;
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 5px;
    text-align: left !important;
  }

  .sbl {
    min-width: 0;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    color: #f3f6ef;
    font: 750 18px/1 var(--fm, Inter, sans-serif) !important;
    letter-spacing: -.025em;
  }

  .sbl img {
    width: 37px !important;
    height: 37px !important;
    margin: 0 !important;
    padding: 6px;
    border: 1px solid rgba(183, 255, 0, .28);
    border-radius: 9px;
    background: rgba(183, 255, 0, .055);
  }

  .sb-brand-caption {
    margin: 0 0 0 47px !important;
    color: #858d80 !important;
    font: 600 10px/1 var(--fm, Inter, sans-serif) !important;
    letter-spacing: 0 !important;
    text-transform: none;
  }

  .sbn {
    padding: 10px 8px !important;
  }

  #nav-launcher .nav-section-title {
    margin: 10px 8px 5px !important;
    color: #7e8678 !important;
    font-size: 10px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  #nav-launcher .nav-section-links {
    gap: 3px !important;
  }

  #nav-launcher .nl {
    min-height: 46px !important;
    padding: 6px 8px !important;
    grid-template-columns: 35px minmax(0, 1fr) 15px !important;
    gap: 9px !important;
    border-radius: 7px !important;
  }

  #nav-launcher .nl .nav-icon {
    width: 35px !important;
    height: 35px !important;
    border-radius: 7px !important;
    color: #9aa394 !important;
    background: #10140f !important;
  }

  #nav-launcher .nl .nav-icon i {
    font-size: 13px !important;
  }

  #nav-launcher .nl:hover .nav-icon,
  #nav-launcher .nl.active .nav-icon {
    border-color: rgba(183, 255, 0, .38) !important;
    color: var(--cc2-green, var(--vx-lime, #b7ff00)) !important;
    background: rgba(183, 255, 0, .06) !important;
  }

  #nav-launcher .nl.active {
    border-color: rgba(183, 255, 0, .32) !important;
    color: #f3f6ef !important;
    background: rgba(183, 255, 0, .055) !important;
    box-shadow: inset 3px 0 0 var(--vx-lime, #b7ff00) !important;
  }

  #nav-launcher .nl.active .nav-copy strong {
    color: #f3f6ef !important;
  }

  #nav-launcher .nl.active .nav-copy small,
  #nav-launcher .nl.active .nav-caret {
    color: #8f988a !important;
  }

  .sbu {
    min-width: 0;
    margin: 7px 8px 8px !important;
    padding: 8px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 8px !important;
    background: #10130f !important;
  }

  .sbu-identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
  }

  .sbu-avatar,
  .sbu-avatar img,
  .sbu img {
    width: 39px !important;
    height: 39px !important;
    flex: 0 0 39px !important;
    border-radius: 8px !important;
  }

  .sbu .sbu-copy {
    min-width: 0;
    display: grid !important;
    gap: 2px;
  }

  .sbu-copy > small {
    color: #727a6d;
    font-size: 9px;
    line-height: 1;
  }

  .sbu .sbn2 {
    overflow: hidden;
    color: #edf1e9;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sbu .sbr {
    overflow: hidden;
    color: var(--vx-lime, #b7ff00);
    font-size: 9px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sbu .sbo {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    border-radius: 7px !important;
  }
}

@media (min-width: 993px) and (max-width: 1180px) {
  .container.dg { grid-template-columns: 218px minmax(0, 1fr) !important; }
  .sb { width: 218px !important; }
  #nav-launcher .nav-copy small { display: none !important; }
}

@media (max-width: 992px) {
  .sbh {
    padding-inline: 12px !important;
  }

  .sb-brand {
    min-width: 0;
    display: flex !important;
    align-items: center;
  }

  .sbl {
    display: flex !important;
    align-items: center;
    gap: 8px !important;
    color: #f3f6ef;
    font: 750 17px/1 var(--fm, Inter, sans-serif) !important;
  }

  .sbl img {
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 5px;
    border: 1px solid rgba(183, 255, 0, .25);
    border-radius: 8px;
    background: rgba(183, 255, 0, .05);
  }

  .sb-brand-caption {
    display: none !important;
  }

  .nav-toggle {
    border-radius: 7px !important;
  }

  .mobile-nav button i {
    font-size: 14px !important;
  }
}

/* Keep the mobile workspace navigation balanced when Operations is authorized. */
@media (max-width: 992px) {
  .sb .mobile-nav { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
}


/* Sidebar account identity: keep avatar, identity and sign-out aligned in one row. */
@media (min-width: 993px) {
  .sbu {
    overflow: hidden !important;
  }

  .sbu > .sbu-identity {
    min-width: 0;
    max-width: calc(100% - 42px);
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-columns: 39px minmax(0, 1fr);
    align-items: center !important;
    gap: 9px !important;
    flex-direction: row !important;
    overflow: hidden;
  }

  .sbu > .sbu-identity > .sbu-avatar {
    width: 39px !important;
    height: 39px !important;
    min-width: 39px;
    display: block !important;
  }

  .sbu > .sbu-identity > .sbu-avatar img {
    width: 39px !important;
    height: 39px !important;
    border-color: rgba(183, 255, 0, .3) !important;
  }

  .sbu > .sbu-identity > .sbu-copy {
    min-width: 0;
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px !important;
    overflow: hidden;
  }

  .sbu > .sbu-identity > .sbu-copy > small,
  .sbu > .sbu-identity > .sbu-copy > .sbn2,
  .sbu > .sbu-identity > .sbu-copy > .sbr {
    min-width: 0;
    max-width: 100%;
    display: block !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sbu > .sbo {
    margin-left: 0 !important;
    align-self: center;
  }

  .sbu > .sbo i {
    width: auto;
    color: inherit;
    font-size: 12px;
  }
}
/* Final selected-route accent: identical lime treatment on desktop and mobile. */
.dock-control.is-current .dock-icon,
.dock-control.is-selected .dock-icon,
#nav-launcher .nl.active .nav-icon {
  border-color: rgba(183, 255, 0, .4) !important;
  color: var(--vx-lime, #b7ff00) !important;
  background: rgba(183, 255, 0, .07) !important;
  box-shadow: 0 0 0 1px rgba(183, 255, 0, .06) inset !important;
}

.dock-control.is-current .dock-icon i,
.dock-control.is-selected .dock-icon i,
#nav-launcher .nl.active .nav-icon i {
  color: inherit !important;
  text-shadow: 0 0 12px rgba(183, 255, 0, .26);
}

#nav-launcher .nl.active {
  border-color: rgba(183, 255, 0, .32) !important;
  color: #f3f6ef !important;
  background: rgba(183, 255, 0, .055) !important;
  box-shadow: inset 3px 0 0 var(--vx-lime, #b7ff00) !important;
}

.mobile-nav button.active {
  border-color: rgba(183, 255, 0, .42) !important;
  color: var(--vx-lime, #b7ff00) !important;
  background: rgba(183, 255, 0, .08) !important;
  box-shadow: inset 0 -2px 0 var(--vx-lime, #b7ff00) !important;
}

.mobile-nav button.active i {
  color: var(--vx-lime, #b7ff00) !important;
}
/* Semantic state guardrails and the exact desktop/mobile footer boundary. */
.sbu-copy > small {
  color: #8f988a;
}

#t-security .security2-danger {
  border-color: rgba(255, 98, 108, .3) !important;
  color: var(--vx-danger, #ff626c) !important;
  background: rgba(255, 98, 108, .055) !important;
}

#t-security .security2-danger:hover {
  border-color: rgba(255, 98, 108, .48) !important;
  color: #ff929a !important;
  background: rgba(255, 98, 108, .1) !important;
}

#t-downloads .downloads2-status.is-offline {
  border-color: rgba(255, 98, 108, .28) !important;
  color: var(--vx-danger, #ff626c) !important;
  background: rgba(255, 98, 108, .05) !important;
}

.shop3-coupon-status.is-error,
.shop3-checkout-status.is-error,
.notif3-resolution.is-denied {
  color: var(--vx-danger, #ff626c);
}

@media (width < 993px) {
  .sbu {
    display: none !important;
  }
}

/* Account identity fit: reserve enough room for the complete verification state. */
.ov2-identity-list {
  grid-template-columns: minmax(72px, .65fr) minmax(108px, .9fr) minmax(158px, 1.25fr);
}

#t-overview #o-account-state {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow: visible;
  color: var(--cc2-green, var(--vx-lime, #b7ff00));
  line-height: 1.25;
  text-overflow: clip;
  white-space: normal;
}

#t-overview #o-account-state i {
  width: 16px;
  flex: 0 0 16px;
  color: inherit !important;
  text-align: center;
}

#t-overview #o-account-state strong {
  min-width: 0;
  color: inherit;
  font: inherit;
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 1280px) and (min-width: 801px) {
  .ov2-account-strip {
    grid-template-columns: minmax(205px, .75fr) minmax(390px, 1.25fr);
  }

  .ov2-strip-actions {
    grid-column: 1 / -1;
    padding-top: 0;
    justify-content: flex-end;
    border-top: 1px solid var(--cc2-line);
  }

  .ov2-strip-actions button {
    width: auto;
    height: 42px;
    padding: 0 13px;
    grid-auto-flow: column;
  }

  .ov2-profile-block { padding-inline: 20px; }
  .ov2-identity-list > div { padding-inline: 16px; }
}

@media (max-width: 800px) and (min-width: 601px) {
  .ov2-identity-list {
    grid-template-columns: minmax(80px, .65fr) minmax(110px, .9fr) minmax(170px, 1.3fr);
  }
}

@media (max-width: 600px) {
  .ov2-identity-list { grid-template-columns: 1fr; }
}

/* Preserve subscription gifting in the wallet-free checkout. */
.shop3-plan-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.shop3-plan-actions > button {
  min-height: 46px;
  padding: 0 15px;
  border-radius: 9px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease, transform .18s ease;
}

.shop3-plan-actions > .shop3-gift {
  min-width: 92px;
  border: 1px solid rgba(255, 255, 255, .14);
  color: #cbd2c6;
  background: #111510;
}

.shop3-plan-actions > .shop3-gift:hover {
  border-color: rgba(183, 255, 0, .36);
  color: var(--vx-lime, #b7ff00);
  background: rgba(183, 255, 0, .045);
}

.shop3-plan-actions > .shop3-buy {
  min-width: 126px;
  border: 1px solid var(--vx-lime, #b7ff00);
  color: #080a08;
  background: var(--vx-lime, #b7ff00);
}

.shop3-plan-actions > button:disabled {
  opacity: .52;
  cursor: wait;
}

.shop3-plan-actions > button.is-loading i { animation: spin .8s linear infinite; }

@media (max-width: 760px) {
  .shop3-plan-actions { margin-left: auto; }
}

@media (max-width: 460px) {
  .shop3-plan-actions { width: 100%; margin-left: 0; }
  .shop3-plan-actions > button { min-width: 0; flex: 1 1 0; }
}
