/* heliguy Support Centre client theme
   Ported from support-centre-reference.html (design mockup handover, 2026-07-29).
   Covers: heliguy.com header/megamenu/sector-strip/footer chrome + the dark
   "console" support UI (open ticket, status, sign in, register, my tickets).
   Fonts: Poppins loaded via Google Fonts in header.inc.php — see handover notes
   on self-hosting later. Google Fonts CSS already declares @font-face for
   Poppins, so no @font-face block is needed here. */

.nav-wrap { z-index: 50; border-bottom: .5px solid var(--line); background: rgb(255, 255, 255); position: sticky; top: 0px; }
.nav { align-items: center; gap: 28px; padding: 16px 32px; display: flex; }
.logo-svg { width: auto; height: 30px; color: var(--ink); display: block; }
.nav-links { align-items: center; gap: 22px; font-size: 13px; display: flex; }
.nav-links a { color: var(--ink); outline-offset: 3px; white-space: nowrap; padding: 6px 0px; text-decoration: none; position: relative; }
.nav-links a:focus-visible { outline: 1.5px solid var(--ink); border-radius: 2px; }
.nav-links a.active::after { content: ""; background: var(--ink); height: 1.5px; position: absolute; bottom: -1px; left: 0px; right: 0px; }
.nav-links a.has-menu::after { content: " ▾"; font-family: var(--ff-mono); color: var(--ink-3); font-size: 9px; }
.nav-links a.nav-utility { color: var(--ink-2); font-style: italic; font-weight: 400; }
.nav-links a.nav-utility:hover { color: var(--ink); }
.nav-right { color: var(--ink-2); align-items: center; gap: 10px; margin-left: auto; font-size: 12px; display: flex; }
.nav-right .search { border: .5px solid var(--line-2); min-width: 200px; color: var(--ink-3); font-family: var(--ff-mono); cursor: pointer; background: rgb(255, 255, 255); border-radius: 4px; align-items: center; gap: 6px; margin-right: 4px; padding: 7px 12px; font-size: 11px; display: flex; }
.nav-right .search:focus-within { border-color: var(--ink); }
.nav-right .search input { font: inherit; color: var(--ink); background: 0px 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; outline: none; flex: 1 1 0%; min-width: 0px; }
.signal { display: inline-flex; align-items: center; gap: 9px; max-width: 420px; margin-left: auto; height: 32px; padding: 0px 6px 0px 12px; border: .5px solid var(--line-2); border-radius: 999px; background: rgb(255, 255, 255); font-size: 12px; color: var(--ink-2); white-space: nowrap; overflow: hidden; flex-shrink: 0; transition: border-color 0.15s, background 0.15s; }
.signal[hidden] { display: none; }
.signal .sig-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ink-3); flex-shrink: 0; position: relative; }
.signal .sig-dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid; color: inherit; opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .signal .sig-dot::after { animation: 2.4s ease-out 0s infinite normal none running sigpulse; }
}
@keyframes sigpulse { 
  0% { transform: scale(0.6); opacity: 0.5; }
  70% { transform: scale(1.5); opacity: 0; }
  100% { opacity: 0; }
}
.signal .sig-cat { font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.09em; font-weight: 600; color: var(--ink); flex-shrink: 0; }
.signal .sig-msg { overflow: hidden; text-overflow: ellipsis; min-width: 0px; }
.signal .sig-msg b { font-weight: 600; color: var(--ink); }
.signal .sig-link { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; color: var(--ink); flex-shrink: 0; font-family: var(--ff-mono); transition: background 0.12s; }
.signal .sig-link:hover { background: var(--bg-quiet); }
.signal .sig-x { width: 22px; height: 22px; border: 0px; background: 0px 0px; color: var(--ink-4); cursor: pointer; border-radius: 50%; flex-shrink: 0; font-size: 13px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: color 0.12s, background 0.12s; }
.signal .sig-x:hover { color: var(--ink); background: var(--bg-quiet); }
@media (max-width: 1024px) {
}
@media (max-width: 680px) {
}
.cap-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cap-form .fld { display: flex; flex-direction: column; gap: 5px; }
.cap-form .fld.full { grid-column: 1 / -1; }
.cap-form label { font-family: var(--ff-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); }
.cap-form input, .cap-form select { font-family: var(--ff); font-size: 13px; padding: 10px 12px; border: .5px solid var(--line-2); border-radius: 7px; background: rgb(255, 255, 255); color: var(--ink); width: 100%; box-sizing: border-box; }
.cap-form .fld.seg-tag input { background: var(--bg-quiet); color: var(--ink-3); font-family: var(--ff-mono); font-size: 11px; }
.cap-form .cap-btn { grid-column: 1 / -1; background: var(--ink); color: rgb(255, 255, 255); border: 0px; border-radius: 7px; padding: 13px; font-family: var(--ff-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; cursor: pointer; transition: background 0.12s; }
.cap-form .cap-btn:hover { background: rgb(0, 0, 0); }
.cap-form .cap-note { grid-column: 1 / -1; font-size: 10.5px; color: var(--ink-4); line-height: 1.5; }
@media (max-width: 1024px) {
}
@media (max-width: 560px) {
  .cap-form { grid-template-columns: 1fr; }
}
.aware-main { border: .5px solid var(--line-2); border-radius: 14px; padding: 30px 34px; background: var(--bg-quieter); display: flex; flex-direction: column; }
.aware-main .ax-k { font-family: var(--ff-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.09em; color: var(--orange-ink); }
.aware-main h3 { font-size: 23px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; margin: 12px 0px 10px; max-width: 20em; }
.aware-main h3 em { font-style: italic; font-weight: 500; }
.aware-main .ax-lead { font-size: 14px; font-weight: 300; color: var(--ink-2); line-height: 1.6; margin: 0px 0px 20px; max-width: 44em; }
.aware-main .ax-lead b { font-weight: 600; color: var(--ink); }
.aware-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0px; border-left: .5px solid var(--line); margin-top: auto; }
.aware-flow .af { border-right: .5px solid var(--line); padding: 0px 16px; }
.aware-flow .af .n { font-family: var(--ff-mono); font-size: 9px; color: var(--orange); letter-spacing: 0.05em; }
.aware-flow .af h4 { font-size: 13px; font-weight: 600; margin: 9px 0px 6px; letter-spacing: -0.01em; }
.aware-flow .af p { font-size: 11.5px; font-weight: 300; color: var(--ink-2); line-height: 1.45; margin: 0px; }
.aware-intl { border: .5px solid var(--info-edge); border-radius: 14px; background: var(--info-tint); padding: 28px 30px; display: flex; flex-direction: column; }
.aware-intl .intl-k { font-family: var(--ff-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.09em; color: var(--info-ink); display: inline-flex; align-items: center; gap: 8px; }
.aware-intl .intl-k::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--info-ink); }
.aware-intl h3 { font-size: 19px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.2; margin: 13px 0px 10px; color: var(--info-ink); }
.aware-intl p { font-size: 13px; font-weight: 300; color: var(--ink-2); line-height: 1.55; margin: 0px 0px 14px; }
.aware-intl p b { font-weight: 600; color: var(--ink); }
.aware-intl .intl-note { margin-top: auto; font-family: var(--ff-mono); font-size: 10px; line-height: 1.5; color: var(--info-ink); border-top: .5px solid var(--info-edge); padding-top: 13px; }
@media (max-width: 1024px) {
  .aware-flow { grid-template-columns: 1fr 1fr; border-top: .5px solid var(--line); }
  .aware-flow .af { border-bottom: .5px solid var(--line); padding: 16px; }
}
@media (max-width: 560px) {
  .aware-flow { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
}
.ev-list { margin-top: 26px; border-top: .5px solid var(--line-2); }
.ev-row { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: baseline; padding: 20px 0px; border-bottom: .5px solid var(--line); }
.ev-row .ev-n { font-family: var(--ff-mono); font-size: 11px; color: var(--ink-4); }
.ev-row .ev-claim { font-size: 16px; font-weight: 500; color: var(--ink); letter-spacing: -0.012em; line-height: 1.4; }
.ev-row .ev-claim b { color: var(--orange-ink); }
.ev-row .ev-src { font-family: var(--ff-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); text-align: right; line-height: 1.6; white-space: nowrap; }
.ev-row .ev-src .verified { display: inline-flex; align-items: center; gap: 5px; color: var(--ok-ink); }
.ev-row .ev-src .verified::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ok-strong); }
@media (max-width: 760px) {
  .ev-row { grid-template-columns: auto 1fr; gap: 6px 16px; }
  .ev-row .ev-src { grid-column: 2; text-align: left; white-space: normal; margin-top: 4px; }
}
.signal.tone-offer { border-color: var(--orange); background: var(--orange-soft); }
.signal.tone-offer .sig-dot, .signal.tone-offer .sig-cat { color: var(--orange-ink); }
.signal.tone-offer .sig-dot { background: var(--orange); }
.signal.tone-notice { border-color: var(--info-edge,#c8d3e7); background: var(--info-tint,#eef2f9); }
.signal.tone-notice .sig-dot { background: var(--info,#2c4a7a); }
.signal.tone-notice .sig-cat { color: var(--info,#2c4a7a); }
@media (max-width: 1320px) {
  .signal { max-width: 300px; }
}
@media (max-width: 1180px) {
  .signal { display: none; }
}
.signal--strip { height: 26px; font-size: 11.5px; padding: 0px 4px 0px 11px; margin-left: 0px; }
.signal--strip .sig-cat { font-size: 8.5px; }
.signal--strip .sig-link, .signal--strip .sig-x { width: 20px; height: 20px; }
@media (max-width: 1024px) {
  .signal--strip { display: none; }
}
body:not(.place-strip) .signal--strip { display: none; }
body.place-strip #siteSignal { display: none; }
#sigTrial { position: fixed; right: 18px; bottom: 18px; z-index: 200; width: 250px; background: rgb(255, 255, 255); border: .5px solid var(--line-2); border-radius: 10px; box-shadow: rgba(15, 17, 8, 0.12) 0px 10px 30px; padding: 14px 15px; font-family: var(--ff-mono); font-size: 10px; }
#sigTrial h4 { font-size: 9px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-3); margin: 0px 0px 10px; }
n#sigTrial .lab { font-size: 8px; text-transform: uppercase; letter-spacing: 0.09em; color: var(--ink-4); margin: 0px 0px 5px; }
#sigTrial .row { display: flex; gap: 5px; margin-bottom: 9px; }
#sigTrial button { flex: 1 1 0%; font-family: inherit; font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em; padding: 6px 4px; border: .5px solid var(--line-2); background: rgb(255, 255, 255); border-radius: 5px; cursor: pointer; color: var(--ink-2); }
#sigTrial button.on { background: var(--ink); color: rgb(255, 255, 255); border-color: var(--ink); }
#sigTrial input { width: 100%; box-sizing: border-box; font-family: var(--ff); font-size: 12px; padding: 7px 9px; border: .5px solid var(--line-2); border-radius: 5px; margin-bottom: 5px; }
#sigTrial .count { color: var(--ink-4); text-align: right; }
#sigTrial .count.over { color: var(--stop,#b32b1a); }
.nav-right .icon-link { width: 34px; height: 34px; color: var(--ink-2); border-radius: 4px; justify-content: center; align-items: center; text-decoration: none; display: inline-flex; position: relative; }
.nav-right .icon-link:hover { color: var(--ink); background: var(--bg-quiet); }
.nav-right .icon-link:focus-visible { outline: 1.5px solid var(--ink); outline-offset: 0px; }
.nav-right .icon-link svg { width: 18px; height: 18px; display: block; }
.nav-right .icon-link .badge { background: var(--orange); color: rgb(255, 255, 255); font-size: 9px; font-family: var(--ff-mono); border-radius: 7px; justify-content: center; align-items: center; min-width: 14px; height: 14px; padding: 0px 3px; line-height: 1; display: inline-flex; position: absolute; top: 3px; right: 3px; }
.nav-right .icon-link .badge.empty { background: var(--ink-4); }
.nav-right .icon-link .badge.filled { background: var(--orange); box-shadow: rgba(251, 115, 71, 0.18) 0px 0px 0px 2px; }
.nav-right .icon-link.cart-link.has-items { color: var(--orange); }
.nav-right .icon-link.cart-link.has-items:hover { color: var(--orange-ink,#993c1d); }
.nav-phone { border-left: .5px solid var(--line); flex-direction: column; align-items: flex-end; padding-left: 12px; line-height: 1.1; display: inline-flex; }
.nav-phone .lbl { font-family: var(--ff-mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.1em; align-items: center; gap: 5px; font-size: 9px; display: inline-flex; }
.nav-phone .lbl::before { content: ""; background: var(--ok-strong); width: 5px; height: 5px; box-shadow: 0 0 0 2px var(--ok-tint); border-radius: 50%; display: inline-block; }
.nav-phone .num { color: var(--ink); font-variant-numeric: tabular-nums; margin-top: 2px; font-size: 13px; font-weight: 500; text-decoration: none; }
.nav-item { position: relative; }
.megamenu { border: .5px solid var(--line); z-index: 60; background: rgb(255, 255, 255); border-radius: 8px; padding: 18px; display: none; position: absolute; top: calc(100% + 1px); left: -16px; box-shadow: rgba(0, 0, 0, 0.08) 0px 10px 28px; }
.nav-item:hover .megamenu, .nav-item:focus-within .megamenu { gap: 22px; display: grid; }
.megamenu.cols-1 { grid-template-columns: 1fr; min-width: 240px; }
.megamenu.cols-2 { grid-template-columns: 1fr 1fr; min-width: 480px; }
.mm-col a { color: var(--ink); border-bottom: .5px solid var(--line); padding: 6px 0px; font-size: 13px; display: block; }
.mm-col a:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.mm-col a .tag { font-family: var(--ff-mono); color: var(--ink-3); margin-left: 6px; font-size: 9px; }
.mm-col a:hover { color: var(--orange); }
.mnav-trigger { cursor: pointer; width: 44px; height: 44px; color: var(--ink); background: 0px 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 4px; justify-content: center; align-items: center; padding: 0px; display: none; }
.mnav-trigger:hover { background: var(--bg-quiet); }
.mnav-trigger:focus-visible { outline: 1.5px solid var(--ink); }
.mnav-bars { flex-direction: column; gap: 4px; width: 22px; display: inline-flex; }
.mnav-bars span { background: var(--ink); border-radius: 1px; height: 2px; display: block; }
.mnav-trigger[aria-expanded="true"] .mnav-bars { gap: 0px; }
.mnav-trigger[aria-expanded="true"] .mnav-bars span:first-child { transform: translateY(2px) rotate(45deg); }
.mnav-trigger[aria-expanded="true"] .mnav-bars span:nth-child(2) { opacity: 0; }
.mnav-trigger[aria-expanded="true"] .mnav-bars span:nth-child(3) { transform: translateY(-2px) rotate(-45deg); }
.mnav-backdrop { z-index: 100; background: rgba(15, 17, 8, 0.45); animation: 0.16s ease 0s 1 normal none running mnavFade; position: fixed; inset: 0px; }
.mnav-panel { z-index: 101; background: rgb(255, 255, 255); width: min(86vw, 360px); padding: 22px 22px 32px; animation: 0.2s ease 0s 1 normal none running mnavSlide; position: fixed; top: 0px; bottom: 0px; right: 0px; overflow-y: auto; box-shadow: rgba(0, 0, 0, 0.12) -8px 0px 32px; }
.mnav-close { width: 40px; height: 40px; color: var(--ink-2); cursor: pointer; background: 0px 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 4px; font-size: 28px; line-height: 1; position: absolute; top: 12px; right: 12px; }
.mnav-close:hover { background: var(--bg-quiet); color: var(--ink); }
.mnav-search { border: 1px solid var(--line-2); border-radius: 8px; align-items: center; gap: 8px; height: 46px; margin-top: 44px; padding: 0px 12px; display: flex; }
.mnav-search:focus-within { border-color: var(--ink); }
.mnav-search .mag { color: var(--ink-3); font-size: 17px; line-height: 1; }
.mnav-search input { min-width: 0px; font-family: var(--ff); color: var(--ink); background: 0px 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; outline: none; flex: 1 1 0%; font-size: 15px; }
.mnav-search input::placeholder { color: var(--ink-4); }
.mnav-list { margin: 18px 0px 0px; padding: 0px; list-style: none; }
.mnav-item { border-bottom: .5px solid var(--line); }
.mnav-top { color: var(--ink); min-height: 44px; padding: 14px 4px; font-size: 17px; font-weight: 500; text-decoration: none; display: block; }
.mnav-top:hover { color: var(--orange); }
.mnav-top.active { color: var(--orange); }
.mnav-backdrop[hidden], .mnav-panel[hidden] { display: none; }
.mnav-children { border-left: 2px solid var(--line); margin: 0px 0px 12px; padding: 0px 0px 0px 14px; list-style: none; }
.mnav-child { color: var(--ink-2); min-height: 40px; padding: 10px 4px; font-size: 14.5px; text-decoration: none; display: block; }
.mnav-child:hover { color: var(--orange); }
@keyframes mnavFade { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes mnavSlide { 
  0% { transform: translate(100%); }
  100% { transform: translate(0px); }
}
@media (max-width: 1100px) {
  .nav { gap: 8px; padding: 12px 16px; }
  .nav-links { display: none; }
  .nav-right { gap: 4px; margin-left: auto; }
  .nav-right .search, .nav-phone { display: none; }
  .nav-right .icon-link { width: 44px; height: 44px; }
  .mnav-trigger { display: inline-flex; }
  .rs-panel .sh-tabs, .rs-panel .sh-acct { display: none; }
}
.sector-strip { border-top: .5px solid var(--line); background: var(--bg-quieter); scrollbar-width: none; align-items: center; gap: 10px; padding: 8px 32px; display: flex; overflow-x: auto; mask-image: linear-gradient(90deg, rgb(0, 0, 0) 0px, rgb(0, 0, 0) calc(100% - 32px), rgba(0, 0, 0, 0) 100%); }
.sector-strip::-webkit-scrollbar { display: none; }
@media (max-width: 720px) {
  .sector-strip { padding: 8px 16px; }
}
.sector-strip .lbl { font-family: var(--ff-mono); text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-3); white-space: nowrap; margin-right: 4px; font-size: 9px; }
.sector-pill { color: var(--ink-2); border: .5px solid var(--line); white-space: nowrap; background: rgb(255, 255, 255); border-radius: 999px; align-items: center; gap: 6px; padding: 4px 10px; font-size: 11.5px; text-decoration: none; display: inline-flex; }
.sector-pill:hover { color: var(--ink); border-color: var(--ink-4); }
.sector-pill .ic { font-family: var(--ff-mono); color: var(--ink-3); font-size: 9px; }
.sector-pill.more { border: .5px solid var(--line-2); color: var(--ink); background: rgb(255, 255, 255); font-weight: 500; }
.sector-pill.more:hover { border-color: var(--ink); }
.sector-spacer { flex: 1 1 0%; }
.hgio-nav-pill { color: var(--ink); border: .5px solid var(--info-edge); white-space: nowrap; background: rgb(255, 255, 255); border-radius: 999px; align-items: center; gap: 7px; padding: 4px 10px 4px 8px; font-size: 11.5px; text-decoration: none; display: inline-flex; }
.hgio-nav-pill:hover { border-color: var(--info-ink); }
.hgio-nav-pill-mark { width: 18px; height: 18px; display: block; }
.hgio-nav-pill .hgio-ctx { color: var(--ink-3); font-family: var(--ff-mono); text-transform: uppercase; letter-spacing: 0.08em; font-size: 9.5px; }
.hgio-nav-pill .arr { color: var(--info-ink); font-family: var(--ff-mono); font-size: 11px; }
.page-host { position: relative; }
.breadcrumb { font-family: var(--ff-mono); color: var(--ink-3); max-width: 1440px; margin: 0px auto; padding: 16px 32px 0px; font-size: 11px; }
.breadcrumb a { color: var(--ink-3); text-decoration: none; }
.breadcrumb a:hover { color: var(--ink); }
.breadcrumb .sep { color: var(--ink-4); padding: 0px 6px; }
.breadcrumb .current { color: var(--ink); }
.page-host > .breadcrumb { z-index: 5; color: rgba(255, 255, 255, 0.9); letter-spacing: 0.02em; pointer-events: auto; background: rgba(0, 0, 0, 0.45); border-radius: 999px; align-items: center; max-width: none; margin: 0px; padding: 6px 12px; font-size: 10.5px; line-height: 1; display: inline-flex; position: absolute; top: 16px; left: 32px; }
.page-host > .breadcrumb a { color: rgba(255, 255, 255, 0.78); transition: color 0.12s; }
.page-host > .breadcrumb a:hover { color: rgb(255, 255, 255); }
.page-host > .breadcrumb .sep { color: rgba(255, 255, 255, 0.4); }
.page-host > .breadcrumb .current { color: rgb(255, 255, 255); font-weight: 500; }
@media (max-width: 640px) {
  .page-host > .breadcrumb { padding: 5px 10px; font-size: 10px; top: 10px; left: 16px; }
}
.footer { background: var(--bg-ink,#0f1108); color: rgb(255, 255, 255); position: relative; overflow: hidden; }
.footer::before { content: ""; pointer-events: none; background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.024) 1px, rgba(0, 0, 0, 0) 1px), linear-gradient(rgba(255, 255, 255, 0.024) 1px, rgba(0, 0, 0, 0) 1px); background-size: 64px 64px; position: absolute; inset: 0px; }
.fsig-inner { z-index: 1; max-width: 1440px; margin: 0px auto; padding: 0px 32px; position: relative; }
.fsig-meta { font-family: var(--ff-mono); text-transform: uppercase; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.5); border-bottom: 0.5px solid rgba(255, 255, 255, 0.08); flex-wrap: wrap; align-items: center; gap: 18px; padding: 15px 0px 13px; font-size: 9.5px; display: flex; }
.fsig-meta .pin { align-items: center; gap: 7px; display: inline-flex; }
.fsig-meta .pin::before { content: ""; background: var(--ok-strong); border-radius: 50%; width: 5px; height: 5px; display: inline-block; box-shadow: rgba(109, 154, 44, 0.25) 0px 0px 0px 2px; }
.fsig-meta .pin .v { color: rgba(255, 255, 255, 0.85); margin-left: 4px; }
.fsig-meta .sep { color: rgba(255, 255, 255, 0.18); }
.fsig-meta .ts { color: rgba(255, 255, 255, 0.4); margin-left: auto; }
.fsig-meta .ts .v { color: rgba(255, 255, 255, 0.7); }
.fnav { z-index: 1; grid-template-columns: 1.4fr repeat(5, 1fr); gap: 40px; padding: 52px 0px 44px; display: grid; position: relative; }
.fnav-brand .wm { color: rgb(255, 255, 255); line-height: 0; text-decoration: none; display: inline-flex; }
.fnav-brand .wm svg { width: auto; height: 132px; color: inherit; fill: currentcolor; display: block; }
.fnav-brand .tagline { font-family: var(--ff-mono); letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); margin-top: 16px; font-size: 11px; }
.fnav-brand .blurb { color: rgba(255, 255, 255, 0.5); max-width: 30ch; margin-top: 14px; font-size: 12.5px; font-weight: 300; line-height: 1.55; }
.fcol h4 { font-family: var(--ff-mono); text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255, 255, 255, 0.4); margin-bottom: 14px; font-size: 9.5px; font-weight: 500; }
.fcol a { color: rgba(255, 255, 255, 0.72); padding: 5px 0px; font-size: 13px; text-decoration: none; display: block; }
.fcol a:hover { color: rgb(255, 255, 255); }
.fsig-network { z-index: 1; border-top: 0.5px solid rgba(255, 255, 255, 0.08); flex-wrap: wrap; align-items: center; gap: 12px; max-width: 1440px; margin: 0px auto; padding: 18px 32px; display: flex; position: relative; }
.fsig-network .lbl { font-family: var(--ff-mono); text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255, 255, 255, 0.4); margin-right: 4px; font-size: 9px; }
.fsig-network .pill { color: rgba(255, 255, 255, 0.85); white-space: nowrap; background: 0px 0px; border: 0.5px solid rgba(255, 255, 255, 0.18); border-radius: 999px; align-items: center; gap: 7px; padding: 5px 11px 5px 9px; font-size: 11.5px; text-decoration: none; display: inline-flex; }
.fsig-network .pill:hover { color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.5); }
.fsig-network .pill.current { color: var(--ink); background: rgb(255, 255, 255); border-color: rgb(255, 255, 255); }
.fsig-network .pill .mark { color: currentcolor; align-items: center; display: inline-flex; }
.fsig-network .pill .mark svg { color: currentcolor; fill: currentcolor; width: auto; height: 11px; display: block; }
.fsig-network .pill .suffix { font-family: var(--ff-mono); color: rgba(255, 255, 255, 0.55); white-space: nowrap; font-size: 9.5px; font-weight: 500; }
.fsig-network .pill.current .suffix { color: var(--orange,#fb7347); }
.fsig-network .pill .ctx { font-family: var(--ff-mono); color: rgba(255, 255, 255, 0.45); white-space: nowrap; font-size: 9.5px; }
.fsig-network .pill.current .ctx { color: var(--ink-3); }
.fsig-network .pill .arr { font-family: var(--ff-mono); color: rgba(255, 255, 255, 0.4); margin-left: 2px; font-size: 11px; }
.fsig-network .pill:hover .arr { color: rgba(255, 255, 255, 0.8); }
.footer-base { background: var(--bg-quiet); border-top: .5px solid var(--line); }
.footer-base-inner { max-width: 1440px; color: var(--ink-3); flex-wrap: wrap; align-items: center; gap: 16px; margin: 0px auto; padding: 16px 32px; font-size: 11px; display: flex; }
.footer-base-inner .copy { font-family: var(--ff-mono); font-size: 10px; }
.footer-base-inner .copy strong { color: var(--ink-2); font-weight: 500; }
.footer-base-inner .addr { font-family: var(--ff-mono); border-left: .5px solid var(--line-2); padding-left: 14px; font-size: 10px; }
.footer-base-inner .legal { flex-wrap: wrap; gap: 14px; margin-left: auto; display: flex; }
.footer-base-inner .legal a { color: var(--ink-3); text-decoration: none; }
.footer-base-inner .legal a:hover { color: var(--ink); }
@media (max-width: 980px) {
  .fnav { grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
  .fnav-brand { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .fsig-meta { letter-spacing: 0.1em; gap: 10px; padding: 12px 0px 10px; font-size: 11px; }
  .fsig-meta .ts, .fsig-meta .sep { display: none; }
  .fnav-brand .wm svg { height: 84px; }
  .fnav { gap: 24px; padding: 32px 0px 28px; }
  .fnav-brand .tagline { margin-top: 12px; }
  .fnav-brand .blurb { margin-top: 10px; }
}
@media (max-width: 560px) {
  .fnav { grid-template-columns: 1fr 1fr; }
  .footer-base-inner .legal { margin-left: 0px; }
}
.fsocial { gap: 10px; margin-top: 18px; display: flex; }
.fsocial a { color: rgba(255, 255, 255, 0.72); border: 0.5px solid rgba(255, 255, 255, 0.18); border-radius: 8px; justify-content: center; align-items: center; width: 34px; height: 34px; transition: color 0.15s, border-color 0.15s, background 0.15s; display: inline-flex; }
.fsocial a:hover { color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.4); }
@media (pointer: coarse) {
  .fsocial a { width: 44px; height: 44px; }
}
:root { --bg-page: #fff; --bg-quiet: #f6f7f4; --bg-quieter: #fafbf8; --line: #0f110817; --line-2: #0f110829; --ink: #1a1c14; --ink-2: #3a3d33; --ink-3: #5e6155; --ink-4: #a1a399; --ok-tint: #eef4e3; --ok-edge: #c7d8a8; --ok-ink: #4a6b1f; --ok-strong: #6d9a2c; --warn-tint: #fdecd9; --warn-edge: #f3c98e; --warn-ink: #8a4e0a; --warn-strong: #d97c1b; --info-tint: #eef2f9; --info-edge: #c8d3e7; --info-ink: #2c4a7a; --orange: #fb7347; --orange-soft: #fde4d8; --orange-ink: #993c1d; --khaki: #4a4f36; --google-blue: #4285f4; --google-red: #ea4335; --google-yellow: #fbbc05; --google-green: #34a853; --ff: "Poppins", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --ff-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace; }
*, ::before, ::after { box-sizing: border-box; }
html, body { margin: 0px; padding: 0px; overflow-x: hidden; }
body { background: var(--bg-page); color: var(--ink); font-family: var(--ff); -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.55; }
@media (max-width: 700px) {
  body { font-size: 15px; }
  .eyebrow, .meta, .strap, .tag, .cat-tag, .lbl, .pin, .badge, [class$="-eyebrow"], [class$="-meta"], [class$="-tag"], [class$="-lbl"] { font-size: max(11px, 0.78em); }
}
a { color: inherit; text-decoration: none; }
img, svg { max-width: 100%; display: block; }
h1, h2, h3, h4, h5, h6 { margin: 0px; font-weight: 500; }
p { margin: 0px; }
.hg-container { max-width: 1440px; margin: 0px auto; padding: 0px 32px; }
@media (max-width: 1200px) {
}
@media (max-width: 900px) {
}
@media (max-width: 700px) {
}
@media (max-width: 1100px) {
}
@media (max-width: 560px) {
}
@media (min-width: 900px) {
  .sector-strip { overflow: visible; mask-image: none; }
}
.sector-strip .nav-item.sector-flyout { position: relative; display: inline-flex; }
.sector-flyout .sector-pill.has-menu::after { content: " ▾"; font-family: var(--ff-mono); color: var(--ink-3); font-size: 9px; }
.sector-flyout .megamenu.survey-mm { display: none; position: absolute; top: 100%; left: 0px; grid-template-columns: 1fr 1fr; gap: 0px; min-width: 580px; padding: 0px; overflow: hidden; border: .5px solid var(--line); border-radius: 10px; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.09) 0px 14px 34px; z-index: 60; }
.sector-flyout:hover .megamenu.survey-mm, .sector-flyout:focus-within .megamenu.survey-mm { display: grid; }
.sector-flyout .megamenu.survey-mm::before { content: ""; position: absolute; top: -10px; left: 0px; right: 0px; height: 10px; }
.survey-mm .smm-feature { display: flex; flex-direction: column; gap: 0px; background: var(--bg-quieter); border-right: .5px solid var(--line); }
.survey-mm .smm-card { display: flex; flex-direction: column; padding: 16px 18px; border-bottom: .5px solid var(--line); transition: background 0.12s; }
.survey-mm .smm-card:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.survey-mm .smm-card:hover { background: rgb(255, 255, 255); }
.survey-mm .smm-tag { font-family: var(--ff-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.09em; color: var(--orange-ink); background: var(--orange-soft); border-radius: 999px; padding: 2px 8px; align-self: flex-start; }
.survey-mm .smm-name { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); margin-top: 9px; }
.survey-mm .smm-desc { font-size: 11.5px; font-weight: 300; color: var(--ink-2); line-height: 1.45; margin-top: 5px; }
.survey-mm .smm-go { font-family: var(--ff-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink); margin-top: 11px; display: inline-flex; gap: 6px; }
.survey-mm .smm-go .arr { color: var(--orange); }
.survey-mm .smm-cta { padding: 20px; display: flex; flex-direction: column; justify-content: center; }
.survey-mm .smm-col-h { font-family: var(--ff-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-4); margin-bottom: 10px; }
.survey-mm .smm-cta p { font-size: 13px; font-weight: 300; color: var(--ink-2); line-height: 1.55; margin: 0px 0px 16px; }
.survey-mm .smm-cta p strong { font-weight: 600; color: var(--ink); }
.survey-mm .smm-cta .smm-btn { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink); display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; border-bottom: 1.5px solid var(--orange); padding-bottom: 3px; transition: color 0.12s; }
.survey-mm .smm-cta .smm-btn .arr { color: var(--orange); }
.survey-mm .smm-cta .smm-btn:hover { color: var(--orange-ink); }
@media (max-width: 1024px) {
  .sector-flyout .megamenu.survey-mm { left: auto; right: 0px; }
}
@media (max-width: 640px) {
  .sector-flyout .megamenu.survey-mm { grid-template-columns: 1fr; min-width: 280px; }
  .survey-mm .smm-feature { border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-bottom: .5px solid var(--line); }
}
@media (max-width: 860px) {
}
.svy-call { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink); border-left: .5px solid var(--line); padding-left: 14px; margin-left: 6px; flex-shrink: 0; white-space: nowrap; }
.svy-call:hover { color: var(--orange-ink); }
@media (max-width: 600px) {
  .svy-call { font-size: 0px; padding-left: 12px; gap: 0px; }
  .svy-call::before { content: "Call"; font-size: 10px; }
}
.svy-subnav { position: sticky; top: 0px; z-index: 45; background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(10px); border-top: .5px solid var(--line-2); border-bottom: .5px solid var(--line-2); transition: box-shadow 0.2s; }
.svy-subnav.pinned { box-shadow: rgba(15, 17, 8, 0.06) 0px 6px 20px; }
.svy-subnav-inner { max-width: 1180px; margin: 0px auto; padding: 0px 32px; display: flex; align-items: stretch; }
.svy-subnav-ident { display: flex; align-items: center; gap: 11px; padding: 12px 16px 12px 0px; border-right: .5px solid var(--line); flex-shrink: 0; }
.svy-subnav-ident .ico { width: 26px; height: 26px; border-radius: 5px; background: var(--ink); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; font-family: var(--ff-mono); font-size: 11px; font-weight: 500; }
.svy-subnav-ident .lbl { line-height: 1.1; }
.svy-subnav-ident .a { font-size: 14px; font-weight: 500; letter-spacing: -0.01em; display: block; }
.svy-subnav-ident .b { font-family: var(--ff-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-3); }
.svy-railwrap { position: relative; display: flex; flex: 1 1 0%; min-width: 0px; }
.svy-tabs { display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none; flex: 1 1 0%; padding-left: 8px; }
.svy-tabs::-webkit-scrollbar { display: none; }
.svy-tab { position: relative; display: inline-flex; align-items: center; white-space: nowrap; padding: 0px 9px; font-size: 12px; color: var(--ink-2); transition: color 0.12s; cursor: pointer; }
.svy-tab:hover { color: var(--ink); }
.svy-tab.active { color: var(--ink); font-weight: 500; }
.svy-tab.active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0px; height: 2px; background: var(--orange); }
.svy-railwrap .svy-fade { position: absolute; top: 0px; bottom: 0px; right: 0px; width: 52px; background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.96) 72%); pointer-events: none; display: none; align-items: center; justify-content: flex-end; font-family: var(--ff-mono); font-size: 12px; color: var(--ink-3); }
.svy-railwrap.overflowing .svy-fade { display: flex; }
.svy-cta { display: flex; align-items: center; padding-left: 16px; border-left: .5px solid var(--line); flex-shrink: 0; }
.svy-cta a { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); display: inline-flex; align-items: center; gap: 7px; }
.svy-cta a:hover { color: var(--orange); }
.svy-cta .arr { color: var(--orange); }
#svc, #ecosystem, #viewer, #how, #software, #team, #compare, #faq { scroll-margin-top: 64px; }
#ecosystem { margin-top: 80px; }
@media (max-width: 1080px) {
  .svy-cta { display: none; }
}
@media (max-width: 760px) {
  .svy-subnav-inner { padding: 0px 0px 0px 16px; flex-direction: column; }
  .svy-subnav-ident { border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-bottom: .5px solid var(--line); padding: 10px 16px 10px 0px; }
  .svy-tabs { padding: 0px; }
  .svy-tab { padding: 12px; }
}
.hero-inner { padding: 46px 0px 42px !important; }
.hero h1 { font-size: 48px !important; }
.hero .sub { font-size: 17px !important; margin-top: 16px !important; }
.hero .acts { margin-top: 22px !important; }
.hero-stats .hs { padding: 18px 24px 24px 0px !important; }
.hero-stats .hs:not(:first-child) { padding-left: 24px !important; }
.hero-stats .hs .v { font-size: 30px !important; }
#range { max-width: 1240px; margin: 0px auto; padding: 60px 40px; border-bottom: .5px solid var(--line); }
.pcar { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 0px 12px; }
.pcar::-webkit-scrollbar { height: 6px; }
.pcar::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 3px; }
.pcar .rprod { min-width: 296px; max-width: 296px; scroll-snap-align: start; border: .5px solid var(--line-2); border-radius: 12px; }
.pcar .rprod:hover { border-color: var(--ink); background: rgb(255, 255, 255); }
.pcar-hint { font-family: var(--ff-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-4); text-align: right; margin-bottom: 8px; }
@media (max-width: 680px) {
  #range { padding: 44px 22px; }
}
.acc-sec .count-badge { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ff-mono); font-size: 11px; letter-spacing: 0.05em; color: var(--orange-ink); background: var(--orange-soft); border-radius: 999px; padding: 6px 13px; margin-top: 18px; }
.acat { margin-top: 30px; }
.acat-h { font-family: var(--ff-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-3); display: flex; align-items: center; gap: 10px; padding-bottom: 11px; border-bottom: .5px solid var(--line-2); }
.acat-h .c { color: var(--ink-4); }
.agrid { display: grid; grid-template-columns: repeat(3, 1fr); border-left: .5px solid var(--line); }
.acc-item { display: flex; gap: 13px; align-items: center; border-right: .5px solid var(--line); border-bottom: .5px solid var(--line); padding: 13px 15px; transition: background 0.12s; }
.acc-item:hover { background: var(--bg-quieter); }
.ai-thumb { width: 52px; height: 52px; border-radius: 8px; overflow: hidden; background: rgb(12, 14, 7); flex-shrink: 0; }
.ai-thumb img { width: 100%; height: 100%; object-fit: cover; opacity: 0.92; }
.ai-body { min-width: 0px; flex: 1 1 0%; }
.ai-name { font-size: 12.5px; font-weight: 500; letter-spacing: -0.005em; line-height: 1.3; display: block; }
.ai-foot { display: flex; gap: 10px; align-items: baseline; margin-top: 5px; }
.ai-price { font-size: 12.5px; font-weight: 600; }
.ai-stock { font-family: var(--ff-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-4); }
.ai-stock.in { color: rgb(74, 107, 31); }
@media (max-width: 900px) {
  .agrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .agrid { grid-template-columns: 1fr; }
}
:root { --bg-page: #fff; --bg-quiet: #f6f7f4; --bg-quieter: #fafbf8; --bg-dark: #0f1108; --ink: #1a1c14; --ink-2: #3a3d33; --ink-3: #5e6155; --ink-4: #a1a399; --line: rgba(15,17,8,.09); --line-2: rgba(15,17,8,.16); --line-3: rgba(15,17,8,.28); --orange: #fb7347; --orange-ink: #993c1d; --orange-soft: #fde4d8; --info: #2c4a7a; --info-tint: #eef2f9; --info-edge: #c8d3e7; --ff: "Poppins","Inter",-apple-system,sans-serif; --ff-mono: ui-monospace,"JetBrains Mono","SF Mono",Menlo,monospace; }
* { box-sizing: border-box; margin: 0px; padding: 0px; }
html { scroll-behavior: smooth; }
body { font-family: var(--ff); color: var(--ink); background: var(--bg-page); font-size: 14px; line-height: 1.6; font-weight: 400; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
.wrap { max-width: 1240px; margin: 0px auto; padding: 0px 40px; }
@media (max-width: 680px) {
  .wrap { padding: 0px 22px; }
}
.fullbleed { position: relative; left: 50%; right: 50%; width: 100vw; margin-left: -50vw; margin-right: -50vw; }
.eyebrow { font-family: var(--ff-mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--ink-3); display: inline-flex; align-items: center; gap: 9px; }
.eyebrow::before { content: ""; width: 16px; height: 1.5px; background: var(--orange); display: inline-block; }
.eyebrow.on-dark { color: rgba(255, 255, 255, 0.72); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-size: 13px; padding: 0px 22px; height: 48px; border-radius: 4px; font-weight: 500; border: 0.5px solid transparent; transition: background 0.13s, border-color 0.13s, color 0.13s; white-space: nowrap; }
.btn-ink { background: var(--ink); color: rgb(255, 255, 255); }
.btn-ink:hover { background: rgb(0, 0, 0); }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--line-3); }
.btn-ghost:hover { border-color: var(--ink); }
.btn-light { background: rgb(255, 255, 255); color: var(--ink); }
.btn-light:hover { background: rgba(255, 255, 255, 0.9); }
.btn-ghost-light { background: transparent; color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.4); }
.btn-ghost-light:hover { border-color: rgb(255, 255, 255); }
.btn .arr { font-family: var(--ff-mono); opacity: 0.7; }
.sec { padding: 88px 0px; border-bottom: .5px solid var(--line); }
.sec-head { max-width: 44em; }
.sec-head .num { font-family: var(--ff-mono); font-size: 11px; color: var(--ink-4); letter-spacing: 0.1em; }
.sec-head h2 { font-size: 38px; font-weight: 300; letter-spacing: -0.028em; line-height: 1.06; margin: 16px 0px 0px; }
.sec-head h2 strong { font-weight: 500; }
.sec-head h2 em { font-style: italic; font-weight: 300; color: var(--ink-3); }
.sec-head .lede { font-size: 17px; font-weight: 300; color: var(--ink-2); line-height: 1.6; margin-top: 18px; }
.sec-head .lede b { font-weight: 500; color: var(--ink); }
@media (max-width: 860px) {
  .sec { padding: 60px 0px; }
  .sec-head h2 { font-size: 28px; }
}
.hero { background: var(--bg-dark); color: rgb(255, 255, 255); position: relative; overflow: hidden; }
.hero-inner { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 40px; align-items: center; padding: 80px 0px 84px; position: relative; z-index: 2; }
.hero h1 { font-size: 62px; font-weight: 300; letter-spacing: -0.038em; line-height: 0.98; margin: 22px 0px 0px; }
.hero h1 strong { font-weight: 500; }
.hero .sub { font-size: 19px; font-weight: 300; color: rgba(255, 255, 255, 0.84); margin-top: 22px; max-width: 26em; line-height: 1.5; }
.hero .sub b { color: rgb(255, 255, 255); font-weight: 500; }
.hero .acts { display: flex; gap: 12px; margin-top: 30px; flex-wrap: wrap; }
.hero-media { position: relative; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: rgb(21, 24, 13); border: 0.5px solid rgba(255, 255, 255, 0.12); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hero-media .badge { position: absolute; left: 18px; bottom: 18px; font-family: var(--ff-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: rgb(255, 255, 255); background: rgba(12, 14, 7, 0.55); backdrop-filter: blur(4px); border: 0.5px solid rgba(255, 255, 255, 0.2); border-radius: 999px; padding: 7px 13px; }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 0.5px solid rgba(255, 255, 255, 0.16); position: relative; z-index: 2; }
.hero-stats .hs { padding: 24px 24px 34px; border-left: 0.5px solid rgba(255, 255, 255, 0.16); }
.hero-stats .hs:first-child { border-left-width: medium; border-left-style: none; border-left-color: currentcolor; padding-left: 0px; }
.hero-stats .hs .v { font-size: 34px; font-weight: 300; letter-spacing: -0.03em; line-height: 1; }
.hero-stats .hs .v .u { font-size: 16px; color: rgba(255, 255, 255, 0.6); }
.hero-stats .hs .k { font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.55); margin-top: 11px; line-height: 1.5; }
@media (max-width: 860px) {
  .hero-inner { grid-template-columns: 1fr; gap: 32px; padding: 56px 0px; }
  .hero h1 { font-size: 42px; }
  .hero-media { max-width: 380px; }
  .hero-stats { grid-template-columns: 1fr 1fr; }
  .hero-stats .hs:nth-child(3) { border-left-width: medium; border-left-style: none; border-left-color: currentcolor; padding-left: 0px; }
}
.caps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0px; border-top: .5px solid var(--line-2); border-left: .5px solid var(--line); margin-top: 36px; }
.cap { border-right: .5px solid var(--line); border-bottom: .5px solid var(--line); padding: 28px 28px 32px; }
.cap .cn { font-family: var(--ff-mono); font-size: 11px; color: var(--orange); letter-spacing: 0.06em; }
.cap h3 { font-size: 19px; font-weight: 500; letter-spacing: -0.015em; margin: 14px 0px 10px; }
.cap p { font-size: 13.5px; font-weight: 300; color: var(--ink-2); line-height: 1.55; }
.cap p b { font-weight: 600; color: var(--ink); }
@media (max-width: 760px) {
  .caps { grid-template-columns: 1fr; }
}
.selector { margin-top: 44px; }
.sel-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 2px; }
.sel-tab { display: flex; flex-direction: column; border: .5px solid var(--line-2); background: rgb(255, 255, 255); border-radius: 8px 8px 0px 0px; padding: 14px 20px; text-align: left; min-width: 150px; transition: border-color 0.13s, background 0.13s; position: relative; top: 0.5px; }
.sel-tab .st-n { font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink-4); }
.sel-tab .st-name { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; margin-top: 4px; }
.sel-tab .st-for { font-size: 11px; font-weight: 300; color: var(--ink-3); margin-top: 3px; }
.sel-tab.on { border-top-color: ; border-right-color: ; border-left-color: ; border-bottom-color: rgb(255, 255, 255); background: rgb(255, 255, 255); }
.sel-tab.on .st-name { color: var(--ink); }
.sel-panel { border: .5px solid var(--ink); border-radius: 0px 10px 10px; padding: 0px; overflow: hidden; display: grid; grid-template-columns: 0.9fr 1.1fr; }
.sel-media { background: rgb(12, 14, 7); position: relative; min-height: 380px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.sel-media img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0px; opacity: 0; transition: opacity 0.3s; }
.sel-media img.show { opacity: 0.94; }
.sel-media .tag3d { position: absolute; left: 16px; top: 16px; z-index: 2; font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.06em; color: rgb(255, 255, 255); border: 0.5px solid rgba(255, 255, 255, 0.3); border-radius: 999px; padding: 5px 11px; background: rgba(255, 255, 255, 0.06); }
.sel-body { padding: 32px 34px 30px; }
.sel-body .sb-name { font-size: 26px; font-weight: 500; letter-spacing: -0.02em; }
.sel-body .sb-tag { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--orange-ink); margin-top: 8px; }
.sel-body .sb-desc { font-size: 14px; font-weight: 300; color: var(--ink-2); line-height: 1.6; margin-top: 16px; }
.sel-body .sb-desc b { font-weight: 600; color: var(--ink); }
.sel-specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0px; border-top: .5px solid var(--line); margin-top: 22px; }
.sel-specs .ss { padding: 16px 16px 4px 0px; }
.sel-specs .ss .v { font-size: 17px; font-weight: 500; letter-spacing: -0.01em; }
.sel-specs .ss .k { font-family: var(--ff-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); margin-top: 5px; }
.sel-foot { display: flex; align-items: center; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: .5px solid var(--line); flex-wrap: wrap; }
.sel-foot .price { font-size: 15px; font-weight: 600; }
.sel-foot .price .from { font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 400; display: block; }
.sel-foot .fspacer { flex: 1 1 0%; }
@media (max-width: 860px) {
  .sel-panel { grid-template-columns: 1fr; }
  .sel-media { min-height: 240px; }
  .sel-tab { min-width: 120px; flex: 1 1 0%; }
}
.feature { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.feature.rev .feat-media { order: 2; }
.feat-copy .flist { margin-top: 22px; display: flex; flex-direction: column; gap: 0px; border-top: .5px solid var(--line); }
.feat-copy .fi { padding: 15px 0px; border-bottom: .5px solid var(--line); }
.feat-copy .fi .fh { font-size: 14.5px; font-weight: 600; letter-spacing: -0.01em; }
.feat-copy .fi p { font-size: 13px; font-weight: 300; color: var(--ink-2); line-height: 1.5; margin-top: 5px; }
.feat-media { border-radius: 12px; overflow: hidden; border: .5px solid var(--line-2); background: rgb(12, 14, 7); aspect-ratio: 4 / 3; }
.feat-media img { width: 100%; height: 100%; object-fit: cover; }
.feat-media.dark { position: relative; background: radial-gradient(120% 90% at 65% 25%, rgba(251, 115, 71, 0.14), transparent 55%), linear-gradient(160deg, rgb(20, 23, 12), rgb(12, 14, 7)); display: flex; align-items: flex-end; }
.feat-media .vgrid { position: absolute; inset: 0px; background-image: linear-gradient(rgba(255, 255, 255, 0.05) 0.5px, transparent 0.5px), linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0.5px, transparent 0.5px); background-size: 32px 32px; mask-image: radial-gradient(70% 70% at 55% 40%, rgb(0, 0, 0), transparent); }
.feat-media .vmeta { position: relative; z-index: 2; padding: 24px 26px; color: rgb(255, 255, 255); }
.feat-media .vmeta .vt { font-size: 16px; font-weight: 500; }
.feat-media .vmeta .vs { font-family: var(--ff-mono); font-size: 9.5px; color: rgba(255, 255, 255, 0.6); margin-top: 6px; letter-spacing: 0.03em; }
@media (max-width: 860px) {
  .feature { grid-template-columns: 1fr; gap: 30px; }
  .feature.rev .feat-media { order: 0; }
}
.acc { background: var(--bg-quiet); }
.acc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 34px; }
.acc-card { border: .5px solid var(--line-2); border-radius: 10px; padding: 26px 28px; background: rgb(255, 255, 255); }
.acc-card .v { font-size: 36px; font-weight: 300; letter-spacing: -0.03em; }
.acc-card .v b { color: var(--orange-ink); font-weight: 500; }
.acc-card .k { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); margin-top: 12px; line-height: 1.6; }
@media (max-width: 760px) {
  .acc-grid { grid-template-columns: 1fr; }
}
.range-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: .5px solid var(--line-2); border-left: .5px solid var(--line); margin-top: 36px; }
.rprod { border-right: .5px solid var(--line); border-bottom: .5px solid var(--line); padding: 24px 24px 26px; display: flex; flex-direction: column; transition: background 0.12s; }
.rprod:hover { background: var(--bg-quieter); }
.rprod .rp-cat { font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--orange-ink); }
.rprod h3 { font-size: 16.5px; font-weight: 500; letter-spacing: -0.015em; margin: 10px 0px 8px; }
.rprod p { font-size: 12.5px; font-weight: 300; color: var(--ink-2); line-height: 1.5; flex: 1 1 0%; }
.rprod .rp-foot { display: flex; align-items: baseline; justify-content: space-between; margin-top: 18px; padding-top: 14px; border-top: .5px solid var(--line); }
.rprod .rp-price { font-size: 15px; font-weight: 600; }
.rprod .rp-stock { font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); }
.rprod .rp-stock.in { color: rgb(74, 107, 31); }
@media (max-width: 900px) {
  .range-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .range-grid { grid-template-columns: 1fr; }
}
.faq { margin-top: 32px; border-top: .5px solid var(--line-2); }
.fq { border-bottom: .5px solid var(--line); }
.fq-q { display: grid; grid-template-columns: 34px 1fr auto; gap: 14px; align-items: center; padding: 20px 0px; cursor: pointer; }
.fq-q .fn { font-family: var(--ff-mono); font-size: 11px; color: var(--orange); }
.fq-q .ft { font-size: 16px; font-weight: 500; letter-spacing: -0.01em; }
.fq-q .fc { font-family: var(--ff-mono); color: var(--ink-4); transition: transform 0.2s; }
.fq.open .fq-q .fc { transform: rotate(180deg); }
.fq-body { max-height: 0px; overflow: hidden; transition: max-height 0.3s; }
.fq.open .fq-body { max-height: 400px; }
.fq-body .fi { padding: 0px 0px 24px 48px; font-size: 14px; font-weight: 300; color: var(--ink-2); line-height: 1.6; max-width: 60em; }
.fq-body .fi b { font-weight: 600; color: var(--ink); }
@media (max-width: 600px) {
  .fq-body .fi { padding-left: 0px; }
}
.finalcta { padding: 88px 0px; }
.cta-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; }
.cta-card { border: .5px solid var(--line-2); border-radius: 10px; padding: 34px 34px 30px; transition: border-color 0.14s; }
.cta-card:hover { border-color: var(--ink); }
.cta-card .cc-k { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-3); }
.cta-card h3 { font-size: 23px; font-weight: 400; letter-spacing: -0.02em; margin: 14px 0px 10px; }
.cta-card h3 strong { font-weight: 500; }
.cta-card p { font-size: 14px; font-weight: 300; color: var(--ink-2); line-height: 1.6; margin-bottom: 24px; }
@media (max-width: 680px) {
  .cta-split { grid-template-columns: 1fr; }
}
.station { display: flex; align-items: center; gap: 16px; font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.13em; color: var(--ink-3); padding: 24px 0px; border-top: .5px solid var(--line); }
.station .dot { width: 6px; height: 6px; border-radius: 50%; background: rgb(109, 154, 44); box-shadow: rgb(238, 244, 227) 0px 0px 0px 2px; }
.station .sp { flex: 1 1 0%; height: 0.5px; background: var(--line); }
.station .coord { color: var(--ink-4); }
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.6s, transform 0.6s; }
  .reveal.in { opacity: 1; transform: none; }
}
a.tlink { color: var(--info-ink); border-bottom: 1px solid transparent; transition: border-color 0.15s; }
a.tlink:hover { border-color: var(--info-ink); }
.num-eyebrow { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-3); display: flex; align-items: center; gap: 10px; }
.num-eyebrow b { color: var(--khaki); font-weight: 500; }
.mono { font-family: var(--ff-mono); font-variant-numeric: tabular-nums; }
.shell { max-width: var(--max); margin: 0px auto; padding: 0px 32px; }
.sh-acct { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--ink-2); }
.sh-acct .who { font-weight: 500; color: var(--ink); }
.sh-acct .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ok-strong); box-shadow: 0 0 0 2px var(--ok-tint); }
.sh-tabs { display: flex; gap: 2px; border-top: .5px solid var(--line); }
.sh-tab { display: inline-flex; align-items: center; gap: 9px; padding: 14px 18px; font-size: 13px; color: var(--ink-3); border-width: medium medium 2px; border-style: none none solid; border-color: currentcolor currentcolor transparent; background: none; letter-spacing: -0.005em; transition: color 0.15s; white-space: nowrap; flex-shrink: 0; }
.sh-tab .ti { width: 16px; height: 16px; stroke: currentcolor; stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sh-tab:hover { color: var(--ink); }
.sh-tab.on { color: var(--ink); font-weight: 500; border-bottom-color: var(--orange); }
.sh-tab .cnt { font-family: var(--ff-mono); font-size: 10px; background: var(--bg-quiet); border: .5px solid var(--line); border-radius: 999px; padding: 1px 7px; color: var(--ink-2); }
.screen { display: none; animation: 0.25s ease 0s 1 normal none running fade; }
.screen.on { display: block; }
@keyframes fade { 
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: none; }
}
main { min-height: 60vh; padding: 44px 0px 72px; }
.pagehead { margin-bottom: 30px; }
.pagehead h1 { font-size: 32px; font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; margin-top: 14px; }
.pagehead h1 em { font-style: normal; color: var(--ink-3); }
.pagehead .sub { font-size: 15px; font-weight: 300; color: var(--ink-2); margin-top: 12px; max-width: 60ch; line-height: 1.6; }
.cols { display: grid; grid-template-columns: 1fr 340px; gap: 44px; align-items: start; min-width: 0; }
.cols > * { min-width: 0; }
.rail { position: sticky; top: 130px; display: flex; flex-direction: column; gap: 14px; }
.btn .arr { transition: transform 0.15s; }
.btn:hover .arr { transform: translateX(3px); }
.btn-block { width: 100%; }
.card { background: rgb(255, 255, 255); border: .5px solid var(--line); border-radius: 12px; padding: 26px 28px; }
.card-quiet { background: var(--bg-quiet); border: .5px solid var(--line); border-radius: 12px; padding: 22px 24px; }
.card h3 { font-size: 16px; font-weight: 500; letter-spacing: -0.01em; }
.hero-img { aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: linear-gradient(150deg, rgb(28, 31, 20), rgb(14, 16, 8)); position: relative; border: .5px solid var(--line); }
.hero-img .ph { position: absolute; inset: 0px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: rgba(255, 255, 255, 0.5); text-align: center; padding: 20px; }
.hero-img img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.hero-img .badge { z-index: 2; }
.hero-img .ph svg { width: 34px; height: 34px; stroke: currentcolor; stroke-width: 1.2; fill: none; }
.hero-img .ph .cap { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; }
.hero-img .badge { position: absolute; left: 16px; bottom: 16px; font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: rgb(255, 255, 255); background: rgba(15, 17, 8, 0.6); border: 0.5px solid rgba(255, 255, 255, 0.18); padding: 5px 10px; border-radius: 999px; backdrop-filter: blur(4px); }
.explain { display: grid; grid-template-columns: auto 1fr; gap: 16px; background: var(--info-tint); border: .5px solid var(--info-edge); border-radius: 12px; padding: 20px 22px; margin: 28px 0px; }
.explain .ic { width: 34px; height: 34px; border-radius: 8px; background: rgb(255, 255, 255); border: .5px solid var(--info-edge); display: flex; align-items: center; justify-content: center; color: var(--info-ink); }
.explain .ic svg { width: 18px; height: 18px; stroke: currentcolor; stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.explain h4 { font-size: 13.5px; font-weight: 500; color: var(--info-ink); letter-spacing: -0.005em; }
.explain p { font-size: 13px; color: var(--ink-2); line-height: 1.6; margin-top: 5px; }
.explain p b { color: var(--ink); font-weight: 500; }
.block { margin-top: 40px; }
.block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: .5px solid var(--line); margin-bottom: 22px; }
.block-head h2 { font-size: 20px; font-weight: 500; letter-spacing: -0.02em; }
.charges { border: .5px solid var(--line); border-radius: 12px; overflow-x: auto; background: rgb(255, 255, 255); }
.charges table { width: 100%; border-collapse: collapse; }
.charges thead th { font-family: var(--ff-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-3); text-align: left; padding: 13px 18px; background: var(--bg-quiet); border-bottom: .5px solid var(--line); font-weight: 500; }
.charges thead th.r, .charges td.r { text-align: right; font-variant-numeric: tabular-nums; }
.charges tbody td { padding: 15px 18px; border-bottom: .5px solid var(--line); font-size: 13px; color: var(--ink-2); vertical-align: top; }
.charges tbody tr:last-child td { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.charges .tier { font-weight: 500; color: var(--ink); font-size: 14px; }
.charges .tier .k { display: block; font-family: var(--ff-mono); font-size: 10px; color: var(--ink-3); font-weight: 400; margin-top: 4px; letter-spacing: 0.02em; text-transform: none; }
.charges .std { color: var(--ink-3); text-decoration: line-through; font-size: 12px; }
.charges .disc { font-weight: 500; color: var(--ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.charges .ac { font-size: 12px; color: var(--ink-3); line-height: 1.5; }
.fees { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.fee { display: inline-flex; align-items: baseline; gap: 8px; background: var(--bg-quiet); border: .5px solid var(--line); border-radius: 999px; padding: 7px 14px; font-size: 12px; color: var(--ink-2); }
.fee b { font-family: var(--ff-mono); font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; }
.note { font-size: 12.5px; color: var(--ink-3); line-height: 1.6; margin-top: 16px; font-style: italic; }
.leadrow { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 16px 0px; border-bottom: .5px solid var(--line); }
.leadrow:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.leadrow .n { font-family: var(--ff-mono); font-size: 11px; color: var(--ink-4); font-weight: 500; }
.leadrow h4 { font-size: 14px; font-weight: 500; letter-spacing: -0.005em; }
.leadrow p { font-size: 13px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; }
.form-sec { margin-bottom: 34px; }
.form-sec .num-eyebrow { margin-bottom: 18px; }
.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 12.5px; font-weight: 500; color: var(--ink); letter-spacing: -0.005em; }
.field label .req { color: var(--orange-ink); }
.field .hint { font-size: 11.5px; color: var(--ink-3); line-height: 1.5; font-weight: 400; }
.field input, .field select, .field textarea { font-family: inherit; font-size: 13.5px; color: var(--ink); background: rgb(255, 255, 255); border: .5px solid var(--line-2); border-radius: 5px; padding: 11px 13px; transition: border-color 0.15s, box-shadow 0.15s; width: 100%; }
.field textarea { resize: vertical; min-height: 96px; line-height: 1.55; }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-4); }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--ink); box-shadow: rgba(26, 28, 20, 0.06) 0px 0px 0px 3px; }
.field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c6f63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; padding-right: 34px; }
.dropzone { border: 1px dashed var(--line-2); border-radius: 8px; padding: 20px; text-align: center; font-size: 12.5px; color: var(--ink-3); background: var(--bg-quieter); }
.dropzone b { color: var(--info-ink); font-weight: 500; }
.verify { display: flex; align-items: center; gap: 14px; border: .5px solid var(--line-2); border-radius: 8px; padding: 15px 18px; background: rgb(255, 255, 255); max-width: 340px; }
.verify .chk { width: 22px; height: 22px; border: 1.5px solid var(--line-2); border-radius: 5px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; color: rgb(255, 255, 255); transition: 0.15s; }
.verify.done .chk { background: var(--ok-strong); border-color: var(--ok-strong); }
.verify .chk svg { width: 14px; height: 14px; stroke: currentcolor; stroke-width: 2.5; fill: none; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: 0.15s; }
.verify.done .chk svg { opacity: 1; }
.verify .vt { font-size: 13px; color: var(--ink); }
.verify .vt .vm { font-family: var(--ff-mono); font-size: 9.5px; color: var(--ink-4); text-transform: uppercase; letter-spacing: 0.06em; display: block; margin-top: 2px; }
.devnote { font-family: var(--ff-mono); font-size: 10.5px; color: var(--warn-ink); background: var(--warn-tint); border: .5px solid var(--warn-edge); border-radius: 6px; padding: 8px 12px; margin-top: 10px; line-height: 1.5; letter-spacing: 0.01em; }
.devnote b { font-weight: 600; }
.form-actions { display: flex; gap: 12px; align-items: center; padding-top: 24px; border-top: .5px solid var(--line); margin-top: 6px; }
.linkbtn { background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: var(--ink-3); font-size: 13px; padding: 13px 6px; }
.linkbtn:hover { color: var(--ink); }
.rail-card { background: rgb(255, 255, 255); border: .5px solid var(--line); border-radius: 12px; padding: 20px 22px; }
.rail-card h4 { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-3); margin-bottom: 14px; }
.rail-list { display: flex; flex-direction: column; gap: 12px; }
.rail-list .ri { display: flex; gap: 11px; font-size: 12.5px; color: var(--ink-2); line-height: 1.5; }
.rail-list .ri .tick { color: var(--ok-strong); flex: 0 0 auto; margin-top: 1px; }
.rail-list .ri .tick svg { width: 14px; height: 14px; stroke: currentcolor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.rail-mini { display: flex; justify-content: space-between; font-size: 12.5px; padding: 9px 0px; border-bottom: .5px solid var(--line); }
.rail-mini:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.rail-mini .k { color: var(--ink-3); }
.rail-mini .v { font-family: var(--ff-mono); font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; }
.auth { max-width: 860px; margin: 0px auto; }
.auth-split { display: grid; grid-template-columns: 1fr 0.8fr; gap: 0px; border: .5px solid var(--line); border-radius: 14px; overflow: hidden; background: rgb(255, 255, 255); }
.auth-main { padding: 34px 36px; }
.auth-side { background: var(--bg-quiet); padding: 34px 32px; border-left: .5px solid var(--line); display: flex; flex-direction: column; }
.auth-side .lock { width: 42px; height: 42px; border-radius: 10px; background: rgb(255, 255, 255); border: .5px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--ink-3); margin-bottom: 18px; }
.auth-side .lock svg { width: 20px; height: 20px; stroke: currentcolor; stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.auth-side h4 { font-size: 15px; font-weight: 500; letter-spacing: -0.01em; }
.auth-side p { font-size: 13px; color: var(--ink-2); margin-top: 8px; line-height: 1.6; }
.auth-side .push { margin-top: auto; }
.stack { display: flex; flex-direction: column; gap: 16px; }
.confirm { max-width: 620px; margin: 8px auto 0px; text-align: center; padding: 20px 0px; }
.confirm .ic { width: 60px; height: 60px; border-radius: 50%; background: var(--ok-tint); border: .5px solid var(--ok-edge); display: flex; align-items: center; justify-content: center; color: var(--ok-ink); margin: 0px auto 22px; }
.confirm .ic svg { width: 28px; height: 28px; stroke: currentcolor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.confirm h1 { font-size: 26px; font-weight: 400; letter-spacing: -0.02em; }
.confirm p { font-size: 14px; color: var(--ink-2); margin-top: 14px; line-height: 1.65; }
.confirm p b { color: var(--ink); font-weight: 500; }
.confirm .actions { display: flex; gap: 12px; justify-content: center; margin-top: 28px; }
.searchbar { display: flex; gap: 14px; align-items: center; background: var(--bg-quiet); border: .5px solid var(--line); border-radius: 10px; padding: 14px 16px; margin-bottom: 26px; }
.searchbar input { flex: 1 1 0%; font-family: inherit; font-size: 13.5px; border-top-width: medium; border-right-width: medium; border-left-width: medium; border-top-style: none; border-right-style: none; border-left-style: none; border-top-color: currentcolor; border-right-color: currentcolor; border-left-color: currentcolor; border-image: none; background: none; padding: 6px 4px; border-bottom: 1.5px solid var(--line-2); }
.searchbar input:focus { outline: none; border-bottom-color: var(--orange); }
.searchbar .filt { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--ink-3); }
.searchbar select { font-family: inherit; font-size: 13px; border: .5px solid var(--line-2); border-radius: 5px; padding: 8px 30px 8px 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c6f63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 11px center no-repeat rgb(255, 255, 255); appearance: none; }
.cp { display: grid; grid-template-columns: 1fr 1.15fr; background-color: rgb(15, 17, 8); color: rgb(255, 255, 255); border-radius: 14px; overflow: hidden; position: relative; margin-bottom: 28px; }
.cp::before { content: ""; position: absolute; inset: 0px; pointer-events: none; background: radial-gradient(120% 90% at 88% 8%, rgba(251, 115, 71, 0.07), transparent 55%), repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 64px), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 64px); }
.cp-left { position: relative; z-index: 1; padding: 38px 36px; }
.cp-right { position: relative; z-index: 1; padding: 34px 40px 38px; border-left: 0.5px solid rgba(255, 255, 255, 0.1); }
.cp-ey { font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.55); display: inline-flex; align-items: center; gap: 9px; }
.cp-ey::before { content: ""; width: 14px; height: 1.5px; background: var(--orange); display: inline-block; }
.cp-h { font-size: 29px; font-weight: 500; letter-spacing: -0.025em; line-height: 1.1; color: rgb(255, 255, 255); margin: 16px 0px 0px; }
.cp-h span { color: rgba(255, 255, 255, 0.5); }
.cp-copy { font-size: 14px; font-weight: 300; line-height: 1.62; color: rgba(255, 255, 255, 0.66); margin-top: 14px; max-width: 42ch; }
.cp-track-row { display: flex; gap: 10px; margin-top: 26px; max-width: 400px; }
.cp-track-row input { flex: 1 1 0%; font-family: var(--ff-mono); font-size: 13px; color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.06); border: 0.5px solid rgba(255, 255, 255, 0.2); border-radius: 6px; padding: 12px 14px; letter-spacing: 0.03em; }
.cp-track-row input:focus { outline: none; border-color: var(--orange); }
.cp-trackbtn { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 500; font-family: var(--ff-mono); text-transform: uppercase; letter-spacing: 0.06em; color: rgb(255, 255, 255); background: var(--orange); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 6px; padding: 0px 18px; }
.cp-trackbtn .arr { transition: transform 0.15s; }
.cp-trackbtn:hover .arr { transform: translateX(3px); }
.cp-help { font-family: var(--ff-mono); font-size: 10.5px; line-height: 1.7; color: rgba(255, 255, 255, 0.4); margin-top: 22px; max-width: 44ch; }
.cp-help b { color: rgba(255, 255, 255, 0.7); font-weight: 500; }
.cp-rhead { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 22px; border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }
.cp-rhead .ref { font-family: var(--ff-mono); font-size: 14px; font-weight: 500; color: rgb(255, 255, 255); letter-spacing: 0.02em; }
.cp-pill { display: inline-flex; align-items: center; gap: 7px; font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--orange); border: 0.5px solid rgba(251, 115, 71, 0.5); border-radius: 999px; padding: 4px 11px; }
.cp-pill .pd { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }
.cp-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; padding: 22px 0px 26px; border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }
.cp-meta .cpm .k { display: block; font-family: var(--ff-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.09em; color: rgba(255, 255, 255, 0.45); }
.cp-meta .cpm .v { display: block; font-family: var(--ff-mono); font-size: 14px; color: rgb(255, 255, 255); margin-top: 7px; letter-spacing: 0.01em; }
.cp-timeline { padding-top: 24px; }
.tl { display: grid; grid-template-columns: auto 1fr; gap: 15px; padding-bottom: 22px; position: relative; }
.tl::before { content: ""; position: absolute; left: 9px; top: 20px; bottom: -2px; width: 1.5px; background: rgba(255, 255, 255, 0.14); }
.tl:last-child { padding-bottom: 0px; }
.tl:last-child::before { display: none; }
.tl.done::before { background: var(--ok-strong); }
.tld { width: 19px; height: 19px; border-radius: 50%; background: transparent; border: 1.5px solid rgba(255, 255, 255, 0.28); display: flex; align-items: center; justify-content: center; z-index: 1; }
.tld svg { width: 11px; height: 11px; stroke: rgb(255, 255, 255); stroke-width: 2.5; fill: none; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.tl.done .tld { background: var(--ok-strong); border-color: var(--ok-strong); }
.tl.done .tld svg { opacity: 1; }
.tl.now .tld { border-color: var(--orange); }
.tl.now .tld::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.tlc { display: flex; flex-direction: column; gap: 4px; padding-top: 0px; }
.tlt { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.55); letter-spacing: -0.005em; }
.tl.done .tlt, .tl.now .tlt { color: rgb(255, 255, 255); }
.tls { font-family: var(--ff-mono); font-size: 10.5px; color: rgba(255, 255, 255, 0.4); }
.tl.now .tls { color: var(--orange); }
@media (max-width: 820px) {
  .cp { grid-template-columns: 1fr; }
  .cp-right { border-left-width: medium; border-left-style: none; border-left-color: currentcolor; border-top: 0.5px solid rgba(255, 255, 255, 0.1); }
}
.ttable { border: .5px solid var(--line); border-radius: 12px; overflow: hidden; background: rgb(255, 255, 255); }
.ttable table { width: 100%; border-collapse: collapse; }
.ttable thead th { font-family: var(--ff-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-3); text-align: left; padding: 13px 18px; background: var(--bg-quiet); border-bottom: .5px solid var(--line); font-weight: 500; }
.ttable tbody td { padding: 15px 18px; border-bottom: .5px solid var(--line); font-size: 13px; color: var(--ink-2); vertical-align: middle; }
.ttable tbody tr:last-child td { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.ttable tbody tr { transition: background 0.12s; }
.ttable tbody tr:hover { background: var(--bg-quieter); }
.ttable .tid { font-family: var(--ff-mono); font-weight: 500; color: var(--info-ink); font-variant-numeric: tabular-nums; }
.ttable .tsubj { color: var(--ink); font-weight: 500; max-width: 0px; }
.ttable .date { font-family: var(--ff-mono); color: var(--ink-3); font-variant-numeric: tabular-nums; font-size: 12px; }
.pill { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ff-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; padding: 4px 10px; border-radius: 999px; border: 0.5px solid; font-weight: 500; }
.pill .pd { width: 5px; height: 5px; border-radius: 50%; }
.pill.open { background: var(--info-tint); border-color: var(--info-edge); color: var(--info-ink); }
.pill.open .pd { background: var(--info-ink); }
.pill.repaired { background: var(--ok-tint); border-color: var(--ok-edge); color: var(--ok-ink); }
.pill.repaired .pd { background: var(--ok-strong); }
.pill.await { background: var(--warn-tint); border-color: var(--warn-edge); color: var(--warn-ink); }
.pill.await .pd { background: var(--warn-strong); }
.tcount { font-family: var(--ff-mono); font-size: 11px; color: var(--ink-3); margin: 20px 2px 0px; }
@media (max-width: 900px) {
  .cols { grid-template-columns: 1fr; }
  .rail { position: static; }
  .auth-split { grid-template-columns: 1fr; }
  .auth-side { border-left-width: medium; border-left-style: none; border-left-color: currentcolor; border-top: .5px solid var(--line); }
  .fgrid { grid-template-columns: 1fr; }
  .stepper { grid-template-columns: 1fr 1fr; gap: 20px 0px; }
  .sh-scope { display: none; }
  .ttable { overflow-x: auto; }
}
.shell { max-width: 1180px; margin: 0px auto; padding-left: 32px; padding-right: 32px; }
.btn-lg { height: 52px; padding: 0px 24px; font-size: 14px; }
.btn-block { width: 100%; }
:root { --line-3: rgba(15,17,8,.22); }
.rs-main { min-height: 60vh; padding: 0px 0px 72px; }
.rs-panel { display: flex; align-items: stretch; background: rgb(255, 255, 255); border: .5px solid var(--line); border-radius: 12px; margin: 32px 0px 34px; box-shadow: rgba(15, 17, 8, 0.03) 0px 1px 2px; overflow: hidden; }
.rs-panel .svy-subnav-ident { display: flex; align-items: center; gap: 11px; padding: 15px 20px; border-right: .5px solid var(--line); flex-shrink: 0; }
.rs-panel .svy-subnav-ident .ico { width: 30px; height: 30px; border-radius: 6px; background: var(--ink); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; font-family: var(--ff-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.02em; }
.rs-panel .svy-subnav-ident .lbl { line-height: 1.15; }
.rs-panel .svy-subnav-ident .a { font-size: 14px; font-weight: 500; letter-spacing: -0.01em; display: block; color: var(--ink); }
.rs-panel .svy-subnav-ident .b { font-family: var(--ff-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-3); }
.sh-tabs { display: flex; align-items: stretch; gap: 2px; flex: 1 1 0%; overflow-x: auto; scrollbar-width: none; padding-left: 10px; }
.sh-acct { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--ink-2); padding: 0px 20px; border-left: .5px solid var(--line); flex-shrink: 0; }

.console { position: relative; background: rgb(15, 17, 8); border-radius: 16px; margin: 32px 0px 8px; overflow: hidden; box-shadow: rgba(15, 17, 8, 0.14) 0px 1px 3px; color-scheme: dark; }
.console::before { content: ""; position: absolute; inset: 0px; pointer-events: none; background: radial-gradient(120% 70% at 86% 0%, rgba(251, 115, 71, 0.06), transparent 55%), repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.027) 0px, rgba(255, 255, 255, 0.027) 1px, transparent 1px, transparent 64px), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.027) 0px, rgba(255, 255, 255, 0.027) 1px, transparent 1px, transparent 64px); }
.console > * { position: relative; z-index: 1; }
.console-body { padding: 38px 36px 44px; }
.console-bar { background: transparent; border-width: medium medium 0.5px; border-style: none none solid; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.1); border-image: none; border-radius: 0px; margin: 0px; box-shadow: none; }
.console-bar .svy-subnav-ident { border-right-color: rgba(255, 255, 255, 0.1); }
.console-bar .svy-subnav-ident .ico { background: var(--orange); color: rgb(15, 17, 8); }
.console-bar .svy-subnav-ident .a { color: rgb(255, 255, 255); }
.console-bar .svy-subnav-ident .b { color: rgba(255, 255, 255, 0.5); }
.console-bar .sh-acct { border-left-color: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.7); }
.console-bar .sh-acct .who { color: rgb(255, 255, 255); }
.console-bar .sh-acct .tlink { color: var(--orange); }
.console-bar .sh-tab { color: rgba(255, 255, 255, 0.6); }
.console-bar .sh-tab:hover { color: rgb(255, 255, 255); }
.console-bar .sh-tab.on { color: rgb(255, 255, 255); border-bottom-color: var(--orange); }
.console-bar .sh-tab .cnt { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.16); color: rgba(255, 255, 255, 0.7); }
.console .pagehead h1, .console .confirm h1, .console h2, .console h3, .console h4 { color: rgb(255, 255, 255); }
.console .confirm p { color: rgba(255, 255, 255, 0.7); }
.console .confirm p b { color: rgb(255, 255, 255); }
.console .pagehead h1 em { color: rgba(255, 255, 255, 0.5); }
.console .pagehead .sub { color: rgba(255, 255, 255, 0.66); }
.console .eyebrow { color: rgba(255, 255, 255, 0.55); }
.console .block-head { border-bottom-color: rgba(255, 255, 255, 0.12); }
.console .num-eyebrow { color: rgba(255, 255, 255, 0.5); }
.console .num-eyebrow b { color: var(--orange); }
.console a.tlink { color: var(--orange); }
.console a.tlink:hover { border-color: var(--orange); }
.console .card, .console .rail-card, .console .card-quiet { background: rgba(255, 255, 255, 0.035); border-color: rgba(255, 255, 255, 0.1); color: rgb(255, 255, 255); }
.console .rail-card h4 { color: rgba(255, 255, 255, 0.55); }
.console .rail-mini { border-bottom-color: rgba(255, 255, 255, 0.1); }
.console .rail-mini .k { color: rgba(255, 255, 255, 0.55); }
.console .rail-mini .v { color: rgb(255, 255, 255); }
.console .rail-list .ri { color: rgba(255, 255, 255, 0.7); }
.console .note { color: rgba(255, 255, 255, 0.45); }
.console .hero-img { border-color: rgba(255, 255, 255, 0.12); }

