/* ProfitHound app (profithound/app.html). One visual system for setup, results and the account.
   Same tokens as the landing page (profithound/index.html). Also skins the embedded Menu Cost screens
   (owner/menu-cost.js + owner/menu-cost-setup.js use oh-card / oh-meta / btn classes). */
:root {
  --ink:#13201a; --muted:#56635c; --bg:#f4f7f5; --card:#fff; --line:#dde5df; --line2:#eef2ef;
  --brand:#0f7a4a; --brand-ink:#fff; --brand-soft:#e6f3ec; --bad:#b42318; --bad-soft:#fdecea; --gold:#a15c00; --gold-soft:#fff4e0;
  --accent:var(--brand); --focus:#1a73e8; --shadow:0 1px 2px rgba(16,24,20,.05), 0 6px 24px -18px rgba(16,24,20,.35);
  --r:14px; --pad:20px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --ink:#eef3ef; --muted:#a3b0a8; --bg:#0d1310; --card:#151d19; --line:#26332c; --line2:#1c2621;
    --brand:#3fbf82; --brand-ink:#08130d; --brand-soft:#16291f; --bad:#ff8a7a; --bad-soft:#2c1714; --gold:#f2b35a; --gold-soft:#2a2112;
    --focus:#8ab4f8; --shadow:none; color-scheme: dark;
  }
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--ink); overflow-x:hidden; }
a { color:var(--brand); }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.wrap { max-width:1080px; margin:0 auto; padding:0 16px; }
h1 { font-size:26px; line-height:1.15; letter-spacing:-.02em; margin:0 0 6px; }
h2 { font-size:19px; line-height:1.25; letter-spacing:-.01em; margin:0 0 6px; }
h3 { font-size:16px; margin:18px 0 6px; }
p { margin:0 0 10px; }
.muted { color:var(--muted); font-size:14px; }
.lead { color:var(--muted); font-size:16px; margin:0 0 4px; max-width:640px; }
.kick { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--brand); }
.num { font-variant-numeric:tabular-nums; }

