@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: dark;
  font-family: Manrope, system-ui, sans-serif;
  font-synthesis: none;
  --bg: #070806;
  --panel: #11130f;
  --text: #fff8ec;
  --muted: #aaa79b;
  --line: #ffffff17;
  --gold: #ffb447;
  --gold-light: #ffd78d;
  color: var(--text);
  background: var(--bg);
}
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(ellipse at 87% 0, #b5751517, transparent 45%), var(--bg); }
button, input, select { font: inherit; }
a { color: inherit; text-decoration: none; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button { border: 1px solid #ffffff24; background: #ffffff05; border-radius: 8px; padding: 11px 16px; color: inherit; cursor: pointer; font-weight: 700; transition: background .18s, border-color .18s; }
button:hover { border-color: #ffd78d70; background: #ffd78d0d; }
button:disabled { opacity: .4; cursor: not-allowed; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
input, select { width: 100%; padding: 14px 15px; border: 1px solid #ffffff26; border-radius: 8px; background: #080a08; color: var(--text); }
input::placeholder { color: #838579; }
input[type=checkbox] { accent-color: var(--gold); }
label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 22px; color: #d2cfc3; }
label input, label select { margin-top: 9px; }
svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
h1, h2, p { margin-top: 0; }
h1 { font-size: clamp(30px, 2.8vw, 42px); letter-spacing: -1.5px; line-height: 1.15; margin-bottom: 12px; font-weight: 800; }
h2 { font-size: 21px; letter-spacing: -.65px; margin-bottom: 8px; }
p { line-height: 1.7; }
.muted { color: var(--muted); font-size: 13px; }
.primary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(110deg, var(--gold-light), var(--gold)); border: 1px solid #ffdf9f; color: #211500; padding: 15px 21px; box-shadow: 0 8px 28px #ffb4470c; transition: box-shadow 160ms ease, border-color 160ms ease; }
.primary:hover { background: linear-gradient(110deg, var(--gold-light), var(--gold)); border-color: #ffe2ad; box-shadow: 0 14px 36px #ffb44730; }
.wide { width: 100%; justify-content: space-between; }
.eyebrow { font-size: 10px; font-weight: 800; letter-spacing: 2px; color: var(--gold); margin-bottom: 14px; }
.brand { display: flex; align-items: center; gap: 12px; font-size: 23px; font-weight: 800; letter-spacing: -.8px; }
.brand img { width: 42px; height: 42px; border-radius: 10px; object-fit: cover; }
.brand small { display: block; font-size: 9px; letter-spacing: 3px; font-weight: 600; margin-top: 3px; color: var(--gold-light); }
.business-tag { display: inline-block; letter-spacing: 2px; font-size: 9px; font-weight: 700; border: 1px solid #ffcf6e40; background: #e4ab3b0a; color: #f8d496; border-radius: 5px; padding: 7px 10px; }
.sidebar { width: 242px; position: fixed; inset: 0 auto 0 0; background: #080906; border-right: 1px solid var(--line); padding: 30px 20px; display: flex; flex-direction: column; }
.org-switch { display: flex; gap: 10px; align-items: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 20px 0; margin: 30px 0 23px; }
.org-avatar { background: #e0b86313; color: #f0cc8c; width: 34px; height: 36px; flex-shrink: 0; display: grid; place-items: center; border: 1px solid #dfb56b30; border-radius: 7px; font-size: 13px; font-weight: 700; }
.org-switch strong { font-size: 11px; display: block; max-width: 151px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.org-switch small { font-size: 9px; color: #939486; }
nav { display: grid; gap: 7px; }
.nav-item { display: flex; align-items: center; gap: 10px; border-color: transparent; text-align: left; background: transparent; color: #a4a799; font-size: 12px; padding: 13px 12px; }
.nav-item svg { width: 17px; height: 17px; }
.nav-item.selected { background: linear-gradient(90deg, #ffb44719, #ffb44705); color: var(--gold-light); border-color: #ffd78d33; }
.sidebar-bottom { margin-top: auto; font-size: 10px; color: #9ea18f; line-height: 1.8; }
.sidebar-bottom p { font-size: 10px; margin: 10px 0 20px; }
.sidebar-bottom a { display: block; font-weight: 700; color: #d0d1bd; }
.sidebar-bottom a:hover, .sidebar-bottom a:focus-visible { color: var(--gold-light); }
.sidebar-link { display: block; border: 0; background: none; padding: 0; margin: 0 0 8px; border-radius: 0; color: #d0d1bd; font-size: 10px; line-height: 1.8; text-align: left; }
.sidebar-link:hover { border-color: transparent; background: none; color: var(--gold-light); }
.connection-dot { display: inline-block; width: 6px; height: 6px; background: #87c68b; border-radius: 50%; margin-right: 6px; }
.quiet { padding: 10px 0; border: 0; background: none; font-size: 11px; color: #a0a491; margin-top: 22px; }
main { margin-left: 242px; padding: 0 40px; max-width: 1840px; }
.topline { height: 80px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: #909583; }
.account-chip { border: 1px solid var(--line); border-radius: 7px; background: #ffffff03; padding: 10px 14px; color: #cccdbd; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 34px 0 29px; }
.heading .muted { margin-bottom: 0; font-size: 12px; }
.heading .primary { font-size: 12px; flex-shrink: 0; }
.stats { display: grid; grid-template-columns: 1.18fr 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.stat { background: linear-gradient(120deg, #ffffff05, transparent), var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 22px 24px; position: relative; overflow: hidden; }
.stat.balance { background: radial-gradient(ellipse at 100% 0, #ab773737, transparent 80%), linear-gradient(120deg, #282318, #151710); border-color: #d6ac614f; }
.stat.balance::after { content: ''; width: 200px; height: 200px; border: 1px solid #e4bc6120; border-radius: 50%; position: absolute; right: -100px; top: 0; box-shadow: 0 0 0 22px #e4bc6105, 0 0 0 44px #e4bc6104; pointer-events: none; }
.stat-label { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #b3b5a5; }
.stat-label svg { color: #c7a974; width: 18px; }
.stat strong { font-size: 38px; line-height: 1.2; letter-spacing: -1.5px; display: block; margin: 23px 0 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.balance strong { color: #ffda95; }
.stat small { font-size: 10px; color: #989d8d; position: relative; z-index: 1; }
.access-strip { display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 1px solid var(--line); border-radius: 8px; background: #11140d; padding: 14px 20px; margin-bottom: 25px; font-size: 10px; color: #b1b6a2; }
.access-strip>span:first-child { display: flex; align-items: center; gap: 10px; }
.access-strip svg { width: 16px; color: #b5c09e; }
.access-strip>div { display: flex; gap: 23px; color: #ead5af; }
.access-strip small { color: #929984; margin-left: 4px; font-size: 9px; }
.access-tier { font-size: 8px; letter-spacing: 2px; color: var(--gold); }
.panel { background: #10120e; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.panel-heading { padding: 24px; display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.panel-heading p { margin-bottom: 0; font-size: 10px; }
.filters { display: flex; gap: 14px; align-items: center; }
.export-link { font-size: 11px; color: #dfc087; white-space: nowrap; }
.filters input[type=search] { width: 210px; font-size: 11px; padding: 12px; background: #080b07; }
.inline { display: flex; align-items: center; gap: 7px; margin: 0; white-space: nowrap; font-size: 10px; color: #a5aa99; }
.inline input { width: auto; margin: 0; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; text-align: left; }
th { background: #ffffff03; border-top: 1px solid var(--line); padding: 13px 24px; font-size: 9px; text-transform: uppercase; letter-spacing: 1.3px; color: #929985; font-weight: 600; }
td { padding: 16px 24px; border-top: 1px solid #ffffff0b; font-size: 11px; }
tr:hover td { background: #ffffff02; }
.device-cell { display: flex; align-items: center; gap: 12px; }
.device-icon { width: 37px; height: 39px; background: #ffcc7710; border: 1px solid #ffcc771c; border-radius: 8px; display: grid; place-items: center; color: #c5af83; }
.device-icon svg { width: 19px; height: 19px; }
.device-cell strong { display: block; max-width: 250px; overflow: hidden; text-overflow: ellipsis; font-size: 13px; font-weight: 600; }
.device-cell small { display: block; font-size: 11px; color: #909783; margin-top: 5px; }
.status { display: inline-flex; align-items: center; gap: 6px; color: #a4cc93; font-size: 11px; white-space: nowrap; }
.status::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status.pending { color: #d6b477; }
.status.paused { color: #91998a; }
.coverage { color: #bdc4af; font-size: 12px; font-variant-numeric: tabular-nums; }
.traffic-total { display: block; color: #d8dccd; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.traffic-detail { display: block; margin-top: 4px; color: #858c79; font-size: 8px; font-variant-numeric: tabular-nums; }
.row-actions { display: flex; gap: 6px; justify-content: flex-end; }
.row-actions button { font-size: 11px; padding: 8px 10px; border-color: #ffffff15; background: transparent; }
.row-actions button:first-child { color: #e4c58d; border-color: #e6be6535; }
.row-actions .delete { color: #b5a098; border-color: transparent; }
.align-right { text-align: right; }
.pagination { display: flex; justify-content: space-between; align-items: center; padding: 17px 24px; border-top: 1px solid var(--line); font-size: 10px; color: var(--muted); }
.pagination>div { display: flex; gap: 12px; align-items: center; }
.pagination button { padding: 6px 11px; }
.pagination .pagination-summary { gap: 10px; }
.pagination-summary label { margin: 0 0 0 10px; color: var(--muted); font-size: 10px; font-weight: 500; }
.pagination-summary select { width: auto; min-width: 68px; padding: 6px 28px 6px 10px; font-size: 10px; }
.page-footer { display: flex; justify-content: space-between; gap: 15px; font-size: 9px; color: #858c79; padding: 24px 0; }
.progress-panel { background: linear-gradient(100deg, #d6a4500c, transparent), #12150e; border: 1px solid #d8b57138; padding: 18px 23px; border-radius: 8px; margin-bottom: 23px; }
.progress-panel>div+div { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.progress-head { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.progress-head strong { color: #e9d4aa; font-weight: 600; }
.progress-head span { color: #adb39c; font-size: 10px; }
.progress-panel progress { appearance: none; width: 100%; height: 4px; border: 0; background: #ffffff0e; accent-color: var(--gold); display: block; margin: 14px 0 11px; border-radius: 4px; overflow: hidden; }
progress::-webkit-progress-bar { background: #ffffff0e; }
progress::-webkit-progress-value { background: linear-gradient(90deg, #c08c37, #ffd68b); border-radius: 4px; }
progress::-moz-progress-bar { background: #ffd68b; }
.progress-panel p { font-size: 9px; color: #a0a68f; margin: 0; }
.notice { background: #cf983112; border: 1px solid #d9aa4b50; color: #dfcb9e; border-radius: 8px; padding: 18px; margin-bottom: 22px; font-size: 12px; }
.error { font-size: 12px; color: #f3a498; }
.message { font-size: 12px; color: #bac1ac; }
.message:empty { display: none; }
.empty { text-align: center; padding: 60px 20px; color: #aeb59f; }
.empty-icon { display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid #f0c67830; border-radius: 18px; margin: 0 auto 25px; color: var(--gold); background: #ffb44709; }
.empty-icon svg { width: 32px; height: 32px; }
.empty p { font-size: 12px; }
.admin-tools { border: 1px dashed #a794604f; border-radius: 8px; padding: 20px; display: flex; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.admin-tools p { font-size: 11px; margin-bottom: 0; color: var(--muted); }
.actions { display: flex; gap: 8px; align-items: center; }
.actions button { font-size: 11px; }
.danger { color: #efb3a4; }
.history-item { padding: 20px 24px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 15px; font-size: 12px; }
.history-item>strong { color: #e9d0a0; white-space: nowrap; }
.history-item small { display: block; color: #9ea78e; font-size: 10px; margin-top: 7px; }
.history-item details { margin-top: 10px; font-size: 11px; color: #cbb482; }
.history-item summary { cursor: pointer; }
.history-detail { max-height: 220px; overflow: auto; padding: 10px 0; }
.history-detail p { margin: 3px 0; font-size: 10px; }
dialog { border: 1px solid #ddba6a4f; border-radius: 14px; padding: 30px; width: min(480px, calc(100% - 32px)); max-height: 90vh; background: linear-gradient(145deg, #1e2118, #0e100c); color: var(--text); box-shadow: 0 25px 100px #000a; }
dialog.business-config-dialog { width: min(680px, calc(100% - 32px)); }
dialog::backdrop { background: #020400bb; backdrop-filter: blur(6px); }
.dialog-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 23px; }
.dialog-heading button { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; font-size: 24px; line-height: 1; padding: 0; color: #b6b9a8; }
.dialog-heading h2 { margin: 0; }
.dialog-copy { font-size: 12px; color: #a8b096; }
.business-incy-connection { padding: 20px; margin-bottom: 25px; border: 1px solid #ffd78d40; border-radius: 12px; background: #ffcd7910; }
.business-incy-connection h3 { margin: 0 0 10px; }
.business-incy-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.business-incy-actions button { min-height: 44px; }
.business-incy-actions a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; color: var(--gold-light); }
.business-incy-connection input { width: 100%; margin-top: 16px; min-width: 0; }
.business-config-section { min-width: 0; margin-top: 28px; }
.business-config-section h3 { margin: 0 0 10px; font-size: 17px; line-height: 1.5; letter-spacing: -.3px; }
.native-config-section { padding-top: 2px; }
.legacy-config-section { padding-top: 25px; border-top: 1px solid var(--line); }
.business-config-section:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.config-list { min-width: 0; }
.config-list>.error { margin-bottom: 0; }
.business-config-download { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 8px; color: var(--gold-light); font-size: 12px; }
.config-location { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; min-width: 0; }
.config-location .config-country { min-width: 0; line-height: 1.5; }
.config-country>span { overflow-wrap: anywhere; }
.config-flag-emoji { flex-shrink: 0; width: 24px; font-size: 20px; line-height: 1; text-align: center; }
.config-maintenance { display: inline-block; padding: 4px 7px; border: 1px solid #d8b57138; border-radius: 5px; background: #d8b57109; color: #d8bb82; font-size: 9px; line-height: 1.5; }
.config-row { display: grid; grid-template-columns: minmax(0, 1fr) 94px 114px 126px; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.native-config-section .config-row { grid-template-columns: minmax(0, 1fr) 128px 114px 126px; }
.config-row button { font-size: 11px; padding: 8px; }
.business-config-section .config-row button { min-height: 44px; }
@media (max-width: 640px) {
  .business-config-dialog .config-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .business-config-dialog .config-location, .business-config-dialog .config-row button:last-child { grid-column: 1 / -1; }
}
.enroll { max-width: 520px; margin: 12vh auto; padding: 30px; }
.enroll h1 { margin-top: 25px; }
.enroll p { color: var(--muted); font-size: 13px; }

/* Login continues the artwork and gold palette of the retail entrance. */
.login-layout { display: grid; grid-template-columns: 1.2fr 1fr; grid-template-rows: 90px 1fr 65px; min-height: 100vh; position: relative; isolation: isolate; background: #060906; }
.login-layout::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #060906df, #06090677 55%, #060906a8), url('auth-bg.webp') center / cover; opacity: .8; }
.login-header { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; border-bottom: 1px solid var(--line); }
.login-header .business-tag { margin-left: 12px; }
.back-link { display: flex; align-items: center; gap: 12px; font-size: 11px; color: #b1b5a3; }
.back-link svg { width: 16px; }
.login-story { align-self: center; padding: 60px 3vw 60px 8vw; }
.login-story h1 { font-size: clamp(58px, 6vw, 88px); line-height: 1.07; letter-spacing: -4px; margin: 26px 0; font-weight: 700; }
.login-story em { font-style: normal; color: #ffcf79; }
.login-story p { color: #c0c1b3; font-size: 14px; line-height: 1.9; margin: 0; }
.network-preview { margin-top: 48px; max-width: 480px; border-top: 1px solid #d1b37540; border-bottom: 1px solid #d1b37527; padding: 18px 0 22px; }
.network-line { display: flex; justify-content: space-between; font-size: 10px; color: #b0b49f; }
.network-line span:last-child { font-size: 8px; letter-spacing: 2px; color: #c7ac72; }
.country-strip { display: flex; justify-content: space-between; gap: 12px; margin-top: 23px; }
.country-strip span { font-size: 9px; color: #a7ad96; }
.country-strip b { display: block; font-size: 23px; color: #ecd5a8; font-weight: 500; margin-bottom: 7px; letter-spacing: 1px; }
.login-benefits { display: flex; gap: 28px; margin-top: 24px; font-size: 9px; color: #b1b69f; }
.login-benefits span { display: flex; gap: 8px; align-items: center; }
.login-benefits svg { width: 15px; color: #d2b981; }
.login-form-wrap { align-self: center; padding: 45px 7vw 45px 3vw; }
.login-form-wrap form { margin: auto; max-width: 420px; width: 100%; border: 1px solid #e2b76348; border-radius: 16px; padding: 33px 38px; background: linear-gradient(155deg, #23291dd9, #0b100adb 70%); box-shadow: 0 35px 90px #0008, inset 0 1px #ffd88b0c; backdrop-filter: blur(18px); }
.auth-emblem { display: flex; justify-content: center; margin-bottom: 9px; }
.auth-emblem img { width: 66px; height: 66px; border-radius: 16px; }
.business-word { display: block; text-align: center; color: #f1d69f; font-size: 13px; letter-spacing: 4px; font-weight: 500; font-variant: small-caps; margin-bottom: 26px; }
.login-form-wrap h2 { text-align: center; font-size: 27px; margin-bottom: 8px; }
.login-form-wrap .muted { text-align: center; font-size: 11px; margin-bottom: 30px; }
.login-form-wrap input { font-size: 14px; padding: 15px; background: #090d08c9; }
.login-form-wrap .primary { font-size: 14px; min-height: 51px; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 47px; }
.password-field button { position: absolute; right: 4px; top: 14px; display: grid; place-items: center; border: 0; padding: 10px; color: #a8ae97; }
.password-field svg { width: 17px; height: 17px; }
.login-note { font-size: 10px; text-align: center; color: #afb59e; border-top: 1px solid var(--line); padding-top: 21px; margin-top: 25px; line-height: 1.9; }
.login-help { font-size: 9px; color: #929b80; text-align: center; margin: 15px 0 0; }
.login-footer { grid-column: 1 / -1; display: flex; justify-content: space-between; padding: 22px 5vw; color: #858e77; font-size: 9px; border-top: 1px solid #ffffff09; }
[hidden] { display: none !important; }

@media (min-width: 1600px) { main { padding: 0 60px; } .stat { padding: 26px 30px; } .stat strong { font-size: 44px; } }
@media (max-width: 1200px) {
  .sidebar { width: 205px; padding: 26px 16px; }
  main { margin-left: 205px; padding: 0 25px; }
  .org-switch strong { max-width: 125px; }
  .heading { flex-wrap: wrap; }
  .access-strip small { display: none; }
  .stat { padding: 20px; }
  .stat strong { font-size: 30px; }
  .filters { flex-wrap: wrap; justify-content: flex-end; }
  th, td { padding: 15px; }
  .row-actions { gap: 3px; }
  .row-actions button { padding: 7px; }
  .login-story { padding-left: 6vw; }
  .login-form-wrap { padding-right: 5vw; padding-left: 2vw; }
  .login-form-wrap form { padding: 28px; }
}
@media (max-width: 760px) {
  .sidebar { position: static; width: 100%; padding: 18px 20px 12px; border-right: 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 18px; }
  .sidebar .org-switch { display: none; }
  .sidebar nav { display: flex; grid-column: 1 / -1; gap: 8px; grid-row: 2; }
  .brand { font-size: 20px; }
  .brand img { width: 36px; height: 36px; }
  .brand small { font-size: 7px; }
  .nav-item { padding: 10px; font-size: 11px; }
  .sidebar-bottom { display: block; grid-column: 2; grid-row: 1; font-size: 0; margin: 0; }
  .sidebar-bottom>* { display: none; }
  .sidebar-bottom .sidebar-link, .sidebar-bottom .quiet { display: flex; align-items: center; justify-content: flex-end; min-height: 44px; margin: 0; padding: 5px 0; font-size: 10px; white-space: nowrap; }
  main { margin-left: 0; padding: 0 18px; }
  .topline { height: 58px; font-size: 9px; }
  .account-chip { padding: 8px; font-size: 9px; }
  .heading { padding: 26px 0 22px; gap: 18px; }
  .heading .muted { font-size: 11px; max-width: 310px; }
  h1 { font-size: 30px; letter-spacing: -1px; }
  .heading .primary { width: 100%; padding: 14px; }
  .stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stat.balance { grid-column: 1 / -1; }
  .stat { padding: 17px; }
  .stat-label { font-size: 10px; gap: 8px; }
  .stat-label svg { width: 15px; }
  .stat strong { margin: 17px 0 11px; font-size: 28px; }
  .balance strong { font-size: 40px; }
  .stat small { font-size: 9px; line-height: 1.6; display: block; }
  .access-strip { flex-wrap: wrap; gap: 12px; padding: 15px 17px; }
  .access-strip>div { order: 3; width: 100%; justify-content: space-between; gap: 10px; }
  .access-tier { margin-left: auto; }
  .panel-heading { padding: 20px; display: block; }
  .filters { margin-top: 18px; justify-content: flex-start; }
  .filters input[type=search] { flex: 1; min-width: 160px; }
  .table-wrap { overflow: visible; }
  table, tbody { display: block; white-space: normal; }
  thead { display: none; }
  tr { display: grid; grid-template-columns: 1fr auto; border-top: 1px solid var(--line); padding: 18px; gap: 15px; }
  td { padding: 0; border: 0; }
  td:first-child, td:last-child { grid-column: 1 / -1; }
  .traffic-cell { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 10px; }
  .traffic-cell::before { content: 'Трафик'; color: #858c79; font-size: 9px; }
  .traffic-detail { margin-top: 0; }
  .device-cell strong { max-width: 245px; font-size: 12px; }
  .row-actions { justify-content: flex-start; gap: 7px; }
  .row-actions button { padding: 9px 12px; font-size: 10px; }
  .admin-tools { display: block; }
  .actions { margin-top: 15px; flex-wrap: wrap; }
  .page-footer { display: block; line-height: 1.8; }
  .page-footer span { display: block; }
  .pagination { align-items: flex-end; gap: 14px; }
  .pagination .pagination-summary { align-items: flex-start; flex-wrap: wrap; gap: 7px; }
  .pagination-summary label { width: 100%; margin: 0; }
  .progress-panel { padding: 17px; }
  .progress-head { font-size: 10px; flex-direction: column; gap: 8px; }
  .history-item { padding: 18px; font-size: 11px; }
  .login-layout { grid-template-columns: 1fr; grid-template-rows: auto; }
  .login-header { padding: 18px 22px; }
  .login-header .business-tag { font-size: 7px; margin-left: 3px; padding: 6px; }
  .back-link { font-size: 0; gap: 0; }
  .login-story { padding: 36px 26px 0; }
  .login-story h1 { font-size: 48px; letter-spacing: -2px; margin: 18px 0; }
  .login-story p { font-size: 12px; }
  .network-preview, .login-benefits { display: none; }
  .login-form-wrap { padding: 30px 20px; }
  .login-form-wrap form { padding: 27px 24px; }
  .auth-emblem img { width: 48px; height: 48px; }
  .business-word { font-size: 11px; margin-bottom: 20px; }
  .login-form-wrap h2 { font-size: 25px; }
  .login-footer { padding: 20px; gap: 15px; font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

/* Local vector flags stay consistent on Windows, macOS and mobile. */
.country-flag { display: inline-block; width: 24px; height: 16px; stroke: none; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px #ffffff20; vertical-align: middle; }
.country-strip .country-flag { display: block; width: 33px; height: 22px; margin-bottom: 12px; }
.access-strip>div>span { display: inline-flex; align-items: center; gap: 4px; }
.access-strip .country-flag { width: 21px; height: 14px; }
.config-country { display: flex; align-items: center; gap: 10px; font-size: 12px; }
@media (max-width: 760px) { .access-strip .country-flag { width: 24px; height: 16px; } .config-country { font-size: 11px; gap: 7px; } }
@media (max-width: 520px) {
  .config-country, .config-location { grid-column: 1 / -1; }
}

/* Identical control geometry across native selects and number inputs. */
#dialog-body input, #dialog-body select { display: block; appearance: none; -webkit-appearance: none; height: 50px; min-height: 50px; line-height: 20px; padding: 14px 15px; border-radius: 10px; }
#dialog-body select { padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffd78d' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
#dialog-body input[type=number] { appearance: textfield; -moz-appearance: textfield; }
#dialog-body input::-webkit-inner-spin-button, #dialog-body input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.dialog-heading { gap: 16px; }
.dialog-heading h2 { min-width: 0; overflow-wrap: anywhere; }
#dialog-submit { justify-content: center; min-height: 50px; }
.config-row button { min-height: 38px; white-space: nowrap; }
.dialog-feedback { margin: 16px 0; font-size: 12px; }
.dialog-feedback:empty { display: none; }
.dialog-feedback.success { color: #87d6a1; }
.dialog-feedback.error { color: #f3a498; }
@media (max-width: 520px) {
  dialog { padding: 22px; }
  .config-row, .native-config-section .config-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .config-row button:last-child { grid-column: 1 / -1; }
  .sidebar-bottom a { display: block; font-size: 10px; }
}

/* Dedicated downloads, using the retail product-card and shadow interaction. */
.downloads-page { min-height: 100vh; background: radial-gradient(ellipse at 75% 20%, #aa6d151a, transparent 48%), var(--bg); }
.download-header { max-width: 1120px; margin: auto; padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.downloads-main { max-width: 1056px; margin: 0 auto; padding: 64px 32px 0; }
.downloads-main h1 { font-size: clamp(36px, 5vw, 62px); line-height: 1.12; }
.downloads-main h1 span { color: var(--gold-light); }
.download-platforms { display: flex; gap: 8px; flex-wrap: wrap; margin: 36px 0 20px; }
.download-platforms button { padding: 12px 20px; font-size: 13px; color: var(--muted); }
.download-platforms .selected { color: var(--gold-light); border-color: #ffd78d66; background: #ffb44712; }
.download-card { display: grid; grid-template-columns: .8fr 1.2fr; border: 1px solid #ffd78d30; border-radius: 20px; overflow: hidden; background: linear-gradient(135deg, #202015, #0e100c); }
.download-art { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; min-height: 330px; background: radial-gradient(circle, #ffb44720, transparent 70%); }
.download-art>span { font-size: 10px; color: #c9b287; letter-spacing: 3px; }
.download-logo { padding: 28px; border: 1px solid #ffd78d33; border-radius: 32px; background: #15150d; box-shadow: 0 25px 70px #0005; }
.download-logo img { width: 88px; height: 88px; display: block; object-fit: contain; }
.download-content { padding: 40px; min-width: 0; }
.download-content h2 { font-size: 26px; }
.download-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 22px 0; }
.download-meta span { border: 1px solid var(--line); border-radius: 30px; padding: 7px 12px; font-size: 10px; color: #cbc5b6; }
.download-content .primary { width: 100%; min-height: 54px; border-radius: 10px; font-weight: 800; font-size: 13px; }
.download-secondary { display: block; text-align: center; color: var(--gold-light); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; margin-top: 16px; }
.download-note { font-size: 10px; color: var(--muted); margin: 18px 0 0; text-align: center; }
.download-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 36px 0; }
.download-steps>div>span { font-size: 11px; color: var(--gold); }
.download-steps h2 { font-size: 17px; margin: 12px 0 8px; }
.download-steps p { font-size: 12px; color: var(--muted); }
@media (max-width: 760px) {
  .download-header { padding: 22px; }
  .download-header .back-link { font-size: 11px; }
  .downloads-main { padding: 36px 20px 0; }
  .download-card { grid-template-columns: 1fr; }
  .download-art { min-height: 180px; gap: 16px; padding: 24px; }
  .download-logo { padding: 16px; border-radius: 22px; }
  .download-logo img { width: 50px; height: 50px; }
  .download-content { padding: 24px; }
  .download-content h2 { font-size: 22px; }
  .download-platforms button { flex: 1 0 auto; padding: 11px 14px; }
  .download-steps { grid-template-columns: 1fr; gap: 12px; }
}

/* Organization-specific dedicated infrastructure and accessible table ordering. */
.dedicated-access { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; margin-bottom:25px; border:1px solid #e5bd6540; border-radius:12px; background:linear-gradient(115deg,#262719,#11150e 65%); }
.dedicated-location { display:flex; align-items:center; gap:20px; min-width:0; }
.dedicated-location .country-flag { width:54px; height:36px; border-radius:5px; box-shadow:0 0 0 6px #fff6dc08,0 12px 28px #0003; }
.dedicated-location h2 { font-size:17px; margin:8px 0; letter-spacing:-.4px; }
.dedicated-location p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.dedicated-location .eyebrow { font-size:8px; letter-spacing:1.8px; color:var(--gold-light); }
.dedicated-slots { display:flex; gap:10px; flex-shrink:0; }
.dedicated-slots span { display:flex; align-items:center; gap:8px; font-size:10px; color:#d4cebc; }
.dedicated-slots b { display:grid; place-items:center; width:29px; height:32px; border:1px solid #e5bd6538; background:#e5bd6509; border-radius:6px; color:var(--gold-light); }
.column-sort { display:inline-flex; align-items:center; gap:10px; border:0; padding:0; background:none; font:inherit; text-transform:inherit; letter-spacing:inherit; color:inherit; }
.column-sort:hover { background:none; color:var(--gold-light); }
th[aria-sort=ascending],th[aria-sort=descending] { color:var(--gold-light); }
.column-sort span { font-size:14px; }
.device-sort-mobile { display:none; }
@media(max-width:1050px) { .dedicated-access { align-items:flex-start; flex-direction:column; gap:18px; } .dedicated-slots { margin-left:74px; gap:24px; } }
@media(max-width:760px) { .dedicated-access { padding:20px; } .dedicated-location { gap:14px; align-items:flex-start; } .dedicated-location .country-flag { width:36px; height:24px; margin-top:5px; } .dedicated-location h2 { font-size:15px; line-height:1.45; } .dedicated-slots { margin-left:50px; } .device-sort-mobile { display:flex; align-items:center; gap:12px; padding:0 16px 16px; } .device-sort-mobile label { margin:0; font-size:10px; color:var(--muted); } .device-sort-mobile select { width:auto; flex:1; min-width:0; font-size:11px; padding:10px; } }

.sidebar-bottom .support-email-mobile {display:none;}
@media(max-width:760px), (any-pointer:coarse), (display-mode:standalone) {
  .sidebar-bottom .support-email-mobile {display:flex;min-height:44px;align-items:center;}
}

.business-mobile-menu {display:none;}
@media(max-width:760px) {
  .sidebar .sidebar-bottom {display:none;}
  .business-mobile-menu {display:block;position:relative;grid-column:2;grid-row:1;align-self:center;z-index:30;}
  .business-mobile-menu summary {display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 15px;border:1px solid #5c4926;border-radius:12px;color:var(--gold-light);font-size:13px;cursor:pointer;list-style:none;}
  .business-mobile-menu summary::-webkit-details-marker {display:none;}
  .business-mobile-menu summary:focus-visible {outline:2px solid var(--gold-light);outline-offset:3px;}
  .business-mobile-menu-panel {position:absolute;right:0;top:calc(100% + 8px);width:270px;max-width:calc(100vw - 40px);padding:8px;border:1px solid #5c4926;border-radius:16px;background:#14160e;box-shadow:0 14px 40px #0009;}
  .business-mobile-menu-panel a,.business-mobile-menu-panel button {display:flex;align-items:center;width:100%;min-height:48px;padding:12px;border:0;border-radius:9px;background:transparent;color:#d0d1bd;font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer;}
  .business-mobile-menu-panel a:hover,.business-mobile-menu-panel a:focus-visible,.business-mobile-menu-panel button:hover,.business-mobile-menu-panel button:focus-visible {color:var(--gold-light);background:#27271a;}
  .business-mobile-menu-panel [hidden] {display:none;}
}
