/* Trading Desk v5.6b — dark, bold, mobile-first, text-first. System fonts only, CSS-only visuals (no web fonts; the only
   images are the DEC-016 brand wordmark, about 11 KB, one per theme: low bandwidth). Original styling; not derived from any other brand's assets. Scoped to .k56 so the host layout is untouched.
   v5.6b (Altura review): more space, fewer borders, bigger key numbers, ONE card radius (--r) and ONE control radius (--rc),
   one filled primary button per screen (.k56-btn); everything else is ghost / text. */
/* DEC-20261030-009: dark and light themes. Dark is the base; light follows the phone (prefers-color-scheme) unless the
   header toggle stored a choice (localStorage "k56-theme" -> html[data-k56-theme]). The attribute is set by an inline script
   before any .k56 markup, so there is no flash of the wrong theme. All colours below are tokens; ratios checked for WCAG AA. */
.k56{--bg:#0B0B0F;--panel:#14141B;--panel2:#1C1C26;--line:#262632;--text:#F5F5F7;--muted:#A1A1AE;--dim:#8E8E9B;
  --hot:#FF453A;--sun:#FFD60A;--ok:#30D158;--warn:#FF9F0A;--btn:#D70015;--onbtn:#FFFFFF;--ontab:#111111;--sel:#211418;
  --track:#3A3A48;--tick:#6A6A78;--ok-bg:rgba(48,209,88,.15);--sun-bg:rgba(255,214,10,.15);--warn-bg:rgba(255,159,10,.15);--hot-bg:rgba(255,69,58,.15);
  --glow1:rgba(255,59,48,.16);--glow2:rgba(255,214,10,.08);--glow3:rgba(255,59,48,.22);--glow4:rgba(255,214,10,.12);--btnshadow:rgba(215,0,21,.6);--herostart:#FFFFFF;color-scheme:dark;--r:22px;--rc:14px;--gap:20px;
  background:radial-gradient(900px 420px at 85% -120px,var(--glow1),transparent 70%),radial-gradient(700px 380px at -10% 0,var(--glow2),transparent 70%),var(--bg);
  color:var(--text);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  margin:0 auto;padding:20px 18px 64px;min-height:100vh;box-sizing:border-box;-webkit-font-smoothing:antialiased}
