/* Attio pages on phones (2026-10-29; rules in docs/features/phone.md). Every rule: phone media query + html.aiq-phone. */
@media (max-width: 767px) {
  /* the page's own title row is the Attio name row (14px / 500, like Markets' at-pagebar), not the 30px iOS large title
     that aiq-phone.css gives every other h1 */
  html.aiq-phone.aiq-phone.at-shell .app-shell > main :is(#scx-head h1, .ins-top h1, h1.sch-h1):not(#_) {
    font: 500 14px/20px Inter, system-ui, sans-serif !important; letter-spacing: -0.07px !important; }

  /* toolbar rows that are one nowrap flex line (Congress / Earnings / My stocks / Superinvestors) scroll inside their own
     box instead of widening the page; the per-page passes then hide what a phone doesn't need */
  html.aiq-phone.aiq-phone.at-shell :is(.cg-bar, .ec-wk-head, .msa-bar, .si-vrow):not(#_) {
    overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  html.aiq-phone.at-shell :is(.cg-bar, .ec-wk-head, .msa-bar, .si-vrow)::-webkit-scrollbar { display: none; }
  html.aiq-phone.at-shell :is(.cg-bar, .ec-wk-head, .msa-bar, .si-vrow) > * { flex-shrink: 0; }

  /* a .aiq-tbl whose wrapper doesn't scroll widens the page (Earnings' week table): the wrapper scrolls on phones */
  html.aiq-phone.at-shell :has(> table.ec-st) { overflow-x: auto; }

  /* the name row never wraps: it reserves room for Upgrade on the right, so a long name ("Congress Trades") cuts with … */
  html.aiq-phone.at-shell .at-pagebar { min-width: 0; }
  html.aiq-phone.at-shell .at-pagebar .at-pb-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }

  /* Earnings week table: fixed layout gave the auto-width Company column 0px once the numeric columns added up to more
     than the screen; it keeps 92px (ticker) and the table scrolls sideways past that */
  html.aiq-phone.at-shell.at-done .ec-at-tbl:not(#_) { width: max-content; min-width: 100%; }
  html.aiq-phone.at-shell.at-done .ec-at-tbl col.c-co:not(#_) { width: 92px; }

  /* Markets: the row of index chips is a fixed 48px row on desktop; on a phone the chips wrap to 3 lines and spilled over
     the tab row above (2026-10-29), so the row grows with its chips */
  html.aiq-phone.at-shell .mkad-vrow:has(.mkad-pchips):not(#_) { height: auto; min-height: 48px; padding-top: 8px; padding-bottom: 8px; }
  html.aiq-phone.at-shell .mkad-vrow > .mkad-pchips { flex: 1 1 auto; min-width: 0; }

  /* the Attio shell reserves the 275px sidebar with !important (aiq-table-attio.css "body:not(.sb-collapsed) .app-shell");
     on a phone the sidebar is a drawer, so nothing is reserved. Without this the bottom-tabs layout (?tbl=attio-full-bt)
     pushed the whole page 275px right (2026-10-29) */
  html.aiq-phone.at-shell.aiq-shell:not(.is-popout) body .app-shell:not(#_):not(#_) { margin-left: 0 !important; }

  /* rules 14 / 15 (docs/features/phone.md): tables show <= 4 columns (js/aiq-phone-cols.js marks the rest) and the
     configuration controls go (user, 2026-10-29: "way less configuration buttons") */
  html.aiq-phone .ph-hc { display: none !important; }
  html.aiq-phone.at-shell :is(.mkad-tabrow .mkad-blue, .mkad-padd, .mkad-pchip button, .gch-h .mkad-mb, th.addc, td.addc):not(#_) { display: none !important; }
  /* with <= 4 columns the table fits the screen: no fixed desktop widths, so nothing swipes sideways */
  html.aiq-phone main :is(table.mkad-t, table.aiq-tbl):not([data-ph-cols="all"]):not(#_) { width: 100% !important; min-width: 0 !important; table-layout: auto !important; }
  html.aiq-phone main :is(table.mkad-t, table.aiq-tbl):not([data-ph-cols="all"]) :is(th, td):not(#_) { min-width: 0 !important; width: auto !important; max-width: none !important; }
  html.aiq-phone main :is(table.mkad-t, table.aiq-tbl):not([data-ph-cols="all"]) col { width: auto !important; }
  /* tighter cells so 4 columns fit 390px; the name column may wrap to two lines, numbers never do */
  html.aiq-phone main :is(table.mkad-t, table.aiq-tbl):not([data-ph-cols="all"]) :is(th, td):not(#_):not(#_) { padding-left: 8px !important; padding-right: 8px !important; font-size: 13px; }
  html.aiq-phone main :is(table.mkad-t, table.aiq-tbl):not([data-ph-cols="all"]) :is(th, td):not(.ph-hc):first-child:not(#_):not(#_) { white-space: normal; overflow-wrap: anywhere; }
  /* Markets name cell like Koyfin's: ticker on top, company name (one line, …) under it, logo to the left */
  html.aiq-phone .mkad-t .mkc:not(#_) { display: grid; grid-template-columns: 20px minmax(0,1fr); column-gap: 8px; row-gap: 1px; align-items: center; min-width: 0; }
  html.aiq-phone .mkad-t .mkc > .ic:not(#_) { grid-row: 1 / span 2; grid-column: 1; align-self: center; }
  html.aiq-phone .mkad-t .mkc > .mks:not(#_) { grid-row: 1; grid-column: 2; justify-self: start; }
  html.aiq-phone .mkad-t .mkc > .cn:not(#_) { grid-row: 2; grid-column: 2; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; font-size: 12px; color: var(--ph-mut); min-width: 0; }
  html.aiq-phone .mkad-t td:first-child .c0:not(#_) { align-items: center; max-width: 100%; }

  /* Screener: the duplicate screen tab, add-tab, Layouts, View settings, Export and New screen are desktop configuration */
  html.aiq-phone.at-shell :is(.scx-tab, #scx-add-tab, #scx-layouts, .at-row2 .at-anchor, .at-row2 > .at-btn:not(.at-sc-back):not(.at-pick)):not(#_) { display: none !important; }

  /* table configuration inside the grid: header menus (⌄ sort / filter / hide), the row-select checkbox and the add-column
     button are desktop tools; a header tap still sorts */
  html.aiq-phone main :is(table.aiq-tbl, table.mkad-t) :is(.th-menu, .atc-btn, .sc-chk, .sort-hint, .at-crit-i, .addb, th.addc, td.addc):not(#_):not(#_) { display: none !important; }

  /* Screener company cell: the ticker badge hugs its text instead of filling the column */
  html.aiq-phone .sc-tk-stack:not(#_) { align-items: flex-start; min-width: 0; }
  html.aiq-phone .sc-ticker-badge:not(#_) { width: auto !important; display: inline-flex; }
  /* the row logo goes on phones (Koyfin's rows have none) so ticker + 3 numbers fit 390px */
  html.aiq-phone #screener-table td.sticky > div > img:not(#_) { display: none !important; }
  html.aiq-phone #screener-table :is(th, td):not(#_):not(#_):not(#_) { padding-left: 6px !important; padding-right: 6px !important; }
  html.aiq-phone #screener-table th:not(#_):not(#_) { min-width: 0 !important; }

  /* My stocks: view picker, sort, filter and the Model portfolios button are desktop configuration; New stays */
  html.aiq-phone.at-shell :is(#msa-view, #msa-sort, #msa-filter, .msa-vsep, .msa-bar .at-btn:not(#msa-new)):not(#_) { display: none !important; }

  /* safety net: one stray wide element (a signed-in KO page, 2026-10-29) stretched the whole phone page to ~560px, so the fixed
     tab bar and pop-ups were wider than the screen. Clipping the overflow keeps the layout viewport at the device width
     (clip, not hidden: no scroll container, so sticky headers keep working). */
  html.aiq-phone, html.aiq-phone body { overflow-x: clip; }

  /* Insiders / Congress: sort, filter, add-members and the explainer link are configuration; the view picker and search stay */
  html.aiq-phone.at-shell :is(#ins-sortbtn, #ins-fbtn, #ins-days, #ins-cwrap, #ins-csv, main [class*="-explore"], .si-more p, .cg-more p, .sch-cta .at-btn:not(.at-pri), #cg-sortbtn, #cg-fbtn, #cg-period, .cg-bar .at-pri, .cg-row1 .at-pri):not(#_) { display: none !important; }

  /* Insiders / Congress / Superinvestors: even columns, every cell cuts with … (a td's max-width does nothing in an auto-layout
     table, so these three go fixed-layout) */
  html.aiq-phone main :is(table.ins-tbl, table.cg-mtbl, table.si-atbl-t, table.ws-ix-t):not(#_):not(#_) { table-layout: fixed !important; width: 100% !important; }
  html.aiq-phone main :is(table.ins-tbl, table.cg-mtbl, table.si-atbl-t, table.ws-ix-t) :is(th, td):not(.ph-hc):not(#_):not(#_):not(#_) {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap !important; }
  html.aiq-phone main :is(table.ins-tbl, table.cg-mtbl, table.si-atbl-t, table.ws-ix-t) th .th-in:not(#_):not(#_) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* Dashboards: sort + New dashboard are desktop tools; the list shows Dashboard (wide) · Cards · Stocks */
  html.aiq-phone.at-shell :is(#ws-ix-sort, #ws-ix-view, #ws-ix-filter, #ws-ix-new, .ws-ix-q):not(#_) { display: none !important; }
  html.aiq-phone table.ws-ix-t th:nth-child(2):not(#_):not(#_) { width: 46% !important; }
  html.aiq-phone table.ws-ix-t :is(th, td):nth-child(n+5):not(#_):not(#_) { display: none; }
  html.aiq-phone table.cg-mtbl th:first-child:not(#_):not(#_) { width: 34% !important; }

  /* Government contracts (a div grid, not a table): every column, scrolling sideways (user, 2026-10-29); the Add column goes,
     and so do View settings / Export / sort / filter (the tabs and search stay) */
  html.aiq-phone.at-p-government :is(main .at-btn, .gm-sortbtn, .gm-fbtn, #gm-export, .gm-addbtn):not(#_) { display: none !important; }
  html.aiq-phone .gm-inner:not(#_):not(#_) { width: max-content !important; min-width: 100% !important; }   /* rows span every column */
  html.aiq-phone :is(.gm-th, .gm-td):not(#_):not(#_) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }

  /* Comparables: Company · Market Cap · Stock Price · % Change (the column limiter); the ticker stays on one line, the
     remove-column × and the Configure / Show / CSV buttons go (Peers stays: it is the page's one action) */
  html.aiq-phone #comp-root .cmp-table :is(th, td):first-child:not(#_):not(#_) { white-space: nowrap !important; overflow-wrap: normal !important; }
  html.aiq-phone #comp-root .cmp-th-x:not(#_):not(#_) { display: none !important; }
  html.aiq-phone #comp-root :is(#cmp-ind-btn, #cmp-show, #cmp-csv-btn, #cmp-heat-key):not(#_):not(#_) { display: none !important; }

  /* Stock page Overview price chart: four ranges (1M · 1Y · 5Y · All) and no S&P 500 overlay switch */
  html.aiq-phone .ov-price-range-btn:is([data-ovrange="1d"], [data-ovrange="7d"], [data-ovrange="3m"]):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ov-sp500-btn:not(#_):not(#_) { display: none !important; }

  /* Top bar Help button goes (the Account tab has Help) */
  html.aiq-phone #aiq-help:not(#_):not(#_) { display: none !important; }
  /* "Learn more" cards are desktop slideshows: not on phones */
  html.aiq-phone :is(.sch-learn-more, .msa-e-learn, .ra-learn, .mw-learn, .sp-at-learn, .ai-learn, .ws-ix-learn):not(#_):not(#_) { display: none !important; }
  /* Screener results fill the room above the docked bar (aiq-phone.css left 78px + the top bar for the old floating pill; the Attio name row is inside the page) */
  html.aiq-phone .sc-layout:not(#_):not(#_) { height: calc(100dvh - 56px - env(safe-area-inset-bottom)) !important; }

  /* Square toolbar strips: aiq-phone.css gave the Screener / Watchlist / Insiders / Congress / Gov bars 18px top corners, which showed as
     a curved line under the name row on the Attio pages */
  html.aiq-phone :is(#scx-bar, .wl-kf .wl-tool, .ins-bar, .cg-bar:not(#ch-bar), .gm-bar):not(#_):not(#_) { border-radius: 0 !important; }

  /* Edit criteria (Screener): a settings-style list instead of the desktop window squeezed in.
     Scope = three full-width rows; each criterion = name · count · × over a full-width Min – Max pair; Add filter and the footer are big. */
  html.aiq-phone #scx-ed #scx-body:not(#_):not(#_) { padding: 0 16px 16px; }
  html.aiq-phone #scx-scope:not(#_):not(#_) { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 4px 0 14px; border-bottom: 1px solid var(--a-line, rgba(127,127,127,.18)); }
  html.aiq-phone #scx-scope .scx-l:not(#_):not(#_) { font-size: 12px; letter-spacing: .02em; text-transform: uppercase; opacity: .6; padding: 8px 0 0; }
  /* Start from: rounded filled fields (never rectangles); a generic button rule drew an inset outline round them */
  html.aiq-phone #scx-scope .scx-tok:not(#_):not(#_) { display: flex; width: 100%; max-width: none; box-sizing: border-box; justify-content: space-between; align-items: center; height: 46px; min-height: 46px; padding: 0 14px; border: 0 !important; border-radius: 12px !important; background: rgba(118,118,128,.12) !important; box-shadow: none !important; font-size: 16px; }
  html.aiq-phone #scx-scope .scx-tok .pv:not(#_):not(#_) { font-size: 16px; }
  html.aiq-phone #scx-scope .n:not(#_):not(#_) { order: -1; padding: 10px 0 0; font-size: 13px; }
  html.aiq-phone #scx-rail .scx-cr:not(#_):not(#_) { display: grid; grid-template-columns: minmax(0,1fr) auto 36px; align-items: center; gap: 6px 8px; padding: 14px 0 12px; border-bottom: 1px solid var(--a-line, rgba(127,127,127,.14)); }
  html.aiq-phone #scx-rail .scx-cr .cn:not(#_):not(#_) { grid-column: 1; grid-row: 1; font-size: 16px; font-weight: 500; }
  html.aiq-phone #scx-rail .scx-cr .scx-left:not(#_):not(#_) { grid-column: 2; grid-row: 1; font-size: 13px; opacity: .7; }
  html.aiq-phone #scx-rail .scx-cr .cx:not(#_):not(#_) { grid-column: 3; grid-row: 1; width: 36px; height: 36px; font-size: 20px; }
  html.aiq-phone #scx-rail .scx-cr .scx-rng:not(#_):not(#_) { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 10px; }
  html.aiq-phone #scx-rail .scx-cr .scx-fld:not(#_):not(#_) { width: 100%; min-width: 0; height: 44px; }
  html.aiq-phone #scx-rail .scx-cr .scx-fld input:not(#_):not(#_) { height: 42px; font-size: 16px; min-width: 0; width: 100%; }
  html.aiq-phone #scx-rail .scx-addrow:not(#_):not(#_) { width: 100%; min-height: 48px; font-size: 16px; justify-content: flex-start; padding: 0 2px; }
  html.aiq-phone #scx-ed .aiq-dlg-f:not(#_):not(#_) { display: flex; gap: 10px; padding: 10px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--a-line, rgba(127,127,127,.18)); }
  html.aiq-phone #scx-ed #scx-ed-cancel:not(#_):not(#_) { display: none; }
  html.aiq-phone #scx-ed .aiq-dlg-f .sp:not(#_):not(#_) { display: none; }
  html.aiq-phone #scx-ed #scx-ed-done:not(#_):not(#_) { flex: 1; min-height: 46px; }

  /* Superinvestors toolbar: My investors + Search only; "+ Add" is in the empty state and the investor picker */
  html.aiq-phone .si-vrow .si-hom:not(#_):not(#_) { display: none !important; }

  /* Congress at 360: the party pill ("Democrat") fits its column */
  html.aiq-phone table.cg-mtbl td:nth-child(2) > *:not(#_):not(#_) { font-size: 11px !important; padding-left: 5px !important; padding-right: 5px !important; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  html.aiq-phone table.cg-mtbl :is(th, td):nth-child(2):not(#_):not(#_):not(#_) { padding-left: 4px !important; padding-right: 4px !important; }

  /* Superinvestors empty-state shortcut cards: no arrow, text cut with … instead of running into it */
  html.aiq-phone .si-xc .go:not(#_):not(#_) { display: none !important; }
  html.aiq-phone .si-xc .tx:not(#_):not(#_) { min-width: 0; flex: 1; }
  html.aiq-phone .si-xc .tx :is(b, small):not(#_):not(#_) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* Screener name row: "My screens" stays on one line; the screen's name after it takes the cut */
  html.aiq-phone h1.sch-h1:not(#_):not(#_) { white-space: nowrap !important; flex-shrink: 0; }

  /* Earnings: Company · Time · Estimate · EPS. Market cap goes (its header was hidden but its cells weren't, so "Estimate" sat over market caps) */
  html.aiq-phone table.ec-at-tbl :is(th, td):nth-child(3):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone table.ec-at-tbl :is(th, td):nth-child(5).ph-hc:not(#_):not(#_):not(#_) { display: table-cell !important; }
  html.aiq-phone table.ec-at-tbl col:nth-child(3):not(#_):not(#_) { display: none !important; }
  html.aiq-phone table.ec-at-tbl col:nth-child(5).ph-hc:not(#_):not(#_) { display: table-column !important; }

  /* Reports / Excel / Models / Documents: Sorted by, Filter and Group by are configuration; the view picker and New button stay */
  html.aiq-phone :is(#ra-sort, #ra-filter, #ra-group):not(#_):not(#_) { display: none !important; }

  /* Model portfolios: donut + Strategy (name over description) · Type · Return / yr; Holds and the rest go, so nothing is clipped */
  html.aiq-phone table.ph-mtbl:not(#_):not(#_) { width: 100% !important; table-layout: fixed !important; }
  html.aiq-phone table.ph-mtbl :is(th, td):is(:nth-child(4), :nth-child(n+6)):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone table.ph-mtbl :is(th, td):nth-child(5):not(#_):not(#_):not(#_) { display: table-cell !important; width: 76px !important; overflow: hidden; text-overflow: ellipsis; }
  html.aiq-phone table.ph-mtbl :is(th, td):nth-child(1):not(#_):not(#_):not(#_) { width: 48px !important; }
  html.aiq-phone table.ph-mtbl :is(th, td):nth-child(3):not(#_):not(#_):not(#_) { width: 78px !important; }
  html.aiq-phone table.ph-mtbl :is(th, td):nth-child(2):not(#_):not(#_):not(#_) { width: auto !important; overflow: hidden; text-overflow: ellipsis; }
  html.aiq-phone table.ph-mtbl col:is(:nth-child(4), :nth-child(n+6)):not(#_):not(#_) { display: none !important; }

  /* Chart page: ranges 1M · 6M · 1Y · 5Y · MAX; bar-size/type and chart settings menus are configuration */
  html.aiq-phone button[data-v]:is([data-v="1D"], [data-v="5D"], [data-v="3M"], [data-v="YTD"], [data-v="2Y"], [data-v="10Y"]):not(#_):not(#_) { display: none !important; }
  html.aiq-phone :is(.cqa-vs, .cqa-view):not(#_):not(#_) { display: none !important; }

  /* Top bar Upgrade button goes (the Account tab has the Pro card; Pro features open their own prompt) */
  html.aiq-phone :is(#nav-upgrade, .at-top-tools .at-sb-up):not(#_):not(#_) { display: none !important; }

  /* Stock page tab row (draft, ?ptabs=1): plain underlined text tabs, scrolls sideways, More opens the tile pop-up */
  html.aiq-phone #ph-ftabs:not(#_):not(#_) { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; margin: -4px 0 10px; border-bottom: 1px solid var(--a-line, rgba(127,127,127,.2)); }
  html.aiq-phone #ph-ftabs::-webkit-scrollbar { display: none; }
  html.aiq-phone #ph-ftabs button:not(#_):not(#_) { flex: none; min-height: 44px; padding: 0 14px; border: 0; border-bottom: 2px solid transparent; background: none; color: inherit; opacity: .6; font: 500 15px/1 Inter, system-ui, sans-serif; }
  html.aiq-phone #ph-ftabs button.on:not(#_):not(#_) { opacity: 1; border-bottom-color: var(--a-blue, #455DDC); }

  /* Full-screen search (js/aiq-phone-search.js) */
  html.aiq-phone #ph-search[hidden]:not(#_):not(#_) { display: none; }


  /* EDGE TO EDGE is the phone default (user, 2026-10-29; ?pstyle=cards opts out). Koyfin-style: every block on the stock page is flat,
     page colour, full width, with no border, corners, shadow or outline; a full-width 1px hairline (a ::before) separates one block from
     the next (user picked Hairline over the 10px grey band, 2026-10-29). */
  html.aiq-phone.ph-edge.at-p-financials main :is(.card, section.at-fin-rows, .fx-card, .stx-card, .cmp-card, .cmp-fair, .cap-card, .cm-card, .kd-card, .cg-card, .acq-card, .prp-card, .brd-card, .fxd-bcard, .fxd-a-wrap, .stmt-seg-chartcard):not(#_):not(#_):not(#_):not(#_):not(#_) { position: relative !important; margin-left: -12px !important; margin-right: -12px !important; margin-top: 0 !important; margin-bottom: 0 !important; width: auto !important; max-width: none !important; border: 0 !important; border-radius: 0 !important; background: var(--a-bg, #252933) !important; box-shadow: none !important; outline: 0 !important; padding: 24px 12px 14px !important; }
  html.aiq-phone.ph-edge.at-p-financials main :is(.card, section.at-fin-rows, .fx-card, .stx-card, .cmp-card, .cmp-fair, .cap-card, .cm-card, .kd-card, .cg-card, .acq-card, .prp-card, .brd-card, .fxd-bcard, .fxd-a-wrap, .stmt-seg-chartcard):not(#_):not(#_):not(#_):not(#_):not(#_)::after { display: none !important; }
  html.aiq-phone.ph-edge.at-p-financials main :is(.card, section.at-fin-rows, .fx-card, .stx-card, .cmp-card, .cmp-fair, .cap-card, .cm-card, .kd-card, .cg-card, .acq-card, .prp-card, .brd-card, .fxd-bcard, .fxd-a-wrap, .stmt-seg-chartcard):not(#_):not(#_):not(#_):not(#_):not(#_)::before { content: "" !important; display: block !important; position: absolute !important; left: 0 !important; right: 0 !important; top: 0 !important; bottom: auto !important; width: auto !important; height: 1px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; opacity: 1 !important; background: var(--ph-edge) !important; }
  html.aiq-phone[data-theme="light"].ph-edge.at-p-financials main :is(.card, section.at-fin-rows, .fx-card, .stx-card, .cmp-card, .cmp-fair, .cap-card, .cm-card, .kd-card, .cg-card, .acq-card, .prp-card, .brd-card, .fxd-bcard, .fxd-a-wrap, .stmt-seg-chartcard):not(#_):not(#_):not(#_):not(#_):not(#_)::before { background: var(--ph-edge) !important; }
  html.aiq-phone.ph-edge.at-p-financials main .fx-kpi:not(#_):not(#_):not(#_):not(#_):not(#_) { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
  html.aiq-phone.ph-edge.at-p-financials main .card.ovs-price:not(#_):not(#_):not(#_):not(#_):not(#_) { padding-top: 4px !important; }
  html.aiq-phone.ph-edge.at-p-financials main .card.ovs-price:not(#_):not(#_):not(#_):not(#_):not(#_)::before { display: none !important; }
  html.aiq-phone.ph-edge.at-p-financials main .card .ovs-rule:not(#_):not(#_):not(#_):not(#_):not(#_) { border-bottom: 0 !important; }
  html.aiq-phone.ph-edge.at-p-financials main .card .ovs-facts:not(#_):not(#_):not(#_):not(#_):not(#_) { border-top: 0 !important; }

  /* Stock header actions (star, edit, bell, download) are not needed on phones */
  html.aiq-phone.at-p-financials .at-ft-acts:not(#_):not(#_) { display: none !important; }

  /* edge to edge, every page: shortcut cards in the "more" blocks and Dashboards' list cards become plain rows split by a hairline */
  html.aiq-phone.ph-edge main :is(.aiq-more-c, .ws-ix-lc, .gm-scrollx, .cg-lock):not(#_):not(#_):not(#_):not(#_):not(#_) { border: 0 !important; border-bottom: 1px solid var(--a-line, rgba(127,127,127,.2)) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }

  /* Modeling is spreadsheet editing: desktop only; Key filings leaves the stock menu too (the Filings tab in the row still opens it) (user, 2026-10-29) */
  html.aiq-phone #ph-pop-fin .ph-pop-grid > :is([data-fpage="modeling"], [data-fpage="filings"]):not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }

  /* Financial statements on phones: every year, the table scrolls sideways inside its own box with the label column pinned */
  html.aiq-phone .stmt-table-wrap:not(#_):not(#_) { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  html.aiq-phone table.stmt-data-table :is(th, td):first-child:not(#_):not(#_):not(#_) { position: static; background: var(--a-bg, #252933); }

  /* Statements toolbar: Period stays; View settings and the Excel download go (user, 2026-10-29: "the Excel download I would get rid of") */
  html.aiq-phone :is(#stmt-opt-btn, .stmt-opt-btn, .at-r2-xl):not(#_):not(#_) { display: none !important; }

  /* Stock-page tabs, configuration out (button audit, 2026-10-29) */
  html.aiq-phone .at-ft-t[data-k="modeling"]:not(#_):not(#_) { display: none !important; }
  html.aiq-phone :is(.at-viewpill, .at-selpill, .cmp-seg):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .fxd-seg:not(#_):not(#_) { display: none !important; }
  html.aiq-phone :is(#fi-plan, .fx-search):not(#_):not(#_) { display: none !important; }
  html.aiq-phone :is(#fd-rstar, .fd-search, .fd-echips, .ff-act, .fd-hrow select, .fd-star):not(#_):not(#_) { display: none !important; }

  /* Filings reader: list full width; the document is a full-screen layer opened by tapping a filing (js/aiq-phone-fintabs.js) */
  html.aiq-phone .fd-reader:not(#_):not(#_) { display: block !important; }
  html.aiq-phone .fd-reader .fd-rl:not(#_):not(#_) { width: auto !important; border-right: 0 !important; }
  html.aiq-phone .fd-reader .fd-rp:not(#_):not(#_) { display: none !important; }
  html.aiq-phone .fd-reader.ph-fd-open .fd-rp:not(#_):not(#_) { display: flex !important; position: fixed !important; inset: 0 0 calc(56px + env(safe-area-inset-bottom)) 0 !important; z-index: 2147482000; width: auto !important; height: auto !important; background: var(--a-bg, #252933); }
  html.aiq-phone .fd-reader.ph-fd-open .fd-rp .ff-rv-doc:not(#_):not(#_) { flex: 1; height: auto !important; min-height: 0; }
  html.aiq-phone .fd-rp .fd-rbar:not(#_):not(#_) { padding-top: calc(6px + env(safe-area-inset-top)); }
  html.aiq-phone .ph-fd-back:not(#_):not(#_) { flex: none; min-height: 44px; padding: 0 12px 0 4px; border: 0; background: none; color: inherit; font: 600 16px/1 Inter, system-ui, sans-serif; }
  html.aiq-phone .fd-rhead small:not(#_):not(#_) { display: none !important; }
  html.aiq-phone .fd-reader .fd-ritem:not(#_):not(#_):not(#_) { border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }

  /* Button audit, round 2 (user OK, 2026-10-29): Home 2Y range, Congress "Browse all members", Earnings Filter + View settings, Dex AI "Add company" */
  html.aiq-phone.at-p-congress .sch-cta .at-btn:not(.at-pri):not(#_):not(#_) { display: none !important; }
  html.aiq-phone :is(#ec-fbtn, #ec-more-btn, .ec-more):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ai-tk-btn:not(#_):not(#_) { display: none !important; }

  /* Supply chain drafts (js/aiq-phone-supply.js): Suppliers | Customers lists (user picked it over a flow-with-bars draft) */
  html.aiq-phone.ph-sc-on :is(.sca-sec, .sca-attrs, .sca-main):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-sc .psc-sub:not(#_):not(#_):not(#_) { padding: 4px 16px 10px; font-size: 13px; opacity: .65; }
  html.aiq-phone #ph-sc .psc-sub a:not(#_):not(#_):not(#_) { color: inherit; text-decoration: underline; }
  html.aiq-phone #ph-sc .psc-empty:not(#_):not(#_):not(#_) { padding: 24px 16px; opacity: .6; font-size: 15px; }
  html.aiq-phone #ph-sc .psc-seg:not(#_):not(#_):not(#_) { display: flex; gap: 0; border-bottom: 1px solid var(--a-line, rgba(127,127,127,.2)); }
  html.aiq-phone #ph-sc .psc-seg button:not(#_):not(#_):not(#_) { flex: 1; min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: none; color: inherit; opacity: .6; font: 500 15px/1 Inter, system-ui, sans-serif; }
  html.aiq-phone #ph-sc .psc-seg button.on:not(#_):not(#_):not(#_) { opacity: 1; border-bottom-color: var(--a-blue, #455DDC); }
  html.aiq-phone #ph-sc .psc-seg button span:not(#_):not(#_):not(#_) { margin-left: 4px; font-size: 12px; opacity: .6; }
  html.aiq-phone #ph-sc .psc-r:not(#_):not(#_):not(#_) { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 16px; min-height: 56px; border-bottom: 1px solid var(--a-line, rgba(127,127,127,.14)); color: inherit; text-decoration: none; }
  html.aiq-phone #ph-sc .psc-l:not(#_):not(#_):not(#_) { flex: 1; min-width: 0; position: relative; }
  html.aiq-phone #ph-sc .psc-l b:not(#_):not(#_):not(#_) { display: block; font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html.aiq-phone #ph-sc .psc-l b i:not(#_):not(#_):not(#_) { margin-left: 8px; font-size: 11px; font-style: normal; font-weight: 600; opacity: .55; }
  html.aiq-phone #ph-sc .psc-l small:not(#_):not(#_):not(#_) { display: block; margin-top: 2px; font-size: 13px; opacity: .65; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html.aiq-phone #ph-sc .psc-v:not(#_):not(#_):not(#_) { position: relative; flex: none; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }

  /* Attio mobile shell (user, 2026-10-29: "replicate it as closely as possible"): the tab bar is a floating icon pill plus a
     separate round Search button; no labels, the open tab sits in a grey capsule. Account lives on the avatar, so its tab goes.
     Explore is an inset grouped list with coloured icon squares and chevrons instead of tiles. */
  html.aiq-phone #aiq-ptabs:not(#_):not(#_) { left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); height: 64px; padding: 0 76px 0 0;
    background: none; border: 0; box-shadow: none; border-radius: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
  html.aiq-phone[data-theme="dark"] #aiq-ptabs:not(#_):not(#_) { border: 0; box-shadow: none; }
  html.aiq-phone #aiq-ptabs:not(#_):not(#_)::before { content: ""; position: absolute; left: 0; right: 76px; top: 0; bottom: 0; border-radius: 999px;
    background: #fff; box-shadow: 0 4px 22px rgba(15,17,21,.12), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #aiq-ptabs:not(#_):not(#_)::before { background: #2e3443; box-shadow: 0 4px 22px rgba(0,0,0,.4); }
  html.aiq-phone #aiq-ptabs a:not(#_):not(#_) { position: relative; z-index: 1; margin: 6px 3px; border-radius: 999px; color: var(--ph-ink); }
  html.aiq-phone #aiq-ptabs a span:not(#_):not(#_) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  html.aiq-phone #aiq-ptabs a i:not(#_):not(#_) { font-size: 25px; }
  html.aiq-phone #aiq-ptabs a.on:not(#_):not(#_), html.aiq-phone #aiq-ptabs a.is-up:not(#_):not(#_) { background: #eceef2; color: var(--ph-ink); }
  html.aiq-phone[data-theme="dark"] #aiq-ptabs a.on:not(#_):not(#_), html.aiq-phone[data-theme="dark"] #aiq-ptabs a.is-up:not(#_):not(#_) { background: rgba(255,255,255,.12); }
  html.aiq-phone #aiq-ptabs a:nth-child(6):not(#_):not(#_) { display: none; }
  html.aiq-phone #aiq-ptabs a.ph-search-tab:not(#_):not(#_) { position: absolute; z-index: 1; right: 0; top: 0; bottom: 0; width: 64px; margin: 0; flex: none;
    background: #fff; box-shadow: 0 4px 22px rgba(15,17,21,.12), 0 0 0 1px rgba(15,17,21,.04); border-radius: 50%; }
  html.aiq-phone[data-theme="dark"] #aiq-ptabs a.ph-search-tab:not(#_):not(#_) { background: #2e3443; box-shadow: 0 4px 22px rgba(0,0,0,.4); }
  html.aiq-phone .app-shell > main:not(#_):not(#_) { padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important; }
  html.aiq-phone .ph-pop-card:not(#_):not(#_) { bottom: calc(92px + env(safe-area-inset-bottom)); max-height: calc(100dvh - 64px - env(safe-area-inset-bottom) - 100px); }
  html.aiq-phone :is(#aiq-toast, .aiq-toast):not(#_):not(#_) { bottom: calc(92px + env(safe-area-inset-bottom)) !important; }
  html.aiq-phone .ws-dock:not(#_):not(#_) { bottom: calc(90px + env(safe-area-inset-bottom)) !important; }

  /* Explore as an inset grouped list */
  html.aiq-phone .ex-grid:not(#_):not(#_) { display: block; background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: 18px; overflow: hidden; }
  html.aiq-phone .ex-tile:not(#_):not(#_) { flex-direction: row; align-items: center; justify-content: flex-start; gap: 14px; min-height: 56px; padding: 0 16px;
    border: 0; border-radius: 0; background: transparent; position: relative; }
  html.aiq-phone .ex-tile:not(#_):not(#_) + .ex-tile::before { content: ""; position: absolute; top: 0; left: 58px; right: 0; border-top: 1px solid var(--ph-line); }
  html.aiq-phone .ex-tile i:not(#_):not(#_) { flex: none; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; font-size: 17px; color: #fff; background: #2a6df4; }
  html.aiq-phone .ex-tile:nth-child(6n+2) i:not(#_):not(#_) { background: #12b981; }
  html.aiq-phone .ex-tile:nth-child(6n+3) i:not(#_):not(#_) { background: #f97316; }
  html.aiq-phone .ex-tile:nth-child(6n+4) i:not(#_):not(#_) { background: #8b5cf6; }
  html.aiq-phone .ex-tile:nth-child(6n+5) i:not(#_):not(#_) { background: #06b6d4; }
  html.aiq-phone .ex-tile:nth-child(6n) i:not(#_):not(#_) { background: #ec4899; }
  html.aiq-phone .ex-tile b:not(#_):not(#_) { font-size: 17px; font-weight: 450; letter-spacing: 0; }
  html.aiq-phone .ex-tile:not(#_):not(#_)::after { right: 18px; width: 7px; height: 7px; border-width: 1.6px 1.6px 0 0; }
  html.aiq-phone .ex-h:not(#_):not(#_) { font-size: 16px; font-weight: 450; margin: 26px 4px 8px; }
  html.aiq-phone .ex-who:not(#_):not(#_) { display: flex; align-items: center; gap: 12px; margin: 10px 4px 6px; color: var(--ph-ink); text-decoration: none; }
  html.aiq-phone .ex-who span:not(#_):not(#_) { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #f0554e; color: #fff; font-weight: 600; font-size: 16px; }
  html.aiq-phone .ex-who b:not(#_):not(#_) { font-size: 24px; font-weight: 650; letter-spacing: -.01em; }

  /* No header bar on phones (user, 2026-10-29: profile lives on the links page / settings, "no need to take up header space") */
  html.aiq-phone :is(.at-pagebar, .at-top-tools):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .app-shell > main:not(#_):not(#_) { padding-top: env(safe-area-inset-top) !important; }
  html.aiq-phone .ex-signin:not(#_):not(#_) { display: block; margin: 14px 4px 0; color: var(--ph-acc); font-size: 17px; font-weight: 600; text-decoration: none; }

  /* Table pages (js/aiq-phone-tablehead.js): round back button + centred icon and name, the page's own title row hidden */
  html.aiq-phone #ph-th:not(#_):not(#_) { display: flex; align-items: center; justify-content: space-between; padding: 12px 4px 10px; }
  html.aiq-phone #ph-th .ph-th-b:not(#_):not(#_) { flex: none; width: 48px; height: 48px; border-radius: 50%; border: 0; display: grid; place-items: center; font-size: 22px;
    background: #fff; color: var(--ph-ink); box-shadow: 0 2px 14px rgba(15,17,21,.1), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-th .ph-th-b:not(#_):not(#_) { background: #2e3443; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
  html.aiq-phone #ph-th .ph-th-sp:not(#_):not(#_) { visibility: hidden; }
  html.aiq-phone #ph-th .ph-th-t:not(#_):not(#_) { display: flex; align-items: center; gap: 10px; min-width: 0; }
  html.aiq-phone #ph-th .ph-th-t i:not(#_):not(#_) { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; font-size: 16px; color: #fff; }
  html.aiq-phone #ph-th .ph-th-t b:not(#_):not(#_) { font-size: 20px; font-weight: 650; color: var(--ph-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html.aiq-phone.ph-th-on :is(.app-shell > main h1, .ins-top, .cg-head, .gm-head, .ec-head):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .ex:not(#_):not(#_) { padding-top: 14px; }

  /* chips: the toolbar's view / sort / filter / search controls are round grey pills like Attio's */
  html.aiq-phone.ph-th-on :is(.at-btn:not(.at-pri), .ins-hbtn, .ec-at-btn, #ins-q, #ec-search):not(#_):not(#_):not(#_) { height: 40px !important; border-radius: 999px !important;
    padding: 0 14px !important; border: 0 !important; background: rgba(118,118,128,.16) !important; color: var(--ph-ink) !important; font-size: 16px !important; font-weight: 500 !important; box-shadow: none !important; }
  html.aiq-phone.ph-th-on :is(.at-btn, .ins-hbtn, .ec-at-btn) svg:not(#_):not(#_) { width: 18px; height: 18px; }
  html.aiq-phone .ph-fab-src:not(#_):not(#_):not(#_), html.aiq-phone.ph-fab-on main :is(.at-btn.at-pri, .pfr-trade):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-fab:not(#_):not(#_) { position: fixed; z-index: 140; right: 20px; bottom: calc(96px + env(safe-area-inset-bottom)); width: 60px; height: 60px; border-radius: 50%; border: 0;
    display: grid; place-items: center; font-size: 28px; color: #fff; background: #2a6df4; box-shadow: 0 8px 22px rgba(42,109,244,.45); }

  /* the first column stays put while the table scrolls sideways */
  html.aiq-phone.ph-th-on :is(table :is(th, td), .gm-tr > .gm-td, .gm-thead > .gm-th).ph-c1:not(#_):not(#_) { position: static; background: var(--sh-bed, var(--ph-bed)); }

  /* My stocks list page: just the list's name and the table (no "1 of 1" row, logos, sector bar or stat pills) */
  html.aiq-phone :is(.aiq-lback, .at-recbar, .hd-c, .msa-dnav):not(#_):not(#_):not(#_) { display: none !important; }

  /* the tab row lives in a top-right menu (js/aiq-phone-tablehead.js) */
  html.aiq-phone.ph-tabs-menu :is(.rc-tabs .rc-tab, .tm-tabs):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-tabmenu:not(#_):not(#_) { position: fixed; z-index: 1300; top: calc(68px + env(safe-area-inset-top)); right: 16px; min-width: 220px; padding: 6px;
    border-radius: 22px; background: #fff; box-shadow: 0 12px 40px rgba(15,17,21,.22), 0 0 0 1px rgba(15,17,21,.05); }
  html.aiq-phone[data-theme="dark"] #ph-tabmenu:not(#_):not(#_) { background: #2e3443; box-shadow: 0 12px 40px rgba(0,0,0,.5); }
  html.aiq-phone #ph-tabmenu[hidden]:not(#_):not(#_) { display: none; }
  html.aiq-phone #ph-tabmenu button:not(#_):not(#_) { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 50px; padding: 0 16px; border: 0;
    background: none; border-radius: 16px; color: var(--ph-ink); font-size: 17px; font-weight: 450; text-align: left; }
  html.aiq-phone #ph-tabmenu button.on:not(#_):not(#_) { font-weight: 600; }
  html.aiq-phone #ph-tabmenu em:not(#_):not(#_) { font-style: normal; color: var(--ph-mut); font-size: 14px; margin-left: 6px; }

  /* My stocks, basic (user, 2026-10-29: "significantly reduce the features on mobile ... not cluttered"): the list of lists and one New list button */
  html.aiq-phone .msa-bar:not(#_):not(#_), html.aiq-phone .msa-calc:not(#_):not(#_), html.aiq-phone .aiq-more-cards:not(#_):not(#_),
  html.aiq-phone .aiq-more-hero > :not(.aiq-more-cta):not(#_):not(#_) { display: none !important; }
  html.aiq-phone :is(.msa-more, .aiq-more):not(#_):not(#_) { min-height: 0 !important; height: auto !important; }
  html.aiq-phone .aiq-more-hero:not(#_):not(#_) { min-height: 0; padding: 20px 16px; background: none; }
  html.aiq-phone .aiq-more-hero::before, html.aiq-phone .aiq-more-hero::after, html.aiq-phone .aiq-more::before { display: none !important; }

  /* Every table looks like Attio's record list (user, 2026-10-29: "all tables should look like this"): 56px rows, 16px text,
     plain muted header, hairlines only, the first column plain and the rest on a faint tint */
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td):not(#_):not(#_):not(#_):not(#_) { height: 56px !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 16px !important; line-height: 1.25 !important; vertical-align: middle !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl thead th:not(#_):not(#_):not(#_):not(#_) { height: 52px !important; font-size: 16px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ph-mut) !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl tbody td:not(.ph-c1):not(#_):not(#_):not(#_):not(#_) { background: rgba(88,120,230,.075) !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td):not(#_):not(#_):not(#_):not(#_) { border-left: 0 !important; border-right: 1px solid var(--ph-line) !important; border-bottom: 1px solid var(--ph-line) !important; text-align: left !important; }
  html.aiq-phone.ph-th-on .gm-tr .gm-td:not(#_):not(#_):not(#_):not(#_) { font-size: 16px; }
  html.aiq-phone.ph-th-on .gm-th:not(#_):not(#_):not(#_):not(#_) { font-size: 16px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--ph-mut); }

  /* Basic on phones (user, 2026-10-29: "I trust your instinct ... we can add it back later"): table pages show the header, one view chip,
     search and the table. Gone: the shortcut cards and explainer under short lists, the second CTA, disclaimer line,
     view / sort / filter / settings chips, count text, the Price picker. */
  html.aiq-phone.ph-th-on :is(.aiq-more-cards, .aiq-more-hero > p, .aiq-disclaimer, .rc-tv, #msa-view, #msa-dview, #msa-sort, #msa-filter,
      main [class*="-explore"], .si-more p, .cg-more p, .sch-cta .at-btn:not(.at-pri), #cg-sortbtn, #cg-fbtn, #si-vset, #si-vset2, .aiq-more-b:not(.pri), .ins-count, .si-count):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-th-on .aiq-more-hero:not(#_):not(#_) { min-height: 0 !important; padding: 28px 16px !important; }

  /* stock page: the tab row is behind the top-right three-bars button (js/aiq-phone-fintabs.js) */
  html.aiq-phone.ph-ptabs #ph-ftabs:not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-fin-menu:not(#_):not(#_) { position: fixed; z-index: 140; top: calc(8px + env(safe-area-inset-top)); right: 16px; width: 48px; height: 48px; border-radius: 50%; border: 0;
    display: grid; place-items: center; font-size: 22px; color: var(--ph-ink); background: #fff; box-shadow: 0 2px 14px rgba(15,17,21,.1), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-fin-menu:not(#_):not(#_) { background: #2e3443; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
  html.aiq-phone #ph-tabmenu:not(#_):not(#_) { top: calc(64px + env(safe-area-inset-top)); }

  /* navmenu (js/aiq-phone-navmenu.js): any tab row -> the top-right three-bars menu */
  html.aiq-phone .ph-nm-hide:not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-navmenu.ph-nm-fixed:not(#_):not(#_) { position: fixed; z-index: 140; top: calc(8px + env(safe-area-inset-top)); right: 16px; width: 48px; height: 48px; border-radius: 50%; border: 0;
    display: grid; place-items: center; font-size: 22px; color: var(--ph-ink); background: #fff; box-shadow: 0 2px 14px rgba(15,17,21,.1), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-navmenu.ph-nm-fixed:not(#_):not(#_) { background: #2e3443; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
  html.aiq-phone.ph-nm-on .mkad-tabrow:not(#_):not(#_):not(#_) { padding-right: 72px !important; }
  html.aiq-phone.ph-nm-on .st-layout:not(#_):not(#_) { padding-top: 8px; }

  /* Stock Overview top = the Home layout (user, 2026-10-29: "image two should copy image 1"): small grey name, one huge price,
     the day's change in colour, the chart edge to edge, then 1M 3M 1Y text pills. No title row, legend, 1Y menu or S&P chip. */
  html.aiq-phone .at-ft:not(#_):not(#_):not(#_) { margin: 0 !important; padding: 16px 4px 4px !important; }
  html.aiq-phone .at-ft-co:not(#_):not(#_):not(#_) { display: block !important; }
  html.aiq-phone .at-ft-id:not(#_):not(#_):not(#_) { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
  html.aiq-phone .at-ft-id img:not(#_):not(#_):not(#_) { width: 22px; height: 22px; align-self: center; }
  html.aiq-phone .at-ft-id b:not(#_):not(#_):not(#_), html.aiq-phone .at-ft-nm:not(#_):not(#_):not(#_) { font-size: 15px !important; font-weight: 500 !important; color: var(--ph-mut) !important; }
  html.aiq-phone .at-ft-p:not(#_):not(#_):not(#_) { order: 3; flex: 0 0 100%; margin-top: 4px; font-size: 44px !important; font-weight: 700 !important; line-height: 1.1 !important; letter-spacing: -.02em; color: var(--ph-ink) !important; }
  html.aiq-phone .at-ft-c:not(#_):not(#_):not(#_) { order: 4; flex: 0 0 100%; font-size: 17px !important; font-weight: 500 !important; }
  html.aiq-phone .at-ft-c:not(#_):not(#_):not(#_)::after { content: " today"; }
  html.aiq-phone .ovs-price:not(#_):not(#_):not(#_) { display: flex !important; flex-direction: column; }
  html.aiq-phone .ovs-price-top:not(#_):not(#_):not(#_) { display: contents !important; }
  html.aiq-phone :is(.ovs-rule, .ovs-px, .ov-seg .at-segpill, .ov-seg-sep, #ov-sp500-btn, .ov-seg [data-ovrange="1d"], .ov-seg [data-ovrange="7d"], .ov-seg [data-ovrange="1m"], .ov-seg [data-ovrange="3m"], .ov-seg [data-ovrange="all"]):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ov-price-wrapper:not(#_):not(#_):not(#_) { order: 1; margin: 0 -12px !important; }
  html.aiq-phone .ov-seg:not(#_):not(#_):not(#_) { order: 2; display: flex !important; gap: 4px; padding: 12px 4px 4px; background: none !important; border: 0 !important; }
  html.aiq-phone .ov-seg .ov-seg-btn:not(#_):not(#_):not(#_) { display: inline-flex !important; height: 40px; padding: 0 16px; border: 0 !important; border-radius: 12px !important; background: none !important; color: var(--ph-mut) !important; font-size: 17px !important; font-weight: 600 !important; }
  html.aiq-phone .ov-seg .ov-seg-btn.is-on:not(#_):not(#_):not(#_) { background: rgba(118,118,128,.18) !important; color: var(--ph-ink) !important; }
  html.aiq-phone .ov-seg #ov-sp500-btn:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .ov-seg .ov-seg-btn:is([data-ovrange="1y"], [data-ovrange="5y"], [data-ovrange="10y"]):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: inline-flex !important; align-items: center; }

  /* no tick column on phones (user, 2026-10-29); the first real column is the frozen white one, the rest sit on a blue tint, widths are fixed */
  html.aiq-phone.ph-th-on :is(table :is(th, td), .gm-tr > .gm-td, .gm-thead > .gm-th):has(> input[type=checkbox]:only-child):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td).ph-c1:not(#_):not(#_):not(#_) { width: 46vw !important; min-width: 46vw !important; max-width: 46vw !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td):not(.ph-c1):not(.ph-hc):not(#_):not(#_):not(#_) { min-width: 112px; }
  html.aiq-phone.ph-th-on table.sy-t td b + em:not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-tabs-menu .rc-tabs:not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-th-on .gm-tr > .gm-td:not(.ph-c1):not(#_):not(#_):not(#_) { background: rgba(88,120,230,.075) !important; }

  /* thin grid lines between columns and everything left-aligned, like Attio (user, 2026-10-29) */
  html.aiq-phone.ph-th-on :is(.gm-td, .gm-th):not(#_):not(#_):not(#_) { border-right: 1px solid var(--ph-line) !important; text-align: left !important; justify-content: flex-start !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(td.num, th.num, td .num, th button, th > div):not(#_):not(#_):not(#_) { text-align: left !important; justify-content: flex-start !important; }
  html.aiq-phone.ph-th-on .gm-td .num:not(#_):not(#_):not(#_) { text-align: left !important; }

  /* "New" on My stocks: just Watchlist and Paper portfolio, one per row, no blurbs (user, 2026-10-29: "we shouldn't have so many options") */
  html.aiq-phone #msa-new-dlg .nr-fmt-c:not([data-new="wl"]):not([data-new="paper"]):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #msa-new-dlg .nr-fmt-row:not(#_):not(#_) { display: flex !important; flex-direction: column; gap: 10px; }
  html.aiq-phone #msa-new-dlg .nr-fmt-c:not(#_):not(#_) { display: flex !important; flex-direction: row; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 0 16px !important; }
  html.aiq-phone #msa-new-dlg :is(.nr-fmt-c p, .nr-fmt-h, .at-tpl-nav):not(#_):not(#_) { display: none !important; }

  /* Attio's light table page (user, 2026-10-29): page on a faint grey, the first column white, the header row plain on the grey with
     no rule above it, hairlines between rows and columns */
  html.aiq-phone:not([data-theme="dark"]).ph-th-on { --ph-bed: #fafafa; --sh-bed: #fafafa; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead th:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; border-top: 0 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl :is(th, td).ph-c1:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl tbody td.ph-c1:not(#_):not(#_):not(#_):not(#_) { background: #fff !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on :is(.gm-thead, .gm-th):not(#_):not(#_):not(#_):not(#_) { background: transparent !important; border-top: 0 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on .gm-tr > .gm-td.ph-c1:not(#_):not(#_):not(#_):not(#_) { background: #fff !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl thead:not(#_):not(#_):not(#_):not(#_) { border-top: 0 !important; box-shadow: none !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl tbody td:not(.ph-c1):not(#_):not(#_):not(#_):not(#_) { background: #fafafe !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on .gm-tr > .gm-td:not(.ph-c1):not(#_):not(#_):not(#_):not(#_) { background: #fafafe !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on .app-shell > main:not(#_):not(#_):not(#_):not(#_) { background: #fafafa !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; }

  /* exact Attio light colours, sampled from their screenshot (user, 2026-10-29): page #fafafa, first column #fff, other columns #fafafe,
     hairlines #f2f2f2 / #f2f2f4, and no rule above the header row */
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl :is(th, td):not(#_):not(#_):not(#_):not(#_) { border-bottom-color: #f2f2f2 !important; border-right-color: #f2f2f4 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on :is(.ins-bar, .cg-bar, .gm-bar, .ec-bar, #scx-bar, .msa-bar, .si-bar, .pfr-head, .sy-box, .msa-wrap):not(#_):not(#_):not(#_):not(#_) { border-bottom: 0 !important; border-top: 0 !important; box-shadow: none !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead, html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead th, html.aiq-phone:not([data-theme="dark"]).ph-th-on :is(.gm-thead, .gm-th):not(#_):not(#_):not(#_):not(#_) { border-top: 0 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead th:not(#_):not(#_):not(#_):not(#_) { border-bottom-color: #f3f3f3 !important; }
  html.aiq-phone [data-rename]:not(#_):not(#_) { touch-action: manipulation; -webkit-user-select: text; user-select: text; }
  html.aiq-phone.ph-ln .pfr-head:not(#_):not(#_):not(#_) { display: none !important; }

  /* press and hold a row = selection mode: tick boxes show, the bulk bar (Remove from list) sits above the tab pill */
  html.aiq-phone.ph-sel.ph-th-on table.sy-t :is(th, td).sy-ckc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: table-cell !important; width: 44px; min-width: 44px; }
  html.aiq-phone.ph-sel #ph-fab:not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #msa-bulk:not(#_):not(#_):not(#_):not(#_):not(#_) { position: fixed; z-index: 160; left: 12px; right: 12px; bottom: calc(92px + env(safe-area-inset-bottom)); transform: none; justify-content: space-between; }
  html.aiq-phone table.sy-t tr[data-t]:not(#_):not(#_):not(#_):not(#_):not(#_) { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
  html.aiq-phone #msa-bulk .msa-bulk-n:not(#_):not(#_):not(#_) { white-space: nowrap; }
  html.aiq-phone.ph-sel.ph-th-on table.sy-t :is(th, td).sy-ckc:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { text-align: center !important; padding: 0 !important; vertical-align: middle !important; }
  html.aiq-phone.ph-sel table.sy-t .sy-ckc input[type=checkbox]:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: block; margin: 0 auto !important; vertical-align: middle; }
  html.aiq-phone.ph-sel.ph-th-on table.sy-t :is(th, td).sy-ckc:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { width: 44px !important; min-width: 44px !important; max-width: 44px !important; box-sizing: border-box; }
  html.aiq-phone.ph-rn .pfr-head:not(#_):not(#_):not(#_) { display: block !important; position: fixed !important; left: -9999px; top: 0; opacity: 0; pointer-events: none; }
  html.aiq-phone #ph-rename-dlg input:not(#_):not(#_):not(#_) { width: 100%; height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--ph-line); background: transparent; color: var(--ph-ink); font-size: 17px; }
  html.aiq-phone #ph-th .ph-th-pen:not(#_):not(#_):not(#_) { flex: none; width: 28px; height: 28px; margin-left: -2px; border: 0; background: none; display: grid; place-items: center; color: var(--ph-ink); font-size: 18px; width: 34px; height: 34px; border-radius: 50%; background: rgba(118,118,128,.16); }
  html.aiq-phone #ph-th .ph-th-pen[hidden]:not(#_):not(#_):not(#_) { display: none; }

  /* Why it moved on phones: a row per stock, not a six-column table (user, 2026-10-29: "doesn't display the proper data"):
     ticker + move, the headline that explains it, then driver tag, vs-sector points and the biggest day */
  html.aiq-phone table.wy-t thead:not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone table.wy-t, html.aiq-phone table.wy-t tbody:not(#_):not(#_):not(#_):not(#_):not(#_) { display: block !important; width: 100% !important; }
  html.aiq-phone table.wy-t tr:not(#_):not(#_):not(#_):not(#_):not(#_) { display: grid !important; grid-template-columns: auto auto 1fr auto; grid-template-areas: "tk tk . mv" "hl hl hl hl" "dr rel . day"; gap: 6px 10px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--ph-line); }
  html.aiq-phone table.wy-t td:not(#_):not(#_):not(#_):not(#_):not(#_) { display: block !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: left !important; white-space: normal !important; overflow: visible !important; }
  html.aiq-phone table.wy-t td:nth-child(1):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: tk; display: flex !important; align-items: center; gap: 8px; font-size: 17px; font-weight: 600; }
  html.aiq-phone table.wy-t td:nth-child(2):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: mv; font-size: 17px; font-weight: 600; justify-self: end; }
  html.aiq-phone table.wy-t td:nth-child(3):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: rel; font-size: 14px; }
  html.aiq-phone table.wy-t td:nth-child(4):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: dr; }
  html.aiq-phone table.wy-t td:nth-child(5):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: hl; font-size: 15px; line-height: 1.35; }
  html.aiq-phone table.wy-t td:nth-child(5) a:not(#_):not(#_):not(#_):not(#_):not(#_) { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ph-ink); text-decoration: none; }
  html.aiq-phone table.wy-t td:nth-child(6):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: day; justify-self: end; font-size: 13px; color: var(--ph-mut); }
  html.aiq-phone table.wy-t .ph-hc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: block !important; }

  /* the Overview's facts are one column at every phone width (user, 2026-10-29: "always in one column not two") */
  html.aiq-phone .ovs-facts:not(#_):not(#_):not(#_):not(#_) { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; }
  html.aiq-phone .ovs-facts > *:not(#_):not(#_):not(#_):not(#_) { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; border-left: 0 !important; }
  html.aiq-phone :is(.ovs-mid, .ovs-grid, .ovs-main, .ovs-side, .ovs-spill):not(#_):not(#_):not(#_):not(#_) { display: block !important; }
  html.aiq-phone :is(.ovs-mid, .ovs-spill) > *:not(#_):not(#_):not(#_):not(#_) { width: 100% !important; max-width: 100% !important; }

  /* Search = Attio's: a big "Search" title, logo rows with a type tag, and a round home button + search pill at the bottom (user, 2026-10-29) */
  html.aiq-phone #ph-search:not(#_):not(#_) { position: fixed; inset: 0; z-index: 2147483000; display: flex; flex-direction: column; background: #fafafa; color: var(--ph-ink); }
  html.aiq-phone[data-theme="dark"] #ph-search:not(#_):not(#_) { background: #252933; }
  html.aiq-phone #ph-search .ps-title:not(#_):not(#_) { margin: 0; padding: calc(70px + env(safe-area-inset-top)) 20px 14px; font-size: 40px; line-height: 1.1; font-weight: 700; letter-spacing: -.02em; }
  html.aiq-phone #ph-search .ps-list:not(#_):not(#_) { flex: 1; overflow-y: auto; padding: 0 12px 120px; }
  html.aiq-phone #ph-search .ps-row:not(#_):not(#_) { display: flex; align-items: center; gap: 14px; padding: 10px 8px; min-height: 68px; color: inherit; text-decoration: none; }
  html.aiq-phone #ph-search .ps-lg:not(#_):not(#_) { position: relative; flex: none; width: 48px; height: 48px; border-radius: 12px; overflow: hidden; background: rgba(118,118,128,.14); display: grid; place-items: center; }
  html.aiq-phone #ph-search .ps-lg img:not(#_):not(#_) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #fff; }
  html.aiq-phone #ph-search .ps-lg i:not(#_):not(#_) { font-style: normal; font-weight: 600; font-size: 18px; color: var(--ph-mut); }
  html.aiq-phone #ph-search .ps-tx:not(#_):not(#_) { flex: 1; min-width: 0; display: block; }
  html.aiq-phone #ph-search .ps-tx b:not(#_):not(#_) { display: block; font-size: 18px; font-weight: 450; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html.aiq-phone #ph-search .ps-tx small:not(#_):not(#_) { display: block; margin-top: 2px; font-size: 15px; color: var(--ph-mut); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html.aiq-phone #ph-search .ps-tag:not(#_):not(#_) { flex: none; font-style: normal; font-size: 16px; padding: 6px 12px; border-radius: 8px; color: #2a6df4; background: rgba(42,109,244,.1); border: 1px solid rgba(42,109,244,.18); }
  html.aiq-phone #ph-search .ps-empty:not(#_):not(#_) { padding: 28px 12px; color: var(--ph-mut); font-size: 17px; }
  html.aiq-phone #ph-search .ps-bar:not(#_):not(#_) { position: absolute; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); display: flex; gap: 10px; align-items: center; }
  html.aiq-phone #ph-search .ps-x:not(#_):not(#_) { flex: none; width: 64px; height: 64px; border-radius: 50%; border: 0; display: grid; place-items: center; font-size: 26px; color: var(--ph-ink); background: #fff; box-shadow: 0 4px 22px rgba(15,17,21,.12), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-search .ps-x:not(#_):not(#_), html.aiq-phone[data-theme="dark"] #ph-search .ps-in:not(#_):not(#_) { background: #2e3443; box-shadow: 0 4px 22px rgba(0,0,0,.4); }
  html.aiq-phone #ph-search .ps-in:not(#_):not(#_) { flex: 1; min-width: 0; height: 64px; border-radius: 999px; display: flex; align-items: center; gap: 12px; padding: 0 22px; background: #fff; box-shadow: 0 4px 22px rgba(15,17,21,.12), 0 0 0 1px rgba(15,17,21,.04); font-size: 22px; }
  html.aiq-phone #ph-search .ps-in i:not(#_):not(#_) { font-size: 24px; color: var(--ph-ink); }
  html.aiq-phone #ph-search .ps-in input:not(#_):not(#_) { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--ph-ink); font-size: 22px; padding: 0; }
  /* Overview: no Notes / Alerts rows (user, 2026-10-29) */
  html.aiq-phone #tab-overview section.at-fin-rows:not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-search .ps-h:not(#_):not(#_) { padding: 14px 8px 6px; font-size: 16px; color: var(--ph-mut); }

  html.aiq-phone #aiq-ptabs a.on:not(#_):not(#_), html.aiq-phone #aiq-ptabs a.is-up:not(#_):not(#_) { background: #eceef2; color: var(--ph-ink); }
  html.aiq-phone[data-theme="dark"] #aiq-ptabs a.on:not(#_):not(#_), html.aiq-phone[data-theme="dark"] #aiq-ptabs a.is-up:not(#_):not(#_) { background: rgba(255,255,255,.12); }
  html.aiq-phone #aiq-ptabs a:nth-child(6):not(#_):not(#_) { display: none; }
  html.aiq-phone #aiq-ptabs a.ph-search-tab:not(#_):not(#_) { position: absolute; z-index: 1; right: 0; top: 0; bottom: 0; width: 64px; margin: 0; flex: none;
    background: #fff; box-shadow: 0 4px 22px rgba(15,17,21,.12), 0 0 0 1px rgba(15,17,21,.04); border-radius: 50%; }
  html.aiq-phone[data-theme="dark"] #aiq-ptabs a.ph-search-tab:not(#_):not(#_) { background: #2e3443; box-shadow: 0 4px 22px rgba(0,0,0,.4); }
  html.aiq-phone .app-shell > main:not(#_):not(#_) { padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important; }
  html.aiq-phone .ph-pop-card:not(#_):not(#_) { bottom: calc(92px + env(safe-area-inset-bottom)); max-height: calc(100dvh - 64px - env(safe-area-inset-bottom) - 100px); }
  html.aiq-phone :is(#aiq-toast, .aiq-toast):not(#_):not(#_) { bottom: calc(92px + env(safe-area-inset-bottom)) !important; }
  html.aiq-phone .ws-dock:not(#_):not(#_) { bottom: calc(90px + env(safe-area-inset-bottom)) !important; }

  /* Explore as an inset grouped list */
  html.aiq-phone .ex-grid:not(#_):not(#_) { display: block; background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: 18px; overflow: hidden; }
  html.aiq-phone .ex-tile:not(#_):not(#_) { flex-direction: row; align-items: center; justify-content: flex-start; gap: 14px; min-height: 56px; padding: 0 16px;
    border: 0; border-radius: 0; background: transparent; position: relative; }
  html.aiq-phone .ex-tile:not(#_):not(#_) + .ex-tile::before { content: ""; position: absolute; top: 0; left: 58px; right: 0; border-top: 1px solid var(--ph-line); }
  html.aiq-phone .ex-tile i:not(#_):not(#_) { flex: none; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; font-size: 17px; color: #fff; background: #2a6df4; }
  html.aiq-phone .ex-tile:nth-child(6n+2) i:not(#_):not(#_) { background: #12b981; }
  html.aiq-phone .ex-tile:nth-child(6n+3) i:not(#_):not(#_) { background: #f97316; }
  html.aiq-phone .ex-tile:nth-child(6n+4) i:not(#_):not(#_) { background: #8b5cf6; }
  html.aiq-phone .ex-tile:nth-child(6n+5) i:not(#_):not(#_) { background: #06b6d4; }
  html.aiq-phone .ex-tile:nth-child(6n) i:not(#_):not(#_) { background: #ec4899; }
  html.aiq-phone .ex-tile b:not(#_):not(#_) { font-size: 17px; font-weight: 450; letter-spacing: 0; }
  html.aiq-phone .ex-tile:not(#_):not(#_)::after { right: 18px; width: 7px; height: 7px; border-width: 1.6px 1.6px 0 0; }
  html.aiq-phone .ex-h:not(#_):not(#_) { font-size: 16px; font-weight: 450; margin: 26px 4px 8px; }
  html.aiq-phone .ex-who:not(#_):not(#_) { display: flex; align-items: center; gap: 12px; margin: 10px 4px 6px; color: var(--ph-ink); text-decoration: none; }
  html.aiq-phone .ex-who span:not(#_):not(#_) { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #f0554e; color: #fff; font-weight: 600; font-size: 16px; }
  html.aiq-phone .ex-who b:not(#_):not(#_) { font-size: 24px; font-weight: 650; letter-spacing: -.01em; }

  /* No header bar on phones (user, 2026-10-29: profile lives on the links page / settings, "no need to take up header space") */
  html.aiq-phone :is(.at-pagebar, .at-top-tools):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .app-shell > main:not(#_):not(#_) { padding-top: env(safe-area-inset-top) !important; }
  html.aiq-phone .ex-signin:not(#_):not(#_) { display: block; margin: 14px 4px 0; color: var(--ph-acc); font-size: 17px; font-weight: 600; text-decoration: none; }

  /* Table pages (js/aiq-phone-tablehead.js): round back button + centred icon and name, the page's own title row hidden */
  html.aiq-phone #ph-th:not(#_):not(#_) { display: flex; align-items: center; justify-content: space-between; padding: 12px 4px 10px; }
  html.aiq-phone #ph-th .ph-th-b:not(#_):not(#_) { flex: none; width: 48px; height: 48px; border-radius: 50%; border: 0; display: grid; place-items: center; font-size: 22px;
    background: #fff; color: var(--ph-ink); box-shadow: 0 2px 14px rgba(15,17,21,.1), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-th .ph-th-b:not(#_):not(#_) { background: #2e3443; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
  html.aiq-phone #ph-th .ph-th-sp:not(#_):not(#_) { visibility: hidden; }
  html.aiq-phone #ph-th .ph-th-t:not(#_):not(#_) { display: flex; align-items: center; gap: 10px; min-width: 0; }
  html.aiq-phone #ph-th .ph-th-t i:not(#_):not(#_) { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; font-size: 16px; color: #fff; }
  html.aiq-phone #ph-th .ph-th-t b:not(#_):not(#_) { font-size: 20px; font-weight: 650; color: var(--ph-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html.aiq-phone.ph-th-on :is(.app-shell > main h1, .ins-top, .cg-head, .gm-head, .ec-head):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .ex:not(#_):not(#_) { padding-top: 14px; }

  /* chips: the toolbar's view / sort / filter / search controls are round grey pills like Attio's */
  html.aiq-phone.ph-th-on :is(.at-btn:not(.at-pri), .ins-hbtn, .ec-at-btn, #ins-q, #ec-search):not(#_):not(#_):not(#_) { height: 40px !important; border-radius: 999px !important;
    padding: 0 14px !important; border: 0 !important; background: rgba(118,118,128,.16) !important; color: var(--ph-ink) !important; font-size: 16px !important; font-weight: 500 !important; box-shadow: none !important; }
  html.aiq-phone.ph-th-on :is(.at-btn, .ins-hbtn, .ec-at-btn) svg:not(#_):not(#_) { width: 18px; height: 18px; }
  html.aiq-phone .ph-fab-src:not(#_):not(#_):not(#_), html.aiq-phone.ph-fab-on main :is(.at-btn.at-pri, .pfr-trade):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-fab:not(#_):not(#_) { position: fixed; z-index: 140; right: 20px; bottom: calc(96px + env(safe-area-inset-bottom)); width: 60px; height: 60px; border-radius: 50%; border: 0;
    display: grid; place-items: center; font-size: 28px; color: #fff; background: #2a6df4; box-shadow: 0 8px 22px rgba(42,109,244,.45); }

  /* the first column stays put while the table scrolls sideways */
  html.aiq-phone.ph-th-on :is(table :is(th, td), .gm-tr > .gm-td, .gm-thead > .gm-th).ph-c1:not(#_):not(#_) { position: static; background: var(--sh-bed, var(--ph-bed)); }

  /* My stocks list page: just the list's name and the table (no "1 of 1" row, logos, sector bar or stat pills) */
  html.aiq-phone :is(.aiq-lback, .at-recbar, .hd-c, .msa-dnav):not(#_):not(#_):not(#_) { display: none !important; }

  /* the tab row lives in a top-right menu (js/aiq-phone-tablehead.js) */
  html.aiq-phone.ph-tabs-menu :is(.rc-tabs .rc-tab, .tm-tabs):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-tabmenu:not(#_):not(#_) { position: fixed; z-index: 1300; top: calc(68px + env(safe-area-inset-top)); right: 16px; min-width: 220px; padding: 6px;
    border-radius: 22px; background: #fff; box-shadow: 0 12px 40px rgba(15,17,21,.22), 0 0 0 1px rgba(15,17,21,.05); }
  html.aiq-phone[data-theme="dark"] #ph-tabmenu:not(#_):not(#_) { background: #2e3443; box-shadow: 0 12px 40px rgba(0,0,0,.5); }
  html.aiq-phone #ph-tabmenu[hidden]:not(#_):not(#_) { display: none; }
  html.aiq-phone #ph-tabmenu button:not(#_):not(#_) { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 50px; padding: 0 16px; border: 0;
    background: none; border-radius: 16px; color: var(--ph-ink); font-size: 17px; font-weight: 450; text-align: left; }
  html.aiq-phone #ph-tabmenu button.on:not(#_):not(#_) { font-weight: 600; }
  html.aiq-phone #ph-tabmenu em:not(#_):not(#_) { font-style: normal; color: var(--ph-mut); font-size: 14px; margin-left: 6px; }

  /* My stocks, basic (user, 2026-10-29: "significantly reduce the features on mobile ... not cluttered"): the list of lists and one New list button */
  html.aiq-phone .msa-bar:not(#_):not(#_), html.aiq-phone .msa-calc:not(#_):not(#_), html.aiq-phone .aiq-more-cards:not(#_):not(#_),
  html.aiq-phone .aiq-more-hero > :not(.aiq-more-cta):not(#_):not(#_) { display: none !important; }
  html.aiq-phone :is(.msa-more, .aiq-more):not(#_):not(#_) { min-height: 0 !important; height: auto !important; }
  html.aiq-phone .aiq-more-hero:not(#_):not(#_) { min-height: 0; padding: 20px 16px; background: none; }
  html.aiq-phone .aiq-more-hero::before, html.aiq-phone .aiq-more-hero::after, html.aiq-phone .aiq-more::before { display: none !important; }

  /* Every table looks like Attio's record list (user, 2026-10-29: "all tables should look like this"): 56px rows, 16px text,
     plain muted header, hairlines only, the first column plain and the rest on a faint tint */
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td):not(#_):not(#_):not(#_):not(#_) { height: 56px !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 16px !important; line-height: 1.25 !important; vertical-align: middle !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl thead th:not(#_):not(#_):not(#_):not(#_) { height: 52px !important; font-size: 16px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ph-mut) !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl tbody td:not(.ph-c1):not(#_):not(#_):not(#_):not(#_) { background: rgba(88,120,230,.075) !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td):not(#_):not(#_):not(#_):not(#_) { border-left: 0 !important; border-right: 1px solid var(--ph-line) !important; border-bottom: 1px solid var(--ph-line) !important; text-align: left !important; }
  html.aiq-phone.ph-th-on .gm-tr .gm-td:not(#_):not(#_):not(#_):not(#_) { font-size: 16px; }
  html.aiq-phone.ph-th-on .gm-th:not(#_):not(#_):not(#_):not(#_) { font-size: 16px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--ph-mut); }

  /* Basic on phones (user, 2026-10-29: "I trust your instinct ... we can add it back later"): table pages show the header, one view chip,
     search and the table. Gone: the shortcut cards and explainer under short lists, the second CTA, disclaimer line,
     view / sort / filter / settings chips, count text, the Price picker. */
  html.aiq-phone.ph-th-on :is(.aiq-more-cards, .aiq-more-hero > p, .aiq-disclaimer, .rc-tv, #msa-view, #msa-dview, #msa-sort, #msa-filter,
      main [class*="-explore"], .si-more p, .cg-more p, .sch-cta .at-btn:not(.at-pri), #cg-sortbtn, #cg-fbtn, #si-vset, #si-vset2, .aiq-more-b:not(.pri), .ins-count, .si-count):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-th-on .aiq-more-hero:not(#_):not(#_) { min-height: 0 !important; padding: 28px 16px !important; }

  /* stock page: the tab row is behind the top-right three-bars button (js/aiq-phone-fintabs.js) */
  html.aiq-phone.ph-ptabs #ph-ftabs:not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-fin-menu:not(#_):not(#_) { position: fixed; z-index: 140; top: calc(8px + env(safe-area-inset-top)); right: 16px; width: 48px; height: 48px; border-radius: 50%; border: 0;
    display: grid; place-items: center; font-size: 22px; color: var(--ph-ink); background: #fff; box-shadow: 0 2px 14px rgba(15,17,21,.1), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-fin-menu:not(#_):not(#_) { background: #2e3443; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
  html.aiq-phone #ph-tabmenu:not(#_):not(#_) { top: calc(64px + env(safe-area-inset-top)); }

  /* navmenu (js/aiq-phone-navmenu.js): any tab row -> the top-right three-bars menu */
  html.aiq-phone .ph-nm-hide:not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-navmenu.ph-nm-fixed:not(#_):not(#_) { position: fixed; z-index: 140; top: calc(8px + env(safe-area-inset-top)); right: 16px; width: 48px; height: 48px; border-radius: 50%; border: 0;
    display: grid; place-items: center; font-size: 22px; color: var(--ph-ink); background: #fff; box-shadow: 0 2px 14px rgba(15,17,21,.1), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-navmenu.ph-nm-fixed:not(#_):not(#_) { background: #2e3443; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
  html.aiq-phone.ph-nm-on .mkad-tabrow:not(#_):not(#_):not(#_) { padding-right: 72px !important; }
  html.aiq-phone.ph-nm-on .st-layout:not(#_):not(#_) { padding-top: 8px; }

  /* Stock Overview top = the Home layout (user, 2026-10-29: "image two should copy image 1"): small grey name, one huge price,
     the day's change in colour, the chart edge to edge, then 1M 3M 1Y text pills. No title row, legend, 1Y menu or S&P chip. */
  html.aiq-phone .at-ft:not(#_):not(#_):not(#_) { margin: 0 !important; padding: 16px 4px 4px !important; }
  html.aiq-phone .at-ft-co:not(#_):not(#_):not(#_) { display: block !important; }
  html.aiq-phone .at-ft-id:not(#_):not(#_):not(#_) { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
  html.aiq-phone .at-ft-id img:not(#_):not(#_):not(#_) { width: 22px; height: 22px; align-self: center; }
  html.aiq-phone .at-ft-id b:not(#_):not(#_):not(#_), html.aiq-phone .at-ft-nm:not(#_):not(#_):not(#_) { font-size: 15px !important; font-weight: 500 !important; color: var(--ph-mut) !important; }
  html.aiq-phone .at-ft-p:not(#_):not(#_):not(#_) { order: 3; flex: 0 0 100%; margin-top: 4px; font-size: 44px !important; font-weight: 700 !important; line-height: 1.1 !important; letter-spacing: -.02em; color: var(--ph-ink) !important; }
  html.aiq-phone .at-ft-c:not(#_):not(#_):not(#_) { order: 4; flex: 0 0 100%; font-size: 17px !important; font-weight: 500 !important; }
  html.aiq-phone .at-ft-c:not(#_):not(#_):not(#_)::after { content: " today"; }
  html.aiq-phone .ovs-price:not(#_):not(#_):not(#_) { display: flex !important; flex-direction: column; }
  html.aiq-phone .ovs-price-top:not(#_):not(#_):not(#_) { display: contents !important; }
  html.aiq-phone :is(.ovs-rule, .ovs-px, .ov-seg .at-segpill, .ov-seg-sep, #ov-sp500-btn, .ov-seg [data-ovrange="1d"], .ov-seg [data-ovrange="7d"], .ov-seg [data-ovrange="1m"], .ov-seg [data-ovrange="3m"], .ov-seg [data-ovrange="all"]):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ov-price-wrapper:not(#_):not(#_):not(#_) { order: 1; margin: 0 -12px !important; }
  html.aiq-phone .ov-seg:not(#_):not(#_):not(#_) { order: 2; display: flex !important; gap: 4px; padding: 12px 4px 4px; background: none !important; border: 0 !important; }
  html.aiq-phone .ov-seg .ov-seg-btn:not(#_):not(#_):not(#_) { display: inline-flex !important; height: 40px; padding: 0 16px; border: 0 !important; border-radius: 12px !important; background: none !important; color: var(--ph-mut) !important; font-size: 17px !important; font-weight: 600 !important; }
  html.aiq-phone .ov-seg .ov-seg-btn.is-on:not(#_):not(#_):not(#_) { background: rgba(118,118,128,.18) !important; color: var(--ph-ink) !important; }
  html.aiq-phone .ov-seg #ov-sp500-btn:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .ov-seg .ov-seg-btn:is([data-ovrange="1y"], [data-ovrange="5y"], [data-ovrange="10y"]):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: inline-flex !important; align-items: center; }

  /* no tick column on phones (user, 2026-10-29); the first real column is the frozen white one, the rest sit on a blue tint, widths are fixed */
  html.aiq-phone.ph-th-on :is(table :is(th, td), .gm-tr > .gm-td, .gm-thead > .gm-th):has(> input[type=checkbox]:only-child):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td).ph-c1:not(#_):not(#_):not(#_) { width: 46vw !important; min-width: 46vw !important; max-width: 46vw !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td):not(.ph-c1):not(.ph-hc):not(#_):not(#_):not(#_) { min-width: 112px; }
  html.aiq-phone.ph-th-on table.sy-t td b + em:not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-tabs-menu .rc-tabs:not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-th-on .gm-tr > .gm-td:not(.ph-c1):not(#_):not(#_):not(#_) { background: rgba(88,120,230,.075) !important; }

  /* thin grid lines between columns and everything left-aligned, like Attio (user, 2026-10-29) */
  html.aiq-phone.ph-th-on :is(.gm-td, .gm-th):not(#_):not(#_):not(#_) { border-right: 1px solid var(--ph-line) !important; text-align: left !important; justify-content: flex-start !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(td.num, th.num, td .num, th button, th > div):not(#_):not(#_):not(#_) { text-align: left !important; justify-content: flex-start !important; }
  html.aiq-phone.ph-th-on .gm-td .num:not(#_):not(#_):not(#_) { text-align: left !important; }

  /* "New" on My stocks: just Watchlist and Paper portfolio, one per row, no blurbs (user, 2026-10-29: "we shouldn't have so many options") */
  html.aiq-phone #msa-new-dlg .nr-fmt-c:not([data-new="wl"]):not([data-new="paper"]):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #msa-new-dlg .nr-fmt-row:not(#_):not(#_) { display: flex !important; flex-direction: column; gap: 10px; }
  html.aiq-phone #msa-new-dlg .nr-fmt-c:not(#_):not(#_) { display: flex !important; flex-direction: row; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 0 16px !important; }
  html.aiq-phone #msa-new-dlg :is(.nr-fmt-c p, .nr-fmt-h, .at-tpl-nav):not(#_):not(#_) { display: none !important; }

  /* Attio's light table page (user, 2026-10-29): page on a faint grey, the first column white, the header row plain on the grey with
     no rule above it, hairlines between rows and columns */
  html.aiq-phone:not([data-theme="dark"]).ph-th-on { --ph-bed: #fafafa; --sh-bed: #fafafa; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead th:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; border-top: 0 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl :is(th, td).ph-c1:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl tbody td.ph-c1:not(#_):not(#_):not(#_):not(#_) { background: #fff !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on :is(.gm-thead, .gm-th):not(#_):not(#_):not(#_):not(#_) { background: transparent !important; border-top: 0 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on .gm-tr > .gm-td.ph-c1:not(#_):not(#_):not(#_):not(#_) { background: #fff !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl thead:not(#_):not(#_):not(#_):not(#_) { border-top: 0 !important; box-shadow: none !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl tbody td:not(.ph-c1):not(#_):not(#_):not(#_):not(#_) { background: #fafafe !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on .gm-tr > .gm-td:not(.ph-c1):not(#_):not(#_):not(#_):not(#_) { background: #fafafe !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on .app-shell > main:not(#_):not(#_):not(#_):not(#_) { background: #fafafa !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead:not(#_):not(#_):not(#_):not(#_) { background: transparent !important; }

  /* exact Attio light colours, sampled from their screenshot (user, 2026-10-29): page #fafafa, first column #fff, other columns #fafafe,
     hairlines #f2f2f2 / #f2f2f4, and no rule above the header row */
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl :is(th, td):not(#_):not(#_):not(#_):not(#_) { border-bottom-color: #f2f2f2 !important; border-right-color: #f2f2f4 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on :is(.ins-bar, .cg-bar, .gm-bar, .ec-bar, #scx-bar, .msa-bar, .si-bar, .pfr-head, .sy-box, .msa-wrap):not(#_):not(#_):not(#_):not(#_) { border-bottom: 0 !important; border-top: 0 !important; box-shadow: none !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead, html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead th, html.aiq-phone:not([data-theme="dark"]).ph-th-on :is(.gm-thead, .gm-th):not(#_):not(#_):not(#_):not(#_) { border-top: 0 !important; }
  html.aiq-phone:not([data-theme="dark"]).ph-th-on table.aiq-tbl thead th:not(#_):not(#_):not(#_):not(#_) { border-bottom-color: #f3f3f3 !important; }
  html.aiq-phone [data-rename]:not(#_):not(#_) { touch-action: manipulation; -webkit-user-select: text; user-select: text; }
  html.aiq-phone.ph-ln .pfr-head:not(#_):not(#_):not(#_) { display: none !important; }

  /* press and hold a row = selection mode: tick boxes show, the bulk bar (Remove from list) sits above the tab pill */
  html.aiq-phone.ph-sel.ph-th-on table.sy-t :is(th, td).sy-ckc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: table-cell !important; width: 44px; min-width: 44px; }
  html.aiq-phone.ph-sel #ph-fab:not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #msa-bulk:not(#_):not(#_):not(#_):not(#_):not(#_) { position: fixed; z-index: 160; left: 12px; right: 12px; bottom: calc(92px + env(safe-area-inset-bottom)); transform: none; justify-content: space-between; }
  html.aiq-phone table.sy-t tr[data-t]:not(#_):not(#_):not(#_):not(#_):not(#_) { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
  html.aiq-phone #msa-bulk .msa-bulk-n:not(#_):not(#_):not(#_) { white-space: nowrap; }
  html.aiq-phone.ph-sel.ph-th-on table.sy-t :is(th, td).sy-ckc:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { text-align: center !important; padding: 0 !important; vertical-align: middle !important; }
  html.aiq-phone.ph-sel table.sy-t .sy-ckc input[type=checkbox]:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: block; margin: 0 auto !important; vertical-align: middle; }
  html.aiq-phone.ph-sel.ph-th-on table.sy-t :is(th, td).sy-ckc:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { width: 44px !important; min-width: 44px !important; max-width: 44px !important; box-sizing: border-box; }
  html.aiq-phone.ph-rn .pfr-head:not(#_):not(#_):not(#_) { display: block !important; position: fixed !important; left: -9999px; top: 0; opacity: 0; pointer-events: none; }
  html.aiq-phone #ph-rename-dlg input:not(#_):not(#_):not(#_) { width: 100%; height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--ph-line); background: transparent; color: var(--ph-ink); font-size: 17px; }
  html.aiq-phone #ph-th .ph-th-pen:not(#_):not(#_):not(#_) { flex: none; width: 28px; height: 28px; margin-left: -2px; border: 0; background: none; display: grid; place-items: center; color: var(--ph-ink); font-size: 18px; width: 34px; height: 34px; border-radius: 50%; background: rgba(118,118,128,.16); }
  html.aiq-phone #ph-th .ph-th-pen[hidden]:not(#_):not(#_):not(#_) { display: none; }

  /* Why it moved on phones: a row per stock, not a six-column table (user, 2026-10-29: "doesn't display the proper data"):
     ticker + move, the headline that explains it, then driver tag, vs-sector points and the biggest day */
  html.aiq-phone table.wy-t thead:not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone table.wy-t, html.aiq-phone table.wy-t tbody:not(#_):not(#_):not(#_):not(#_):not(#_) { display: block !important; width: 100% !important; }
  html.aiq-phone table.wy-t tr:not(#_):not(#_):not(#_):not(#_):not(#_) { display: grid !important; grid-template-columns: auto auto 1fr auto; grid-template-areas: "tk tk . mv" "hl hl hl hl" "dr rel . day"; gap: 6px 10px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--ph-line); }
  html.aiq-phone table.wy-t td:not(#_):not(#_):not(#_):not(#_):not(#_) { display: block !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: left !important; white-space: normal !important; overflow: visible !important; }
  html.aiq-phone table.wy-t td:nth-child(1):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: tk; display: flex !important; align-items: center; gap: 8px; font-size: 17px; font-weight: 600; }
  html.aiq-phone table.wy-t td:nth-child(2):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: mv; font-size: 17px; font-weight: 600; justify-self: end; }
  html.aiq-phone table.wy-t td:nth-child(3):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: rel; font-size: 14px; }
  html.aiq-phone table.wy-t td:nth-child(4):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: dr; }
  html.aiq-phone table.wy-t td:nth-child(5):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: hl; font-size: 15px; line-height: 1.35; }
  html.aiq-phone table.wy-t td:nth-child(5) a:not(#_):not(#_):not(#_):not(#_):not(#_) { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ph-ink); text-decoration: none; }
  html.aiq-phone table.wy-t td:nth-child(6):not(#_):not(#_):not(#_):not(#_):not(#_) { grid-area: day; justify-self: end; font-size: 13px; color: var(--ph-mut); }
  html.aiq-phone table.wy-t .ph-hc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: block !important; }

  /* the Overview's facts are one column at every phone width (user, 2026-10-29: "always in one column not two") */
  html.aiq-phone .ovs-facts:not(#_):not(#_):not(#_):not(#_) { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; }
  html.aiq-phone .ovs-facts > *:not(#_):not(#_):not(#_):not(#_) { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; border-left: 0 !important; }
  html.aiq-phone :is(.ovs-mid, .ovs-grid, .ovs-main, .ovs-side, .ovs-spill):not(#_):not(#_):not(#_):not(#_) { display: block !important; }
  html.aiq-phone :is(.ovs-mid, .ovs-spill) > *:not(#_):not(#_):not(#_):not(#_) { width: 100% !important; max-width: 100% !important; }

  /* Search = Attio's: a big "Search" title, logo rows with a type tag, and a round home button + search pill at the bottom (user, 2026-10-29) */
  html.aiq-phone #ph-search:not(#_):not(#_) { position: fixed; inset: 0; z-index: 2147483000; display: flex; flex-direction: column; background: #fafafa; color: var(--ph-ink); }
  html.aiq-phone[data-theme="dark"] #ph-search:not(#_):not(#_) { background: #252933; }
  html.aiq-phone #ph-search .ps-title:not(#_):not(#_) { margin: 0; padding: calc(70px + env(safe-area-inset-top)) 20px 14px; font-size: 40px; line-height: 1.1; font-weight: 700; letter-spacing: -.02em; }
  html.aiq-phone #ph-search .ps-list:not(#_):not(#_) { flex: 1; overflow-y: auto; padding: 0 12px 120px; }
  html.aiq-phone #ph-search .ps-row:not(#_):not(#_) { display: flex; align-items: center; gap: 14px; padding: 10px 8px; min-height: 68px; color: inherit; text-decoration: none; }
  html.aiq-phone #ph-search .ps-lg:not(#_):not(#_) { position: relative; flex: none; width: 48px; height: 48px; border-radius: 12px; overflow: hidden; background: rgba(118,118,128,.14); display: grid; place-items: center; }
  html.aiq-phone #ph-search .ps-lg img:not(#_):not(#_) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #fff; }
  html.aiq-phone #ph-search .ps-lg i:not(#_):not(#_) { font-style: normal; font-weight: 600; font-size: 18px; color: var(--ph-mut); }
  html.aiq-phone #ph-search .ps-tx:not(#_):not(#_) { flex: 1; min-width: 0; display: block; }
  html.aiq-phone #ph-search .ps-tx b:not(#_):not(#_) { display: block; font-size: 18px; font-weight: 450; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html.aiq-phone #ph-search .ps-tx small:not(#_):not(#_) { display: block; margin-top: 2px; font-size: 15px; color: var(--ph-mut); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html.aiq-phone #ph-search .ps-tag:not(#_):not(#_) { flex: none; font-style: normal; font-size: 16px; padding: 6px 12px; border-radius: 8px; color: #2a6df4; background: rgba(42,109,244,.1); border: 1px solid rgba(42,109,244,.18); }
  html.aiq-phone #ph-search .ps-empty:not(#_):not(#_) { padding: 28px 12px; color: var(--ph-mut); font-size: 17px; }
  html.aiq-phone #ph-search .ps-bar:not(#_):not(#_) { position: absolute; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); display: flex; gap: 10px; align-items: center; }
  html.aiq-phone #ph-search .ps-x:not(#_):not(#_) { flex: none; width: 64px; height: 64px; border-radius: 50%; border: 0; display: grid; place-items: center; font-size: 26px; color: var(--ph-ink); background: #fff; box-shadow: 0 4px 22px rgba(15,17,21,.12), 0 0 0 1px rgba(15,17,21,.04); }
  html.aiq-phone[data-theme="dark"] #ph-search .ps-x:not(#_):not(#_), html.aiq-phone[data-theme="dark"] #ph-search .ps-in:not(#_):not(#_) { background: #2e3443; box-shadow: 0 4px 22px rgba(0,0,0,.4); }
  html.aiq-phone #ph-search .ps-in:not(#_):not(#_) { flex: 1; min-width: 0; height: 64px; border-radius: 999px; display: flex; align-items: center; gap: 12px; padding: 0 22px; background: #fff; box-shadow: 0 4px 22px rgba(15,17,21,.12), 0 0 0 1px rgba(15,17,21,.04); font-size: 22px; }
  html.aiq-phone #ph-search .ps-in i:not(#_):not(#_) { font-size: 24px; color: var(--ph-ink); }
  html.aiq-phone #ph-search .ps-in input:not(#_):not(#_) { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--ph-ink); font-size: 22px; padding: 0; }
  /* Overview: no Notes / Alerts rows (user, 2026-10-29) */
  html.aiq-phone #tab-overview section.at-fin-rows:not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-search .ps-h:not(#_):not(#_) { padding: 14px 8px 6px; font-size: 16px; color: var(--ph-mut); }

  html.aiq-phone #aiq-ptabs:not(#_):not(#_) { touch-action: pan-y; -webkit-user-select: none; user-select: none; }

  /* Markets tables on phones: no chart-compare ticks, colour dots or "Open in Chart" button (user, 2026-10-29); text centred vertically */
  html.aiq-phone table.mkad-t :is(.pk, .ra, .dot, .mkck):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone table.mkad-t :is(th, td):not(#_):not(#_):not(#_):not(#_) { vertical-align: middle !important; }
  html.aiq-phone table.mkad-t td .c0:not(#_):not(#_):not(#_):not(#_) { display: flex; align-items: center !important; gap: 8px; min-height: 48px; }
  html.aiq-phone table.mkad-t td .mkc:not(#_):not(#_):not(#_):not(#_) { display: flex !important; align-items: center !important; gap: 8px; min-width: 0; }
  html.aiq-phone table.mkad-t td .mkc .cn:not(#_):not(#_):not(#_):not(#_) { line-height: 1.2; }
  html.aiq-phone table.mkad-t td.num, html.aiq-phone table.mkad-t td .num:not(#_):not(#_):not(#_):not(#_) { line-height: 1.2; }
  /* no hover "Open ->" pill on rows on phones; a pencil on each list row renames it */
  html.aiq-phone .aro-open:not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .msa-nm .ph-row-pen:not(#_):not(#_):not(#_) { flex: none; margin-left: auto; width: 34px; height: 34px; border: 0; border-radius: 50%; display: grid; place-items: center; font-size: 18px; color: var(--ph-ink); background: rgba(118,118,128,.16); }

  /* statements page: the chip row lives in the menu, no View settings; tables show every column and scroll sideways (user, 2026-10-29) */
  html.aiq-phone .at-ft-bar:not(#_):not(#_):not(#_):not(#_):not(#_), html.aiq-phone .stmt-opt:not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone #ph-tabmenu .ph-tm-h:not(#_):not(#_):not(#_):not(#_):not(#_) { padding: 10px 16px 4px; font-size: 14px; color: var(--ph-mut); }
  html.aiq-phone #ph-tabmenu:not(#_):not(#_):not(#_):not(#_):not(#_) { max-height: calc(100dvh - 90px); overflow-y: auto; }
  html.aiq-phone.ph-th-on table.aiq-tbl :is(th, td).ph-hc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: table-cell !important; }
  html.aiq-phone.ph-th-on table.aiq-tbl col.ph-hc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: table-column !important; }

  /* Statistics tables show every year and scroll sideways (user, 2026-10-29), and nothing in column 1 is frozen: a sticky
     first cell left group rows half cut off while the data scrolled. left:auto keeps any vertical (top) stickiness. Scoped
     to table.stx-at: written for every table it unfroze the name column of every phone table (2026-10-29 review). */
  html.aiq-phone table.stx-at :is(th, td).ph-hc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: table-cell !important; }
  html.aiq-phone table.stx-at col.ph-hc:not(#_):not(#_):not(#_):not(#_):not(#_) { display: table-column !important; }
  html.aiq-phone table.stx-at :is(th, td):first-child:not(#_):not(#_):not(#_):not(#_):not(#_), html.aiq-phone table.stx-at tr.stx-grp :is(th, td):not(#_):not(#_):not(#_):not(#_):not(#_) { left: auto !important; }

  /* the stock page's pop-up (Financials tab) uses Explore's look: grouped lists, coloured icon squares, chevrons (user, 2026-10-29) */
  html.aiq-phone .ph-pop-card:not(#_):not(#_):not(#_):not(#_) { left: 12px; right: 12px; padding: 4px 14px 14px; border-radius: 24px; }
  html.aiq-phone .ph-pop-card .ph-pop-h:not(#_):not(#_):not(#_):not(#_) { font-size: 16px; font-weight: 450; color: var(--ph-mut); margin: 18px 4px 8px; text-transform: none; letter-spacing: 0; }
  html.aiq-phone .ph-pop-card .ph-pop-grid:not(#_):not(#_):not(#_):not(#_) { display: block !important; background: var(--ph-card); border: 1px solid var(--ph-line); border-radius: 18px; overflow: hidden; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:not(#_):not(#_):not(#_):not(#_) { position: relative; display: flex !important; flex-direction: row !important; align-items: center; justify-content: flex-start; gap: 14px; width: 100%; min-height: 56px; padding: 0 44px 0 16px !important;
    border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--ph-ink) !important; font: 450 17px Inter, system-ui, sans-serif !important; text-align: left; text-decoration: none; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > * + *:not(#_):not(#_):not(#_):not(#_)::before { content: ""; position: absolute; top: 0; left: 60px; right: 0; border-top: 1px solid var(--ph-line); }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:not(#_):not(#_):not(#_):not(#_)::after { content: ""; position: absolute; right: 18px; top: 50%; width: 7px; height: 7px; margin-top: -4px; border-right: 1.6px solid var(--ph-mut); border-top: 1.6px solid var(--ph-mut); transform: rotate(45deg); opacity: .6; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > * > i:not(#_):not(#_):not(#_):not(#_) { flex: none; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; font-size: 17px; color: #fff !important; background: #2a6df4; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:nth-child(6n+2) > i:not(#_):not(#_):not(#_):not(#_) { background: #12b981; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:nth-child(6n+3) > i:not(#_):not(#_):not(#_):not(#_) { background: #f97316; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:nth-child(6n+4) > i:not(#_):not(#_):not(#_):not(#_) { background: #8b5cf6; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:nth-child(6n+5) > i:not(#_):not(#_):not(#_):not(#_) { background: #06b6d4; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:nth-child(6n) > i:not(#_):not(#_):not(#_):not(#_) { background: #ec4899; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > .on:not(#_):not(#_):not(#_):not(#_) { font-weight: 650 !important; background: rgba(42,109,244,.08) !important; }
  html.aiq-phone .ph-pop-card:not(#_):not(#_):not(#_):not(#_) { background: #fafafa !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; opacity: 1 !important; }
  html.aiq-phone[data-theme="dark"] .ph-pop-card:not(#_):not(#_):not(#_):not(#_) { background: #252933 !important; }

  /* the Financials tab opens a page of the stock's sections, not a pop-up (user, 2026-10-29: "just a page, same as Explore") */
  html.aiq-phone .ph-pop:not(#_):not(#_):not(#_):not(#_):not(#_) { position: fixed; inset: 0; z-index: 130; }
  html.aiq-phone .ph-pop-dim:not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .ph-pop-card:not(#_):not(#_):not(#_):not(#_):not(#_) { position: absolute !important; inset: 0 !important; max-height: none !important; height: auto !important; width: auto !important; margin: 0 !important; overflow-y: auto;
    border-radius: 0 !important; box-shadow: none !important; border: 0 !important; padding: calc(8px + env(safe-area-inset-top)) 16px calc(120px + env(safe-area-inset-bottom)) !important; animation: none !important; }
  /* the navigation page opens with a heading like Explore's: an icon square + the page name, centred (user, 2026-10-29: not the ticker) */
  html.aiq-phone .ph-pop-title:not(#_):not(#_):not(#_) { display: flex; align-items: center; justify-content: center; gap: 10px; box-sizing: content-box; height: 48px; margin-top: 4px; padding: 0 0 10px; }   /* same row as Explore's #ph-th: 48px high, centre 36px from the top */
  html.aiq-phone .ph-pop-title b:not(#_):not(#_):not(#_):not(#_):not(#_) { font-size: 20px; font-weight: 650 !important; color: var(--ph-ink); }
  html.aiq-phone .ph-pop-title i:not(#_):not(#_):not(#_) { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; font-size: 16px; color: #fff; background: #12b981; }
  /* spacing identical to Explore's list: bare 16px headings (the pop-up kit's own padding came on top), 26px between groups, 56px rows */
  html.aiq-phone .ph-pop-card .ph-pop-h:not(#_):not(#_):not(#_):not(#_):not(#_) { padding: 0 !important; margin: 26px 4px 8px; line-height: 24px; }
  html.aiq-phone .ph-pop-card .ph-pop-title + .ph-pop-h:not(#_):not(#_):not(#_):not(#_):not(#_) { margin-top: 18px; }
  html.aiq-phone .ph-pop-card .ph-pop-grid > *:not(#_):not(#_):not(#_):not(#_):not(#_) { height: 56px; min-height: 56px; box-sizing: border-box; }
  /* the page behind never shows through under the tab bar (a chart's donut peeked out at the bottom) */
  html.aiq-phone .ph-pop.open:not(#_):not(#_):not(#_):not(#_):not(#_) { background: #fafafa; }
  html.aiq-phone[data-theme="dark"] .ph-pop.open:not(#_):not(#_):not(#_):not(#_):not(#_) { background: #252933; }
  html.aiq-phone:has(.ph-pop.open) .app-shell > main > :not(.ph-pop):not(#ph-th):not(#_):not(#_):not(#_) { visibility: hidden; }
  /* landing from another page via the Financials tab: keep the stock's page hidden until the navigation page is up, so it never flashes */
  html.aiq-phone.ph-nav-boot .app-shell > main > :not(.ph-pop):not(#_):not(#_):not(#_) { visibility: hidden !important; }
  /* ...and the navigation page itself is shown by CSS from the first paint, not after the script has found the tab (it took ~1s) */
  html.aiq-phone.ph-nav-boot #ph-pop-fin:not(#_):not(#_):not(#_) { display: block !important; visibility: visible !important; }
  /* on the navigation page the three-bars button has nothing to add (user, 2026-10-29) */
  html.aiq-phone:has(.ph-pop.open) #ph-fin-menu:not(#_):not(#_):not(#_):not(#_), html.aiq-phone:has(.ph-pop.open) #ph-navmenu:not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone .ph-pop-card:not(#_):not(#_):not(#_):not(#_) { padding-top: calc(20px + env(safe-area-inset-top)) !important; }
  /* stock three-bars button only on pages with controls of their own (charts presets, statement period) */
  html.aiq-phone #ph-fin-menu.ph-fm-off:not(#_):not(#_):not(#_) { display: none !important; }
  /* the statements' Period button lives in the three-bars menu now */
  html.aiq-phone .at-period:not(#_):not(#_):not(#_) { display: none !important; }
  /* coloured icon squares in the top-right menus */
  html.aiq-phone #ph-tabmenu .ph-mi:not(#_):not(#_):not(#_) { flex: none; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: #fff; font-size: 17px; margin-right: -4px; }
  html.aiq-phone #ph-tabmenu .ph-mi i:not(#_):not(#_):not(#_) { color: #fff; font-size: 17px; }
  html.aiq-phone #ph-tabmenu button > span:not(#_):not(#_):not(#_) { margin-right: auto; text-align: left; }
  /* My stocks' list table: just Name, Stocks and Today on a phone (user, 2026-10-29: "way too many columns") */
  html.aiq-phone.ph-th-on table.msa-tbl :is(th, td):not(:nth-child(1)):not(:nth-child(3)):not(:nth-child(4)):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  html.aiq-phone.ph-th-on table.msa-tbl col:not(:nth-child(1)):not(:nth-child(3)):not(:nth-child(4)):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) { display: none !important; }
  /* Round header buttons sit in from the edges like Attio's (user, 2026-10-29): 20px from the sides, 16px top, 18px gap to the content */
  html.aiq-phone #ph-th:not(#_):not(#_):not(#_) { padding: 16px 20px 18px; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }   /* full bleed: the 20px is from the screen edge whatever the page's own padding */
  html.aiq-phone :is(#ph-fin-menu, #ph-navmenu.ph-nm-fixed):not(#_):not(#_):not(#_) { top: calc(16px + env(safe-area-inset-top)); right: 20px; }
  html.aiq-phone #ph-tabmenu:not(#_):not(#_):not(#_) { top: calc(72px + env(safe-area-inset-top)); right: 20px; }
  html.aiq-phone .ph-pop-title:not(#_):not(#_):not(#_):not(#_) { margin-top: 8px; padding-bottom: 18px; }
}