/* Default (unstyled) osTicket dynamic-form markup — used by any leftover
   client/staff screens that render plain <h1>/<h3>/<label>/<em> without
   heliguy .field/.fgrid classes (open.inc.php and edit.inc.php both now
   render through heliguy-dynamic-form.tmpl.php, so this only matters if
   some other unstyled dynamic-form consumer appears). These inherit the
   base light-theme text color, which is unreadable on the dark .console
   background, so give them explicit light colors here. Deliberately does
   NOT set input/select/textarea background — that's handled by the
   .console .field input/select/textarea rules below, and duplicating it
   here with a #dynamic-form ID selector would outrank and break those. */
.console #content > h1 { color: rgb(255, 255, 255); }
.console #dynamic-form .form-header h3 { color: rgb(255, 255, 255); }
.console #dynamic-form .form-header p { color: rgba(255, 255, 255, 0.6); }
.console #dynamic-form hr { border-color: rgba(255, 255, 255, 0.12); }
.console #dynamic-form label { color: rgba(255, 255, 255, 0.85); }
.console #dynamic-form em { color: rgba(255, 255, 255, 0.5) !important; }
.console #dynamic-form .required .error { color: var(--orange); }

/* Thread rendering (client/templates/thread-entry.tmpl.php, thread-event.tmpl.php)
   has no base styling of its own in osticket.css/thread.css — only the inner
   .thread-body (rich-text message content) is styled, so it's left alone. */