@media(prefers-color-scheme:light){html:not([data-k56-theme=dark]) .k56{--bg:#F4F4F7;--panel:#FFFFFF;--panel2:#E9E9EF;--line:#D4D4DD;--text:#0B0B0F;--muted:#4A4A57;--dim:#5C5C69;
  --hot:#C4000F;--sun:#7A5600;--ok:#146A2A;--warn:#A04A00;--btn:#C4000F;--onbtn:#FFFFFF;--ontab:#FFFFFF;--sel:#FDECEC;
  --track:#C9C9D3;--tick:#8A8A97;--ok-bg:rgba(20,106,42,.12);--sun-bg:rgba(138,97,0,.12);--warn-bg:rgba(160,74,0,.12);--hot-bg:rgba(196,0,15,.12);
  --glow1:rgba(255,59,48,.10);--glow2:rgba(255,190,10,.12);--glow3:rgba(196,0,15,.10);--glow4:rgba(138,97,0,.10);--btnshadow:rgba(196,0,15,.35);--herostart:#0B0B0F;color-scheme:light}}
html[data-k56-theme=light] .k56{--bg:#F4F4F7;--panel:#FFFFFF;--panel2:#E9E9EF;--line:#D4D4DD;--text:#0B0B0F;--muted:#4A4A57;--dim:#5C5C69;
  --hot:#C4000F;--sun:#7A5600;--ok:#146A2A;--warn:#A04A00;--btn:#C4000F;--onbtn:#FFFFFF;--ontab:#FFFFFF;--sel:#FDECEC;
  --track:#C9C9D3;--tick:#8A8A97;--ok-bg:rgba(20,106,42,.12);--sun-bg:rgba(138,97,0,.12);--warn-bg:rgba(160,74,0,.12);--hot-bg:rgba(196,0,15,.12);
  --glow1:rgba(255,59,48,.10);--glow2:rgba(255,190,10,.12);--glow3:rgba(196,0,15,.10);--glow4:rgba(138,97,0,.10);--btnshadow:rgba(196,0,15,.35);--herostart:#0B0B0F;color-scheme:light}
html[data-k56-theme=dark] .k56{--bg:#0B0B0F;--panel:#14141B;--panel2:#1C1C26;--line:#262632;--text:#F5F5F7;--muted:#A1A1AE;--dim:#8E8E9B;
  --hot:#FF453A;--sun:#FFD60A;--ok:#30D158;--warn:#FF9F0A;--btn:#D70015;--onbtn:#FFFFFF;--ontab:#111111;--sel:#211418;
  --track:#3A3A48;--tick:#6A6A78;--ok-bg:rgba(48,209,88,.15);--sun-bg:rgba(255,214,10,.15);--warn-bg:rgba(255,159,10,.15);--hot-bg:rgba(255,69,58,.15);
  --glow1:rgba(255,59,48,.16);--glow2:rgba(255,214,10,.08);--glow3:rgba(255,59,48,.22);--glow4:rgba(255,214,10,.12);--btnshadow:rgba(215,0,21,.6);--herostart:#FFFFFF;color-scheme:dark}
.k56 *{box-sizing:border-box}
.k56 a{color:var(--sun);text-decoration:none}
.k56 a:hover{text-decoration:underline}
.k56 h1{font-size:34px;line-height:1.05;font-weight:900;letter-spacing:-.03em;margin:10px 0 8px}
.k56 h2{font-size:20px;font-weight:800;margin:0 0 12px;letter-spacing:-.01em}
.k56 h3{font-size:15px;font-weight:800;margin:0 0 10px;color:var(--muted);letter-spacing:.01em}
.k56 p{margin:0 0 12px}
.k56 .sub{color:var(--muted);margin-bottom:28px;font-size:17px}
.k56 .tiny{font-size:12px;color:var(--dim)}
.k56 .muted{color:var(--muted)}
.k56-wrap{max-width:860px;margin:0 auto}
@media(min-width:640px){.k56 h1{font-size:46px}.k56{padding:28px 28px 80px}}
/* top bar: plain links, no borders */
.k56-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 18px;margin-bottom:8px;flex-wrap:wrap}
.k56-logo{font-weight:900;font-size:19px;letter-spacing:-.03em;color:var(--text)!important}
.k56-nav{display:flex;gap:4px;flex-wrap:wrap}
.k56-nav a{padding:8px 12px;border-radius:999px;color:var(--muted);font-weight:700;font-size:14px}
.k56-nav a.on{background:var(--panel2);color:var(--text)}
.k56-testbar{color:var(--dim);font-size:12px;padding:0 0 14px}
/* buttons: ONE filled primary per screen */
.k56-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:999px;border:0;
  font:inherit;font-weight:800;font-size:16px;cursor:pointer;background:var(--btn);color:var(--onbtn);text-decoration:none!important;box-shadow:0 10px 30px -12px var(--btnshadow)}
.k56-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.k56-btn--ghost{background:var(--panel2);color:var(--text);box-shadow:none}
.k56-btn--text{background:transparent;color:var(--muted);box-shadow:none;padding:0 12px}
.k56-btn--hero{min-height:58px;padding:0 32px;font-size:17px}
.k56-btn--block{width:100%}
.k56-btn--sm{min-height:40px;padding:0 16px;font-size:14px}
.k56-link{background:none;border:0;color:var(--sun);font:inherit;font-weight:700;font-size:14px;cursor:pointer;padding:0}
/* cards: no borders, one radius */
.k56-card{background:var(--panel);border-radius:var(--r);padding:22px;margin-bottom:16px}
.k56-cardhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.k56-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.k56-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.k56-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.k56-h2gap{margin-top:32px}
.k56-empty{text-align:center;padding:56px 20px}
/* hero (step 1) */
.k56-hero h1{background:linear-gradient(95deg,var(--herostart) 30%,var(--sun) 70%,var(--hot));-webkit-background-clip:text;background-clip:text;color:transparent}
.k56-q{margin-bottom:8px;animation:k56in .25s ease-out}
@keyframes k56in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.k56-q{animation:none}}
/* My ads */
.k56-group{display:flex;align-items:center;gap:10px;margin:32px 0 14px;font-size:18px}
.k56-count{font-size:12px;color:var(--muted);background:var(--panel2);border-radius:999px;padding:2px 9px}
.k56-adcard{display:block;min-width:0;color:var(--text)!important;text-decoration:none!important;transition:background .15s}
.k56-adcard:hover{background:var(--panel2)}
.k56-adcard--action{box-shadow:inset 0 0 0 2px var(--hot)}
.k56-adcard__why{font-size:14px;color:var(--muted);margin:10px 0 0}
.k56-adcard .row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px}
.k56-adcard .name{font-weight:800;font-size:19px;min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.k56-adcard .row{align-items:flex-start}.k56-adcard .row>.k56-pill{flex:none}
.k56-bar{height:6px;background:var(--track);border-radius:99px;overflow:hidden;margin:16px 0 12px}
.k56-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--hot),var(--sun))}
.k56-kv{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.k56-kv b{display:block;color:var(--text);font-size:17px;font-weight:800}
/* status pills */
.k56-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:var(--panel2);color:var(--muted)}
.k56-pill--live{background:var(--ok-bg);color:var(--ok)}
.k56-pill--in_review{background:var(--sun-bg);color:var(--sun)}
.k56-pill--paused{background:var(--warn-bg);color:var(--warn)}
.k56-pill--needs{background:var(--btn);color:var(--onbtn)}
.k56-pill--rejected{background:var(--hot-bg);color:var(--hot)}
.k56-pill--est{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-weight:700}
/* DEC-018c: radio's booking status and turnaround (no provider named anywhere a customer looks) */
.k56-pill--booking{background:var(--sun-bg);color:var(--sun);font-style:normal;margin-top:6px}
.k56-choice span .k56-pill--booking{display:inline-block}
.k56-spec li.k56-booking{font-weight:700}
.k56-two{display:grid;gap:10px;grid-template-columns:1fr 1fr}
/* wallet: compact strip (My ads) + three reconciled amounts (Wallet) */
.k56-walletstrip{display:flex;align-items:center;gap:6px 22px;flex-wrap:wrap;background:var(--panel);border-radius:var(--r);padding:14px 20px;margin:8px 0 8px;color:var(--text)!important;text-decoration:none!important}
.k56-walletstrip__ccy{font-size:12px;font-weight:800;color:var(--muted);width:100%}
@media(min-width:640px){.k56-walletstrip__ccy{width:auto}}
.k56-walletstrip__i small{display:block;font-size:11px;color:var(--dim);font-weight:700}
.k56-walletstrip__i b{font-size:16px;font-weight:900}
.k56-walletstrip__go{margin-left:auto;color:var(--muted)}
.k56-trio{display:grid;grid-template-columns:1fr;gap:12px;margin:8px 0 12px}
@media(min-width:640px){.k56-trio{grid-template-columns:repeat(3,1fr)}}
.k56-trio__i{background:var(--panel);border-radius:var(--r);padding:20px}
.k56-trio__i .l{font-size:13px;font-weight:800;color:var(--muted)}
.k56-trio__i .v{font-size:30px;font-weight:900;letter-spacing:-.03em;margin:4px 0}
.k56-w--avail .v{color:var(--ok)}
.k56-w--total{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
/* steps */
.k56-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 22px;padding:0;list-style:none}
.k56-steps li{font-size:12px;font-weight:800;color:var(--dim);border-top:3px solid var(--tick);padding-top:8px}
.k56-steps li.on{color:var(--text);border-color:var(--hot)}
.k56-steps li.done{color:var(--muted);border-color:var(--sun)}
.k56-panel{display:none}.k56-panel.on{display:block}
/* forms */
.k56 label.f{display:block;font-weight:800;font-size:17px;margin:28px 0 10px}
.k56 .hint{font-size:13px;color:var(--muted);margin-top:6px}
.k56 input[type=text],.k56 input[type=url],.k56 input[type=tel],.k56 input[type=number],.k56 input[type=date],.k56 select,.k56 input[type=file]{
  width:100%;min-height:52px;background:var(--panel2);color:var(--text);border:0;border-radius:var(--rc);padding:12px 16px;font:inherit}
