:root {
  --bg: #08090a;
  --bg-deep: #010102;
  --panel: #0f1011;
  --surface: rgba(255, 255, 255, 0.035);
  --surface-2: rgba(255, 255, 255, 0.055);
  --border: rgba(255, 255, 255, 0.08);
  --border-soft: rgba(255, 255, 255, 0.05);
  --text: #f7f8f8;
  --muted: #8a8f98;
  --soft: #d0d6e0;
  --dim: #62666d;
  --accent: #7170ff;
  --accent-bg: #5e6ad2;
  --green: #10b981;
  --danger: #fb7185;
  --warning: #fbbf24;
  --shadow: 0 30px 80px rgba(0,0,0,.45);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(circle at 20% -10%, rgba(113,112,255,.22), transparent 34rem), radial-gradient(circle at 90% 0%, rgba(16,185,129,.09), transparent 24rem), var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-feature-settings: "cv01", "ss03";
  min-height: 100vh;
}

a { color: inherit; text-decoration: none; }
ul { margin: 0; padding-left: 1.1rem; }
li { margin: .35rem 0; color: var(--soft); }
code { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .78rem; color: #b6baff; }

.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(320px, 520px) 1fr;
  gap: 3rem;
  align-items: center;
  padding: 4rem clamp(1.25rem, 6vw, 6rem);
}
.login-card, .system-card, .ops-card, .department-card, .stats-grid article, .flow-grid div {
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border: 1px solid var(--border);
  border-radius: 24px;
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.05);
}
.login-card { padding: 2rem; max-width: 520px; }
.brand-row, .brand-lockup, .department-top, .card-head, .topbar, .section-heading, .department-footer, .hero-actions { display: flex; align-items: center; gap: 1rem; }
.brand-mark {
  width: 48px; height: 48px; border-radius: 14px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--accent-bg), #8b5cf6);
  box-shadow: 0 0 45px rgba(113,112,255,.45);
  color: white; font-weight: 700; letter-spacing: -.04em;
}
.eyebrow { color: var(--accent); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
h1, h2, h3 { margin: 0; letter-spacing: -.04em; }
h1 { font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 650; }
h2 { font-size: clamp(2rem, 5vw, 4rem); line-height: .98; font-weight: 650; }
h3 { font-size: 1.1rem; font-weight: 650; }
h4 { margin: 0 0 .65rem; color: var(--text); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
p { color: var(--muted); line-height: 1.65; }
.login-copy { margin: 1.4rem 0 1.5rem; }
.login-form { display: grid; gap: 1rem; }
.login-form label span { display: block; margin-bottom: .45rem; color: var(--soft); font-size: .9rem; font-weight: 600; }
.login-form input {
  width: 100%; padding: .95rem 1rem;
  border-radius: 12px; border: 1px solid var(--border);
  background: rgba(0,0,0,.22); color: var(--text);
  outline: none; font: inherit;
}
.login-form input:focus { border-color: rgba(113,112,255,.75); box-shadow: 0 0 0 4px rgba(113,112,255,.13); }
.primary-button, .ghost-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 42px; padding: 0 .95rem; border-radius: 10px;
  font-weight: 700; font-size: .9rem; border: 1px solid transparent;
}
.primary-button { background: var(--accent-bg); color: white; box-shadow: 0 12px 34px rgba(94,106,210,.32); }
.ghost-button { background: rgba(255,255,255,.035); color: var(--soft); border-color: var(--border); }
.alert { border: 1px solid rgba(251,113,133,.25); background: rgba(251,113,133,.1); color: #fecdd3; border-radius: 12px; padding: .85rem 1rem; margin-bottom: 1rem; }
.security-note, .login-footer { color: var(--muted); font-size: .82rem; margin-top: 1rem; }
.status-dot { width: 9px; height: 9px; border-radius: 99px; background: var(--green); display: inline-block; box-shadow: 0 0 18px var(--green); }
.login-side { position: relative; min-height: 560px; display: grid; align-items: center; }
.halo { position: absolute; inset: 10% 20%; border-radius: 999px; background: radial-gradient(circle, rgba(113,112,255,.28), transparent 65%); filter: blur(20px); }
.system-card { position: relative; padding: 2rem; max-width: 420px; justify-self: center; }
.system-card ul { margin-top: 1rem; }

.topbar {
  position: sticky; top: 0; z-index: 20;
  justify-content: space-between;
  padding: 1rem clamp(1.25rem, 4vw, 3rem);
  background: rgba(8,9,10,.82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border-soft);
}
.top-actions { display: flex; gap: .55rem; align-items: center; color: var(--soft); font-size: .9rem; }
.top-actions a:not(.ghost-button) { padding: .65rem .75rem; border-radius: 9px; color: var(--muted); }
.top-actions a:hover { color: var(--text); background: rgba(255,255,255,.04); }
.dashboard-shell { padding: clamp(1rem, 3vw, 2.5rem); max-width: 1580px; margin: 0 auto; }
.hero-panel {
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); gap: 1.5rem;
  align-items: stretch; margin: 1rem 0 1.5rem;
}
.hero-panel > div:first-child, .live-card { padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid var(--border); border-radius: 28px; background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); box-shadow: var(--shadow); }
.hero-panel p { max-width: 840px; font-size: 1.05rem; }
.pill, .mini-badge { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid var(--border); border-radius: 999px; color: var(--soft); background: rgba(255,255,255,.035); padding: .38rem .7rem; font-size: .78rem; font-weight: 650; }
.metric-list { display: grid; gap: .85rem; margin: 1.25rem 0 0; }
.metric-list div, .meta-grid div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--border-soft); }
dt, .meta-grid span { color: var(--muted); font-size: .78rem; }
dd { margin: 0; color: var(--text); font-weight: 750; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.stats-grid article { padding: 1rem; border-radius: 18px; }
.stats-grid span { color: var(--accent); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.stats-grid strong { display: block; margin-top: .55rem; font-size: 1.02rem; }
.stats-grid p { margin: .45rem 0 0; font-size: .88rem; }
.section-block { margin: 2rem 0; }
.section-heading { justify-content: space-between; margin-bottom: 1rem; }
.section-heading h2 { font-size: clamp(1.6rem, 3vw, 2.6rem); }
.section-heading p { max-width: 520px; }
.department-grid { display: grid; gap: 1rem; }
.department-card { padding: 1.25rem; border-radius: 22px; }
.dept-icon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.055); border: 1px solid var(--border); font-size: 1.35rem; flex: 0 0 auto; }
.department-top p { margin: .35rem 0 0; }
.meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 1rem 0; }
.meta-grid strong { font-size: .8rem; text-align: right; overflow-wrap: anywhere; }
.detail-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.detail-columns > div { background: rgba(0,0,0,.16); border: 1px solid var(--border-soft); border-radius: 16px; padding: 1rem; }
.detail-columns li { font-size: .88rem; }
.department-footer { justify-content: space-between; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border-soft); }
.department-footer a { color: #b6baff; font-weight: 700; }
.split-section { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1rem; }
.ops-card { padding: 1.2rem; border-radius: 22px; }
.card-head { justify-content: space-between; margin-bottom: 1rem; color: var(--soft); font-weight: 750; }
.timeline { display: grid; gap: .8rem; }
.timeline-row { display: grid; grid-template-columns: 18px 1fr; gap: .75rem; align-items: start; }
.timeline-row p { margin: .25rem 0 0; font-size: .85rem; }
.time-dot { width: 10px; height: 10px; margin-top: .35rem; border-radius: 999px; background: var(--accent); box-shadow: 0 0 24px rgba(113,112,255,.8); }
.control-list { display: grid; gap: .9rem; }
.control-list div { padding: .85rem; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--border-soft); }
.control-list strong { display: block; margin-bottom: .4rem; }
.muted-note { font-size: .88rem; }
.flow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.flow-grid div { padding: 1.1rem; border-radius: 20px; }
.flow-grid span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: rgba(113,112,255,.14); color: #c4c7ff; margin-bottom: .8rem; font-weight: 800; }
.flow-grid p { font-size: .9rem; margin-bottom: 0; }
.footer { color: var(--dim); text-align: center; padding: 2rem; border-top: 1px solid var(--border-soft); font-size: .85rem; }

