/* Models on phones (user, 2026-11-03: "rebuild the entire models part of our website for mobile using our mobile theme").
   js/modeling-wb.js draws its own phone markup when html.aiq-phone is on at a phone width (#mw-root gets .mp): the
   company line, the model's name as the large title, the answer as the white hero card, the sheets as one row of pills,
   then each section as a plain title + white card. Tables scroll sideways in their own box with the label column pinned.
   The finance look (css/aiq-phone-pin.css, aiq-phone-theme.css): grey page, white 22px cards, ink #101112, muted
   #80868F, the one accent #455DDC, gains #0d8a66 / losses #c8203f. Loaded with media="(max-width: 767px)": every rule
   stays inside. */
@media (max-width: 767px) {
  html.aiq-phone #mw-root.mp { --mp-ink: #101112; --mp-mut: #80868F; --mp-line: rgba(15,17,21,.07); --mp-fill: #F2F3F5; --mp-in: rgba(69,93,220,.08); --mp-acc: #455DDC;
    padding: 0 4px 24px !important; color: var(--mp-ink); font-family: Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; background: transparent !important; }
  /* the panel around it takes the grey page (no white band behind the cards) */
  html.aiq-phone #tab-modeling:has(> #mw-root.mp), html.aiq-phone #tab-modeling:has(#mw-root.mp) { background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  /* the stock page's big page title + company line: the model draws its own (below) */
  html.aiq-phone:has(#mtab-modeling.active-tab) #pfp-t { display: none !important; }
  /* …and the header's large page name ("Models"): the model's name is the title, the header keeps ‹ and its buttons */
  html.aiq-phone:has(#mtab-modeling.active-tab):has(#mw-root.mp) #ph-th .ph-th-t:not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone:has(#mtab-modeling.active-tab) main .at-ft:not(#_):not(#_) { display: none !important; }

  /* ── header: company line, large title, quiet meta line ── */
  html.aiq-phone #mw-root.mp .mp-hd { padding: 4px 2px 14px; }
  html.aiq-phone #mw-root.mp .mp-co { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--mp-mut); font-size: 14px; font-weight: 500; }
  html.aiq-phone #mw-root.mp .mp-co .mw-logo { flex: none; width: 22px; height: 22px; border-radius: 50%; object-fit: contain; background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--mp-line); }
  html.aiq-phone #mw-root.mp .mp-co .mw-lt { display: grid; place-items: center; font-size: 11px; font-weight: 600; color: var(--mp-mut); }
  html.aiq-phone #mw-root.mp .mp-co b { color: var(--mp-ink); font-weight: 600; }
  html.aiq-phone #mw-root.mp .mp-co span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  html.aiq-phone #mw-root.mp .mp-h1:not(#_) { display: flex; align-items: center; gap: 4px; margin-top: 8px; }
  html.aiq-phone #mw-root.mp .mp-h1 .nm:not(#_) { flex: 1 1 auto; min-width: 0; padding: 0; font: 700 32px/1.1 Inter, system-ui, sans-serif; letter-spacing: -.03em; color: var(--mp-ink);
    white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; cursor: text; background: none; }
  html.aiq-phone #mw-root.mp .mp-h1 input:not(#_) { flex: 1 1 auto; min-width: 0; width: 100%; padding: 0; border: 0; outline: 0; background: none; font: 700 28px/1.1 Inter, system-ui, sans-serif; letter-spacing: -.03em; color: var(--mp-ink); }
  html.aiq-phone #mw-root.mp .mp-ib { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #FFFFFF; color: var(--mp-ink); font-size: 18px; -webkit-tap-highlight-color: transparent; }
  html.aiq-phone #mw-root.mp .mp-ib:active { background: #E6E8EC; }
  html.aiq-phone #mw-root.mp .mp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin-top: 8px; color: var(--mp-mut); font-size: 14px; font-weight: 500; }
  html.aiq-phone #mw-root.mp .mp-meta > span + span::before { content: "·"; margin: 0 6px; }
  html.aiq-phone #mw-root.mp .mp-meta .mw-saved:empty { display: none; }
  html.aiq-phone #mw-root.mp .mp-meta .mw-saved:not(#_) { display: inline-flex; align-items: center; gap: 4px; padding: 0; font-size: 14px; color: var(--mp-mut); background: none; }
  html.aiq-phone #mw-root.mp .mp-meta .mw-saved a { color: var(--mp-acc); font-weight: 600; text-decoration: none; }

  /* ── the answer: white hero card ── */
  html.aiq-phone #mw-root.mp .mp-hero { display: flex; flex-direction: column; margin: 0 0 14px; padding: 18px 18px 6px; border-radius: 22px; background: #FFFFFF; }
  html.aiq-phone #mw-root.mp .mp-hero .k { color: var(--mp-mut); font-size: 14px; font-weight: 500; }
  html.aiq-phone #mw-root.mp .mp-hero .big { margin-top: 6px; font-size: 40px; line-height: 1; font-weight: 700; letter-spacing: -.03em; }
  html.aiq-phone #mw-root.mp .mp-chg { margin-top: 8px; font-size: 14px; font-weight: 600; }
  html.aiq-phone #mw-root.mp .mp-chg.up { color: #0d8a66; } html.aiq-phone #mw-root.mp .mp-chg.dn { color: #c8203f; }
  html.aiq-phone #mw-root.mp .mp-rows { margin-top: 12px; }
  html.aiq-phone #mw-root.mp .mp-rows .r { display: flex; align-items: center; gap: 10px; min-height: 48px; border-top: 1px solid var(--mp-line); font-size: 15px; -webkit-tap-highlight-color: transparent; }
  html.aiq-phone #mw-root.mp .mp-rows .r > span { flex: 1 1 auto; min-width: 0; color: var(--mp-mut); }
  html.aiq-phone #mw-root.mp .mp-rows .r > b { font-weight: 600; white-space: nowrap; }
  html.aiq-phone #mw-root.mp .mp-rows .r > i { color: #B4B9C2; font-size: 14px; margin-right: -4px; }
  html.aiq-phone #mw-root.mp .mp-rows .r[data-tab] { cursor: pointer; }

  /* ── sheets: one row of pills that scrolls sideways (My screens' views), the open one charcoal ── */
  /* the pill row + ONE Adjust button at its end (every switch of the open sheet is in the Adjust sheet, user 2026-11-03) */
  html.aiq-phone #mw-root.mp .mp-bar { display: flex; align-items: center; gap: 8px; margin: 0 -16px 16px 0; }
  html.aiq-phone #mw-root.mp .mp-bar .mp-tabs:not(#_) { flex: 1 1 auto; min-width: 0; margin: 0 0 0 -16px; }
  html.aiq-phone #mw-root.mp .mp-adj { flex: none; width: 36px; height: 36px; margin-right: 12px; font-size: 18px; }
  html.aiq-phone #mw-root.mp .mp-tabs { display: flex; gap: 8px; margin: 0 -16px 12px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  html.aiq-phone #mw-root.mp .mp-tabs::-webkit-scrollbar { display: none; }
  html.aiq-phone #mw-root.mp .mp-tabs > button { flex: none; height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: #FFFFFF; color: var(--mp-ink); font: 500 15px/36px Inter, system-ui, sans-serif; white-space: nowrap; -webkit-tap-highlight-color: transparent; }
  html.aiq-phone #mw-root.mp .mp-tabs > button.on { background: #2B2D33; color: #FFFFFF; font-weight: 600; }
  html.aiq-phone #mw-root.mp .mp-case { margin: -2px 0 14px; }

  /* ── sections: plain title, switches row, white card ── */
  html.aiq-phone #mw-root.mp .mp-pane > * + * { margin-top: 0; }
  html.aiq-phone #mw-root.mp .mp-sec { margin: 0 0 18px; }
  html.aiq-phone #mw-root.mp .mp-st { display: flex; align-items: center; gap: 8px; margin: 0 4px 10px; }
  html.aiq-phone #mw-root.mp .mp-st h3:not(#_):not(#_), html.aiq-phone #mw-root.mp .mp-pane > .mw-st h3:not(#_):not(#_) { margin: 0; font: 650 19px/1.2 Inter, system-ui, sans-serif; letter-spacing: -.02em; color: var(--mp-ink); }
  html.aiq-phone #mw-root.mp .mp-pill { padding: 2px 8px; border-radius: 999px; background: var(--mp-in); color: var(--mp-acc); font-size: 12px; font-weight: 600; }
  html.aiq-phone #mw-root.mp .mp-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
  html.aiq-phone #mw-root.mp .mp-tools .lab, html.aiq-phone #mw-root.mp .mp-pane > .mw-st .lab { color: var(--mp-mut); font-size: 13px; }
  html.aiq-phone #mw-root.mp [data-act="csv"] { display: none !important; }
  html.aiq-phone #mw-root.mp .mp-card { border-radius: 22px; background: #FFFFFF; overflow: hidden; }
  /* Reverse DCF's own title row (What $338 assumes · Solve for · Forecast) */
  html.aiq-phone #mw-root.mp .mp-pane > .mw-st:not(#_) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 4px 12px !important; padding: 0; border: 0; }
  html.aiq-phone #mw-root.mp .mp-pane > .mw-st h3 { flex: 0 0 100%; }
  html.aiq-phone #mw-root.mp .mp-pane > .mw-st .sp { display: none; }

  /* buttons, pickers, switches inside the model: white pills on the grey page, 40px tall */
  html.aiq-phone #mw-root.mp :is(.mp-tools, .mp-case, .mp-pane > .mw-st) .mw-btn:not(#_) { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border: 0; border-radius: 999px;
    background: #FFFFFF; box-shadow: none; color: var(--mp-ink); font: 500 15px/1 Inter, system-ui, sans-serif; }
  html.aiq-phone #mw-root.mp .mw-btn em { font-style: normal; color: var(--mp-mut); }
  html.aiq-phone #mw-root.mp .mw-btn .ph-caret-down { font-size: 12px; color: var(--mp-mut); }
  html.aiq-phone #mw-root.mp .mw-btn.ghost:not(#_) { background: transparent; color: var(--mp-acc); padding: 0 6px; }
  html.aiq-phone #mw-root.mp .mw-dot2 { width: 8px; height: 8px; border-radius: 50%; }
  html.aiq-phone #mw-root.mp .mw-seg:not(#_) { display: inline-flex; padding: 3px; gap: 0; border: 0; border-radius: 999px; background: #E6E8EC; box-shadow: none; }
  html.aiq-phone #mw-root.mp .mw-seg > button:not(#_) { height: 32px; padding: 0 12px; border: 0; border-radius: 999px; background: none; box-shadow: none; color: var(--mp-mut); font: 500 14px/32px Inter, system-ui, sans-serif; }
  html.aiq-phone #mw-root.mp .mw-seg > button.on:not(#_) { background: #FFFFFF; color: var(--mp-ink); font-weight: 600; box-shadow: 0 1px 2px rgba(15,17,21,.1); }
  html.aiq-phone #mw-root.mp .mw-sw:not(#_) { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 4px; border: 0; background: none; color: var(--mp-ink); font: 500 15px/1 Inter, system-ui, sans-serif; }
  html.aiq-phone #mw-root.mp .mw-sw > i:not(#_) { position: relative; flex: none; width: 40px; height: 24px; border-radius: 999px; background: #D5D8DE; }
  html.aiq-phone #mw-root.mp .mw-sw > i:not(#_)::after { content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 2px rgba(15,17,21,.2); }
  html.aiq-phone #mw-root.mp .mw-sw.on > i:not(#_) { background: var(--mp-acc); }
  html.aiq-phone #mw-root.mp .mw-sw.on > i:not(#_)::after { left: 18px; }

  /* a legend / unit under a section title */
  html.aiq-phone #mw-root.mp .mp-note { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: -4px 4px 10px; color: var(--mp-mut); font-size: 13px; }
  html.aiq-phone #mw-root.mp .mp-note .mw-lg { display: inline-flex; align-items: center; gap: 6px; }
  html.aiq-phone #mw-root.mp .mp-note .lab { color: var(--mp-mut); }

  /* ── the big apps' stats lists (Robinhood / Apple Stocks / Wealthsimple): no header row, label left, the figure right
     with the other columns as quiet lines under it; hairlines inset from the left like iOS lists ── */
  html.aiq-phone #mw-root.mp .mp-ls { padding: 2px 0; }
  html.aiq-phone #mw-root.mp .mp-li { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 52px; padding: 10px 16px; font-size: 16px; -webkit-tap-highlight-color: transparent; }
  html.aiq-phone #mw-root.mp .mp-li + .mp-li::before { content: ""; position: absolute; top: 0; left: 16px; right: 0; border-top: 1px solid var(--mp-line); }
  html.aiq-phone #mw-root.mp .mp-li > .l { flex: 1 1 auto; min-width: 0; color: var(--mp-ink); line-height: 1.3; }
  html.aiq-phone #mw-root.mp .mp-li > .l small, html.aiq-phone #mw-root.mp .mp-li > .l .mw-use { display: block; margin-top: 2px; }
  html.aiq-phone #mw-root.mp .mp-li > .l small { color: var(--mp-mut); font-size: 13px; }
  html.aiq-phone #mw-root.mp .mp-li > .v { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; max-width: 58%; text-align: right; }
  html.aiq-phone #mw-root.mp .mp-li > .v > .m { font-size: 16px; font-weight: 600; white-space: nowrap; }
  html.aiq-phone #mw-root.mp .mp-li > .v > small { color: var(--mp-mut); font-size: 13px; white-space: nowrap; }
  html.aiq-phone #mw-root.mp .mp-li > .v > small em { font-style: normal; }
  html.aiq-phone #mw-root.mp .mp-li > .v > small.pos { color: #0d8a66; } html.aiq-phone #mw-root.mp .mp-li > .v > small.neg { color: #c8203f; }
  html.aiq-phone #mw-root.mp .mp-li > .v > small.pos em, html.aiq-phone #mw-root.mp .mp-li > .v > small.neg em { color: var(--mp-mut); }
  html.aiq-phone #mw-root.mp .mp-li .solved { color: #C76A0E; }
  html.aiq-phone #mw-root.mp .mp-li.tot > .l, html.aiq-phone #mw-root.mp .mp-li.tot > .v > .m { font-weight: 650 !important; }
  html.aiq-phone #mw-root.mp .mp-li.me { background: #F6F7FE; }
  html.aiq-phone #mw-root.mp .mp-li.click { cursor: pointer; } html.aiq-phone #mw-root.mp .mp-li.click:active { background: var(--mp-fill); }
  html.aiq-phone #mw-root.mp .mp-lh { padding: 16px 16px 6px; color: var(--mp-mut); font-size: 13px; font-weight: 500; }
  html.aiq-phone #mw-root.mp .mp-lh + .mp-li::before { display: none; }
  /* a tag in a label (Priced in / Your case / Bear): plain words in its colour, no pill */
  html.aiq-phone #mw-root.mp .mp-li .mw-tag:not(#_):not(#_) { padding: 0; border: 0; background: none; box-shadow: none; font-size: 16px; font-weight: 500; }
  html.aiq-phone #mw-root.mp .mp-li .mw-tag.t-amber { color: #C76A0E; } html.aiq-phone #mw-root.mp .mp-li .mw-tag.t-blue { color: var(--mp-acc); }
  html.aiq-phone #mw-root.mp .mp-li .mw-use:not(#_) { padding: 0; border: 0; background: none; color: var(--mp-acc); font: 500 13px/1.2 Inter, system-ui, sans-serif; }
  html.aiq-phone #mw-root.mp .mp-li .mw-seg:not(#_) { flex: none; }

  /* ── tables: scroll in their own box, label column pinned, hairlines only ── */
  html.aiq-phone #mw-root.mp .mp-tw { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  html.aiq-phone #mw-root.mp .mp-tw::-webkit-scrollbar { display: none; }
  /* the fade (aiq-phone-fin-valuation.js .pfv-fl / .pfv-fr) only on the right: the pinned label column never fades */
  html.aiq-phone #mw-root.mp .mp-tw.pfv-fl:not(.pfv-fr) { -webkit-mask-image: none; mask-image: none; }
  html.aiq-phone #mw-root.mp .mp-tw.pfv-fl.pfv-fr { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); }
  html.aiq-phone #mw-root.mp .mp-tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; }
  html.aiq-phone #mw-root.mp .mp-tbl :is(th, td):not(#_):not(#_) { height: 48px; padding: 6px 12px; border: 0 !important; border-top: 1px solid var(--mp-line) !important; background: #FFFFFF !important; color: var(--mp-ink);
    text-align: left; white-space: nowrap; vertical-align: middle; box-shadow: none !important; font-weight: 400; }
  html.aiq-phone #mw-root.mp .mp-tbl thead th:not(#_):not(#_) { height: 40px; border-top: 0 !important; color: var(--mp-mut) !important; font-size: 13px; font-weight: 500; }
  html.aiq-phone #mw-root.mp .mp-tbl :is(th, td).num:not(#_):not(#_) { text-align: right; }
  html.aiq-phone #mw-root.mp .mp-tbl :is(th, td):first-child:not(#_):not(#_) { position: sticky; left: 0; z-index: 1; padding-left: 16px; max-width: 168px; white-space: normal; line-height: 1.25; }
  html.aiq-phone #mw-root.mp .mp-tbl :is(th, td):last-child { padding-right: 16px; }
  html.aiq-phone #mw-root.mp .mp-tbl:not(.kv) :is(th, td):first-child:not(#_):not(#_) { min-width: 148px; }
  /* a wide table: a soft edge on the pinned column once it scrolls (aiq-phone-fin-valuation.js fades the box ends) */
  html.aiq-phone #mw-root.mp .mp-tbl.sheet :is(th, td):first-child:not(#_):not(#_) { }
  /* by-year / by-case grids: no unit after each box (the row says it), tighter cells, so three cases fit a phone */
  html.aiq-phone #mw-root.mp .mp-tbl.sheet .mw-u { display: none; }
  html.aiq-phone #mw-root.mp .mp-tbl.sheet .mw-in:not(#_):not(#_):not(#_) { width: 56px; padding: 0 6px; }
  html.aiq-phone #mw-root.mp .mp-tbl.sheet td.num.f:not(#_):not(#_) { padding-left: 4px; padding-right: 4px; }
  html.aiq-phone #mw-root.mp .mp-tbl.sheet td.num.f:last-child:not(#_):not(#_) { padding-right: 12px; }
  html.aiq-phone #mw-root.mp .mp-tbl.sheet :is(th, td):first-child:not(#_):not(#_):not(#_) { min-width: 120px; max-width: 132px; }
  html.aiq-phone #mw-root.mp .mp-tbl thead th:not(#_):not(#_):not(#_) { background: #FFFFFF !important; font-weight: 500 !important; }
  html.aiq-phone #mw-root.mp .mp-tbl tr.tot td:not(#_):not(#_) { font-weight: 650; }
  html.aiq-phone #mw-root.mp .mp-tbl tr.sub td:not(#_):not(#_) { color: var(--mp-mut); font-size: 13px; height: 38px; }
  html.aiq-phone #mw-root.mp .mp-tbl tr.grp td:not(#_):not(#_) { height: 40px; padding-top: 16px; color: var(--mp-mut); font-size: 13px; font-weight: 500; }
  html.aiq-phone #mw-root.mp .mp-tbl tr.me td:not(#_):not(#_) { background: #F6F7FE !important; }
  html.aiq-phone #mw-root.mp .mp-tbl td small { display: block; margin-top: 2px; color: var(--mp-mut); font-size: 13px; }
  html.aiq-phone #mw-root.mp .mp-tbl td.mu, html.aiq-phone #mw-root.mp .mp-tbl .mu { color: var(--mp-mut); }
  html.aiq-phone #mw-root.mp .mp-tbl .solved { color: #C76A0E; font-weight: 600; }
  /* label · value lists (Key inputs, Valuation inputs): the label wraps, the value keeps its width */
  html.aiq-phone #mw-root.mp .mp-tbl.kv :is(th, td):first-child:not(#_):not(#_) { position: static; max-width: none; width: 100%; }
  html.aiq-phone #mw-root.mp .mp-tbl.kv td.num { width: 1%; }
  html.aiq-phone #mw-root.mp .mp-tbl .mw-use:not(#_) { display: block; margin-top: 2px; padding: 0; border: 0; background: none; color: var(--mp-acc); font: 500 13px/1.2 Inter, system-ui, sans-serif; text-align: left; }
  html.aiq-phone #mw-root.mp .mp-tbl td.num .mw-use:not(#_) { text-align: right; margin-left: auto; }
  html.aiq-phone #mw-root.mp .mw-tag:not(#_) { padding: 2px 8px; border-radius: 999px; font-size: 13px; font-weight: 600; }
  html.aiq-phone #mw-root.mp :is(.pos) { color: #0d8a66; } html.aiq-phone #mw-root.mp :is(.neg) { color: #c8203f; }

  /* inputs: a soft blue pill, 16px so iOS doesn't zoom */
  html.aiq-phone #mw-root.mp .mw-cell:not(#_) { display: inline-flex; align-items: center; justify-content: flex-end; gap: 2px; }
  html.aiq-phone #mw-root.mp .mw-in:not(#_):not(#_) { width: 64px; height: 36px; padding: 0 8px; border: 0 !important; border-radius: 10px; background: var(--mp-in) !important; box-shadow: none !important;
    color: var(--mp-acc); font: 600 16px/36px Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; text-align: right; -webkit-appearance: none; appearance: none; }
  html.aiq-phone #mw-root.mp .mw-in.w:not(#_):not(#_) { width: 96px; }
  html.aiq-phone #mw-root.mp .mw-in.ed:not(#_):not(#_) { background: rgba(69,93,220,.16) !important; }
  html.aiq-phone #mw-root.mp .mw-in:focus:not(#_):not(#_) { outline: 2px solid var(--mp-acc); outline-offset: 0; background: #FFFFFF !important; }
  html.aiq-phone #mw-root.mp .mw-u { min-width: 12px; color: var(--mp-mut); font-size: 14px; }

  /* ── rows (Cases, the company's models): name over a quiet line, figure over its change ── */
  html.aiq-phone #mw-root.mp .mp-row { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 16px; -webkit-tap-highlight-color: transparent; }
  html.aiq-phone #mw-root.mp .mp-row + .mp-row { box-shadow: inset 0 1px 0 var(--mp-line); }
  html.aiq-phone #mw-root.mp .mp-row.click { cursor: pointer; } html.aiq-phone #mw-root.mp .mp-row.click:active { background: var(--mp-fill); }
  html.aiq-phone #mw-root.mp .mp-row.me { background: #F6F7FE; }
  html.aiq-phone #mw-root.mp .mp-row .l { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  html.aiq-phone #mw-root.mp .mp-row .l b { font-size: 16px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html.aiq-phone #mw-root.mp .mp-row small { color: var(--mp-mut); font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html.aiq-phone #mw-root.mp .mp-row .v { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
  html.aiq-phone #mw-root.mp .mp-row .v b { font-size: 16px; font-weight: 600; }
  html.aiq-phone #mw-root.mp .mp-row .v small.pos { color: #0d8a66; font-weight: 600; } html.aiq-phone #mw-root.mp .mp-row .v small.neg { color: #c8203f; font-weight: 600; }
  html.aiq-phone #mw-root.mp .mp-dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #64748b; }
  html.aiq-phone #mw-root.mp :is(.mp-dot, .mp-ic).t-red { --t: #c8203f; } html.aiq-phone #mw-root.mp :is(.mp-dot, .mp-ic).t-blue { --t: #455DDC; }
  html.aiq-phone #mw-root.mp :is(.mp-dot, .mp-ic).t-green { --t: #0d8a66; } html.aiq-phone #mw-root.mp :is(.mp-dot, .mp-ic).t-violet { --t: #8b5cf6; }
  html.aiq-phone #mw-root.mp :is(.mp-dot, .mp-ic).t-teal { --t: #06b6d4; } html.aiq-phone #mw-root.mp :is(.mp-dot, .mp-ic).t-amber { --t: #f59e0b; }
  html.aiq-phone #mw-root.mp .mp-dot { background: var(--t, #64748b); }
  html.aiq-phone #mw-root.mp .mp-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font-size: 19px; color: var(--t, #455DDC); background: color-mix(in srgb, var(--t, #455DDC) 12%, transparent); }
  html.aiq-phone #mw-root.mp .mp-list { padding: 4px 0 8px; }
  html.aiq-phone #mw-root.mp .mp-none { display: flex; flex-direction: column; gap: 4px; padding: 18px 16px 10px; }
  html.aiq-phone #mw-root.mp .mp-none b { font-size: 16px; font-weight: 600; } html.aiq-phone #mw-root.mp .mp-none small { color: var(--mp-mut); font-size: 14px; line-height: 1.4; }
  html.aiq-phone #mw-root.mp .mp-add { display: flex; align-items: center; justify-content: center; gap: 8px; width: calc(100% - 20px); height: 52px; margin: 6px 10px 2px; border: 1.5px dashed #D5D8DE; border-radius: 16px;
    background: none; color: var(--mp-mut); font: 500 15px/1 Inter, system-ui, sans-serif; -webkit-tap-highlight-color: transparent; }
  html.aiq-phone #mw-root.mp .mp-add:active { background: var(--mp-fill); }
  html.aiq-phone #mw-root.mp .mp-more { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin-top: 12px; padding: 0 18px; border-radius: 22px; background: #FFFFFF;
    color: var(--mp-ink); font-size: 16px; font-weight: 500; text-decoration: none; }
  html.aiq-phone #mw-root.mp .mp-more i { color: #B4B9C2; }

  /* ── headline cards (Reverse DCF, Return): one white card, a row each — label left, figure + note right ── */
  html.aiq-phone #mw-root.mp .mw-hl:not(#_):not(#_) { display: block; margin: 0 0 18px; padding: 0; border-radius: 22px; background: #FFFFFF; overflow: hidden; }
  html.aiq-phone #mw-root.mp .mw-hc:not(#_):not(#_) { display: flex; flex-direction: row; text-align: left; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; margin: 0; padding: 10px 16px; border: 0; border-radius: 0; background: none; box-shadow: none; }
  html.aiq-phone #mw-root.mp .mw-hc + .mw-hc:not(#_):not(#_) { box-shadow: inset 0 1px 0 var(--mp-line); }
  html.aiq-phone #mw-root.mp .mw-hc .l:not(#_):not(#_) { display: block; flex: 1 1 auto; min-width: 0; margin: 0; color: var(--mp-mut); font-size: 14px; font-weight: 500; white-space: normal; }
  html.aiq-phone #mw-root.mp .mw-hc .l .mw-ic { display: none; }
  html.aiq-phone #mw-root.mp .mw-hc .v:not(#_):not(#_) { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; margin: 0; text-align: right; }
  html.aiq-phone #mw-root.mp .mw-hc .v b:not(#_) { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
  html.aiq-phone #mw-root.mp .mw-hc .v small { color: var(--mp-mut); font-size: 13px; }
  html.aiq-phone #mw-root.mp .mw-hc .v .mw-tag:not(#_):not(#_) { padding: 0; border: 0; background: none; box-shadow: none; font-size: 13px; }
  html.aiq-phone #mw-root.mp .mw-hc .v .mw-tag.t-green { color: #0d8a66; } html.aiq-phone #mw-root.mp .mw-hc .v .mw-tag.t-red { color: #c8203f; }

  /* ── charts, legends, checks, sensitivity grids ── */
  html.aiq-phone #mw-root.mp .mp-tools .mw-lg { display: inline-flex; align-items: center; gap: 6px; color: var(--mp-mut); font-size: 13px; }
  html.aiq-phone #mw-root.mp .mp-tools:has(.mw-lg) { gap: 4px 12px; margin-left: 4px; }
  html.aiq-phone #mw-root.mp .mw-chart:not(#_) { height: 260px; margin: 8px 4px 4px; }
  html.aiq-phone #mw-root.mp .mw-ck:not(#_) { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; font-size: 15px; line-height: 1.35; }
  html.aiq-phone #mw-root.mp .mw-ck + .mw-ck { box-shadow: inset 0 1px 0 var(--mp-line); }
  html.aiq-phone #mw-root.mp .mw-ck i { flex: none; margin-top: 1px; font-size: 18px; }
  html.aiq-phone #mw-root.mp .mw-ck.ok i { color: #0d8a66; } html.aiq-phone #mw-root.mp .mw-ck.warn i { color: #f59e0b; } html.aiq-phone #mw-root.mp .mw-ck.bad i { color: #c8203f; }
  html.aiq-phone #mw-root.mp .mp-card:has(> .mw-grid) { overflow-x: auto; scrollbar-width: none; }
  html.aiq-phone #mw-root.mp .mw-grid:not(#_) { width: 100%; border-collapse: separate; border-spacing: 2px; padding: 6px; font-size: 12.5px; }
  html.aiq-phone #mw-root.mp .mw-grid :is(th, td):not(#_):not(#_) { height: 40px; padding: 0 3px; border: 0 !important; border-radius: 8px; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
  html.aiq-phone #mw-root.mp .mw-grid th:not(#_):not(#_) { background: none !important; color: var(--mp-mut); font-weight: 500; }
  html.aiq-phone #mw-root.mp .mw-grid th.rh:not(#_):not(#_) { text-align: left; white-space: normal; line-height: 1.2; font-size: 12px; }
  html.aiq-phone #mw-root.mp .mw-grid td.me:not(#_):not(#_) { box-shadow: inset 0 0 0 2px var(--mp-ink) !important; font-weight: 700; }
  html.aiq-phone #mw-root.mp .mw-grid td[data-sens], html.aiq-phone #mw-root.mp .mw-grid td[data-fiset] { cursor: pointer; }
  /* the Attio look forces every main b / h3 / th to 500 and h3 to 14px (!important, aiq-table-attio.css): the model's own
     weights and sizes win back here */
  html.aiq-phone #mw-root.mp :is(.mp-st, .mp-pane > .mw-st) h3:not(#_):not(#_):not(#_) { font-size: 19px !important; font-weight: 650 !important; color: var(--mp-ink) !important; }
  html.aiq-phone #mw-root.mp .mp-h1 .nm:not(#_):not(#_):not(#_) { font-weight: 700 !important; }
  html.aiq-phone #mw-root.mp .mp-hero .big:not(#_):not(#_):not(#_) { font-weight: 700 !important; }
  html.aiq-phone #mw-root.mp :is(.mp-rows .r > b, .mp-row b, .mp-co b, .mp-none b):not(#_):not(#_):not(#_) { font-weight: 600 !important; }
  html.aiq-phone #mw-root.mp .mw-hc .v b:not(#_):not(#_):not(#_) { font-weight: 700 !important; }
  html.aiq-phone #mw-root.mp .mp-tbl tr.tot td:not(#_):not(#_):not(#_), html.aiq-phone #mw-root.mp .mp-tbl tr.tot td b:not(#_):not(#_):not(#_) { font-weight: 650 !important; }
  html.aiq-phone #mw-root.mp .mw-grid td.me:not(#_):not(#_):not(#_) { font-weight: 700 !important; }
}