.k56 input:focus,.k56 select:focus{outline:2px solid var(--sun);outline-offset:1px}
.k56-money{display:flex;align-items:center;background:var(--panel2);border-radius:var(--rc);padding-left:16px}
.k56-money span{font-weight:900;color:var(--muted)}
.k56-money input{border:0!important;background:transparent!important;font-size:22px!important;font-weight:900}
.k56-money--hero{padding-left:20px}
.k56-money--hero span{font-size:28px}
.k56-money--hero input{font-size:40px!important;min-height:76px!important;letter-spacing:-.02em}
.k56-budget label.f:first-child{margin-top:0}
.k56-choices{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:640px){.k56-choices--2{grid-template-columns:1fr 1fr}}
.k56-choice{position:relative;display:block;cursor:pointer}
.k56-choice input{position:absolute;opacity:0;pointer-events:none}
.k56-choice span{display:block;background:var(--panel);border-radius:var(--rc);padding:14px 16px;transition:background .12s}
.k56-choice:hover span{background:var(--panel2)}
.k56-choice span b{display:block}
.k56-choice span small{color:var(--muted);font-size:13px}
.k56-choice input:checked+span{box-shadow:inset 0 0 0 2px var(--hot);background:var(--sel)}
.k56-choice input:focus-visible+span{outline:2px solid var(--sun)}
.k56-chips{display:flex;flex-wrap:wrap;gap:8px}
.k56-chips .k56-choice span{padding:9px 16px;border-radius:999px;font-weight:700}
.k56 details{background:var(--panel);border-radius:var(--r);padding:0 22px;margin:14px 0}
.k56 details>summary{cursor:pointer;font-weight:800;padding:18px 0;list-style:none}
.k56 details>summary::-webkit-details-marker{display:none}
.k56 details>summary::after{content:"+";float:right;color:var(--muted)}
.k56 details[open]>summary::after{content:"–"}
.k56 details>summary .k56-privacy{font-weight:400;font-size:13px;margin-left:14px} /* DEC-20261030-007: privacy policy beside Full terms */
.k56 details>div{padding-bottom:18px}
.k56-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:28px}
.k56-sticky{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:18px 0 6px}
/* approve: the hero price */
.k56-pricehero{text-align:center;padding:30px 16px 26px;margin-bottom:16px;border-radius:var(--r);
  background:radial-gradient(420px 200px at 50% 0,var(--glow3),transparent 75%),var(--panel)}