.console .thread-entry { background: rgba(255, 255, 255, 0.035); border: .5px solid rgba(255, 255, 255, 0.1); border-radius: 8px; padding: 16px 18px; margin-bottom: 12px; overflow: hidden; }
.console .thread-entry .header { color: rgba(255, 255, 255, 0.55); font-size: 12.5px; margin-bottom: 10px; }
.console .thread-entry .header b { color: rgb(255, 255, 255); }
.console .thread-entry .header time { color: rgba(255, 255, 255, 0.55); }
.console .thread-entry .header .title { display: block; margin-top: 4px; max-width: 100% !important; color: rgba(255, 255, 255, 0.4); white-space: normal; }
.console .thread-entry .title { color: rgba(255, 255, 255, 0.4); }
.console .thread-entry .thread-body { background: rgb(255, 255, 255); border-radius: 6px; padding: 12px 14px; color: var(--ink); }
.console .thread-entry .avatar { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: rgba(255, 255, 255, 0.08); }
.console .thread-entry .avatar img { width: 100%; height: 100%; object-fit: cover; }
.console .thread-entry .attachments { margin-top: 10px; font-size: 12px; }
.console .thread-entry .attachment-info { color: rgba(255, 255, 255, 0.65); }
.console .thread-entry .attachment-info a { color: var(--orange); }
.console .thread-event { display: flex; align-items: center; gap: 8px; font-family: var(--ff-mono); font-size: 11px; color: rgba(255, 255, 255, 0.4); padding: 8px 0; }
.console .thread-event .faded { color: rgba(255, 255, 255, 0.45); }
.console .thread-event .type-icon { color: rgba(255, 255, 255, 0.3); flex-shrink: 0; }
.console .thread-event .description { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.console .thread-event .avatar { display: inline-block; width: 16px; height: 16px; border-radius: 50%; vertical-align: middle; margin-right: 5px; object-fit: cover; }
.console .explain { background: rgba(44, 74, 122, 0.22); border-color: rgba(200, 211, 231, 0.25); }
.console .explain .ic { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.18); color: rgb(205, 216, 238); }
.console .explain h4 { color: rgb(205, 216, 238); }
.console .explain p { color: rgba(255, 255, 255, 0.72); }
.console .explain p b { color: rgb(255, 255, 255); }
.console .charges { background: rgba(255, 255, 255, 0.024); border-color: rgba(255, 255, 255, 0.1); }
.console .charges thead th { background: rgba(255, 255, 255, 0.04); color: rgba(255, 255, 255, 0.5); border-bottom-color: rgba(255, 255, 255, 0.1); }
.console .charges tbody td { border-bottom-color: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.7); }
.console .charges .tier { color: rgb(255, 255, 255); }
.console .charges .tier .k { color: rgba(255, 255, 255, 0.5); }
.console .charges .std { color: rgba(255, 255, 255, 0.4); }
.console .charges .disc { color: rgb(255, 255, 255); }
.console .charges .ac { color: rgba(255, 255, 255, 0.5); }
.console .fee { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.12); color: rgba(255, 255, 255, 0.7); }
.console .fee b { color: rgb(255, 255, 255); }
.console .leadrow { border-bottom-color: rgba(255, 255, 255, 0.1); }
.console .leadrow .n { color: rgba(255, 255, 255, 0.4); }
.console .leadrow p { color: rgba(255, 255, 255, 0.66); }
.console .field label { color: rgb(255, 255, 255); }
.console .error, .console .field .error { color: var(--orange); font-size: 12px; margin-top: 4px; display: block; background: none; border: 0; padding: 0; height: auto; line-height: 1.4; }
.error_bar, .warning_bar, .notice_bar { font-family: var(--ff-mono); font-size: 12.5px; padding: 10px 16px; margin: 0 0 16px; border-radius: 6px; height: auto; line-height: 1.5; background: none; }
.error_bar { color: var(--orange-ink); background: var(--orange-soft); border: .5px solid rgba(251, 115, 71, 0.4); }
.warning_bar { color: var(--warn-ink); background: var(--warn-tint); border: .5px solid var(--warn-edge); }
.notice_bar { color: var(--info-ink); background: var(--info-tint); border: .5px solid var(--info-edge); }
.shell .error_bar, .shell .warning_bar, .shell .notice_bar { max-width: none; }
.console #msg_error, .console #msg_notice, .console #msg_warning { font-family: var(--ff-mono); font-size: 12.5px; padding: 10px 16px; margin: 0 0 20px; border-radius: 6px; line-height: 1.5; }
.console #msg_error { color: var(--orange); background: rgba(251, 115, 71, 0.1); border: .5px solid rgba(251, 115, 71, 0.3); }
.console #msg_notice { color: var(--ok-strong); background: rgba(109, 154, 44, 0.1); border: .5px solid rgba(109, 154, 44, 0.35); }
.console #msg_warning { color: var(--warn-strong,#d97c1b); background: rgba(217, 124, 27, 0.1); border: .5px solid rgba(217, 124, 27, 0.35); }
.console .field .hint { color: rgba(255, 255, 255, 0.5); }
.console .field input, .console .field select, .console .field textarea { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.2); color: rgb(255, 255, 255); }
.console .field input::placeholder, .console .field textarea::placeholder { color: rgba(255, 255, 255, 0.35); }
.console .field input:focus, .console .field select:focus, .console .field textarea:focus { border-color: var(--orange); box-shadow: rgba(251, 115, 71, 0.15) 0px 0px 0px 3px; }
.console .field select, .console .searchbar select { background-repeat: no-repeat; background-position: right 13px center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.console .action-button { font-family: var(--ff-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.06); border: .5px solid rgba(255,255,255,0.2); border-radius: 5px; padding: 9px 13px; cursor: pointer; display: inline-block; text-decoration: none; }
.console .field .action-button { margin-top: 8px; }
.console .action-button:hover { color: rgb(255,255,255); background: rgba(255,255,255,0.1); }
.console .dropzone { background: rgba(255, 255, 255, 0.03); border-color: rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.5); }
.console .dropzone b { color: var(--orange); }
.console .form-actions { border-top-color: rgba(255, 255, 255, 0.12); }