/* ---------- top bar + tabs ---------- */
.sample { background:var(--gold); color:#fff; text-align:center; font-weight:700; font-size:14px; padding:8px 16px; }
.sample a { color:#fff; }
@media (prefers-color-scheme: dark) { .sample, .sample a { color:#1b1203; } }
.top { background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.top .wrap { display:flex; align-items:center; gap:16px; min-height:58px; }
.logo { font-weight:800; font-size:20px; letter-spacing:-.02em; color:var(--ink); text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; gap:8px; }
.logo-mark { width:32px; height:32px; border-radius:8px; box-shadow:0 0 0 1px rgba(0,0,0,.08); }
.logo b { color:var(--brand); }
.who { margin-left:auto; display:flex; align-items:center; gap:8px; min-width:0; }
.who .biz { font-size:14px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
.tabs { display:flex; gap:2px; align-self:stretch; }
.tabs a { display:flex; align-items:center; gap:7px; padding:0 14px; color:var(--muted); text-decoration:none; font-weight:600; font-size:15px; border-bottom:3px solid transparent; margin-bottom:-1px; white-space:nowrap; }
.tabs a:hover { color:var(--ink); }
.tabs a[aria-current="page"] { color:var(--brand); border-bottom-color:var(--brand); }
.tabs svg { width:18px; height:18px; flex:none; }
.tabs .dot { width:8px; height:8px; border-radius:50%; background:var(--bad); }
@media (max-width:760px) {
  .who .biz { display:none; }
  .tabs { position:fixed; left:0; right:0; bottom:0; z-index:30; background:var(--card); border-top:1px solid var(--line); padding:4px 4px calc(4px + env(safe-area-inset-bottom)); justify-content:space-around; gap:0; }
  .tabs a { flex:1 1 0; min-width:0; flex-direction:column; gap:2px; padding:6px 2px; font-size:12px; border-bottom:0; border-radius:10px; margin:0; }
  .tabs a[aria-current="page"] { background:var(--brand-soft); }
  .tabs a .long { display:none; }
  body.has-tabs main { padding-bottom:96px; }
}
@media (min-width:761px) { .tabs a .short { display:none; } }

main.wrap { padding-top:24px; padding-bottom:64px; }

/* ---------- cards, buttons, forms ---------- */
.card, .oh-card { background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:var(--pad); margin:0 0 16px; box-shadow:var(--shadow); min-width:0; }
.card > :last-child, .oh-card > :last-child { margin-bottom:0; }
.card.flat { box-shadow:none; }
.card.hi { border:2px solid var(--brand); }
.card.warn { border-color:var(--gold); background:var(--gold-soft); box-shadow:none; }
.stack > * + * { margin-top:12px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.grid2 > .card { margin:0; }
@media (max-width:700px) { .grid2 { grid-template-columns:1fr; } }
.btn, button.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 18px; border-radius:10px; border:1.5px solid transparent; font:inherit; font-weight:700; font-size:15px; line-height:1.2; text-decoration:none; cursor:pointer; background:var(--brand); color:var(--brand-ink); text-align:center; }
.btn:hover { filter:brightness(1.05); }
.btn:disabled, .btn[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.btn-ghost, .btn.ghost { background:transparent; color:var(--brand); border-color:var(--line); }
.btn-ghost:hover, .btn.ghost:hover { border-color:var(--brand); filter:none; }
.btn.quiet { background:transparent; color:var(--muted); border-color:transparent; padding-left:8px; padding-right:8px; }
.btn.quiet:hover { color:var(--ink); }
.btn.danger { background:var(--bad); color:#fff; }
.btn-sm, .btn.sm { min-height:36px; padding:6px 12px; font-size:14px; }
.btn.wide { width:100%; }
.btn-primary { background:var(--brand); color:var(--brand-ink); }
.actions, .oh-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:14px; }
label.f { display:block; font-weight:600; font-size:14px; margin:14px 0 6px; }
label.f:first-child { margin-top:0; }
.hint { font-size:13px; color:var(--muted); margin-top:4px; }
input, select, textarea { font:inherit; color:var(--ink); background:var(--card); border:1.5px solid var(--line); border-radius:10px; padding:10px 12px; max-width:100%; }
input:not([type=checkbox]):not([type=radio]):not([type=file]), select, textarea { width:100%; min-height:44px; }
input:focus, select:focus, textarea:focus { border-color:var(--brand); outline:none; box-shadow:0 0 0 3px var(--brand-soft); }
textarea { min-height:120px; resize:vertical; }
input[type=checkbox], input[type=radio] { width:18px; height:18px; accent-color:var(--brand); margin:0; flex:none; }
.check { display:flex; gap:10px; align-items:flex-start; font-size:14px; margin-top:14px; }
.check input { margin-top:2px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:520px) { .row2 { grid-template-columns:1fr; } }
.inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.inline > input, .inline > select { flex:1 1 180px; width:auto; }
.msg { min-height:0; margin-top:10px; font-weight:600; font-size:14px; }
.msg:empty { display:none; }
.msg.bad { color:var(--bad); }
.msg.ok { color:var(--brand); }
.flash { padding:12px 14px; border-radius:12px; background:var(--brand-soft); color:var(--ink); font-weight:600; margin:0 0 16px; display:flex; gap:10px; align-items:flex-start; }
.flash.bad { background:var(--bad-soft); }
.flash button { margin-left:auto; background:none; border:0; color:var(--muted); font-size:18px; line-height:1; cursor:pointer; padding:0 2px; }
.pill { display:inline-block; font-size:12px; font-weight:700; padding:2px 9px; border-radius:999px; background:var(--brand-soft); color:var(--brand); white-space:nowrap; }
.pill.bad { background:var(--bad-soft); color:var(--bad); }
.pill.gold { background:var(--gold-soft); color:var(--gold); }
.pill.grey { background:var(--line2); color:var(--muted); }
.big { font-size:34px; font-weight:800; letter-spacing:-.02em; line-height:1.1; font-variant-numeric:tabular-nums; }
.big.bad { color:var(--bad); }
.big.good { color:var(--brand); }
.big small { font-size:15px; font-weight:600; color:var(--muted); letter-spacing:0; }
hr.sep { border:0; border-top:1px solid var(--line); margin:18px 0; }
.or { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:13px; font-weight:600; margin:18px 0; }
.or::before, .or::after { content:""; flex:1; border-top:1px solid var(--line); }
details.more { border-top:1px solid var(--line); margin-top:14px; padding-top:10px; }
details.more > summary { cursor:pointer; font-weight:600; color:var(--brand); list-style:none; }
details.more > summary::-webkit-details-marker { display:none; }
details.more > summary::before { content:"+ "; }
details.more[open] > summary::before { content:"– "; }
.tablewrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -4px; }
table.t { width:100%; border-collapse:collapse; font-size:14px; }
table.t th { text-align:left; color:var(--muted); font-weight:600; font-size:13px; padding:8px 6px; border-bottom:1px solid var(--line); white-space:nowrap; }
table.t td { padding:10px 6px; border-bottom:1px solid var(--line2); vertical-align:top; }
table.t td.n, table.t th.n { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.list { list-style:none; margin:0; padding:0; }
.list > li { display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line2); }
.list > li:last-child { border-bottom:0; padding-bottom:0; }
.list > li:first-child { padding-top:0; }
.list .grow { flex:1 1 auto; min-width:0; }
.list .sub { font-size:13px; color:var(--muted); }
.ico { flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-size:14px; font-weight:800; background:var(--line2); color:var(--muted); }
.ico.ok { background:var(--brand-soft); color:var(--brand); }
.ico.bad { background:var(--bad-soft); color:var(--bad); }
.addr { font:600 15px ui-monospace,Menlo,Consolas,monospace; background:var(--brand-soft); padding:10px 12px; border-radius:10px; word-break:break-all; }
.bar { height:8px; border-radius:999px; background:var(--line2); overflow:hidden; }
.bar i { display:block; height:100%; background:var(--brand); border-radius:999px; transition:width .3s; }
.empty { text-align:center; padding:28px 16px; }
.empty .big { font-size:26px; }

/* ---------- sign up ---------- */
.auth { display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:start; padding-top:12px; }
.auth h1 { font-size:clamp(28px,5vw,42px); line-height:1.08; letter-spacing:-.03em; margin-bottom:12px; }
.auth .pitch ul { list-style:none; padding:0; margin:18px 0 0; }
.auth .pitch li { display:flex; gap:12px; margin:0 0 14px; }
.auth .pitch li .ico { width:30px; height:30px; }
@media (max-width:820px) { .auth { grid-template-columns:1fr; gap:8px; } .auth .pitch ul { display:none; } }

/* ---------- guided setup ---------- */
.setup { display:grid; grid-template-columns:250px minmax(0,1fr); gap:28px; align-items:start; }
.steps-nav { position:sticky; top:82px; }
.steps-nav ol { list-style:none; margin:0; padding:0; }
.steps-nav li a { display:flex; gap:10px; align-items:center; padding:9px 10px; border-radius:10px; text-decoration:none; color:var(--ink); font-weight:600; font-size:15px; }
.steps-nav li a:hover { background:var(--card); }
.steps-nav li a[aria-current="step"] { background:var(--card); box-shadow:inset 3px 0 0 var(--brand); }
.steps-nav .n { flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:800; background:var(--line); color:var(--muted); }
.steps-nav .done .n { background:var(--brand); color:var(--brand-ink); }
.steps-nav .current .n { background:var(--ink); color:var(--bg); }
.steps-nav .skipped .t::after { content:" · skipped"; font-weight:500; color:var(--muted); font-size:13px; }
.steps-nav .meta { margin:14px 10px 0; }
.stephead { margin-bottom:16px; }
.stephead .kick { margin-bottom:6px; }
.stephead .bar { margin:12px 0 0; display:none; }
.stepnav { display:flex; gap:10px; align-items:center; margin-top:4px; padding:14px 0; }
.stepnav .spacer { flex:1; }
.mini-steps { display:none; }
@media (max-width:820px) {
  .setup { grid-template-columns:1fr; gap:0; }
  .steps-nav { display:none; }
  .stephead .bar { display:block; }
  .mini-steps { display:block; margin-top:10px; }
  .mini-steps summary { font-size:14px; color:var(--brand); font-weight:600; cursor:pointer; }
  .mini-steps ol { list-style:none; padding:8px 0 0; margin:0; }
  .mini-steps li a { display:flex; gap:10px; padding:6px 0; color:var(--ink); text-decoration:none; font-size:15px; }
  .stepnav { position:sticky; bottom:0; z-index:15; background:var(--bg); border-top:1px solid var(--line); margin:0 -16px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .stepnav .btn { flex:1 1 auto; }
  .stepnav .btn.quiet { flex:0 0 auto; }
}
.choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:560px) { .choices { grid-template-columns:1fr; } }
.choice { display:flex; gap:12px; align-items:flex-start; border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; cursor:pointer; background:var(--card); }
.choice:hover { border-color:var(--brand); }
.choice input { margin-top:3px; }
.choice b { display:block; }
.choice span { font-size:13px; color:var(--muted); }
.choice:has(input:checked) { border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); background:var(--brand-soft); }
.drop { border:2px dashed var(--line); border-radius:14px; padding:22px 16px; text-align:center; cursor:pointer; background:var(--bg); }
.drop:hover, .drop.over { border-color:var(--brand); background:var(--brand-soft); }
.drop b { display:block; font-size:16px; margin-bottom:2px; }
ul.files { list-style:none; padding:0; margin:10px 0 0; font-size:14px; }
ul.files li { padding:8px 0; border-bottom:1px solid var(--line2); }
.ways { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.ways button { text-align:left; border:1.5px solid var(--line); background:var(--card); border-radius:12px; padding:12px; font:inherit; color:var(--ink); cursor:pointer; }
.ways button b { display:block; font-size:15px; }
.ways button span { display:block; font-size:13px; color:var(--muted); }
.ways button[aria-pressed="true"] { border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); background:var(--brand-soft); }
@media (max-width:560px) { .ways { gap:6px; } .ways button { padding:10px 8px; text-align:center; } .ways button span { display:none; } }
.rep { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto; gap:8px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line2); }
.rep:last-child { border-bottom:0; }
.rep .nm { font-weight:700; overflow-wrap:anywhere; }
.rep .x { background:none; border:0; color:var(--muted); font-size:20px; cursor:pointer; padding:4px 8px; }
.rep.wide { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) auto; }
@media (max-width:620px) { .rep, .rep.wide { grid-template-columns:1fr auto; } .rep .nm { grid-column:1; } .rep .x { grid-column:2; grid-row:1; } .rep > input, .rep > select { grid-column:1 / -1; } }
.status-line { display:flex; gap:10px; align-items:center; font-size:14px; padding:10px 12px; border-radius:10px; background:var(--line2); }
.status-line.ok { background:var(--brand-soft); }
.status-line b { font-variant-numeric:tabular-nums; }

/* ---------- results + plans ---------- */
.score { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.score .card { margin:0; display:flex; flex-direction:column; gap:6px; }
.score .card .actions { margin-top:auto; padding-top:8px; }
@media (max-width:700px) { .score { grid-template-columns:1fr; } }
.locks { list-style:none; padding:0; margin:8px 0 0; }
.locks li { display:flex; gap:10px; align-items:flex-start; padding:5px 0; font-size:15px; }
.locks li::before { content:""; flex:none; width:16px; height:20px; background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356635c' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.plan { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:20px; align-items:center; }
@media (max-width:700px) { .plan { grid-template-columns:1fr; } }
.plan .price { font-size:38px; font-weight:800; letter-spacing:-.02em; line-height:1; }
.plan .price small { font-size:16px; color:var(--muted); font-weight:600; }
.plan ul { margin:10px 0 0; padding-left:20px; }
.plan li { margin:4px 0; }
.opts { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:12px; }
.opts .card { margin:0; box-shadow:none; }
.sb { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.sb > div { border:1px solid var(--line); border-radius:12px; padding:12px; min-width:0; }
.sb .k { font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.sb .v { font-size:22px; font-weight:800; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
@media (max-width:520px) { .sb { grid-template-columns:1fr 1fr; } .sb > div:first-child { grid-column:1 / -1; } }
.next li a { font-weight:700; text-decoration:none; }
.next li .go { margin-left:auto; flex:none; }
.claim { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line2); font-size:14px; }
.claim:last-child { border-bottom:0; }
.claim .grow { min-width:0; overflow-wrap:anywhere; }
.claim .btn { flex:none; }
.sect-title { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:26px 0 10px; }
.sect-title h2 { margin:0; }

/* ---------- embedded Menu Cost (owner/menu-cost*.js) ---------- */
.oh-card > b:first-child { font-size:17px; }
.oh-meta { color:var(--muted); font-size:14px; }
p.oh-meta { margin:6px 0 10px; }
#mcBox, #mcsBox { min-width:0; }
#mcBox .mc-row input, #mcBox .mc-row select, #mcsBox .mc-row input, #mcsBox .mc-row select { width:auto; min-height:38px; padding:6px 10px; }
#mcBox .mc-row input[type=number], #mcsBox input[type=number] { max-width:110px; }
#mcsBox .mcs-row input:not([type=checkbox]), #mcsBox .mcs-row select { width:auto; min-height:38px; padding:6px 10px; }
#mcsBox .mcs-row .nm input { width:100%; }
#mcBox .pl-table { width:100%; border-collapse:collapse; font-size:14px; }
#mcBox .pl-table th { text-align:left; color:var(--muted); font-weight:600; font-size:13px; padding:8px 6px; border-bottom:1px solid var(--line); }
#mcBox .pl-table td { padding:10px 6px; border-bottom:1px solid var(--line2); vertical-align:top; }
#mcBox .mc-q { border-left-color:var(--gold); background:var(--gold-soft); }
#mcBox .mc-flash, #mcsBox .mc-flash { background:var(--brand-soft); font-weight:600; }
#mcBox .mc-big { font-variant-numeric:tabular-nums; }
#mcBox .mc-hero { gap:24px; }
#mcBox details.mc-d { border-bottom:1px solid var(--line2); padding:10px 0; }
#mcBox .mc-more { width:auto; min-height:38px; }
#mcsBox .mcs-list { border-color:var(--line); }
#mcsBox .mcs-row { border-bottom-color:var(--line2); }
#mcsBox .mcs-bar i, #mcBox .mcs-bar i { background:var(--brand); }
#mcsBox label.oh-meta { display:inline-flex; gap:6px; align-items:center; flex-wrap:wrap; }
#mcsBox .mcs-stepper button .n { background:var(--line); }
#mcsBox .mcs-stepper button.on .n { background:var(--brand); color:var(--brand-ink); }
#mcsBox .mcs-role select { width:100%; }

/* ---------- misc ---------- */
.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%, 140%); background:var(--ink); color:var(--bg); padding:12px 18px; border-radius:12px; font-weight:600; font-size:14px; max-width:min(92vw,460px); text-align:center; transition:transform .25s; z-index:50; }
.toast:not(.on) { visibility:hidden; }
.toast.on { transform:translate(-50%,0); }
@media (max-width:760px) { .toast { bottom:92px; } }
.skeleton { color:var(--muted); padding:32px 0; text-align:center; }
.danger-zone { border-color:var(--bad-soft); }
/* the setup wizard can paint before owner/menu-cost.js injects its own CSS */
#mcBox .mc-row, #mcsBox .mc-row { display:flex; gap:8px 14px; flex-wrap:wrap; align-items:center; }
#mcBox .mc-flash, #mcsBox .mc-flash { padding:10px 12px; border-radius:10px; margin:0 0 12px; }
#mcsBox .oh-actions .btn, #mcBox .oh-actions .btn { min-height:40px; }
/* Fix list on a phone: one card per item instead of a sideways-scrolling table */
@media (max-width:640px) {
  #mcBox .mc-pt { overflow:visible; }
  #mcBox .mc-pt table { min-width:0; display:block; }
  #mcBox .mc-pt tbody { display:block; }
  #mcBox .mc-pt tr { display:flex; flex-wrap:wrap; gap:10px 0; position:relative; padding:12px 0 12px 34px; border-bottom:1px solid var(--line2); }
  #mcBox .mc-pt tr:first-child { display:none; }
  #mcBox .mc-pt td { display:block; border:0; padding:0; }
  #mcBox .mc-pt td.mc-ck { position:absolute; left:0; top:14px; }
  #mcBox .mc-pt td.mc-nm { flex:1 1 100%; }
  #mcBox .mc-pt td[data-l] { flex:0 0 33.33%; font-variant-numeric:tabular-nums; font-weight:600; padding-right:6px; }
  #mcBox .mc-pt td[data-l]::before { content:attr(data-l); display:block; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
  #mcBox .mc-pt td[data-l] input { width:100%; max-width:100px !important; min-height:36px; }
}
.mob { display:none; }
@media (max-width:560px) {
  .desk { display:none; }
  .mob { display:block; }
  .claim { flex-wrap:wrap; }
  .claim .grow { flex:1 1 100%; }
}
@media (min-width:900px) { .setgrid { columns:2; column-gap:16px; } .setgrid > .card { break-inside:avoid; display:inline-block; width:100%; } }
.setgrid .rep.wide { grid-template-columns:1fr 1fr; } .setgrid .rep.wide .nm { grid-column:1 / -1; }

/* Fraud Alert reuses the hub's Loss watch markup */
#lwBox .oh-card { background: var(--card, #fff); border: 1px solid var(--line, #e5e5e5); border-radius: 14px; padding: 12px 14px; margin: 0 0 10px; }
#lwBox .oh-copy { color: var(--muted, #666); font-size: 14px; }
#lwBox .oh-h3 { font-size: 16px; margin: 14px 0 8px; }
#lwBox .btn-sm { font-size: 13px; padding: 6px 10px; }
#lwBox table th, #lwBox table td { padding: 6px 8px; font-size: 13px; border-top: 1px solid var(--line, #eee); }

/* Fraud Alert teaser + plans */
.fa-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.fa-nums div{background:rgba(127,127,127,.08);border-radius:10px;padding:10px;text-align:center}
.fa-nums b{display:block;font-size:1.6rem;line-height:1.1}
.fa-nums b.red{color:#c62828}
.fa-nums span{font-size:.8rem;opacity:.75}
.fa-kinds{margin:6px 0 10px 18px;padding:0}
.fa-lock{padding:10px 12px;border-radius:10px;background:rgba(198,40,40,.08);font-weight:600}
.fa-plans .fa-plan{border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:12px;margin-top:10px;display:grid;gap:8px}
.fa-plans .fa-plan.best{border:2px solid #c62828}
@media (max-width:560px){.fa-nums{grid-template-columns:repeat(2,1fr)}}

/* Smart Order */
.so-rules input[type=number]{width:80px}
.so-days label{display:inline-flex;gap:2px;margin-right:6px;font-size:.85rem}
.so-match{border-top:1px solid rgba(127,127,127,.2);padding:10px 0}
.so-match table,.so-sheet table{width:100%;border-collapse:collapse;margin-top:6px;font-size:.92rem}
.so-match td,.so-sheet td,.so-sheet th{padding:5px 6px;border-bottom:1px solid rgba(127,127,127,.12);text-align:left;vertical-align:middle}
.so-match tr.best td{background:rgba(46,125,50,.09)}
.so-lock{display:inline-block;margin-top:6px;font-size:.9rem}
.so-sheet{border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:12px;margin-top:12px}
.so-sh-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:1.05rem}
.so-sh-foot{margin-top:6px;font-size:.9rem;opacity:.8}
.so-need{width:64px}
.so-swap{color:#2e7d32;font-weight:600}
@media print{#tabs,header,.so-rules,#soBox>.card:not(:last-child),.actions,.flash{display:none!important}.so-sheet{break-inside:avoid}}