/* the model's menus (js/modeling-wb.js .mw-menu) open as bottom sheets (aiq-phone-sheet.js): iOS-size rows */
@media (max-width: 767px) {
  html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mw-menu .it:not(#_) { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 50px; padding: 0 16px; border-radius: 14px; font-size: 16px; }
  html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mw-menu .it i:not(.ck) { font-size: 19px; color: var(--ph-mut, #80868F); }
  html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mw-menu .it .ck { margin-left: auto; color: #455DDC; }
  html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mw-menu .it.danger, html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mw-menu .it.danger i { color: #c8203f; }
  html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mw-menu hr { margin: 6px 16px; border: 0; border-top: 1px solid rgba(15,17,21,.07); }

  /* New model's name field (js/modeling-wb.js aiqModelNew): one white rounded field, the input clear inside it */
  html.aiq-phone.aiq-phone .aiq-dlg.mwn .aiq-dlg-nm:not(#_):not(#__) { height: 48px; padding: 0 14px; gap: 8px; border: 0 !important; border-radius: 14px; background: #FFFFFF !important; box-shadow: none !important; }
  html.aiq-phone.aiq-phone .aiq-dlg.mwn .aiq-dlg-nm > input:not(#_):not(#__) { flex: 1; min-width: 0; height: 46px; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 16px; color: #101112; }

  /* the Adjust sheet (js/modeling-wb.js phAdjust): a title, then each section's switches under its name, one per row */
  html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mp-adj-s:not(#_):not(#__) { padding: 22px 16px calc(18px + env(safe-area-inset-bottom)) !important; background: #F2F3F5 !important; }
  html.aiq-phone .mp-adj-s .mp-ah { margin: 4px 4px 12px; font: 700 24px/1.1 Inter, system-ui, sans-serif; letter-spacing: -.02em; color: #101112; }
  html.aiq-phone .mp-adj-s .mp-ag { margin-bottom: 14px; }
  html.aiq-phone .mp-adj-s .mp-ag > small { display: block; margin: 0 4px 6px; color: #80868F; font-size: 13px; font-weight: 500; }
  html.aiq-phone .mp-adj-s .mp-ac { display: flex; flex-direction: column; border-radius: 18px; background: #FFFFFF; overflow: hidden; }
  html.aiq-phone .mp-adj-s .mp-ac > * + * { border-top: 1px solid rgba(15,17,21,.07) !important; }
  html.aiq-phone .mp-adj-s .mp-ac > :is(.mw-btn, .mw-sw):not(#_):not(#_) { display: flex; align-items: center; gap: 8px; box-sizing: border-box; width: 100%; min-height: 52px; height: auto; margin: 0; padding: 0 16px; border: 0; border-radius: 0;
    background: none; box-shadow: none; color: #101112; font: 500 16px/1.2 Inter, system-ui, sans-serif; text-align: left; }
  html.aiq-phone .mp-adj-s .mw-btn em { font-style: normal; color: #101112; margin-right: auto; }
  html.aiq-phone .mp-adj-s .mw-btn .ph-caret-down { color: #B4B9C2; font-size: 13px; }
  html.aiq-phone .mp-adj-s .mw-btn > i:first-child:not(.ph-caret-down) { color: #80868F; }
  html.aiq-phone .mp-adj-s .mw-btn.ghost:not(#_):not(#_) { color: #455DDC; }
  html.aiq-phone .mp-adj-s .mw-dot2 { width: 10px; height: 10px; border-radius: 50%; flex: none; }
  html.aiq-phone .mp-adj-s .mw-dot2.t-red { background: #c8203f; } html.aiq-phone .mp-adj-s .mw-dot2.t-blue { background: #455DDC; }
  html.aiq-phone .mp-adj-s .mw-dot2.t-green { background: #0d8a66; } html.aiq-phone .mp-adj-s .mw-dot2.t-violet { background: #8b5cf6; }
  html.aiq-phone .mp-adj-s .mw-seg:not(#_):not(#_) { display: flex; margin: 8px; padding: 3px; gap: 0; border: 0; border-radius: 12px; background: #EEF0F3; box-shadow: none; }
  html.aiq-phone .mp-adj-s .mw-seg > button:not(#_):not(#_) { flex: 1; height: 36px; border: 0; border-radius: 10px; background: none; box-shadow: none; color: #80868F; font: 500 15px/36px Inter, system-ui, sans-serif; }
  html.aiq-phone .mp-adj-s .mw-seg > button.on:not(#_):not(#_) { background: #FFFFFF; color: #101112; font-weight: 600; box-shadow: 0 1px 2px rgba(15,17,21,.12); }
  html.aiq-phone .mp-adj-s .mw-sw:not(#_):not(#_) { flex-direction: row-reverse; justify-content: space-between; }
  html.aiq-phone .mp-adj-s .mw-sw > i:not(#_) { position: relative; flex: none; width: 46px; height: 28px; border-radius: 999px; background: #D5D8DE; }
  html.aiq-phone .mp-adj-s .mw-sw > i:not(#_)::after { content: ""; position: absolute; top: 2px; left: 2px; width: 24px; height: 24px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 2px rgba(15,17,21,.2); }
  html.aiq-phone .mp-adj-s .mw-sw.on > i:not(#_) { background: #455DDC; }
  html.aiq-phone .mp-adj-s .mw-sw.on > i:not(#_)::after { left: 20px; }
  html.aiq-phone .mp-adj-s :is(.lab, .mw-lg) { display: none; }

  /* the one-page model (the phone default, 2026-11-03): tappable rows end in a caret, the full workbook is the last row */
  html.aiq-phone #mw-root.mp .mp-li .mp-cv { flex: none; margin: 0 -4px 0 -6px; color: #B4B9C2; font-size: 14px; }
  html.aiq-phone #mw-root.mp .mp-full:not(#_) { width: 100%; min-height: 64px; margin-top: 4px; border: 0; text-align: left; font: inherit; }
  html.aiq-phone #mw-root.mp .mp-full span { display: flex; flex-direction: column; gap: 3px; }
  html.aiq-phone #mw-root.mp .mp-full b:not(#_):not(#_) { font-size: 16px; font-weight: 600 !important; color: #101112; }
  html.aiq-phone #mw-root.mp .mp-full small { color: #80868F; font-size: 13px; }
  html.aiq-phone #mw-root.mp .mp-back { display: inline-flex; align-items: center; gap: 4px; height: 36px; margin: -4px 0 8px -4px; padding: 0 4px; border: 0; background: none; color: #455DDC; font: 500 15px/1 Inter, system-ui, sans-serif; }

  /* the driver editor (js/modeling-wb.js phEdit): title, the big figure between − and +, a slider with the company's own
     figure marked on it, one Done */
  html.aiq-phone.aiq-phone[data-theme] .ph-sheet.mp-ed-s:not(#_):not(#__) { padding: 24px 20px calc(18px + env(safe-area-inset-bottom)) !important; background: #FFFFFF !important; }
  html.aiq-phone .mp-ed-s .mp-eh { font: 600 17px/1.2 Inter, system-ui, sans-serif; color: #101112; text-align: center; }
  html.aiq-phone .mp-ed-s .mp-ev { display: flex; align-items: center; justify-content: space-between; margin: 18px 0 14px; }
  html.aiq-phone .mp-ed-s .mp-ev b { font: 700 44px/1 Inter, system-ui, sans-serif; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: #101112; }
  html.aiq-phone .mp-ed-s .mp-st-b { display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #F2F3F5; color: #101112; font-size: 20px; -webkit-tap-highlight-color: transparent; }
  html.aiq-phone .mp-ed-s .mp-st-b:active { background: #E6E8EC; }
  html.aiq-phone .mp-ed-s .mp-er { position: relative; height: 36px; }
  html.aiq-phone .mp-ed-s .mp-er input { position: relative; z-index: 1; width: 100%; height: 32px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; }
  html.aiq-phone .mp-ed-s .mp-er input::-webkit-slider-runnable-track { height: 6px; border-radius: 999px; background: #E6E8EC; }
  html.aiq-phone .mp-ed-s .mp-er input::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: -11px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 4px rgba(15,17,21,.25), 0 0 0 1px rgba(15,17,21,.06); }
  html.aiq-phone .mp-ed-s .mp-er input::-moz-range-track { height: 6px; border-radius: 999px; background: #E6E8EC; }
  html.aiq-phone .mp-ed-s .mp-er input::-moz-range-thumb { width: 28px; height: 28px; border: 0; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 4px rgba(15,17,21,.25); }
  html.aiq-phone .mp-ed-s .mp-ep { position: absolute; z-index: 0; top: 26px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: #455DDC; pointer-events: none; }
  html.aiq-phone .mp-ed-s .mp-es { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; color: #80868F; font-size: 13px; font-weight: 500; }
  html.aiq-phone .mp-ed-s .mp-ep-k { display: inline-block; width: 4px; height: 10px; margin-right: 6px; border-radius: 2px; background: #455DDC; vertical-align: -1px; }
  html.aiq-phone .mp-ed-s .mp-done { display: block; width: 100%; height: 52px; margin-top: 22px; border: 0; border-radius: 16px; background: #2B2D33; color: #FFFFFF; font: 600 16px/52px Inter, system-ui, sans-serif; }
}