/* Redactor (rich text) fields: Redactor swaps the source textarea for a
   contenteditable .redactor-styles div + toolbar, so .field textarea rules
   above don't reach the visible surface. */
.console .field .redactor-box { background: rgba(255, 255, 255, 0.06); border: .5px solid rgba(255, 255, 255, 0.2); border-radius: 5px; overflow: hidden; }
.console .field .redactor-toolbar-wrapper, .console .field .redactor-toolbar-wrapper-air { background: rgba(40, 42, 34, 0.95); border-bottom: .5px solid rgba(255, 255, 255, 0.12); border-radius: 5px; }
.console .field .redactor-toolbar { background: rgba(40, 42, 34, 0.95) !important; }
.console .field .redactor-toolbar a { color: rgba(255, 255, 255, 0.7); background: rgba(255, 255, 255, 0.06) !important; box-shadow: none !important; }
.console .field .redactor-toolbar a:hover { color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.12) !important; }
.console .field .redactor-styles { color: rgb(255, 255, 255); min-height: 96px; padding: 11px 13px; }
.console .field .redactor-styles.redactor-placeholder::before { color: rgba(255, 255, 255, 0.35); }
.console .field .redactor-focus.redactor-styles-on { box-shadow: rgba(251, 115, 71, 0.15) 0px 0px 0px 3px; border-color: var(--orange); }
.console .field .redactor-statusbar { background: rgba(255, 255, 255, 0.03); border-top: .5px solid rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.4); }
.console .field .redactor-statusbar a { color: rgba(255, 255, 255, 0.5); }
.console .linkbtn { color: rgba(255, 255, 255, 0.5); }
.console .linkbtn:hover { color: rgb(255, 255, 255); }