.top-actions a.active { color: var(--text)!important; background: rgba(113,112,255,.16)!important; border: 1px solid rgba(113,112,255,.22); }
.admin-hero h2 { max-width: 980px; }
.table-card, .plan-card {
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.05);
  overflow: hidden;
}
.table-card { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 900px; }
th, td { text-align: left; padding: .9rem 1rem; border-bottom: 1px solid var(--border-soft); vertical-align: top; }
th { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 800; }
td strong { display: block; color: var(--text); }
td small { display: block; color: var(--muted); margin-top: .25rem; }
.empty-cell { text-align: center; color: var(--muted); padding: 2rem; }
.status-pill { display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid var(--border); background: rgba(255,255,255,.045); color: var(--soft); padding: .28rem .55rem; font-size: .78rem; font-weight: 800; text-transform: capitalize; }
.status-pill.provisioned { color: #bbf7d0; background: rgba(16,185,129,.1); border-color: rgba(16,185,129,.22); }
.status-pill.live { color: #bbf7d0; background: rgba(16,185,129,.1); border-color: rgba(16,185,129,.24); }
.status-pill.attention { color: #fde68a; background: rgba(251,191,36,.12); border-color: rgba(251,191,36,.3); }
.status-pill.down { color: #fecdd3; background: rgba(251,113,133,.12); border-color: rgba(251,113,133,.3); }
.status-pill.disabled { color: var(--muted); background: rgba(255,255,255,.025); border-color: var(--border-soft); }
.status-pill.pbx_error, .status-pill.failed { color: #fecdd3; background: rgba(251,113,133,.1); border-color: rgba(251,113,133,.24); }
.sip-health-card.live { border-color: rgba(16,185,129,.25); }
.sip-health-card.attention { border-color: rgba(251,191,36,.35); }
.sip-health-card.down { border-color: rgba(251,113,133,.35); }
.mini-link { color: #b6baff; font-weight: 800; }
.company-list, .plan-stack { display: grid; gap: .75rem; }
.company-list-row, .plan-stack div { display: grid; gap: .25rem; padding: .9rem; border: 1px solid var(--border-soft); border-radius: 16px; background: rgba(255,255,255,.03); }
.company-list-row { grid-template-columns: 1fr auto auto; align-items: center; }
.company-list-row span, .company-list-row em, .plan-stack span { color: var(--muted); font-style: normal; font-size: .88rem; }
.mini-bar, .large-meter { height: 7px; border-radius: 99px; background: rgba(255,255,255,.07); overflow: hidden; margin-top: .45rem; }
.large-meter { height: 12px; margin: 1rem 0; }
.mini-bar i, .large-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), #8b5cf6); }
.plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.plan-card { padding: 1.1rem; }
.plan-card h3 { font-size: 2rem; margin: .6rem 0 .25rem; }
.plan-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.support-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 1rem; }
.support-action-row { margin: -0.35rem 0 1rem; flex-wrap: wrap; }
.support-action-row .ghost-button { min-height: 40px; }
.support-admin-card { display: grid; gap: .85rem; }
.support-admin-card blockquote { margin: .2rem 0; padding: .75rem; border-left: 4px solid var(--accent); background: rgba(59,130,246,.08); border-radius: 12px; color: var(--soft); }
.support-admin-card blockquote small { display: block; margin-top: .4rem; color: var(--muted); }
.support-reply-form { display: grid; gap: .65rem; }
.support-reply-form textarea, .support-reply-form select { width: 100%; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.06); color: var(--text); padding: .75rem; font: inherit; }
.support-reply-form select option { color: #111827; }
.status-pill.open { color: #bae6fd; background: rgba(14,165,233,.12); border-color: rgba(14,165,233,.3); }
.status-pill.pending_customer { color: #fde68a; background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.3); }
.status-pill.resolved, .status-pill.closed { color: #bbf7d0; background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.3); }
.seo-stats article:nth-child(1) { border-color: rgba(16,185,129,.22); }
.seo-top-grid { grid-template-columns: 1.15fr .85fr; }
.seo-overview-card.good { border-color: rgba(16,185,129,.3); box-shadow: var(--shadow), 0 0 0 1px rgba(16,185,129,.08) inset; }
.seo-overview-card.attention { border-color: rgba(251,191,36,.35); }
.seo-overview-card.down { border-color: rgba(251,113,133,.35); }
.seo-table table { min-width: 1120px; }
.seo-table td:nth-child(1) { min-width: 250px; }
.seo-table td:nth-child(3), .seo-table td:nth-child(4) { max-width: 330px; overflow-wrap: anywhere; }
.action-list { display: grid; gap: .7rem; padding-left: 1.2rem; }
.action-list li { padding: .55rem .7rem; border: 1px solid var(--border-soft); background: rgba(255,255,255,.03); border-radius: 12px; }
.success-alert { border-color: rgba(16,185,129,.28); background: rgba(16,185,129,.1); color: #bbf7d0; }
.sip-section-heading p { max-width: 680px; }
.sip-stats-grid { margin-bottom: 1rem; }
.sip-routing-summary { margin-bottom: 1rem; padding: 1rem; }
.sip-priority-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .65rem; }
.sip-priority-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "country status" "gateway priority"; gap: .35rem .7rem; align-items: center; min-width: 0; padding: .72rem .8rem; border: 1px solid var(--border-soft); border-radius: 14px; background: rgba(255,255,255,.03); }
.sip-priority-row strong { grid-area: country; min-width: 0; overflow-wrap: anywhere; }
.sip-priority-row span { grid-area: gateway; min-width: 0; color: var(--soft); overflow-wrap: anywhere; }
.sip-priority-row em { grid-area: priority; color: #b6baff; font-style: normal; font-weight: 800; white-space: nowrap; }
.sip-priority-row .status-pill { grid-area: status; justify-self: end; }
.sip-control-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 1rem; }
.sip-control-card { display: grid; grid-template-columns: minmax(270px, .34fr) minmax(0, .66fr); gap: 1.15rem; align-items: start; border-color: rgba(255,255,255,.1); overflow: hidden; }
.sip-control-card.live { border-color: rgba(16,185,129,.24); }
.sip-control-card.attention { border-color: rgba(251,191,36,.34); }
.sip-control-card.down { border-color: rgba(251,113,133,.34); }
.sip-card-summary { display: grid; gap: .85rem; min-width: 0; }
.sip-card-head { align-items: center; gap: .75rem; margin-bottom: 0; }
.sip-title { min-width: 0; }
.sip-title span { display: block; font-size: 1.08rem; font-weight: 800; overflow-wrap: anywhere; }
.sip-title small { display: block; color: var(--muted); font-size: .78rem; margin-top: .3rem; overflow-wrap: anywhere; }
.sip-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.sip-meta div { min-width: 0; align-items: flex-start; }
.sip-meta strong { min-width: 0; }
.sip-gateway-id { border: 1px solid var(--border-soft); border-radius: 14px; padding: .68rem .75rem; background: rgba(255,255,255,.025); color: var(--muted); }
.sip-gateway-id summary, .sip-route-details summary { cursor: pointer; color: #b6baff; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.sip-gateway-id code { display: block; margin-top: .45rem; overflow-wrap: anywhere; color: var(--soft); }
.sip-settings-form { display: grid; gap: .85rem; min-width: 0; }
.sip-form-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; align-items: stretch; }
.toggle-row { display: flex; gap: .8rem; align-items: center; min-width: 0; padding: .85rem; border-radius: 16px; background: rgba(255,255,255,.035); border: 1px solid var(--border-soft); }
.toggle-row input { width: 22px; height: 22px; accent-color: var(--accent-bg); flex: none; }
.toggle-row span { min-width: 0; }
.toggle-row strong, .toggle-row small { display: block; }
.toggle-row small { margin-top: .2rem; color: var(--muted); font-size: .82rem; }
.sip-save-button { min-width: 136px; border-radius: 14px; white-space: nowrap; }
.sip-country-list { display: grid; gap: .75rem; }
.sip-country-control { display: grid; grid-template-columns: minmax(150px, .28fr) minmax(0, .72fr); gap: .85rem; align-items: start; padding: .92rem; border: 1px solid var(--border-soft); border-radius: 18px; background: rgba(0,0,0,.18); min-width: 0; }
.sip-country-title { min-width: 0; }
.sip-country-title strong { display: block; color: var(--text); font-size: .98rem; }
.sip-route-details { margin-top: .42rem; }
.sip-route-details small { display: block; color: var(--muted); font-size: .75rem; line-height: 1.45; margin-top: .35rem; overflow-wrap: anywhere; }
.sip-country-fields { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: .75rem; min-width: 0; }
.sip-country-fields.with-display-name { grid-template-columns: 96px minmax(0, 1.15fr) minmax(210px, .85fr); }
.sip-country-control label { display: grid; gap: .38rem; color: var(--soft); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; min-width: 0; }
.sip-country-control input, .sip-country-control textarea { width: 100%; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.06); color: var(--text); padding: .72rem .8rem; font: inherit; outline: none; }
.sip-country-control input:focus, .sip-country-control textarea:focus { border-color: rgba(113,112,255,.75); box-shadow: 0 0 0 4px rgba(113,112,255,.13); }
.priority-field input { text-align: center; font-weight: 800; }
.sip-country-control textarea { min-height: 74px; resize: vertical; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .82rem; line-height: 1.45; }
.did-field small, .display-name-field small { color: var(--muted); text-transform: none; letter-spacing: 0; font-weight: 500; line-height: 1.45; }
.sip-display-capability { display: grid; gap: .25rem; padding: .68rem .75rem; border: 1px solid rgba(16,185,129,.28); border-radius: 14px; background: rgba(16,185,129,.07); min-width: 0; }
.sip-display-capability strong { color: #a7f3d0; font-size: .79rem; }
.sip-display-capability small { color: var(--muted); line-height: 1.45; overflow-wrap: anywhere; }

/* Coupon commercial controls */
.coupon-create-form{display:grid;gap:1rem;margin-top:1rem}.coupon-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.coupon-form-grid [data-rate-field][hidden]{display:none!important}.coupon-form-grid label{display:grid;gap:.38rem;min-width:0;color:var(--soft);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.coupon-form-grid input:not([type="checkbox"]),.coupon-form-grid select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.06);color:var(--text);padding:.72rem .8rem;font:inherit;outline:none}.coupon-form-grid select option{color:#111827}.coupon-form-grid input:focus,.coupon-form-grid select:focus{border-color:rgba(113,112,255,.75);box-shadow:0 0 0 4px rgba(113,112,255,.13)}.coupon-form-grid label>small{color:var(--muted);font-size:.73rem;font-weight:500;text-transform:none;letter-spacing:0;line-height:1.4}.coupon-active-toggle{align-self:end;min-height:46px}.coupon-commercial-note{padding:.85rem 1rem;border:1px solid rgba(113,112,255,.28);border-radius:16px;background:rgba(113,112,255,.08)}.coupon-commercial-note strong{color:#c7d2fe}.coupon-commercial-note p{margin:.3rem 0 0}.coupon-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1rem}.coupon-admin-card{display:grid;gap:.9rem}.coupon-admin-card .card-head>div small{display:block;color:var(--muted);margin-top:.2rem}.coupon-admin-card h3{color:#dbeafe}.coupon-margin-warning{padding:.68rem .75rem;border:1px solid rgba(245,158,11,.35);border-radius:14px;background:rgba(245,158,11,.11);color:#fde68a;font-size:.82rem;font-weight:650}.coupon-status-form{margin-top:auto}.danger-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(251,113,133,.38);border-radius:12px;padding:.68rem .9rem;background:rgba(244,63,94,.13);color:#fecdd3;font-weight:800;cursor:pointer}.danger-button:hover{background:rgba(244,63,94,.22)}.small-button{padding:.45rem .65rem;font-size:.78rem}.primary-button[disabled]{opacity:.5;cursor:not-allowed}.status-pill.active{color:#bbf7d0;background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.24)}.status-pill.revoked,.status-pill.replaced{color:#cbd5e1;background:rgba(148,163,184,.1)}

@media (max-width: 1100px) {
  .hero-panel, .split-section { grid-template-columns: 1fr; }
  .stats-grid, .detail-columns, .flow-grid, .plan-grid, .coupon-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meta-grid, .plan-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sip-control-card, .sip-form-actions { grid-template-columns: 1fr; }
  .sip-save-button { width: 100%; }
}
@media (max-width: 760px) {
  .login-shell { grid-template-columns: 1fr; padding: 1rem; }
  .login-side { display: none; }
  .topbar, .section-heading, .department-footer { align-items: flex-start; flex-direction: column; }
  .topbar { position: relative; top: auto; }
  .top-actions { flex-wrap: wrap; }
  .stats-grid, .detail-columns, .flow-grid, .meta-grid, .plan-grid, .plan-meta, .coupon-form-grid, .coupon-admin-grid { grid-template-columns: 1fr; }
  .sip-control-grid, .sip-country-control, .sip-country-fields, .sip-country-fields.with-display-name, .sip-priority-list { grid-template-columns: 1fr; }
  .sip-priority-row { grid-template-columns: 1fr; grid-template-areas: "country" "gateway" "priority" "status"; align-items: start; }
  .sip-priority-row .status-pill { justify-self: start; }
  .company-list-row { grid-template-columns: 1fr; }
  h2 { font-size: 2.1rem; }
}

/* Code graph UI */
.code-graph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem}.code-repo-card{display:grid;gap:.9rem}.graph-bars{display:grid;gap:.55rem}.graph-bars div{display:grid;grid-template-columns:7rem 1fr 3rem;align-items:center;gap:.65rem;font-size:.85rem;color:var(--muted)}.graph-bars i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--accent),#7dd3fc);box-shadow:0 0 18px rgba(93,95,239,.25)}.graph-bars em{font-style:normal;text-align:right;color:var(--text)}.detail-columns.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.detail-columns.compact ul{margin:.35rem 0 0;padding-left:1rem}.compact-timeline .timeline-row{padding:.55rem 0}.interactive-3d-code-graph{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:28px;background:radial-gradient(circle at 30% 10%,rgba(125,211,252,.18),rgba(15,23,42,.95));box-shadow:0 28px 80px rgba(2,6,23,.36);min-height:520px}.code-graph-viewport{position:relative;height:520px}.code-graph-viewport canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.code-graph-viewport canvas:active{cursor:grabbing}.graph-control-bar{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;padding:.75rem;border-radius:18px;background:rgba(2,6,23,.72);border:1px solid rgba(148,163,184,.18);backdrop-filter:blur(12px)}.graph-control-bar button{border:0;border-radius:999px;padding:.55rem .85rem;background:rgba(125,211,252,.16);color:#e0f2fe;font-weight:700}.graph-control-bar span{margin-left:auto;color:#e2e8f0;font-size:.9rem}.graph-help{position:absolute;top:1rem;left:1rem;max-width:360px;color:#cbd5e1;font-size:.9rem;background:rgba(15,23,42,.7);border:1px solid rgba(148,163,184,.16);border-radius:18px;padding:.75rem 1rem}.graph-legend{position:absolute;right:1rem;top:1rem;display:grid;gap:.35rem;background:rgba(15,23,42,.7);border:1px solid rgba(148,163,184,.16);border-radius:18px;padding:.75rem 1rem}.graph-legend span{display:flex;align-items:center;gap:.45rem;color:#e2e8f0;font-size:.82rem}.graph-legend i{display:inline-block;width:.75rem;height:.75rem;border-radius:50%}@media(max-width:760px){.interactive-3d-code-graph,.code-graph-viewport{min-height:440px;height:440px}.graph-help,.graph-legend{position:static;margin:.75rem}.graph-control-bar{position:static;margin:.75rem}}

/* VelocityDial SaaS admin shell — visual-only layer, 2026-08-03 */
:root {
  --bg: #f3f6fa;
  --bg-deep: #e9eef5;
  --panel: #ffffff;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --border: #dfe5ee;
  --border-soft: #edf1f6;
  --text: #182230;
  --muted: #667085;
  --soft: #344054;
  --dim: #98a2b3;
  --accent: #335cff;
  --accent-bg: #335cff;
  --green: #079455;
  --danger: #d92d20;
  --warning: #dc6803;
  --sidebar: #101828;
  --sidebar-soft: #1d2939;
  --shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px rgba(16,24,40,.06);
}
html { background: var(--bg); }
body { background: var(--bg); color: var(--text); }
body.dashboard-screen { min-width: 0; }
a, button, input, textarea, select, summary { transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease, transform .16s ease; }
:focus-visible { outline: 3px solid rgba(51,92,255,.3); outline-offset: 2px; }
code { color: #3641a8; }
p { color: var(--muted); }

.admin-app-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0,1fr); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 1.25rem 1rem; color: #d0d5dd; background: linear-gradient(180deg,#101828 0%,#111c2f 100%); border-right: 1px solid rgba(255,255,255,.07); z-index: 30; }
.sidebar-brand { display: flex; align-items: center; gap: .75rem; padding: .25rem .45rem 1.35rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.sidebar-brand .brand-mark { width: 40px; height: 40px; border-radius: 11px; box-shadow: none; }
.sidebar-brand strong,.sidebar-brand small { display:block; }
.sidebar-brand strong { color:#fff; font-size:.96rem; letter-spacing:-.02em; }
.sidebar-brand small { color:#98a2b3; margin-top:.15rem; font-size:.73rem; }
.sidebar-section-label { padding: 1.3rem .65rem .55rem; color:#667085; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.sidebar-nav { display:grid; gap:.18rem; overflow-y:auto; scrollbar-width:thin; }
.admin-nav-link { position:relative; display:flex; align-items:center; min-height:40px; padding:.62rem .72rem .62rem 2.2rem; border-radius:9px; color:#b8c0cc; font-size:.86rem; font-weight:600; }
.admin-nav-link::before { content:""; position:absolute; left:.78rem; width:8px; height:8px; border:1.5px solid #667085; border-radius:3px; }
.admin-nav-link:hover { color:#fff; background:rgba(255,255,255,.055); }
.admin-nav-link.active { color:#fff!important; background:linear-gradient(90deg,rgba(51,92,255,.3),rgba(51,92,255,.13))!important; border:1px solid rgba(120,145,255,.2)!important; box-shadow:inset 3px 0 #7891ff; }
.admin-nav-link.active::before { border-color:#9db0ff; background:#7891ff; }
.sidebar-footer { margin-top:auto; padding:.9rem .45rem .2rem; border-top:1px solid rgba(255,255,255,.08); display:grid; gap:.65rem; }
.sidebar-health,.live-indicator { display:flex; align-items:center; gap:.45rem; font-size:.73rem; color:#98a2b3; }
.sidebar-health i,.live-indicator i { width:7px; height:7px; border-radius:50%; background:#12b76a; box-shadow:0 0 0 3px rgba(18,183,106,.15); }
.sidebar-logout { color:#d0d5dd; font-size:.82rem; font-weight:650; }
.sidebar-logout:hover { color:#fff; }
.admin-workspace { min-width:0; }
.topbar { min-height:64px; padding:.72rem clamp(1rem,2.4vw,2rem); background:rgba(255,255,255,.92); border-bottom:1px solid var(--border); box-shadow:0 1px 2px rgba(16,24,40,.03); backdrop-filter:blur(12px); }
.topbar-context { display:grid; gap:.15rem; }
.topbar-context .eyebrow { color:#98a2b3; font-size:.62rem; }
.topbar-context strong { font-size:.96rem; }
.topbar-meta { margin-left:auto; display:flex; align-items:center; gap:1rem; color:var(--muted); font-size:.76rem; }
.live-indicator { color:#067647; padding:.35rem .55rem; border:1px solid #abefc6; background:#ecfdf3; border-radius:999px; font-weight:700; }
.mobile-brand,.mobile-signout { display:none; }
.dashboard-shell { max-width:1500px; padding:clamp(1rem,2vw,2rem); }
.hero-panel { grid-template-columns:minmax(0,1.7fr) minmax(300px,.55fr); gap:1rem; margin:.15rem 0 1.25rem; }
.hero-panel > div:first-child,.live-card,.login-card,.system-card,.ops-card,.department-card,.stats-grid article,.flow-grid div,.table-card,.plan-card { background:#fff; border:1px solid var(--border); box-shadow:var(--shadow); }
.hero-panel > div:first-child,.live-card { border-radius:16px; padding:clamp(1.35rem,2.6vw,2.15rem); }
.hero-panel > div:first-child { background:linear-gradient(135deg,#fff 0%,#f8faff 68%,#eef2ff 100%); }
.hero-panel h2 { color:#101828; font-size:clamp(1.8rem,3.1vw,3rem); line-height:1.04; max-width:760px; }
.hero-panel p { font-size:.96rem; max-width:720px; }
.pill,.mini-badge { border-color:#d6ddff; background:#f0f3ff; color:#3641a8; }
.metric-list div,.meta-grid div,.control-list div { background:#f8fafc; border-color:#e4e7ec; }
dt,.meta-grid span { color:#667085; }
dd,.meta-grid strong { color:#101828; }
.stats-grid { gap:.85rem; margin-bottom:1.5rem; }
.stats-grid article { position:relative; padding:1.05rem 1.1rem; border-radius:13px; overflow:hidden; }
.stats-grid article::after { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#6172f3; }
.stats-grid span { color:#667085; font-size:.68rem; }
.stats-grid strong { font-size:1.42rem; color:#101828; }
.stats-grid p { line-height:1.45; font-size:.8rem; }
.section-block { margin:1.5rem 0; }
.section-heading { align-items:flex-end; }
.section-heading h2 { color:#101828; font-size:clamp(1.35rem,2.5vw,2rem); }
.section-heading p { margin:.4rem 0 0; }
.ops-card,.department-card,.plan-card,.table-card { border-radius:14px; }
.card-head { color:#344054; }
.primary-button { background:#335cff; box-shadow:0 1px 2px rgba(16,24,40,.08); border-radius:8px; cursor:pointer; }
.primary-button:hover { background:#2949d3; transform:translateY(-1px); }
.ghost-button { color:#344054; background:#fff; border-color:#d0d5dd; border-radius:8px; box-shadow:0 1px 2px rgba(16,24,40,.04); }
.ghost-button:hover { background:#f9fafb; border-color:#98a2b3; }
.table-card { scrollbar-gutter:stable; overscroll-behavior-inline:contain; }
table { background:#fff; }
th { position:sticky; top:0; z-index:1; color:#475467; background:#f9fafb; border-bottom-color:#d0d5dd; }
td { color:#475467; border-bottom-color:#eaecf0; }
tbody tr:hover td { background:#f8faff; }
.status-pill { background:#f9fafb; color:#475467; border-color:#d0d5dd; }
.status-pill.live,.status-pill.active,.status-pill.provisioned,.status-pill.resolved,.status-pill.closed { color:#067647; background:#ecfdf3; border-color:#abefc6; }
.status-pill.attention,.status-pill.pending_customer { color:#b54708; background:#fffaeb; border-color:#fedf89; }
.status-pill.down,.status-pill.failed,.status-pill.pbx_error { color:#b42318; background:#fef3f2; border-color:#fecdca; }
.status-pill.open { color:#175cd3; background:#eff8ff; border-color:#b2ddff; }
.company-list-row,.plan-stack div,.action-list li { background:#f9fafb; border-color:#e4e7ec; border-radius:10px; }
.mini-link { color:#335cff; }
.support-admin-card blockquote { color:#344054; background:#f8faff; border-left-color:#6172f3; }
.support-reply-form textarea,.support-reply-form select,.sip-country-control input,.sip-country-control textarea,.coupon-form-grid input:not([type="checkbox"]),.coupon-form-grid select,.login-form input { color:#101828; background:#fff; border-color:#d0d5dd; border-radius:8px; }
.support-reply-form select option,.coupon-form-grid select option { color:#101828; }
.sip-control-card.live { border-color:#abefc6; }
.sip-control-card.attention { border-color:#fedf89; }
.sip-control-card.down { border-color:#fecdca; }
.toggle-row,.sip-country-control,.sip-gateway-id { background:#f9fafb; border-color:#e4e7ec; border-radius:10px; }
.sip-country-control input:focus,.sip-country-control textarea:focus,.coupon-form-grid input:focus,.coupon-form-grid select:focus,.login-form input:focus { border-color:#6172f3; box-shadow:0 0 0 4px rgba(97,114,243,.14); }
.sip-display-capability { background:#ecfdf3; border-color:#abefc6; }
.sip-display-capability strong { color:#067647; }
.success-alert { background:#ecfdf3; border-color:#abefc6; color:#067647; }
.alert { background:#fef3f2; border-color:#fecdca; color:#b42318; }
.danger-button { background:#fff; border-color:#fda29b; color:#b42318; border-radius:8px; }
.danger-button:hover { background:#fef3f2; }
.footer { color:#98a2b3; background:#fff; border-color:#eaecf0; }

.login-screen { background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%); }
.login-shell { max-width:1180px; margin:auto; grid-template-columns:minmax(320px,460px) 1fr; }
.login-card { border-radius:18px; }
.login-card h1 { color:#101828; }
.login-side .system-card { background:#101828; border-color:#1d2939; color:#fff; }
.login-side .system-card li { color:#d0d5dd; }
.login-side .halo { background:radial-gradient(circle,rgba(51,92,255,.2),transparent 66%); }
.security-note { padding:.7rem .8rem; border-radius:8px; background:#f8fafc; border:1px solid #eaecf0; }

@media (max-width:1180px) {
  .admin-app-shell { grid-template-columns:210px minmax(0,1fr); }
  .admin-sidebar { padding-inline:.7rem; }
  .sidebar-brand span:last-child { display:none; }
  .topbar-meta > span:last-of-type { display:none; }
}
@media (max-width:860px) {
  .admin-app-shell { display:block; }
  .admin-sidebar { position:relative; width:100%; height:auto; padding:.65rem .85rem; }
  .sidebar-brand,.sidebar-section-label,.sidebar-footer { display:none; }
  .sidebar-nav { display:flex; gap:.35rem; overflow-x:auto; padding-bottom:.25rem; }
  .admin-nav-link { flex:0 0 auto; min-height:36px; padding:.5rem .72rem; white-space:nowrap; }
  .admin-nav-link::before { display:none; }
  .topbar { position:sticky; top:0; }
  .topbar-context { display:none; }
  .mobile-brand { display:flex; align-items:center; gap:.6rem; }
  .mobile-brand .brand-mark { width:34px; height:34px; border-radius:9px; font-size:.78rem; box-shadow:none; }
  .mobile-brand strong,.mobile-brand small { display:block; }
  .mobile-brand small { color:var(--muted); font-size:.7rem; margin-top:.1rem; }
  .mobile-signout { display:inline-flex; }
  .hero-panel { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .topbar { position:sticky; flex-direction:row; align-items:center; }
  .topbar-meta { gap:.5rem; }
  .dashboard-shell { padding:.85rem; }
  .hero-panel > div:first-child,.live-card { padding:1.15rem; }
  .hero-actions { align-items:stretch; flex-direction:column; }
  .hero-actions a { width:100%; }
  .support-admin-grid,.code-graph-grid { grid-template-columns:minmax(0,1fr); }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .section-heading { align-items:flex-start; }
  .table-card::before { content:"Swipe to view all columns"; display:block; padding:.55rem .8rem; color:#667085; background:#f9fafb; border-bottom:1px solid #eaecf0; font-size:.72rem; }
}
@media (max-width:420px) {
  .stats-grid { grid-template-columns:1fr; }
  .topbar-meta .live-indicator { display:none; }
  .mobile-brand strong { font-size:.82rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