.k56-pricehero .l{font-weight:800;color:var(--muted)}
.k56-pricehero .v{font-size:52px;font-weight:900;letter-spacing:-.04em;line-height:1.1;margin:6px 0 8px}
@media(min-width:640px){.k56-pricehero .v{font-size:68px}}
.k56-price .line,.k56-sum .line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:15px}
.k56-price .line+.line,.k56-sum .line+.line{box-shadow:0 -1px 0 var(--line)}
.k56-sum .line span:first-child,.k56-price .line span:first-child{color:var(--muted)}
.k56-sum .line span:last-child{text-align:right}
.k56-price .total{display:flex;justify-content:space-between;gap:12px;padding:14px 0 2px;margin-top:4px;box-shadow:0 -1px 0 var(--line);font-size:20px;font-weight:900}
.k56-msg{padding:14px 16px;border-radius:var(--rc);background:var(--panel2);margin:14px 0;font-size:14px;box-shadow:inset 4px 0 0 var(--sun)}
.k56-msg--bad{box-shadow:inset 4px 0 0 var(--hot)}
.k56-msg--good{box-shadow:inset 4px 0 0 var(--ok)}
/* ad page */
.k56-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:14px;color:var(--muted)}
.k56-facts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.k56-facts>div{background:var(--panel);border-radius:var(--rc);padding:10px 16px}
.k56-facts dt{font-size:11px;font-weight:800;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.k56-facts dd{margin:2px 0 0;font-weight:800}
.k56-controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.k56-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 12px}
@media(min-width:640px){.k56-stats{grid-template-columns:repeat(4,1fr)}}
.k56-stat{background:var(--panel);border-radius:var(--r);padding:18px}
.k56-stat .v{font-size:28px;font-weight:900;letter-spacing:-.03em;margin:2px 0}
.k56-stat .l{font-size:13px;color:var(--muted);font-weight:700}
.k56-stat--lead{grid-column:1/-1;background:radial-gradient(360px 160px at 0 0,var(--glow4),transparent 75%),var(--panel)}
.k56-stat--lead .v{font-size:44px}
@media(min-width:640px){.k56-stat--lead{grid-column:span 2}}
.k56-stat--off .v{font-size:24px;color:var(--muted)}
.k56-table{width:100%;border-collapse:collapse;font-size:14px}
.k56-table th{text-align:left;color:var(--dim);font-size:12px;font-weight:800;padding:8px 6px}
.k56-table td{padding:10px 6px;box-shadow:0 -1px 0 var(--line)}
.k56-check{display:flex;gap:12px;align-items:flex-start;margin:18px 0;font-weight:700}
.k56-check input{width:24px;height:24px;accent-color:var(--btn);flex:none;margin-top:1px}
.k56-doc-note{padding:12px 14px;border-radius:var(--rc);background:var(--panel2);color:var(--text)}
/* ops (dense on purpose: an internal tool) */
.k56-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px;-webkit-overflow-scrolling:touch}
.k56-tabs a{flex:0 0 auto;white-space:nowrap;padding:8px 14px;border-radius:999px;background:var(--panel);color:var(--muted);font-weight:800;font-size:14px}
.k56-tabs a.on{background:var(--sun);color:var(--ontab)}
.k56-ops table{width:100%;border-collapse:collapse;font-size:12px;background:var(--panel);border-radius:var(--rc);margin:8px 0 16px;display:block;overflow-x:auto}
.k56-ops th,.k56-ops td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.k56-ops th{color:var(--dim)}
.k56-ops code{color:var(--muted);font-size:11px;word-break:break-all}
.k56-ops h2{margin-top:22px}
.k56-opform{background:var(--panel);border-radius:var(--rc);padding:12px;margin:8px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.k56-opform strong{width:100%}
.k56-opform label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.k56-opform input,.k56-opform select{min-height:48px!important;width:auto!important;min-width:120px;padding:6px 10px!important;font-size:14px!important}
.k56-ops .cmp-doc-warning{color:var(--warn)}
.k56-ops .k56-btn{min-height:48px;padding:0 14px;font-size:13px;box-shadow:none}
/* v5.6b polish from the screenshot pass */
.k56-price .line span:last-child,.k56-price .total span:last-child{white-space:nowrap;text-align:right}
.k56-btn{white-space:nowrap}
.k56-actions .k56-btn:last-child{flex:1 1 auto;max-width:360px;white-space:normal}
.k56-walletstrip .k56-w--total{box-shadow:none}
.k56-walletstrip .k56-w--avail b{color:var(--ok)}
@media(min-width:640px){.k56-stats{grid-template-columns:repeat(3,1fr)}.k56-stat--lead{grid-column:1/-1}}
.k56-stat .v{white-space:nowrap;font-size:clamp(22px,6vw,28px)}
.k56-stat--lead .v{font-size:clamp(34px,10vw,44px)}
.k56-table td:not(:first-child){white-space:nowrap}
/* DEC-20261030-009: theme toggle (header) + theme-safe legal/ops boxes */
.k56-theme{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:0 14px;border:0;border-radius:999px;
  background:var(--panel2);color:var(--text);font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.k56-theme:focus-visible{outline:2px solid var(--sun);outline-offset:2px}
.k56-theme .ic{font-size:16px;line-height:1}
.k56-topr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.k56 .cmp-ops-note,.k56 .cmp-doc-warning{background:var(--panel2)!important;color:var(--text)}
.k56 .cmp-ops-note{border-color:var(--tick)!important}
.k56 .cmp-doc-warning{border-color:var(--warn)!important}
.k56 .k56-good{color:var(--ok)}.k56 .k56-bad{color:var(--hot)}
/* DEC-20261030-009 responsive pass (Jared: properly responsive, not a scaled-down phone view).
   Phones (<768): one column, sticky bottom action bar with safe-area padding that lifts above the keyboard (--k56-kb set by
   cmp_ui_kb_js from visualViewport). Tablet/desktop (>=768): the bar becomes an inline action; >=1024 the plan / summary sits
   beside the form. Targets: 48px for every client control (Altura rule, above the 44px HIG minimum). */
.k56-nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 14px}
.k56-theme{min-height:48px;min-width:48px}
.k56-chips .k56-choice span{min-height:48px;display:flex;align-items:center}
.k56-choice span{min-height:48px}
.k56-btn--sm{min-height:48px}
.k56-link{min-height:48px;min-width:48px;justify-content:center;padding:0 8px;display:inline-flex;align-items:center}
.k56 details>summary{min-height:56px}
.k56-check{min-height:48px;align-items:center}
.k56-sticky{z-index:5;padding-bottom:max(6px,env(safe-area-inset-bottom));transform:translateY(calc(-1 * var(--k56-kb,0px)))}
.k56 p,.k56 .hint,.k56 .sub{max-width:68ch}
.k56{overflow-wrap:anywhere}
.k56 .k56-pricehero .v,.k56-stat .v,.k56-trio__i .v{overflow-wrap:normal}
@media(max-width:359px){.k56{padding:16px 12px 56px}.k56 h1{font-size:28px}.k56-pricehero .v{font-size:40px}.k56-trio__i .v{font-size:26px}
  .k56-actions{gap:8px}.k56-actions .k56-btn{padding:0 16px}.k56-money--hero input{font-size:32px!important}}
@media(orientation:landscape) and (max-height:500px){.k56-sticky{position:static;background:none}.k56 h1{font-size:28px}}
@media(min-width:768px){.k56-sticky{position:static;background:none;padding:18px 0 0;transform:none}
  .k56-actions{justify-content:flex-end}.k56-actions .k56-btn:first-child{margin-right:auto}}
@media(min-width:1024px){
  .k56-wrap--wide{max-width:1120px}
  .k56-wrap--wide .k56-panel.on[data-panel="2"],.k56-wrap--wide .k56-panel.on[data-panel="3"]{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:32px;align-items:start}
  .k56-wrap--wide .k56-panel[data-panel="2"]>*,.k56-wrap--wide .k56-panel[data-panel="3"]>*{grid-column:1}
  .k56-wrap--wide #k56-plan,.k56-wrap--wide #k56-sum{grid-column:2;grid-row:1/span 30;position:sticky;top:24px}
  .k56-wrap--wide .k56-panel[data-panel="1"]{max-width:760px}
  .k56-ops .k56-opform{max-width:none}}
@media(min-width:1280px){.k56{padding:36px 40px 80px}}
@media(pointer:coarse){.k56-ops .k56-btn,.k56-opform input,.k56-opform select,.k56-tabs a{min-height:48px!important}.k56-tabs a{display:inline-flex;align-items:center}}

/* ── v5.6d DEC-20261030-010: sign-up / sign-in (one decision per screen, cards, bottom sheet) ───────────────────── */
.k56-body{margin:0;background:var(--k56-pagebg,#0B0B0F)}
@media(prefers-color-scheme:light){html:not([data-k56-theme=dark]) .k56-body{--k56-pagebg:#F4F4F7}}
html[data-k56-theme=light] .k56-body{--k56-pagebg:#F4F4F7}
html[data-k56-theme=dark] .k56-body{--k56-pagebg:#0B0B0F}
.k56-authpage{min-height:100vh;min-height:100dvh}
.k56-auth{max-width:480px}
.k56-top--auth{justify-content:space-between}
.k56-auth h1,.k56-auth .k56-auth__q{font-size:28px;line-height:1.2;margin:18px 0 8px;font-weight:800}
.k56-auth__step{margin:14px 0 6px;color:var(--muted);font-size:14px}
.k56-auth__bar{margin:0 0 6px}
.k56-auth__back{display:inline-flex;align-items:center;min-height:48px}
.k56 input[type=email],.k56 input[type=search],.k56 input[type=password]{width:100%;box-sizing:border-box;min-height:52px;padding:12px 14px;font-size:17px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}
.k56 input[type=email]:focus,.k56 input[type=search]:focus{outline:2px solid var(--sun);outline-offset:1px}
.k56 input[aria-invalid=true]{border-color:var(--hot)}
.k56-sso{display:grid;gap:12px;margin-top:22px}
.k56-sso form{margin:0}
.k56-sso__b{min-height:56px;justify-content:center;gap:10px;display:flex;align-items:center;font-size:17px}
.k56-sso__ic{width:20px;height:20px;border-radius:50%;background:var(--muted);flex:none}
.k56-sso__ic--google{background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0)}
.k56-sso__ic--microsoft{border-radius:2px;background:linear-gradient(90deg,#F25022 50%,#7FBA00 0) top/100% 50% no-repeat,linear-gradient(90deg,#00A4EF 50%,#FFB900 0) bottom/100% 50% no-repeat}
.k56-sso__ic--apple{background:var(--text)}
.k56-or{display:flex;align-items:center;gap:12px;color:var(--muted);margin:6px 0}
.k56-or:before,.k56-or:after{content:"";flex:1;height:1px;background:var(--line)}
.k56-code{font-size:28px !important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}
.k56-phone{display:flex;gap:8px;align-items:stretch}
.k56-phone__cc{display:flex;align-items:center;padding:0 14px;min-height:52px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-weight:700;font-size:17px}
.k56-phone input{flex:1;min-width:0}
.k56-fs{border:0;margin:0;padding:0;min-width:0}
.k56-ccpick{width:100%;text-align:left;cursor:pointer;margin-top:12px;border:0;padding:0;background:none;font:inherit;color:inherit;-webkit-appearance:none;appearance:none}
.k56-ccrow{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);margin:0 0 8px;cursor:pointer}
.k56-ccrow input{width:22px;height:22px;accent-color:var(--hot);flex:none}
.k56-ccrow span{display:flex;flex-direction:column}
.k56-ccrow small{color:var(--muted);font-size:14px}
.k56-ccrow:has(input:checked){border-color:var(--hot);background:var(--sel)}
.k56-ccrow[hidden]{display:none}
.k56-sheet__sec{margin:16px 0 8px;font-size:14px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.k56-sheet__head{display:flex;gap:8px;align-items:center;position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:1}
/* with JS the list becomes a bottom sheet; without JS it stays an inline list of cards */
#k56-ccform.js .k56-sheet{display:none}
#k56-ccform.js .k56-sheet.open{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;max-height:85vh;max-height:85dvh;z-index:50;background:var(--bg);
  border-radius:20px 20px 0 0;box-shadow:0 -8px 40px rgba(0,0,0,.45),0 0 0 100vmax rgba(0,0,0,.55);padding:12px 16px max(12px,env(safe-area-inset-bottom));box-sizing:border-box}
#k56-ccform.js .k56-sheet.open .k56-sheet__body{overflow-y:auto;overscroll-behavior:contain}
@media(min-width:768px){#k56-ccform.js .k56-sheet.open{left:50%;right:auto;width:480px;transform:translateX(-50%);bottom:auto;top:8vh;border-radius:20px;max-height:84vh}}
.k56-noscroll{overflow:hidden}
.k56-sheet__x{flex:none}

/* DEC-20261030-009 theme audit fixes (v5.6d QA): field edges at 3:1 (WCAG 1.4.11) in both themes, 48px targets everywhere,
   filled buttons that are links keep their button colours, long ad names wrap instead of pushing the page sideways. */
.k56 input[type=text],.k56 input[type=url],.k56 input[type=tel],.k56 input[type=number],.k56 input[type=date],.k56 select,.k56 input[type=file],
.k56 input[type=email],.k56 input[type=search],.k56 input[type=password],.k56 textarea{border:1px solid var(--tick)}
.k56-money{box-shadow:inset 0 0 0 1px var(--tick)}
.k56 input[aria-invalid=true]{border-color:var(--hot)}
.k56 a.k56-btn{color:var(--onbtn)}
.k56 a.k56-btn--ghost{color:var(--text)}
.k56-logo{display:inline-flex;align-items:center;min-height:48px}
.k56-table td a,.k56-tabs a{display:inline-flex;align-items:center;min-height:48px}
.k56-tabs a{min-width:48px;justify-content:center}
.k56 details>summary .k56-privacy{display:inline-flex;align-items:center;min-height:48px}
.k56-back{padding:0;font-size:14px}

/* v5.6d QA: a balance below zero never shows in the 'good' green (seen with the harness host wallet stand-in) */
.k56 .k56-w--neg b,.k56 .k56-w--neg .v{color:var(--hot)}
/* v5.6e DEC-20261030-012: count badge on the Operations 'New sign-ups' tab */
.k56 .k56-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;margin-left:6px;border-radius:999px;background:var(--hot);color:#fff;font-size:12px;font-weight:900;line-height:1}
/* DEC-20261030-016: brand block = KIFALME wordmark image + only the words "Trading Desk" beneath it, spanning the wordmark's
   width. Theme tokens pick the artwork: black letters on light, white letters (red ring, outlined Africa) on dark. */
.k56{--k56-logo-l:none;--k56-logo-d:block}
@media(prefers-color-scheme:light){html:not([data-k56-theme=dark]) .k56{--k56-logo-l:block;--k56-logo-d:none}}
html[data-k56-theme=light] .k56{--k56-logo-l:block;--k56-logo-d:none}
html[data-k56-theme=dark] .k56{--k56-logo-l:none;--k56-logo-d:block}
.k56-brand{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-decoration:none;line-height:1;font-weight:600;letter-spacing:0}
.k56-brand__img{width:144px;height:40px;max-width:none;flex:none}
.k56-brand__img--light{display:var(--k56-logo-l)}
.k56-brand__img--dark{display:var(--k56-logo-d)}
.k56-brand__cap{display:block;width:144px}
.k56-brand__l{display:flex;justify-content:space-between;font:600 11px/1 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text)}
.k56-brand__l i{font-style:normal}
.k56-brand__l .sp{width:.5em}
.k56-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* compact phone header: wordmark + caption at most 40 px tall (28 + 3 + 9) */
@media(max-width:480px){
  .k56-brand{gap:3px}
  .k56-brand__img{width:100px;height:28px}
  .k56-brand__cap{width:100px}
  .k56-brand__l{font-size:9px}
  /* the light/dark toggle shares the brand row; the tabs wrap below it (one row less on phones) */
  .k56-top{padding-bottom:10px;margin-bottom:4px}
  .k56-top>.k56-brand{order:0}
  .k56-top>.k56-theme{order:1;margin-left:auto}
  .k56-top>.k56-nav{order:2;flex-basis:100%}
}
/* v5.6f DEC-20261031-018 per-channel journeys */
.k56 textarea{width:100%;box-sizing:border-box;min-height:96px;background:var(--panel2);color:var(--text);border-radius:var(--rc);padding:12px 16px;font:inherit;resize:vertical}
.k56 textarea:focus{outline:2px solid var(--sun);outline-offset:1px}
.k56-spec ul{margin:8px 0 0;padding-left:20px}
.k56-spec li{margin:6px 0;color:var(--muted)}
.k56-countline{margin:6px 0 0;min-height:20px}
.k56-count{font-size:14px;color:var(--dim)}
.k56-count--bad{color:var(--hot);font-weight:700}
.k56-check--consent{font-weight:400}
#k56-file-msg{margin-top:8px;font-size:14px;color:var(--muted)}
#k56-file-msg.k56-count--bad{color:var(--hot)}
/* DEC-20261031-019: first-run journey (WhatsApp Flows style). Phones: a bottom sheet above the safe area; >=768: a centred
   card. Theme tokens only, so it follows light / dark. It never blocks the page behind it (no backdrop): skip is always one tap. */
.k56-onb{position:fixed;inset:auto 0 0 0;z-index:60;display:flex;justify-content:center;pointer-events:none;padding:0 0 env(safe-area-inset-bottom)}
.k56-onb[hidden]{display:none}
.k56-onb__card{pointer-events:auto;width:100%;max-width:520px;background:var(--panel);color:var(--text);border:1px solid var(--line);
  border-radius:var(--r) var(--r) 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.35);padding:16px 20px 20px;max-height:70vh;overflow:auto}
@media(min-width:768px){.k56-onb{inset:auto 0 32px 0}.k56-onb__card{border-radius:var(--r);box-shadow:0 18px 60px rgba(0,0,0,.35)}}
.k56-onb__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.k56-onb__head .k56-brand__img{width:108px;height:auto}
.k56-onb__x{min-width:48px;min-height:48px;border:0;border-radius:999px;background:var(--panel2);color:var(--text);font-size:22px;line-height:1;cursor:pointer}
.k56-onb__dots{display:flex;gap:6px;list-style:none;margin:12px 0 4px;padding:0}
.k56-onb__dots li{height:6px;flex:1;max-width:36px;border-radius:999px;background:var(--track)}
.k56-onb__dots li.done{background:var(--tick)}.k56-onb__dots li.on{background:var(--btn)}
.k56-onb__count{margin:6px 0 0;color:var(--muted);font-size:13px;font-weight:700}
.k56-onb__t{margin:6px 0 4px;font-size:22px;line-height:1.2;outline:none}
.k56-onb__b{margin:0 0 12px;color:var(--muted);line-height:1.5;white-space:pre-line}
.k56-onb__go{display:inline-flex;align-items:center;min-height:48px;font-weight:800;color:var(--hot)}
.k56-onb__act{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px}
.k56-onb__act>span{display:flex;gap:8px}
.k56-onb-open .ic{font-weight:900}
/* icon-only everywhere: the desk header is narrow; the name is in aria-label and the tooltip */
.k56-onb-open .tx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.k56-onb-open{min-width:48px;justify-content:center}
/* DEC-20261031-019: booked-media progress on Track and the Ops bookings queue */
.k56-bk .k56-bk-steps{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.k56-bk-steps li{display:flex;align-items:center;gap:8px;color:var(--muted)}
.k56-bk-steps li::before{content:"";width:12px;height:12px;border-radius:999px;border:2px solid var(--tick);flex:none}
.k56-bk-steps li.is-done{color:var(--text)}.k56-bk-steps li.is-done::before{background:var(--ok);border-color:var(--ok)}
.k56-bk-steps li.is-on{color:var(--text);font-weight:800}.k56-bk-steps li.is-on::before{border-color:var(--sun);background:var(--sun-bg)}
.k56-bkq{display:grid;gap:12px}
.k56-bkq__card{border:1px solid var(--line);border-radius:var(--rc);padding:14px;background:var(--panel)}
.k56-bkq__card[data-timer=overdue]{border-color:var(--hot)}.k56-bkq__card[data-timer=due_soon]{border-color:var(--warn)}
.k56-timer{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:800;background:var(--panel2);color:var(--text)}
.k56-timer--overdue{background:var(--hot-bg);color:var(--hot)}.k56-timer--due_soon{background:var(--warn-bg);color:var(--warn)}
.k56-timer--on_track,.k56-timer--met{background:var(--ok-bg);color:var(--ok)}.k56-timer--met_late{background:var(--warn-bg);color:var(--warn)}
.k56-prov{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;border:1px dashed var(--warn);color:var(--warn)}

/* DEC-019: hidden controls in the journey sheet stay hidden (button display rules would otherwise win) */
.k56-onb[hidden], .k56-onb [hidden] { display: none !important; }
/* DEC-019: the "Show me around" button sits with the theme button; a tighter gap keeps one header row from 860px */
.k56-top:has(.k56-onb-open){gap:8px}
.k56-top>.k56-onb-open{margin-left:auto}
.k56-top>.k56-onb-open+.k56-theme{margin-left:0}