/* Admin -> Settings -> Pages editor (staff panel, outside .console): the
   Landing Page content is authored with light-on-dark inline styles meant
   for the client-side .console background, so the Redactor editing surface
   itself needs a matching dark background here or that text is invisible
   while editing. Scoped to #page-content so it doesn't touch Redactor
   instances elsewhere in the staff panel (canned responses, replies, etc). */
#page-content .redactor-box { background: rgb(30, 32, 26); border: 1px solid #4a4d40; border-radius: 3px; }
#page-content .redactor-toolbar-wrapper, #page-content .redactor-toolbar-wrapper-air { background: rgb(40, 42, 34); border-bottom: 1px solid #4a4d40; }
#page-content .redactor-toolbar { background: rgb(40, 42, 34) !important; }
#page-content .redactor-toolbar a { color: rgba(255, 255, 255, 0.7) !important; }
#page-content .redactor-toolbar a:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.12) !important; }
#page-content .redactor-styles { background: rgb(30, 32, 26); color: rgb(255, 255, 255); }
#page-content .redactor-styles.redactor-placeholder::before { color: rgba(255, 255, 255, 0.4); }
#page-content .redactor-statusbar { background: rgb(26, 28, 22); border-top: 1px solid #4a4d40; color: rgba(255, 255, 255, 0.5); }
#page-content .redactor-statusbar a { color: rgba(255, 255, 255, 0.6); }
.console .verify { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.2); }
.console .verify .chk { border-color: rgba(255, 255, 255, 0.3); }
.console .verify .vt { color: rgb(255, 255, 255); }
.console .verify .vm { color: rgba(255, 255, 255, 0.4); }
.console .btn-ink { background: var(--orange); color: rgb(15, 17, 8); }
.console .btn-ink:hover { background: rgb(255, 138, 99); }
.console .btn-ghost { background: transparent; color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.25); }
.console .btn-ghost:hover { border-color: rgb(255, 255, 255); }
.console .auth-split { background: rgba(255, 255, 255, 0.03); border-color: rgba(255, 255, 255, 0.1); }
.console .auth-side { background: rgba(255, 255, 255, 0.05); border-left-color: rgba(255, 255, 255, 0.1); }
.console .auth-side .lock { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.15); color: rgba(255, 255, 255, 0.6); }
.console .auth-side p { color: rgba(255, 255, 255, 0.7); }
.console .auth p b { color: rgb(255, 255, 255); }
.console .confirm p { color: rgba(255, 255, 255, 0.7); }
.console .confirm p b { color: rgb(255, 255, 255); }
.console .confirm .ic { background: rgba(109, 154, 44, 0.2); border-color: rgba(199, 216, 168, 0.35); color: rgb(169, 208, 106); }
.console .searchbar { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.1); }
.console .searchbar input { color: rgb(255, 255, 255); border-bottom-color: rgba(255, 255, 255, 0.25); }
.console .searchbar input::placeholder { color: rgba(255, 255, 255, 0.4); }
.console .searchbar .filt { color: rgba(255, 255, 255, 0.55); }
.console .searchbar select { background-color: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.2); color: rgb(255, 255, 255); }
.console .ttable { background: rgba(255, 255, 255, 0.024); border-color: rgba(255, 255, 255, 0.1); }
.console .ttable thead th { background: rgba(255, 255, 255, 0.04); color: rgba(255, 255, 255, 0.5); border-bottom-color: rgba(255, 255, 255, 0.1); }
.console .ttable tbody td { border-bottom-color: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.7); }
.console .ttable tbody tr:hover { background: rgba(255, 255, 255, 0.03); }
.console .ttable .tsubj { color: rgb(255, 255, 255); }
.console .ttable .tid { color: var(--orange); }
.console .ttable .date { color: rgba(255, 255, 255, 0.5); }
.console .tcount { color: rgba(255, 255, 255, 0.5); }
.console .pill { background: transparent; }
.console .pill.open { border-color: rgba(200, 211, 231, 0.4); color: rgb(168, 192, 224); }
.console .pill.open .pd { background: rgb(168, 192, 224); }
.console .pill.repaired { border-color: rgba(199, 216, 168, 0.4); color: rgb(169, 208, 106); }
.console .pill.repaired .pd { background: rgb(169, 208, 106); }
.console .pill.await { border-color: rgba(243, 201, 142, 0.4); color: rgb(230, 184, 119); }
.console .pill.await .pd { background: rgb(230, 184, 119); }
.console .cp { background-color: rgba(255, 255, 255, 0.03); border: 0.5px solid rgba(255, 255, 255, 0.1); }
.console .cp::before { opacity: 0.4; }

@media (max-width: 600px) {
  /* Let the dark .console block run edge-to-edge on small screens instead
     of floating inside .shell's 32px side padding — the padding moves
     onto .console-body itself so content doesn't touch the screen edge. */
  .shell { padding-left: 0; padding-right: 0; }
  .console { border-radius: 0; margin-left: 0; margin-right: 0; }
  .console-body { padding-left: 20px; padding-right: 20px; }
}
