/* Author Calculator embed — standalone page styles (ac- prefix, not in main app) */
:root { --navy:#16284f; --navy-deep:#0f1d3a; --orange:#f6871f; --teal:rgba(100,220,190,0.85); }
body { background: var(--navy-deep); }
.ac-accent  { color: var(--orange); }
.ac-head    { background: var(--navy); border-bottom: 1px solid rgba(255,255,255,0.08); }
.ac-card    { background: var(--navy); border: 1px solid rgba(255,255,255,0.1); border-radius: 1rem; padding: 1.25rem; position: relative; }
.ac-num     { position:absolute; top:0.85rem; right:1rem; width:1.1rem; height:1.1rem; color:rgba(255,242,210,0.22); display:flex; align-items:center; justify-content:center; }
.ac-sect    { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,242,210,0.72); margin-bottom: 0.65rem; display: block; }
.ac-lbl     { font-size: 0.8rem; color: rgba(255,242,210,0.88); font-weight: 600; margin-bottom: 0.2rem; display: block; }
.ac-input   { width:100%; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.15); border-radius:0.5rem; padding:0.375rem 0.75rem; font-size:0.9rem; color:white; outline:none; transition:border-color 0.15s; }
.ac-input:focus { border-color: var(--orange); }
.ac-input option { background: var(--navy-deep); color: white; }
.ac-hr      { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0.85rem 0; }
.ac-insight { font-size: 0.8rem; color: rgba(255,242,210,0.78); font-style: italic; line-height: 1.55; }
.ac-stat-l  { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,242,210,0.78); margin-bottom: 0.1rem; }
.ac-stat-v  { font-size: 1.2rem; font-weight: 800; color: white; line-height: 1.25; }
.ac-stat-v.ac-accent { color: var(--orange); }
.ac-net-v   { font-size: 1.9rem; font-weight: 800; line-height: 1.15; color: white; }
.ac-net-v.ac-accent { color: var(--orange); }
.ac-chart-t { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,242,210,0.72); }
input[type=checkbox] { accent-color: var(--orange); }
.ac-input[readonly] { opacity:0.45; cursor:not-allowed; border-style:dashed; }
.ac-icard { border-radius:0.6rem; padding:0.6rem 0.75rem; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); }
.ac-icard-l { font-size:0.65rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,242,210,0.72); margin-bottom:0.15rem; }
.ac-icard-v { font-size:0.95rem; font-weight:800; color:white; line-height:1.25; }
.ac-icard-s { font-size:0.7rem; color:rgba(255,242,210,0.68); margin-top:0.1rem; }
.ac-icard input[type=number]::-webkit-inner-spin-button,
.ac-icard input[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.ac-icard input[type=number] { -moz-appearance:textfield; }
.ac-preset-group { display:flex; align-items:center; gap:0.4rem; flex-wrap:wrap; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:999px; padding:0.35rem 0.5rem; }
.ac-preset-btn { padding:0.5rem 1.15rem; border-radius:999px; border:1px solid rgba(255,255,255,0.28); background:rgba(255,255,255,0.06); color:rgba(255,242,210,0.9); font-size:0.8rem; font-weight:800; cursor:pointer; transition:all 0.15s; letter-spacing:0.04em; }
.ac-preset-btn:hover { border-color:var(--orange); color:white; background:rgba(246,135,31,0.18); }
.ac-preset-btn.ac-preset-active { border-color:var(--orange); color:#16284f; background:var(--orange); box-shadow:0 0 18px rgba(246,135,31,0.5); }
.ac-preset-label { font-size:0.68rem; font-weight:800; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,242,210,0.7); align-self:center; white-space:nowrap; }
/* ── Hero ─────────────────────────────────────────────── */
.ac-hero { background:var(--navy); border:1px solid rgba(255,255,255,0.1); border-radius:1.25rem; padding:1.75rem 1.75rem; }
.ac-eyebrow { font-size:0.66rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,242,210,0.55); margin-bottom:0.55rem; }
.ac-hero-title { font-size:clamp(1.9rem,4.2vw,2.9rem); font-weight:800; line-height:1.04; color:white; letter-spacing:-0.01em; }
.ac-hero-sub { font-size:0.92rem; color:rgba(255,242,210,0.72); line-height:1.6; margin-top:0.6rem; max-width:52rem; }
/* ── KPI strip ────────────────────────────────────────── */
.ac-kpi-v { font-size:clamp(1.8rem,3.4vw,2.5rem); font-weight:800; line-height:1.1; color:white; letter-spacing:-0.01em; }
.ac-kpi-v.ac-accent { color:var(--orange); }
.ac-kpi-v.ac-loss { color:#f87171; }
.ac-spark { margin-top:0.6rem; height:34px; width:100%; }
/* ── Online bars ──────────────────────────────────────── */
.ac-obar-track { height:6px; background:rgba(255,255,255,0.08); border-radius:3px; overflow:hidden; }
.ac-obar-fill { height:100%; background:var(--orange); border-radius:3px; width:0; transition:width 0.25s; opacity:0.85; }
.ac-gate { position:fixed; inset:0; z-index:50; display:flex; align-items:center; justify-content:center; padding:1rem; background:rgba(15,29,58,0.92); backdrop-filter:blur(4px); }
.ac-gate.hidden { display:none; }
.ac-gate-box { max-width:32rem; width:100%; background:var(--navy); border:1px solid rgba(255,255,255,0.12); border-radius:1rem; padding:1.75rem; }
.ac-gate-text { font-size:0.9rem; line-height:1.6; color:rgba(255,242,210,0.92); white-space:pre-wrap; }
.ac-gate-btn { width:100%; background:var(--orange); color:#16284f; font-weight:800; border:none; border-radius:0.6rem; padding:0.6rem 1rem; font-size:0.9rem; cursor:pointer; transition:opacity 0.15s; }
.ac-gate-btn:disabled { opacity:0.4; cursor:not-allowed; }
.ac-compare { width:100%; border-collapse:collapse; font-size:0.85rem; }
.ac-compare th, .ac-compare td { padding:0.55rem 0.75rem; text-align:center; border-bottom:1px solid rgba(255,255,255,0.08); color:rgba(255,242,210,0.9); }
.ac-compare thead th { font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,242,210,0.82); }
.ac-compare tbody td:first-child, .ac-compare thead th:first-child { text-align:left; color:rgba(255,242,210,0.88); font-weight:600; }
.ac-compare tbody tr:last-child td { border-bottom:none; }
.ac-compare-us { color:var(--orange) !important; font-weight:800; background:rgba(246,135,31,0.08); }
.ac-compare-no { color:rgba(255,242,210,0.9); }
.ac-reach-l { font-size:0.65rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,242,210,0.72); margin-bottom:0.3rem; }
.ac-reach-v { font-size:1.5rem; font-weight:800; color:white; line-height:1; }
.ac-reach-v.ac-accent { color:var(--orange); }
