/* Suite styles — carried verbatim from the Section 2.7 source so the rebuilt tool
   is pixel-identical, plus a few shared front-door / admin additions at the end. */
:root { --bm-dark-blue: #000066; --bm-medium-blue: #020A90; --bm-light-blue: #045AFF; --bm-green: #00C87D; --bm-black: #101923; --bm-dark-gray: #415569; --bm-medium-gray: #A4BCD0; --bm-light-gray: #D0DCE4; --bm-white: #F1F1F1; --font-display: 'Helvetica Neue', Helvetica, Arial, sans-serif; --font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif; --font-fine: 'Helvetica Neue', Helvetica, Arial, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--font-body); background: var(--bm-white); color: var(--bm-black); line-height: 1.55; -webkit-font-smoothing: antialiased; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
input[type=number] { -moz-appearance:textfield; }
button { font-family: inherit; }
.header { background-image: linear-gradient(135deg, var(--bm-medium-blue), var(--bm-light-blue)); background-size: cover; background-position: center; padding: 32px 24px 40px; color: #fff; }
/* Anti-flash: on first visit (no cached theme) keep the header invisible — layout
   preserved — until tenant.js applies the real theme. Never shows the wrong brand. */
html.theme-pending .header { visibility: hidden; }
.header-inner { max-width: 720px; margin: 0 auto; }
.logo-mark { display: inline-block; margin-bottom: 22px; }
.logo-mark img { height: 44px; display: block; }
/* Logo has no baked-in src (avoids flashing a default logo). Hide the slot until the
   correct tenant logo src is set — appears only when it's the RIGHT logo. */
.logo-mark img:not([src]) { visibility: hidden; }
.header h1 { font-family: var(--font-display); font-size: clamp(24px, 5vw, 32px); font-weight: 900; line-height: 1.15; letter-spacing: -0.01em; margin: 0 0 10px; text-shadow: 0 1px 6px rgba(0,0,0,0.35); }
.header h1 .accent { color: rgba(255,255,255,0.72); }
.header p { margin: 0; font-size: 14px; color: rgba(255,255,255,0.88); max-width: 480px; line-height: 1.6; }
.header-actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.header-actions button { padding: 9px 16px; background: rgba(255,255,255,0.18); color: #fff; border: 1px solid rgba(255,255,255,0.35); border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 700; transition: background 0.15s; }
.header-actions button:hover { background: rgba(255,255,255,0.28); }
main { max-width: 720px; margin: 0 auto; padding: 20px 16px 32px; }
.card { background: #fff; border-radius: 12px; padding: 24px 22px; margin-bottom: 16px; box-shadow: 0 2px 14px rgba(2,10,144,0.08); border: 1px solid var(--bm-light-gray); }
.section-label { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.12em; color: var(--bm-dark-gray); margin-bottom: 16px; }
.form-grid { display: flex; flex-direction: column; gap: 18px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-size: 13px; font-weight: 700; color: var(--bm-medium-blue); }
.field-wrap { position: relative; }
.field-wrap .prefix, .field-wrap .suffix { position: absolute; top: 50%; transform: translateY(-50%); font-size: 15px; font-weight: 700; color: var(--bm-dark-gray); pointer-events: none; }
.field-wrap .prefix { left: 14px; }
.field-wrap .suffix { right: 14px; }
.field input[type=number], .field input[type=text] { width: 100%; padding: 13px 14px; border: 1.5px solid var(--bm-light-gray); border-radius: 8px; font-size: 16px; font-weight: 600; color: var(--bm-medium-blue); background: #fff; outline: none; transition: border-color 0.15s, box-shadow 0.15s; }
.field-wrap.has-prefix input { padding-left: 28px; }
.field-wrap.has-suffix input { padding-right: 32px; }
.field input:focus { border-color: var(--bm-light-blue); box-shadow: 0 0 0 3px rgba(4,90,255,0.12); }
.field .hint { font-size: 11px; color: var(--bm-dark-gray); margin-top: 2px; }
.seg { display: flex; background: var(--bm-white); border-radius: 8px; padding: 3px; gap: 2px; }
.seg button { flex: 1; padding: 10px 8px; border: none; border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 600; background: transparent; color: var(--bm-dark-gray); transition: all 0.15s; white-space: nowrap; }
.seg button.active { background: #fff; color: var(--bm-medium-blue); font-weight: 800; box-shadow: 0 1px 4px rgba(0,0,0,0.12); }
.seg button:disabled { color: #c5c5c5; cursor: not-allowed; opacity: 0.55; }
.inline-info { margin-top: 14px; padding: 11px 14px; background: rgba(4,90,255,0.06); border-radius: 8px; border-left: 3px solid var(--bm-light-blue); font-size: 12.5px; color: var(--bm-dark-gray); line-height: 1.55; }
.inline-info strong { color: var(--bm-medium-blue); }
.inline-info .accent { color: var(--bm-light-blue); }
.inline-warn { margin-top: 14px; padding: 11px 14px; background: rgba(230,30,60,0.06); border-radius: 8px; border-left: 3px solid #E61E3C; font-size: 12.5px; color: #b91538; font-weight: 600; }
.scenarios { display: flex; gap: 12px; }
@media (max-width: 600px) { .scenarios { flex-direction: column; } }
.scenario { flex: 1; border-radius: 10px; padding: 20px 18px; display: flex; flex-direction: column; gap: 12px; }
.scenario.s1 { background: #fff; border: 1.5px solid var(--bm-light-gray); }
.scenario.s2 { background: linear-gradient(145deg, var(--bm-medium-blue), var(--bm-light-blue)); border: 2px solid var(--bm-light-blue); color: #fff; }
.scenario .tag { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; }
.scenario.s1 .tag { color: var(--bm-dark-gray); }
.scenario.s2 .tag { color: rgba(255,255,255,0.7); }
.scenario h3 { margin: 4px 0 6px; font-size: 15px; font-weight: 800; }
.scenario.s1 h3 { color: var(--bm-medium-blue); }
.scenario.s2 h3 { color: #fff; }
.scenario .desc { font-size: 12.5px; line-height: 1.6; }
.scenario.s1 .desc { color: var(--bm-dark-gray); }
.scenario.s2 .desc { color: rgba(255,255,255,0.82); }
.scenario .divider { height: 1px; margin: 4px 0 4px; }
.scenario.s1 .divider { background: var(--bm-light-gray); }
.scenario.s2 .divider { background: rgba(255,255,255,0.22); }
.scenario .stat-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 2px; }
.scenario.s1 .stat-label { color: var(--bm-dark-gray); }
.scenario.s2 .stat-label { color: rgba(255,255,255,0.65); }
.scenario .stat-big { font-size: 22px; font-weight: 800; line-height: 1.1; }
.scenario.s1 .stat-big { color: var(--bm-medium-blue); }
.scenario.s2 .stat-big { color: #fff; }
.scenario .stat-mid { font-size: 17px; font-weight: 700; }
.scenario.s1 .stat-mid { color: var(--bm-dark-gray); }
.scenario.s2 .stat-mid { color: var(--bm-green); }
.summary-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 14px; }
@media (max-width: 600px) { .summary-grid { grid-template-columns: 1fr 1fr; } }
.summary { border-radius: 10px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; border: 1.5px solid var(--bm-light-gray); background: #fff; }
.summary.accent { background: var(--bm-medium-blue); border-color: var(--bm-medium-blue); }
.summary.green { background: rgba(0,200,125,0.10); border-color: rgba(0,200,125,0.30); }
.summary .label { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bm-dark-gray); }
.summary .value { font-size: 18px; font-weight: 800; color: var(--bm-medium-blue); line-height: 1.2; }
.summary.accent .label { color: rgba(255,255,255,0.75); }
.summary.accent .value { color: #fff; }
.summary.green .label { color: #065e3d; }
.summary.green .value { color: #065e3d; }
.callout { border-radius: 12px; overflow: hidden; margin-top: 8px; }
.callout.tier1 { border: 1.5px solid var(--bm-light-gray); border-left: 5px solid var(--bm-medium-blue); }
.callout.tier1 .body { padding: 20px 22px; background: rgba(2,10,144,0.04); }
.callout .title { font-size: 15px; font-weight: 900; margin-bottom: 8px; }
.callout.tier1 .title { color: var(--bm-medium-blue); }
.callout p { font-size: 13px; color: var(--bm-dark-gray); line-height: 1.7; margin: 0 0 16px; }
.callout p strong { color: var(--bm-medium-blue); }
.callout .feature-box { background: #fff; border-radius: 8px; padding: 16px 18px; border: 1px solid var(--bm-light-gray); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.callout .feature-box .v-label { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--bm-dark-gray); margin-bottom: 4px; }
.callout .feature-box .v-value { font-size: 26px; font-weight: 900; color: var(--bm-medium-blue); line-height: 1.1; }
.callout .feature-box .v-sub { font-size: 12px; color: var(--bm-dark-gray); margin-top: 3px; }
.callout.tier2 { border: 1.5px solid rgba(0,200,125,0.30); border-left: 5px solid var(--bm-green); }
.callout.tier2 .body { padding: 20px 22px; background: rgba(0,200,125,0.10); }
.callout.tier2 .title { color: #065e3d; }
.callout.tier2 p strong { color: var(--bm-medium-blue); }
.callout.tier2 .split { display: flex; gap: 10px; flex-wrap: wrap; }
.callout.tier2 .split > div { flex: 1; min-width: 140px; background: #fff; border-radius: 8px; padding: 14px 16px; border: 1px solid rgba(0,200,125,0.30); }
.callout.tier2 .split > div.green-bg { background: rgba(0,200,125,0.15); }
.callout.tier2 .v-label { color: var(--bm-dark-gray); }
.callout.tier2 .green-bg .v-label { color: #065e3d; }
.callout.tier2 .v-value { color: var(--bm-medium-blue); font-size: 20px; }
.callout.tier2 .green-bg .v-value { color: #065e3d; }
.callout.tier3 { border: 2px solid var(--bm-light-blue); box-shadow: 0 8px 28px rgba(2,10,144,0.18); border-radius: 14px; }
.tier3-hero { background: linear-gradient(135deg, var(--bm-dark-blue) 0%, var(--bm-medium-blue) 55%, var(--bm-light-blue) 100%); padding: 26px 24px; color: #fff; position: relative; overflow: hidden; }
.tier3-hero::before { content: ''; position: absolute; inset: 0; opacity: 0.07; background-image: radial-gradient(circle, white 1px, transparent 1px); background-size: 24px 24px; }
.tier3-hero .content { position: relative; }
.tier3-hero .pill { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.30); border-radius: 40px; padding: 5px 14px 5px 9px; margin-bottom: 12px; }
.tier3-hero .pill .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bm-green); }
.tier3-hero .pill span { font-size: 10px; font-weight: 800; color: rgba(255,255,255,0.92); letter-spacing: 0.1em; text-transform: uppercase; }
.tier3-hero h2 { font-size: clamp(22px, 4.5vw, 26px); font-weight: 900; color: #fff; line-height: 1.15; margin: 0 0 10px; }
.tier3-hero h2 .green { color: var(--bm-green); }
.tier3-hero .lede { font-size: 13.5px; color: rgba(255,255,255,0.85); line-height: 1.65; max-width: 480px; margin: 0; }
.tier3-hero .lede strong { color: #fff; }
.tier3-hero .lede .green { color: var(--bm-green); font-weight: 700; }
.tier3-savings { background: rgba(0,200,125,0.10); padding: 18px 24px; border-bottom: 1px solid rgba(0,200,125,0.30); display: flex; align-items: center; justify-content: space-around; gap: 16px; flex-wrap: wrap; }
.tier3-savings .s-label { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: #065e3d; margin-bottom: 4px; }
.tier3-savings .s-value { font-weight: 900; color: #065e3d; line-height: 1; }
.tier3-savings .monthly .s-value { font-size: 36px; }
.tier3-savings .annual .s-value { font-size: 28px; }
.tier3-savings .s-value .unit { font-size: 14px; font-weight: 700; }
.tier3-savings .divider { width: 1px; height: 44px; background: rgba(0,200,125,0.40); }
@media (max-width: 480px) { .tier3-savings .divider { display: none; } }
.tier3-comparison { background: #fff; padding: 22px 24px; }
.tier3-comparison .heading-label { font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bm-dark-gray); margin-bottom: 4px; }
.tier3-comparison .heading-desc { font-size: 12px; color: var(--bm-dark-gray); line-height: 1.6; margin-bottom: 16px; }
.rate-cards { display: flex; gap: 10px; align-items: stretch; }
@media (max-width: 600px) { .rate-cards { flex-direction: column; } .rate-arrow { display: none !important; } }
.rate-card { flex: 1; border-radius: 10px; padding: 16px 14px; display: flex; flex-direction: column; gap: 5px; }
.rate-card.s1 { background: var(--bm-white); border: 1.5px solid var(--bm-light-gray); }
.rate-card.s2 { background: linear-gradient(145deg, var(--bm-medium-blue), var(--bm-light-blue)); border: 2px solid var(--bm-light-blue); color: #fff; }
.rate-card .tag { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.rate-card.s1 .tag { color: var(--bm-dark-gray); }
.rate-card.s2 .tag { color: rgba(255,255,255,0.65); }
.rate-card .heading { font-size: 12px; font-weight: 700; margin-bottom: 4px; }
.rate-card.s1 .heading { color: var(--bm-medium-blue); }
.rate-card.s2 .heading { color: #fff; }
.rate-card .line { display: flex; justify-content: space-between; font-size: 11px; }
.rate-card.s1 .line { color: var(--bm-dark-gray); }
.rate-card.s2 .line { color: rgba(255,255,255,0.78); }
.rate-card .line strong { font-weight: 800; }
.rate-card.s1 .line strong { color: var(--bm-medium-blue); }
.rate-card.s2 .line strong { color: #fff; }
.rate-card.s2 .line strong.green { color: var(--bm-green); }
.rate-card .hr { width: 100%; height: 1px; margin: 8px 0 4px; }
.rate-card.s1 .hr { background: var(--bm-light-gray); }
.rate-card.s2 .hr { background: rgba(255,255,255,0.22); }
.rate-card .pmt-label { font-size: 11px; font-weight: 600; }
.rate-card.s1 .pmt-label { color: var(--bm-dark-gray); }
.rate-card.s2 .pmt-label { color: rgba(255,255,255,0.72); }
.rate-card .pmt-value { font-size: 24px; font-weight: 900; line-height: 1.1; }
.rate-card.s1 .pmt-value { color: var(--bm-medium-blue); }
.rate-card.s2 .pmt-value { color: #fff; }
.rate-card .pmt-value .unit { font-size: 12px; font-weight: 600; }
.rate-arrow { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rate-arrow .circle { width: 28px; height: 28px; background: var(--bm-light-blue); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; font-weight: 900; }
.contact-card { border-radius: 12px; overflow: hidden; background-image: linear-gradient(135deg, var(--bm-medium-blue), var(--bm-light-blue)); background-size: cover; color: #fff; margin-bottom: 16px; }
.contact-card .inner { padding: 26px 22px; }
.contact-card h3 { font-family: var(--font-display); font-size: 20px; font-weight: 900; margin: 0 0 8px; line-height: 1.25; }
.contact-card h3 .accent { color: rgba(255,255,255,0.72); }
.contact-card .lede { font-size: 13px; color: rgba(255,255,255,0.85); line-height: 1.7; max-width: 420px; margin: 0 0 20px; }
.person { display: flex; align-items: center; gap: 14px; flex: 1 1 auto; min-width: 240px; }
.person img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: center top; border: 2px solid rgba(255,255,255,0.4); flex-shrink: 0; }
.person .info { line-height: 1.45; }
.person .name { font-weight: 800; font-size: 16px; color: #fff; }
.person .title-line { font-size: 11.5px; color: rgba(255,255,255,0.78); margin-top: 2px; margin-bottom: 8px; }
.meta-block { display: flex; flex-direction: column; gap: 2px; }
.meta-line { display: flex; align-items: baseline; gap: 8px; font-size: 11.5px; color: rgba(255,255,255,0.92); }
.meta-label { font-size: 9.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.6); min-width: 44px; }
.meta-value { font-weight: 600; word-break: break-word; }
.contact-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); border-radius: 12px; padding: 18px 20px; }
.qr-block { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 6px; padding-left: 8px; }
.qr-block img { width: 92px; height: 92px; display: block; border-radius: 6px; }
.qr-label { font-size: 9.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.85); text-align: center; }
@media (max-width: 480px) { .contact-row { flex-direction: column; align-items: flex-start; } .qr-block { padding-left: 0; align-self: center; } }
.action-row { display: flex; gap: 10px; margin-bottom: 16px; }
@media (max-width: 480px) { .action-row { flex-direction: column; } }
.action-row button { flex: 1; padding: 13px; background: #fff; border: 1.5px solid var(--bm-light-gray); border-radius: 8px; font-size: 14px; font-weight: 800; cursor: pointer; transition: background 0.15s; }
.action-row button.primary { color: var(--bm-medium-blue); }
.action-row button.secondary { color: var(--bm-dark-gray); }
.action-row button:hover { background: var(--bm-white); }
.empty { text-align: center; padding: 36px 22px; color: var(--bm-dark-gray); }
.empty img { height: 40px; opacity: 0.35; margin-bottom: 14px; }
.empty .title { font-size: 15px; font-weight: 800; color: var(--bm-medium-blue); margin-bottom: 6px; }
.empty .desc { font-size: 13px; line-height: 1.6; }
footer { background: var(--bm-medium-blue); color: #fff; padding: 28px 20px 20px; margin-top: 12px; }
.footer-inner { max-width: 720px; margin: 0 auto; }
.ehl { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.ehl-mark img { height: 44px; width: auto; display: block; flex-shrink: 0; }
.ehl-text { font-family: var(--font-fine); font-size: 10px; font-weight: 600; color: rgba(255,255,255,0.75); letter-spacing: 0.08em; line-height: 1.5; }
.ehl-text strong { display: block; font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.92); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 2px; }
.ehl-mark { position: relative; }
.ehl-mark .ehl-mark-print { display: none; }
.disclaimer { font-family: var(--font-fine); font-size: 10.5px; line-height: 1.7; color: rgba(255,255,255,0.82); margin-bottom: 12px; }
.disclaimer strong { color: #fff; font-weight: 700; }
.disclaimer a { color: rgba(255,255,255,0.92); text-decoration: underline; }
@media print {
  .no-print { display: none !important; }
  body { background: #fff !important; }
  .card { box-shadow: none; border: 1px solid #ccc; }
  .callout, .scenario, .rate-card, .person, .contact-card { page-break-inside: avoid; }
  .header { background: var(--bm-medium-blue) !important; padding-top: 18px !important; padding-bottom: 22px !important; }
  main { padding-top: 12px !important; }
  .card { margin-bottom: 10px !important; padding: 14px 16px !important; }
  footer { background: #fff !important; color: #000 !important; border-top: 2px solid var(--bm-medium-blue); padding: 14px 20px !important; }
  footer .ehl-mark .ehl-mark-screen { display: none !important; }
  footer .ehl-mark .ehl-mark-print { display: block !important; }
  footer .ehl-text { color: #333 !important; }
  footer .ehl-text strong { color: #000 !important; }
  footer .disclaimer { color: #333 !important; }
  footer .disclaimer strong { color: #000 !important; }
  footer .disclaimer a { color: #000 !important; }
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
}

/* ---- Shared front-door / admin additions (not in original) ---- */
.suite-shell { max-width: 720px; margin: 0 auto; padding: 20px 16px 32px; }
.signin-card { background:#fff; border-radius:12px; padding:32px 28px; box-shadow:0 2px 14px rgba(2,10,144,0.08); border:1px solid var(--bm-light-gray); text-align:center; margin-top:24px; }
.signin-card h2 { color:var(--bm-medium-blue); font-size:20px; margin:0 0 8px; }
.signin-card p { color:var(--bm-dark-gray); font-size:13.5px; margin:0 0 20px; }
.btn-primary { background:var(--bm-medium-blue); color:#fff; border:none; border-radius:8px; padding:13px 22px; font-size:14px; font-weight:800; cursor:pointer; }
.btn-primary:hover { background:var(--bm-light-blue); }
.tool-tiles { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px; }
@media (max-width:600px){ .tool-tiles{ grid-template-columns:1fr; } }
.tile { display:block; background:#fff; border:1px solid var(--bm-light-gray); border-radius:12px; padding:20px; text-decoration:none; color:var(--bm-black); box-shadow:0 2px 14px rgba(2,10,144,0.06); }
.tile:hover { border-color:var(--bm-light-blue); }
.tile h3 { color:var(--bm-medium-blue); margin:0 0 6px; font-size:16px; }
.tile p { color:var(--bm-dark-gray); font-size:12.5px; margin:0; }
.topbar { display:flex; justify-content:space-between; align-items:center; max-width:720px; margin:0 auto; padding:12px 16px; }
.topbar .who { font-size:12px; color:var(--bm-dark-gray); }
.topbar button { background:transparent; border:1px solid var(--bm-light-gray); border-radius:6px; padding:7px 12px; font-size:12px; font-weight:700; color:var(--bm-dark-gray); cursor:pointer; }
.admin-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.admin-tabs button { padding:8px 12px; border:1px solid var(--bm-light-gray); background:#fff; border-radius:6px; font-size:12px; font-weight:700; color:var(--bm-dark-gray); cursor:pointer; }
.admin-tabs button:hover { border-color:var(--bm-light-blue); }
.admin-tabs button.active { background:var(--bm-medium-blue); color:#fff; border-color:var(--bm-medium-blue); }

/* Scrollable, self-contained table — cells wrap; long ids/values never break the box. */
.admin-table-wrap { width:100%; overflow-x:auto; border:1px solid var(--bm-light-gray); border-radius:8px; }
.admin-table { width:100%; border-collapse:collapse; font-size:12.5px; }
.admin-table th, .admin-table td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--bm-light-gray); vertical-align:top; overflow-wrap:anywhere; word-break:break-word; }
.admin-table tbody tr:last-child td { border-bottom:none; }
.admin-table th { color:var(--bm-dark-gray); text-transform:uppercase; font-size:10px; letter-spacing:0.06em; background:var(--bm-white); white-space:nowrap; }
.admin-table td { color:var(--bm-black); max-width:320px; }
.admin-table td .muted { color:var(--bm-medium-gray); }
.admin-row-actions { white-space:nowrap; text-align:right; }

.admin-btn { padding:6px 11px; border:1.5px solid var(--bm-light-gray); background:#fff; border-radius:6px; font-size:11.5px; font-weight:700; color:var(--bm-medium-blue); cursor:pointer; margin-left:6px; }
.admin-btn:hover { background:var(--bm-white); }
.admin-btn.danger { color:#b91538; border-color:rgba(230,30,60,0.35); }

.admin-form { display:grid; gap:14px; margin-top:16px; max-width:560px; }
.admin-form > div { display:flex; flex-direction:column; gap:5px; min-width:0; }
.admin-form label { font-size:11px; font-weight:700; color:var(--bm-medium-blue); }
.admin-form input, .admin-form textarea, .admin-form select { width:100%; max-width:100%; padding:10px 12px; border:1.5px solid var(--bm-light-gray); border-radius:8px; font-size:13px; font-family:inherit; color:var(--bm-black); background:#fff; }
.admin-form textarea { resize:vertical; line-height:1.5; min-height:88px; }
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { outline:none; border-color:var(--bm-light-blue); box-shadow:0 0 0 3px rgba(4,90,255,0.12); }
.admin-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:4px; }
.admin-actions .admin-btn { margin-left:0; }
.banner-warn { background:rgba(230,30,60,0.08); border-left:3px solid #E61E3C; color:#b91538; padding:10px 14px; border-radius:8px; font-size:12.5px; margin-bottom:12px; }
.banner-ok { background:rgba(0,200,125,0.10); border-left:3px solid var(--bm-green); color:#065e3d; padding:10px 14px; border-radius:8px; font-size:12.5px; margin-bottom:12px; }
