/* CC PANE STYLESHEET — the 19 inline <style> blocks that lived in the BODY of
   index.html, lifted verbatim 2026-08-23 (lane-split 3, slab 4). 94921 bytes of CSS,
   not one rule changed and not one reordered: they appear below in the exact document
   order they had in the page, because later rules override earlier ones.

   IT LOADS AFTER assets/cc-core.css, WHICH HOLDS :root. Every rule here reads
   var(--amber), var(--sp-10) and the rest from there. cc-core.css must stay ahead of it.

   THE <link> FOR THIS FILE IS IN THE BODY, NOT THE HEAD, AND THAT IS DELIBERATE.
   Twelve modules (cc-bus, cc-plans-board, cc-plans-gantt, cc-spine, cc-window, cc-lanes,
   cc-scheduling, cc-day and the rest) inject their CSS with document.head.appendChild at
   runtime, so those sheets land at the END of <head>. All 19 blocks below sat in the BODY
   and therefore won ties against them. Linking this file from the head would move all 19
   ahead of those twelve at once and silently change which rule wins. The link sits at the
   exact byte the first of these blocks sat at.

   Safe to externalise: the 19 blocks contain no url() and no @import — checked before
   cutting. A relative url() would have re-resolved against /assets/ and broken every
   reference in it. No @charset needed: the host serves .css as text/css; charset=utf-8
   (verified against alessio.azcustomknives.com), same as cc-core.css, which also carries
   non-ASCII and no @charset.

   NOT MOVED: <style id="cc-no-autofill-style"> is still inline in the <head>. It is the
   only static style in the head, and the twelve runtime-injected sheets append AFTER it.
   Moving it into this body-linked file would have pushed it behind all twelve. It is 541
   bytes; leaving it costs nothing and removes the risk entirely.

   Bump the ?v= in index.html on every edit; Pages caches hard. */

/* ═══ index.html line 442 ═══ */

  .cc-dev { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-10); padding:var(--sp-10) var(--sp-12); border:1px solid var(--border); border-radius:5px; margin-bottom:var(--sp-8); }
  .cc-dev--own { border-color:var(--amber); }
  .cc-dev__main { min-width:0; }
  .cc-dev__name { font-family:var(--sans); font-size:13px; font-weight:600; color:var(--text); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .cc-dev__badge { font-family:var(--mono); font-size:8.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#000; background:var(--amber); padding:1px 6px; border-radius:8px; }
  .cc-dev__meta { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-top:3px; }
  .cc-dev__actions { display:flex; gap:6px; flex-shrink:0; }
  .cc-dev__btn { font-family:var(--display); font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-dim); background:transparent; border:1px solid var(--border); border-radius:3px; padding:6px 11px; cursor:pointer; }
  .cc-dev__btn:hover { color:#f08a6e; border-color:#b4452f; }
  .cc-dev__empty { font-family:var(--mono); font-size:11px; color:var(--text-xs); text-align:center; padding:18px; }
  .cc-dev__hint { font-family:var(--mono); font-size:10px; color:var(--text-xs); margin-top:6px; line-height:1.55; }

/* ═══ index.html line 846 ═══ */

        [data-lane="operator"] [data-subtab="tasks"] .ts3 { display:grid; grid-template-columns:var(--ts-cols, 1fr 10px 1.2fr 10px 1.4fr); gap:0; align-items:stretch; height:100%; min-height:0; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-resize { cursor:col-resize; position:relative; align-self:stretch; touch-action:none; pointer-events:none; background:transparent; transition:background .12s; }
        body.cc-edit-on [data-lane="operator"] [data-subtab="tasks"] .ts3-resize { pointer-events:auto; background:linear-gradient(to right, transparent calc(50% - 1px), var(--amber-dim,var(--amber)) calc(50% - 1px), var(--amber-dim,var(--amber)) calc(50% + 1px), transparent calc(50% + 1px)); }
        body.cc-edit-on [data-lane="operator"] [data-subtab="tasks"] .ts3-resize:hover, body.cc-edit-on [data-lane="operator"] [data-subtab="tasks"] .ts3-resize.dragging { background:linear-gradient(to right, transparent calc(50% - 1.5px), var(--amber) calc(50% - 1.5px), var(--amber) calc(50% + 1.5px), transparent calc(50% + 1.5px)); }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-col { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; min-width:0; min-height:0; max-height:100%; overflow-y:auto; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-col__head { font-family:var(--display-tabs,var(--display,'Oswald'),sans-serif); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--amber); padding-bottom:8px; border-bottom:1px solid var(--border); margin-bottom:8px; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-item { padding:8px 10px; border:1px solid transparent; border-radius:4px; cursor:pointer; font-size:13px; color:var(--text); line-height:1.4; margin-bottom:4px; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-item:hover { background:var(--raised,rgba(255,255,255,0.03)); border-color:var(--border); }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-item.active { background:var(--amber-soft,rgba(255,176,0,0.10)); border-color:var(--amber); color:var(--amber); }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-item__sub { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-top:3px; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-item__pill { display:inline-block; padding:1px 6px; border-radius:8px; font-family:var(--mono); font-size:9px; letter-spacing:0.05em; text-transform:uppercase; margin-left:6px; vertical-align:middle; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-item__pill.urgent { background:#990000; color:#fff; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-item__pill.in_progress { background:var(--amber-soft,rgba(255,176,0,0.18)); color:var(--amber); border:1px solid var(--amber); }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-empty { font-family:var(--mono); font-size:11px; color:var(--text-xs); padding:16px; text-align:center; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-detail__title { font-size:15px; color:var(--text); line-height:1.35; margin-bottom:10px; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-detail__meta { font-family:var(--mono); font-size:10.5px; color:var(--text-dim); display:flex; gap:12px; flex-wrap:wrap; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--border); }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-detail__body { font-size:13px; color:var(--text); line-height:1.55; white-space:pre-wrap; word-wrap:break-word; }
        @media (max-width:960px) { [data-lane="operator"] [data-subtab="tasks"] .ts3 { grid-template-columns:1fr; } [data-lane="operator"] [data-subtab="tasks"] .ts3-resize { display:none; } }
      
/* ═══ index.html line 943 ═══ */

        [data-lane="operator"] [data-subtab="projects"] .pj-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--sp-10); padding-top:var(--sp-8); }
        [data-lane="operator"] [data-subtab="projects"] .pj-card { padding:14px; border:1px solid var(--border); border-radius:6px; background:var(--surface); cursor:pointer; transition:border-color 0.12s; }
        [data-lane="operator"] [data-subtab="projects"] .pj-card:hover { border-color:var(--amber); }
        [data-lane="operator"] [data-subtab="projects"] .pj-card__slug { font-family:var(--mono); font-size:9.5px; letter-spacing:0.08em; color:var(--text-xs); text-transform:uppercase; margin-bottom:6px; }
        [data-lane="operator"] [data-subtab="projects"] .pj-card__title { font-size:14px; color:var(--text); line-height:1.35; margin-bottom:var(--sp-8); }
        [data-lane="operator"] [data-subtab="projects"] .pj-card__meta { font-family:var(--mono); font-size:10px; color:var(--text-dim); display:flex; gap:var(--sp-8); flex-wrap:wrap; }
        [data-lane="operator"] [data-subtab="projects"] .pj-empty { font-family:var(--mono); font-size:11px; color:var(--text-xs); padding:var(--sp-24); text-align:center; }
      
/* ═══ index.html line 962 ═══ */

        .cc-ses-split { display:flex; gap:0; align-items:flex-start; }
        .cc-ses-list { flex:0 0 var(--ses-list-w, 35%); min-width:200px; display:flex; flex-direction:column; gap:var(--sp-8,8px); padding-right:var(--sp-8,8px); }
        .cc-ses-resize { flex:0 0 6px; align-self:stretch; cursor:col-resize; background:transparent; position:relative; }
        .cc-ses-resize::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--border); transform:translateX(-0.5px); }
        .cc-ses-resize:hover::before, .cc-ses-resize.dragging::before { background:var(--amber); width:2px; }
        .cc-ses-detail { flex:1 1 auto; min-width:280px; position:sticky; top:8px; max-height:calc(100vh - 220px); overflow-y:auto; padding-left:var(--sp-8,8px); }
        @media (max-width:900px) { .cc-ses-split { flex-direction:column; } .cc-ses-list, .cc-ses-detail { flex:1 1 auto; } .cc-ses-resize { display:none; } .cc-ses-list { padding-right:0; } .cc-ses-detail { padding-left:0; } }
        .cc-ses-list .cc-session { cursor:pointer; }
        .cc-ses-list .cc-session.selected { outline:2px solid var(--amber); }
        /* Tree-view sections + per-row expand drop-down */
        .cc-ses-section-head { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--amber); cursor:pointer; padding:var(--sp-8) var(--sp-4) var(--sp-4) var(--sp-4); user-select:none; display:flex; align-items:center; gap:var(--sp-6); }
        .cc-ses-section-head:hover { color:var(--text); }
        .cc-ses-section-head .arrow { display:inline-block; width:10px; font-size:9px; }
        .cc-ses-section-head.collapsed .arrow::before { content:'▸'; }
        .cc-ses-section-head:not(.collapsed) .arrow::before { content:'▾'; }
        .cc-ses-section-body.collapsed { display:none; }
        .cc-ses-row-wrap { display:flex; flex-direction:column; }
        .cc-ses-row-wrap__head { display:flex; align-items:stretch; gap:4px; }
        .cc-ses-row-wrap__arrow { font-family:var(--mono); font-size:11px; color:var(--amber); cursor:pointer; width:14px; flex:0 0 14px; user-select:none; text-align:center; display:flex; align-items:center; justify-content:center; }
        .cc-ses-row-wrap__arrow:hover { color:var(--text); }
        .cc-ses-row-wrap__body { flex:1; min-width:0; }
        .cc-ses-row__badge { background:var(--red,#e5534b); color:#fff; border-radius:8px; padding:1px 6px; font-family:var(--mono); font-size:9px; font-weight:700; min-width:14px; text-align:center; display:inline-block; }
        .cc-ses-row__tail { margin-left:18px; padding:6px 10px; border-left:2px solid var(--amber-glow,rgba(200,146,42,0.2)); display:none; font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-bottom:6px; background:var(--raised); border-radius:0 4px 4px 0; }
        .cc-ses-row__tail.open { display:block; }
        .cc-ses-row__tail .bub { padding:4px 0; border-bottom:1px dashed var(--border); white-space:pre-wrap; word-wrap:break-word; }
        .cc-ses-row__tail .bub:last-child { border-bottom:0; }
        .cc-ses-row__tail .who { color:var(--amber); font-weight:700; font-size:9px; text-transform:uppercase; letter-spacing:0.08em; margin-right:4px; }
        .cc-ses-row__tail .empty { color:var(--text-xs); font-style:italic; }
        .cc-ses-kids__head { display:flex; align-items:baseline; gap:8px; padding:2px 0 6px; border-bottom:1px dashed var(--border); margin-bottom:6px; }
        .cc-ses-kids__title { color:var(--amber); font-weight:700; font-size:10px; text-transform:uppercase; letter-spacing:0.1em; }
        .cc-ses-kids__stamp { color:var(--text-xs); font-size:9px; margin-left:auto; }
        .cc-ses-kids__stamp.stale { color:var(--text-xs); opacity:0.5; font-style:italic; }
        .cc-ses-kid { display:flex; align-items:baseline; gap:6px; padding:1px 0; font-size:10px; line-height:1.4; }
        .cc-ses-kid__lead { color:var(--text-xs); white-space:pre; flex-shrink:0; }
        .cc-ses-kid__name { color:var(--text); font-weight:600; flex-shrink:0; min-width:80px; }
        .cc-ses-kid__pid  { color:var(--text-xs); font-size:9px; flex-shrink:0; }
        .cc-ses-kid__cmd  { color:var(--text-dim); opacity:0.7; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; }
        .cc-ses-detail-empty { font-family:var(--mono); font-size:11px; color:var(--text-xs); text-align:center; padding:24px 16px; border:1px dashed var(--border); border-radius:4px; }
        .cc-ses-chat { margin-top:var(--sp-12,12px); border-top:1px solid var(--border); padding-top:var(--sp-12,12px); }
        .cc-ses-chat__label { font-family:var(--display); font-size:10px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--amber); margin-bottom:var(--sp-8,8px); }
        .cc-ses-chat__thread { display:flex; flex-direction:column; gap:6px; max-height:460px; min-height:240px; height:320px; overflow-y:scroll !important; margin-bottom:var(--sp-8,8px); padding-right:8px; resize:vertical; scrollbar-width:auto; scrollbar-color:var(--amber,#c8922a) var(--raised,#161b20); }
        .cc-ses-chat__thread::-webkit-scrollbar { width:12px !important; height:12px; }
        .cc-ses-chat__thread::-webkit-scrollbar-track { background:var(--raised,#161b20); border-radius:6px; }
        .cc-ses-chat__thread::-webkit-scrollbar-thumb { background:var(--amber-dim,#9c7021); border-radius:6px; border:2px solid var(--raised,#161b20); }
        .cc-ses-chat__thread::-webkit-scrollbar-thumb:hover { background:var(--amber,#c8922a); }
        .cc-ses-chat__bubble { font-family:var(--sans); font-size:12px; line-height:1.4; padding:6px 10px; border-radius:6px; max-width:88%; white-space:pre-wrap; word-wrap:break-word; }
        .cc-ses-chat__bubble--out { align-self:flex-end; background:var(--amber); color:#000; }
        .cc-ses-chat__bubble--in { align-self:flex-start; background:var(--raised); color:var(--text); border:1px solid var(--border); }
        .cc-ses-chat__meta { font-family:var(--mono); font-size:9px; color:var(--text-xs); margin-top:2px; opacity:0.7; }
        .cc-ses-chat__row { display:flex; gap:6px; align-items:stretch; }
        /* cc-mic.js wraps every textarea in a span. The span is the flex child of the row, so it must grow.
           min-width:0 lets it shrink past content. flex:1 1 0 forces the wrap to take all leftover space. */
        .cc-ses-chat__row > .cc-mic-wrap { flex:1 1 0 !important; min-width:0 !important; max-width:none !important; }
        .cc-ses-chat__row > .cc-mic-wrap > textarea,
        .cc-ses-chat__row textarea { width:100% !important; flex:1; background:var(--bg); border:1px solid var(--border); color:var(--text); padding:8px 12px; border-radius:3px; font-family:var(--mono); font-size:12px; line-height:1.45; min-height:88px; resize:vertical; box-sizing:border-box; display:block; }
        .cc-ses-chat__row textarea:focus { outline:none; border-color:var(--amber); }
        .cc-ses-chat__send { font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; background:var(--amber); color:#000; border:1px solid var(--amber); border-radius:3px; padding:5px 12px; cursor:pointer; align-self:stretch; }
        .cc-ses-chat__send:hover { background:var(--text); border-color:var(--text); }
        .cc-ses-chat__empty { font-family:var(--mono); font-size:10px; color:var(--text-xs); text-align:center; padding:8px; }
      
/* ═══ index.html line 1112 ═══ */

      [data-lane="swiss"] .sd-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; padding:4px 2px 24px; }
      [data-lane="swiss"] .cc-card { border-left:2px solid var(--amber); }
      [data-lane="swiss"] .sd-sublist { list-style:none; margin:10px 0 0; padding-top:8px; border-top:1px solid var(--border); }
      [data-lane="swiss"] .sd-sublist li { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:6px 0; font-size:12px; color:var(--text-dim); border-bottom:1px dotted var(--border); }
      [data-lane="swiss"] .sd-sublist li:last-child { border-bottom:0; }
      [data-lane="swiss"] .sd-soon { font-family:var(--mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-xs); }
      [data-lane="swiss"] .sd-recipe__head { margin:2px 2px 14px; }
      [data-lane="swiss"] .sd-recipe__grid { display:grid; grid-template-columns:1fr 1.2fr; gap:24px; padding:0 2px 24px; align-items:start; }
      @media (max-width:900px){ [data-lane="swiss"] .sd-recipe__grid { grid-template-columns:1fr; } }
      [data-lane="swiss"] .sd-h { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--amber); margin:18px 0 8px; }
      [data-lane="swiss"] .sd-h.first { margin-top:0; }
      [data-lane="swiss"] .sd-tbl { width:100%; border-collapse:collapse; font-size:13px; }
      [data-lane="swiss"] .sd-tbl td, [data-lane="swiss"] .sd-tbl th { padding:6px 8px; border-bottom:1px solid var(--border); text-align:left; color:var(--text); }
      [data-lane="swiss"] .sd-tbl th { font-family:var(--display); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-xs); }
      [data-lane="swiss"] .sd-tbl td:last-child { text-align:right; font-family:var(--mono); white-space:nowrap; }
      [data-lane="swiss"] .sd-tbl--chart td { font-family:var(--mono); font-size:12px; }
      [data-lane="swiss"] .sd-note { font-size:11.5px; color:var(--text-dim); font-style:italic; margin:8px 2px 0; line-height:1.5; }

      /* Just Cook → clickable cream-HTML links + in-lane iframe viewer (bus #2060, 2026-06-03).
         Cream magazine pages live in assets/swiss-delicious/ and render inside an iframe so
         their light styling survives intact inside the dark CC chrome (After-Hours pattern). */
      [data-lane="swiss"] .sd-sublist li.sd-link { cursor:pointer; transition:color .12s; }
      [data-lane="swiss"] .sd-sublist li.sd-link:hover { color:var(--amber); }
      [data-lane="swiss"] .sd-sublist li.sd-link:hover .sd-open { color:var(--amber); }
      [data-lane="swiss"] .sd-open { font-family:var(--mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-dim); white-space:nowrap; }
      [data-lane="swiss"] .sd-viewer { flex-direction:column; min-height:0; gap:8px; }
      [data-lane="swiss"] .sd-viewer__bar { display:flex; align-items:center; gap:14px; flex:0 0 auto; }
      [data-lane="swiss"] .sd-viewer__back { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:6px 12px; background:transparent; color:var(--text-dim); border:1px solid var(--border); border-radius:3px; cursor:pointer; }
      [data-lane="swiss"] .sd-viewer__back:hover { color:var(--amber); border-color:var(--amber); }
      [data-lane="swiss"] .sd-viewer__title { font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--amber); }
      [data-lane="swiss"] .sd-viewer__open { margin-left:auto; font-family:var(--mono); font-size:10px; letter-spacing:0.04em; color:var(--text-dim); text-decoration:none; white-space:nowrap; }
      [data-lane="swiss"] .sd-viewer__open:hover { color:var(--amber); }
      [data-lane="swiss"] .sd-viewer__frame { flex:1 1 0%; min-height:0; background:#fff; border:1px solid var(--border); border-radius:4px; overflow:hidden; }
      [data-lane="swiss"] .sd-viewer__frame iframe { width:100%; height:100%; border:0; background:#fff; display:block; }
    
/* ═══ index.html line 1242 ═══ */

      /* THE CREAM BELONGS TO THE DASHBOARD, NOT TO THE BOX (2026-08-26).
         #FBF8F2 is the QuadFang dashboard's own paper. It was set on the
         CONTAINER as well as the iframe, which was invisible for as long as an
         iframe covered the container 100%/100%. On 2026-08-24 (#395) the three
         QuadFang pages were pulled for having no sign-in, and the containers
         kept their paper - so a full-height sheet of cream appeared on this tab
         behind a two-line note, on a black board, that nobody asked for.
         The iframe still carries its own cream, so a dashboard that comes back
         looks exactly as it did. The empty box now wears the board. */
      [data-lane="quadfang"] .qf-viewer { flex:1 1 0%; min-height:0; background:var(--surface,#12161a); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
      [data-lane="quadfang"] .qf-viewer iframe { width:100%; height:100%; border:0; display:block; background:#FBF8F2; }
      /* Business Model Canvas — fixed 11x8.5in plate scaled to fit the subtab (bus #2373) */
      [data-lane="quadfang"] .qf-bmc-viewport { flex:1 1 0%; min-height:0; overflow:auto; background:transparent; border:1px solid var(--border); border-radius:6px; padding:10px; display:flex; align-items:flex-start; justify-content:center; }
      [data-lane="quadfang"] .qf-bmc-sizer { position:relative; flex:0 0 auto; margin:0 auto; }
      [data-lane="quadfang"] .qf-bmc-scaler { position:absolute; top:0; left:0; width:1056px; height:816px; transform-origin:top left; }
      [data-lane="quadfang"] .qf-bmc-scaler iframe { width:1056px; height:816px; border:0; display:block; background:#1A1A1A; }
      /* Blown-up single-section view (content cloned live from the canvas iframe) */
      [data-lane="quadfang"] .qf-bmc-section { flex:1 1 0%; min-height:0; overflow:auto; border:1px solid var(--border); border-radius:6px; padding:22px 26px; background:transparent; }
      [data-lane="quadfang"] .qf-bmc-section .hd { display:flex; align-items:center; gap:12px; margin:0 0 16px; padding-bottom:12px; border-bottom:2px solid var(--amber); }
      [data-lane="quadfang"] .qf-bmc-section .ic { font-size:26px; line-height:1; background:none; width:auto; height:auto; color:inherit; }
      [data-lane="quadfang"] .qf-bmc-section h2 { font-family:var(--display); font-size:22px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; color:var(--text); margin:0; }
      [data-lane="quadfang"] .qf-bmc-section .lead { font-style:italic; font-size:16px; line-height:1.45; color:var(--text); border-left:3px solid var(--amber); padding-left:12px; margin:0 0 16px; }
      [data-lane="quadfang"] .qf-bmc-section .pricepill { display:inline-block; background:var(--amber); color:#000; font-family:var(--display); font-weight:700; font-size:15px; letter-spacing:.3px; padding:4px 13px; border-radius:13px; margin:0 0 12px; }
      [data-lane="quadfang"] .qf-bmc-section ul { list-style:none; margin:0; padding:0; columns:1; }
      [data-lane="quadfang"] .qf-bmc-section li { position:relative; font-size:15px; line-height:1.6; color:var(--text-dim); padding-left:20px; margin-bottom:11px; }
      [data-lane="quadfang"] .qf-bmc-section li::before { content:""; position:absolute; left:2px; top:9px; width:6px; height:6px; background:var(--amber); border-radius:50%; }
      [data-lane="quadfang"] .qf-bmc-section li b { color:var(--text); font-weight:700; }
      /* BMC operator-style 3-col: Versions | Canvas | Bus at 1.5 / 3 / 2 (bus #2373) */
      [data-lane="quadfang"] .rnd-3col.bmc3 { grid-template-columns:1.5fr 3fr 2fr; }
      [data-lane="quadfang"] .bmc3 .qf-bmc-stage { min-height:0; height:100%; display:flex; flex-direction:column; }
      [data-lane="quadfang"] .qf-bmc-bar { flex-shrink:0; display:flex; justify-content:flex-end; margin-bottom:8px; }
      [data-lane="quadfang"] .qf-bmc-pdf { background:var(--amber); color:#000; border:0; border-radius:4px; padding:5px 13px; font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; }
      [data-lane="quadfang"] .qf-bmc-pdf:hover { filter:brightness(1.08); }
      [data-lane="quadfang"] .qf-bmc-versions { width:100%; box-sizing:border-box; margin-bottom:10px; background:var(--bg); color:var(--text); border:1px solid var(--border); border-radius:4px; padding:6px 8px; font-family:var(--sans); font-size:12px; }
      [data-lane="quadfang"] .bmc-hint { font-family:var(--mono); font-size:10px; color:var(--text-xs); margin-top:8px; padding:8px; border:1px dashed var(--border); border-radius:4px; line-height:1.5; }
      /* Mobile: enlarge the version dropdown + hint so they're readable on a phone. */
      @media (max-width:1100px){
        [data-lane="quadfang"] .qf-bmc-versions { font-size:16px; padding:10px; line-height:1.4; min-height:44px; }
        [data-lane="quadfang"] .bmc-hint { font-size:13px; padding:10px; }
      }
      @media (max-width:1100px){ [data-lane="quadfang"] .rnd-3col.bmc3 { grid-template-columns:minmax(0,1fr); } } /* narrow: stack Versions / Canvas / Bus */
      /* Mobile: let the canvas expand to the full screen width (edge-to-edge) and grow
         tall enough to show it, instead of being crammed into a short stacked row. */
      @media (max-width:1100px){
        [data-lane="quadfang"] .bmc3 .qf-bmc-stage { height:auto; min-height:0; min-width:0; }
        [data-lane="quadfang"] .qf-bmc-viewport { height:auto; min-height:0; min-width:0; width:100%; max-width:100%; padding:0; border:0; overflow-x:auto; overflow-y:visible; justify-content:flex-start; -webkit-overflow-scrolling:touch; }
      }
      /* Mobile: the desktop CC is a fixed single frame (no page scroll). On a phone the
         stacked BMC columns (sections + canvas + bus) overflow one screen, so make the
         QuadFang lane SCROLL while the sticky tab nav above it stays put. The bus, which
         was trapped off-screen at the bottom, becomes reachable. */
      @media (max-width:1100px){
        .cc-lane[data-lane="quadfang"] { overflow-y:auto; -webkit-overflow-scrolling:touch; }
        .cc-lane[data-lane="keypartners"] { overflow-y:auto; -webkit-overflow-scrolling:touch; }
        [data-lane="quadfang"] .cc-subpane.active { overflow:visible; height:auto; min-height:0; flex:0 0 auto; }
        [data-lane="quadfang"] .rnd-3col, [data-lane="quadfang"] .rnd-3col.bmc3 { height:auto; min-height:0; align-items:start; }
        [data-lane="quadfang"] .rnd-col { overflow:visible; height:auto; min-height:0; }
        [data-lane="quadfang"] .rnd-col--list { max-height:34vh; overflow-y:auto; }  /* compact section picker so the canvas sits up top, not buried under a long list */
        [data-lane="quadfang"] .rnd-col--bus { overflow:visible; }
        [data-lane="quadfang"] .rnd-bus { overflow:visible; height:auto; min-height:0; }
      }
      /* Mobile scroll for the OPERATOR lane (Projects, Buses, Tasks): same pattern as
         QuadFang — the lane scrolls while the sticky tab nav stays put. Plans already
         scrolls fine (plain cards) and is unaffected by these container overrides. */
      @media (max-width:1100px){
        .cc-lane[data-lane="operator"] { overflow-y:auto; -webkit-overflow-scrolling:touch; }
        [data-lane="operator"] .cc-subpane.active { overflow:visible; height:auto; min-height:0; flex:0 0 auto; }
        [data-lane="operator"] [data-subtab="projects"] #op-projects-mount { overflow:visible; height:auto; min-height:0; }
        [data-lane="operator"] [data-subtab="bus"] #bus-mount { overflow:visible; height:auto; min-height:0; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3 { height:auto; min-height:0; }
        [data-lane="operator"] [data-subtab="tasks"] .ts3-col { height:auto; min-height:0; max-height:none; }
      }
      /* COMMS' mobile rules are NOT here. They live inside assets/cc-comms.js,
         the same way cc-bus.js and cc-texts.js carry their own scoped styles.
         Reason, learned the hard way 2026-08-26: this file's ?v= tag was bumped
         in one commit and its contents in another, so browsers cached the OLD
         stylesheet under the NEW version string and no reload could fix it. A
         module that owns its own CSS cannot be poisoned that way. */
      [data-lane="quadfang"] .rnd-3col { display:grid; grid-template-columns:1.4fr 2.3fr 2.1fr; gap:var(--sp-10); height:100%; min-height:0; align-items:stretch; }
      @media (max-width:700px){ [data-lane="quadfang"] .rnd-3col { grid-template-columns:1fr; } [data-lane="quadfang"] .rnd-col--bus { grid-column:auto; } [data-lane="quadfang"] .rnd-col--detail { max-height:60vh; overflow-y:auto; } } /* 700 (was 1100) — iPads keep columns + resize, 2026-06-09 */
      [data-lane="quadfang"] .rnd-col { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-10); min-height:0; overflow-y:auto; display:flex; flex-direction:column; }
      [data-lane="quadfang"] .rnd-col--bus { overflow:hidden; }
      [data-lane="quadfang"] .rnd-col__head { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--amber); padding-bottom:8px; border-bottom:1px solid var(--border); margin-bottom:8px; flex-shrink:0; }
      [data-lane="quadfang"] .rnd-row { padding:8px 10px; border:1px solid transparent; border-left:2px solid transparent; border-radius:4px; cursor:pointer; margin-bottom:4px; }
      [data-lane="quadfang"] .rnd-row:hover { background:var(--raised); border-left-color:var(--amber-dim); }
      [data-lane="quadfang"] .rnd-row.selected { background:var(--amber-soft); border-left-color:var(--amber); }
      [data-lane="quadfang"] .rnd-row__top { display:flex; align-items:center; gap:8px; }
      [data-lane="quadfang"] .rnd-row__name { font-family:var(--sans); font-size:13px; font-weight:600; color:var(--text); flex:1; min-width:0; }
      [data-lane="quadfang"] .rnd-row__sub { font-size:10.5px; color:var(--text-dim); margin-top:3px; line-height:1.4; }
      [data-lane="quadfang"] .rnd-pill { font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:0.04em; padding:2px 7px; border-radius:10px; white-space:nowrap; flex-shrink:0; }
      [data-lane="quadfang"] .rnd-pill.ok { background:rgba(46,125,84,.18); color:#5cc99a; }
      [data-lane="quadfang"] .rnd-pill.warn { background:var(--amber-soft); color:var(--amber); }
      [data-lane="quadfang"] .rnd-pill.bad { background:rgba(180,69,47,.22); color:#f08a6e; }
      [data-lane="quadfang"] .rnd-pill.neu { background:var(--raised); color:var(--text-dim); border:1px solid var(--border); }
      [data-lane="quadfang"] .rnd-detail__card { display:none; }
      [data-lane="quadfang"] .rnd-detail__title { font-family:var(--display); font-size:16px; font-weight:700; color:var(--text); margin-bottom:4px; }
      [data-lane="quadfang"] .rnd-detail__meta { font-family:var(--mono); font-size:10px; color:var(--text-xs); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px; }
      [data-lane="quadfang"] .rnd-detail__body { font-size:13px; color:var(--text-dim); line-height:1.55; }
      [data-lane="quadfang"] .rnd-bus { flex:1 1 0%; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:6px; }
      [data-lane="quadfang"] .rnd-bus__compose { flex-shrink:0; display:flex; gap:6px; margin-bottom:8px; padding-bottom:8px; border-bottom:1px solid var(--border); }
      [data-lane="quadfang"] .rnd-bus__text { flex:1; min-width:0; background:var(--bg); color:var(--text); border:1px solid var(--border); border-radius:3px; padding:6px 8px; font-family:var(--sans); font-size:12px; line-height:1.4; resize:vertical; min-height:38px; max-height:160px; box-sizing:border-box; }
      [data-lane="quadfang"] .rnd-bus__text:focus { outline:none; border-color:var(--amber); }
      [data-lane="quadfang"] .rnd-bus__send { flex-shrink:0; background:var(--amber); color:#000; border:0; border-radius:3px; padding:0 14px; font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; }
      [data-lane="quadfang"] .rnd-bus__send:hover { background:var(--amber-hi,#ffb000); }
      [data-lane="quadfang"] .rnd-bus__send:disabled { opacity:.5; cursor:wait; }
      [data-lane="quadfang"] .rnd-bus__msg { background:var(--raised); border:1px solid var(--border); border-radius:4px; padding:6px 9px; }
      [data-lane="quadfang"] .rnd-bus__head { font-family:var(--mono); font-size:9px; color:var(--text-xs); margin-bottom:3px; }
      [data-lane="quadfang"] .rnd-bus__from { color:var(--amber); font-weight:700; }
      [data-lane="quadfang"] .rnd-bus__body { font-size:11.5px; color:var(--text); line-height:1.45; white-space:pre-wrap; word-wrap:break-word; }
      [data-lane="quadfang"] .rnd-bus__empty { font-family:var(--mono); font-size:10px; color:var(--text-xs); text-align:center; padding:14px; border:1px dashed var(--border); border-radius:4px; }
    
/* ═══ index.html line 1570 ═══ */

        /* ════════════════════════════════════════════════════════════════
           SHOP v2 — operator-mode modal · runs · versioning
           Strict AZCK palette · Lexend type · ALL CAPS labels · no green/blue
           Scoped to [data-lane="shop"] so it can't bleed into other lanes.
           ═══════════════════════════════════════════════════════════════ */
        [data-lane="shop"] {
          --sp-orange:   #E8630A;
          --sp-amber:    #EF9F27;
          --sp-amber-lt: #FAC775;
          --sp-white:    #FFFFFF;
          --sp-muted-lt: #CCCCCC;
          --sp-muted:    #6B6B6B;
          --sp-divider:  #444444;
          --sp-panel:    #1A1A1A;
          --sp-deep:     #0D0D0D;
          --sp-scrim:    rgba(0,0,0,0.85);
          --sp-warn:     #990000;
          font-family: 'Lexend', sans-serif;
        }

        /* ── Active-run rail (SHOP-level, above toolbar) ─────────────── */
        .sp-runrail { display:none; background:var(--sp-orange); color:#000; padding:8px 18px; font-family:'Lexend',sans-serif; font-size:12px; font-weight:500; letter-spacing:0.5px; text-transform:uppercase; align-items:center; gap:10px; margin-bottom:12px; cursor:pointer; }
        .sp-runrail.open { display:flex; }
        .sp-runrail i { font-size:16px; }
        .sp-runrail__title { font-weight:500; }
        .sp-runrail__timer { font-family:'Lexend',sans-serif; font-variant-numeric:tabular-nums; }
        .sp-runrail__cta { margin-left:auto; padding:2px 10px; border:1px solid #000; background:transparent; color:#000; font-family:inherit; font-size:11px; cursor:pointer; text-transform:uppercase; letter-spacing:0.5px; }

        /* ── Toolbar ─────────────────────────────────────────────────── */
        .sp-toolbar { display:flex; gap:8px; margin-bottom:12px; align-items:center; flex-wrap:wrap; }
        .sp-toolbar input, .sp-toolbar select { background:var(--sp-panel); color:var(--sp-white); border:1px solid var(--sp-divider); padding:8px 12px; font-family:'Lexend',sans-serif; font-size:12px; font-weight:400; }
        .sp-toolbar input { flex:1 1 240px; min-width:180px; }
        .sp-toolbar input:focus, .sp-toolbar select:focus { outline:none; border-color:var(--sp-orange); }
        .sp-toolbar input::placeholder { color:var(--sp-muted); }

        /* ── Category grid + cards ───────────────────────────────────── */
        .sp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:8px; margin:6px 0 10px; }
        .sp-card { cursor:pointer; }
        .sp-card:hover { border-color:var(--sp-orange); }

        /* ── MODAL v2 ─────────────────────────────────────────────────── */
        .sp-modal { display:none; position:fixed; inset:0; z-index:9999; background:var(--sp-scrim); }
        .sp-modal.open { display:flex; align-items:center; justify-content:center; padding:24px; font-family:'Lexend',sans-serif; }
        .sp-modal__shell { background:var(--sp-deep); border:1px solid var(--sp-divider); width:100%; max-width:960px; max-height:92vh; display:flex; flex-direction:column; color:var(--sp-white); }

        /* Header strip */
        .sp-modal__header { padding:18px 24px; border-bottom:1px solid #1f1f1f; display:flex; gap:14px; align-items:center; flex-shrink:0; }
        .sp-chip { font-size:11px; padding:3px 10px; border:1px solid var(--sp-orange); color:var(--sp-orange); text-transform:uppercase; letter-spacing:1.2px; font-weight:500; white-space:nowrap; }
        .sp-modal__title { font-size:15px; font-weight:500; color:var(--sp-white); text-transform:uppercase; letter-spacing:0.5px; flex:1; line-height:1.3; }
        .sp-btn-print { font-size:11px; padding:6px 14px; border:1px solid var(--sp-divider); color:var(--sp-white); text-decoration:none; text-transform:uppercase; letter-spacing:0.5px; font-family:inherit; font-weight:400; }
        .sp-btn-print:hover { border-color:var(--sp-orange); color:var(--sp-orange); }
        .sp-btn-close { background:none; border:0; color:var(--sp-muted); cursor:pointer; font-family:inherit; padding:4px 6px; line-height:1; }
        .sp-btn-close i { font-size:22px; }
        .sp-btn-close:hover { color:var(--sp-white); }

        /* Metadata strip */
        .sp-modal__metadata { padding:12px 24px; border-bottom:1px solid #1f1f1f; display:flex; gap:24px; flex-wrap:wrap; flex-shrink:0; }
        .sp-meta-field { display:flex; flex-direction:column; gap:2px; min-width:0; }
        .sp-meta-lbl { font-size:10px; color:var(--sp-muted); text-transform:uppercase; letter-spacing:0.08em; }
        .sp-meta-val { font-size:13px; color:var(--sp-white); font-weight:400; }
        .sp-meta-val.amber { color:var(--sp-amber); }
        .sp-meta-status { display:inline-flex; align-items:center; gap:6px; }
        .sp-meta-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
        .sp-meta-dot.active   { background:var(--sp-orange); }
        .sp-meta-dot.draft    { background:var(--sp-muted); }
        .sp-meta-dot.archived { background:var(--sp-warn); }

        /* Anchored nav (5 pills) */
        .sp-modal__nav { display:flex; border-bottom:1px solid #1f1f1f; flex-shrink:0; overflow-x:auto; scrollbar-width:none; }
        .sp-modal__nav::-webkit-scrollbar { display:none; }
        .sp-pill { padding:14px 18px; background:none; border:0; color:var(--sp-muted); font-family:inherit; font-size:12px; font-weight:500; cursor:pointer; display:flex; align-items:center; gap:6px; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; text-transform:none; letter-spacing:0.2px; }
        .sp-pill i { font-size:16px; vertical-align:-2px; }
        .sp-pill:hover:not(.active) { color:var(--sp-amber-lt); }
        .sp-pill.active { color:var(--sp-white); border-bottom-color:var(--sp-orange); }

        /* Section content */
        .sp-modal__content { flex:1; overflow-y:auto; padding:18px 24px; font-size:13px; color:var(--sp-white); line-height:1.55; }
        .sp-section { display:none; }
        .sp-section.active { display:block; }
        .sp-section h2, .sp-section h3 { font-family:'Lexend',sans-serif; font-weight:500; color:var(--sp-white); text-transform:uppercase; letter-spacing:0.5px; margin:14px 0 8px; }
        .sp-section h2 { font-size:13px; color:var(--sp-amber); }
        .sp-section h3 { font-size:12px; color:var(--sp-muted-lt); }
        .sp-section p { margin:6px 0; color:var(--sp-muted-lt); }
        .sp-section strong { color:var(--sp-white); font-weight:500; }
        .sp-section code { background:var(--sp-panel); padding:1px 6px; color:var(--sp-amber); font-family:'Lexend',monospace; font-size:12px; }

        /* Sub-blocks within sections */
        .sp-block { background:var(--sp-panel); padding:14px 16px; margin:10px 0; border-left:2px solid transparent; }
        .sp-block__label { font-size:10px; color:var(--sp-muted); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:8px; font-weight:500; }
        .sp-block.warn { border-left-color:var(--sp-warn); }
        .sp-block.amber { border-left-color:var(--sp-amber); }

        /* Checkbox rows (parsed from markdown checkboxes) */
        .sp-check { display:flex; align-items:flex-start; gap:10px; margin:4px 0; padding:4px 0; }
        .sp-check input[type=checkbox] { margin-top:3px; accent-color:var(--sp-orange); width:14px; height:14px; flex-shrink:0; }
        .sp-check label { color:var(--sp-muted-lt); cursor:pointer; flex:1; }
        .sp-check input:checked + label { color:var(--sp-muted); text-decoration:line-through; }

        /* AT-THE-KILN · spec tiles row */
        .sp-spec-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:8px 0 18px; }
        .sp-spec-tile { background:var(--sp-panel); padding:16px; }
        .sp-spec-tile .val { font-size:36px; font-weight:500; color:var(--sp-amber); line-height:1.05; font-variant-numeric:tabular-nums; }
        .sp-spec-tile .val.white { color:var(--sp-white); font-size:24px; }
        .sp-spec-tile .lbl { font-size:10px; color:var(--sp-muted); text-transform:uppercase; letter-spacing:0.1em; margin-top:8px; font-weight:500; }

        /* Collapsible step cards */
        .sp-step { background:var(--sp-panel); margin:6px 0; }
        .sp-step summary { padding:11px 14px; cursor:pointer; list-style:none; display:flex; align-items:center; gap:10px; font-size:13px; color:var(--sp-white); font-weight:500; }
        .sp-step summary::-webkit-details-marker { display:none; }
        .sp-step[open] summary { border-bottom:1px solid #1f1f1f; }
        .sp-step__num { font-size:10px; color:var(--sp-amber); background:#0d0d0d; padding:3px 7px; font-weight:500; letter-spacing:0.5px; min-width:38px; text-align:center; }
        .sp-step__title { flex:1; }
        .sp-step__check { margin-left:auto; }
        .sp-step__check input[type=checkbox] { accent-color:var(--sp-orange); width:14px; height:14px; }
        .sp-step__body { padding:12px 14px; font-size:12px; color:var(--sp-muted-lt); }
        .sp-step__body p { color:var(--sp-muted-lt); }
        .sp-step__body .label { color:var(--sp-amber); font-size:10px; text-transform:uppercase; letter-spacing:0.08em; font-weight:500; display:block; margin:8px 0 2px; }

        /* IF-WRONG · structured tables */
        .sp-table { width:100%; border-collapse:collapse; margin:8px 0 14px; }
        .sp-table th { text-align:left; font-size:10px; text-transform:uppercase; letter-spacing:0.1em; color:var(--sp-muted); padding:8px 12px; border-bottom:1px solid var(--sp-divider); font-weight:500; }
        .sp-table td { padding:10px 12px; font-size:12px; color:var(--sp-white); border-bottom:1px solid #1f1f1f; vertical-align:top; line-height:1.45; }
        .sp-table tr:hover { background:var(--sp-panel); }

        /* POST-JOB · log-a-batch form */
        .sp-form { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:8px; }
        .sp-form-field { display:flex; flex-direction:column; gap:4px; }
        .sp-form-field.full { grid-column:1/-1; }
        .sp-form-field .lbl { font-size:10px; color:var(--sp-muted); text-transform:uppercase; letter-spacing:0.08em; font-weight:500; }
        .sp-form input, .sp-form textarea, .sp-form select { background:var(--sp-panel); border:1px solid var(--sp-divider); color:var(--sp-white); padding:8px 10px; font-size:13px; font-family:'Lexend',sans-serif; font-weight:400; }
        .sp-form input:focus, .sp-form textarea:focus, .sp-form select:focus { outline:none; border-color:var(--sp-orange); }
        .sp-form textarea { min-height:60px; resize:vertical; }
        .sp-toggle { display:flex; gap:6px; }
        .sp-toggle button { padding:7px 14px; background:var(--sp-panel); border:1px solid var(--sp-divider); color:var(--sp-muted-lt); cursor:pointer; font-family:inherit; font-size:12px; font-weight:400; text-transform:uppercase; letter-spacing:0.5px; }
        .sp-toggle button.on { background:var(--sp-orange); color:#000; border-color:var(--sp-orange); }
        .sp-photo-drop { border:1px dashed var(--sp-divider); padding:20px; text-align:center; cursor:pointer; color:var(--sp-muted); font-size:12px; }
        .sp-photo-drop:hover, .sp-photo-drop.dragover { border-color:var(--sp-orange); color:var(--sp-orange); }
        .sp-photo-drop input { display:none; }
        .sp-photo-thumbs { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
        .sp-photo-thumb { width:72px; height:72px; object-fit:cover; border:1px solid var(--sp-divider); }

        /* Modal footer */
        .sp-modal__footer { padding:14px 24px; border-top:1px solid #1f1f1f; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-shrink:0; }
        .sp-footer-status { color:var(--sp-muted); font-size:12px; font-family:'Lexend',sans-serif; }
        .sp-footer-status .num { color:var(--sp-white); }
        .sp-cta { background:var(--sp-orange); color:#000; padding:10px 24px; border:0; font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.5px; cursor:pointer; font-family:'Lexend',sans-serif; }
        .sp-cta:hover { background:var(--sp-amber); }
        .sp-cta.secondary { background:transparent; color:var(--sp-muted-lt); border:1px solid var(--sp-divider); padding:9px 20px; }
        .sp-cta.secondary:hover { color:var(--sp-white); border-color:var(--sp-white); }
        .sp-footer-link { color:var(--sp-muted); font-size:11px; text-decoration:none; padding:6px 10px; cursor:pointer; font-family:inherit; background:transparent; border:0; }
        .sp-footer-link:hover { color:var(--sp-amber); }

        /* Mobile */
        @media (max-width:520px) {
          .sp-grid { grid-template-columns:1fr; }
          .sp-modal.open { padding:0; align-items:stretch; }
          .sp-modal__shell { max-width:100%; max-height:100vh; }
          .sp-modal__header { padding:14px 16px; }
          .sp-modal__metadata { padding:10px 16px; gap:14px; }
          .sp-modal__nav { padding:0 4px; }
          .sp-pill { padding:12px 12px; font-size:11px; }
          .sp-modal__content { padding:14px 16px; }
          .sp-modal__footer { padding:12px 16px; }
          .sp-spec-row { grid-template-columns:1fr 1fr; gap:8px; }
          .sp-spec-tile { padding:12px; }
          .sp-spec-tile .val { font-size:26px; }
          .sp-form { grid-template-columns:1fr; }
        }
      
/* ═══ index.html line 1833 ═══ */

        /* 3-column subpane layout (2026-05-31 Alessio direct):
              intern list  |  journey / calendar  |  Project Bus (staff-only)
           Replaces the previous .cc-ses-split (2-col) + .in-mvp-header strip
           + .in-mvp-bus tail. Interns NEVER see this surface — agent_messages
           lives behind staff-RLS and the portal at intern.html doesn't touch it. */
        [data-subtab="interns"] .in-3col { display:grid; grid-template-columns:1.5fr 2.5fr 2.5fr; gap:var(--sp-10); align-items:stretch; }
        /* Curriculum card fills the leftover vertical space in the LEFT column
           so the bottom of col-1 lines up with the bottom of col-2 + col-3
           (Alessio direct ask, 2026-06-01). */
        [data-subtab="interns"] #in-curriculum-card { flex:1 1 auto; min-height:0; }
        @media (max-width:700px) { [data-subtab="interns"] .in-3col { grid-template-columns:180px 1fr; }
                                     [data-subtab="interns"] .in-3col__bus { grid-column:1 / -1; } } /* 700 (was 1100) — iPads keep columns + resize, 2026-06-09 */
        /* Gray-box card look on all three columns (Alessio direct, 2026-05-31) —
           matches the OPERATOR > TASKS / PLANS / PROJECTS .ts3-col / .pj-card
           visual: background var(--surface), 1px border, 6px radius, 10px pad. */
        [data-subtab="interns"] .in-3col__list { display:flex; flex-direction:column; gap:var(--sp-6); background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-10); min-height:0; max-height:100%; overflow-y:auto; }
        [data-subtab="interns"] .in-3col__detail { min-height:0; max-height:100%; overflow-y:auto; min-width:0; background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-10); }
        /* Bus column — list scrolls, head + composer stay at top. Now wrapped in the
           same gray-box card as cols 1 + 2 for visual consistency (Alessio direct,
           2026-05-31). Dropped the bare border-left + padding-left in favour of a
           full bordered card. */
        [data-subtab="interns"] .in-3col__bus { min-height:0; max-height:100%; overflow:hidden; min-width:0; display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-10); }
        /* tighter calendar rows + week spacing */
        [data-subtab="interns"] .wk { margin:8px 0 4px; }
        [data-subtab="interns"] .day { padding:5px 8px !important; }
        [data-subtab="interns"] .day__activity { margin-bottom:3px; }

        /* Project Bus column (staff-only · agent_messages) */
        [data-subtab="interns"] .in-mvp-bus__head { font-family:var(--display); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--amber); margin-bottom:var(--sp-8); display:flex; align-items:baseline; gap:var(--sp-8); flex-shrink:0; }
        [data-subtab="interns"] .in-mvp-bus__count { font-family:var(--mono); font-size:10px; color:var(--text-xs); letter-spacing:0.04em; text-transform:none; }
        /* The bus LIST is the scroll container — head + composer stay at top, list scrolls under them with NO seam-bleed. */
        [data-subtab="interns"] .in-mvp-bus__list { flex:1; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:var(--sp-6); margin-bottom:0; }
        [data-subtab="interns"] .in-mvp-bus__msg { padding:var(--sp-6) var(--sp-10); border:1px solid var(--border); border-radius:3px; background:var(--raised); }
        [data-subtab="interns"] .in-mvp-bus__msg.urgent { border-left:3px solid #f85149; }
        [data-subtab="interns"] .in-mvp-bus__msg-head { display:flex; align-items:baseline; gap:var(--sp-6); font-family:var(--mono); font-size:10px; letter-spacing:0.04em; color:var(--text-dim); margin-bottom:var(--sp-4); flex-wrap:wrap; }
        [data-subtab="interns"] .in-mvp-bus__msg-from { color:var(--amber); font-weight:600; }
        [data-subtab="interns"] .in-mvp-bus__msg-arrow { color:var(--text-xs); }
        [data-subtab="interns"] .in-mvp-bus__msg-to { color:var(--text); }
        [data-subtab="interns"] .in-mvp-bus__msg-when { margin-left:auto; color:var(--text-xs); font-size:9px; }
        [data-subtab="interns"] .in-mvp-bus__msg-body { font-size:11.5px; color:var(--text); line-height:1.42; white-space:pre-wrap; word-wrap:break-word; }
        [data-subtab="interns"] .in-mvp-bus__empty { font-family:var(--mono); font-size:10px; color:var(--text-xs); padding:var(--sp-10); text-align:center; border:1px dashed var(--border); border-radius:3px; }
        /* Composer (staff-only — interns never reach this) */
        /* Composer ON TOP of col3 (bus #1788). Static layout — the LIST below is
           the scroll container (see .in-mvp-bus__list overflow-y:auto), so the
           composer + head stay fixed at the top of the column naturally without
           position:sticky (sticky was leaking the scrolling thread through the
           seam around the composer). */
        [data-subtab="interns"] .in-mvp-bus__compose { flex-shrink:0; background:var(--bg); padding:var(--sp-10); border:1px solid var(--border); border-radius:4px; margin-bottom:var(--sp-10); display:flex; flex-direction:column; gap:var(--sp-6); }
        [data-subtab="interns"] .in-mvp-bus__compose label { font-family:var(--mono); font-size:9px; color:var(--text-xs); letter-spacing:0.06em; text-transform:uppercase; }
        [data-subtab="interns"] .in-mvp-bus__compose-row { display:flex; gap:var(--sp-6); align-items:center; flex-wrap:wrap; }
        /* Channel-type chip row (bus #1788) — same enum as agent_messages.channel CHECK constraint. */
        [data-subtab="interns"] .in-mvp-bus__chan-row { display:flex; gap:4px; flex-wrap:wrap; }
        [data-subtab="interns"] .in-mvp-bus__chan { font-family:var(--mono); font-size:9px; padding:3px 8px; background:var(--raised); color:var(--text-dim); border:1px solid var(--border); border-radius:3px; text-transform:uppercase; letter-spacing:0.08em; cursor:pointer; user-select:none; }
        [data-subtab="interns"] .in-mvp-bus__chan:hover { color:var(--amber); border-color:var(--amber); }
        [data-subtab="interns"] .in-mvp-bus__chan.active { background:var(--amber); color:#000; border-color:var(--amber); }
        [data-subtab="interns"] .in-mvp-bus__compose-to { background:var(--bg); color:var(--text); border:1px solid var(--border); height:28px; font-size:11px; padding:0 6px; }
        [data-subtab="interns"] .in-mvp-bus__compose-text { width:100%; box-sizing:border-box; background:var(--bg); color:var(--text); border:1px solid var(--border); padding:6px 8px; font-family:var(--sans); font-size:12px; line-height:1.4; min-height:60px; max-height:400px; resize:vertical; }
        [data-subtab="interns"] .in-mvp-bus__compose-text:focus { outline:none; border-color:var(--amber); }
        [data-subtab="interns"] .in-mvp-bus__compose-send { align-self:flex-start; background:var(--amber); color:#000; border:0; padding:6px 14px; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; height:28px; }
        [data-subtab="interns"] .in-mvp-bus__compose-send:hover { background:var(--amber-hi, #ffb000); }
        [data-subtab="interns"] .in-mvp-bus__compose-send:disabled { background:var(--muted); cursor:wait; }

        /* Tight list rows for the Interns left rail — no stretched cc-cards */
        [data-subtab="interns"] .in-row { display:flex; align-items:center; gap:var(--sp-8); padding:var(--sp-8) var(--sp-10); cursor:pointer; border-left:2px solid transparent; transition:background var(--tr-fast), border-color var(--tr-fast); }
        [data-subtab="interns"] .in-row:hover { background:var(--raised); border-left-color:var(--amber-dim); }
        [data-subtab="interns"] .in-row.selected { background:var(--amber-soft); border-left-color:var(--amber); }
        [data-subtab="interns"] .in-row__main { flex:1; min-width:0; }
        [data-subtab="interns"] .in-row__name { font-family:var(--sans); font-size:13px; font-weight:600; color:var(--text); line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        [data-subtab="interns"] .in-row__sub { font-size:10px; color:var(--text-dim); margin-top:2px; font-family:var(--mono); letter-spacing:0.04em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        [data-subtab="interns"] .in-row__chev { color:var(--text-xs); font-size:14px; flex-shrink:0; }
        [data-subtab="interns"] .in-row.selected .in-row__chev { color:var(--amber); }
        [data-subtab="interns"] .in-row__badge { font-family:var(--mono); font-size:9px; padding:2px 6px; border-radius:3px; background:var(--amber-soft); color:var(--amber); text-transform:uppercase; letter-spacing:0.06em; font-weight:600; flex-shrink:0; }
        [data-subtab="interns"] .in-row__badge.muted { background:var(--raised); color:var(--text-xs); border:1px solid var(--border); }
      
/* ═══ index.html line 1943 ═══ */

              .cc-intern-curriculum-host .cur-head { display:flex; align-items:baseline; gap:var(--sp-6); font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--amber); }
              .cc-intern-curriculum-host .cur-head__sub { margin-left:auto; font-family:var(--mono); font-size:9px; color:var(--text-xs); letter-spacing:0.04em; text-transform:none; }
              .cc-intern-curriculum-host .cur-section { padding-top:var(--sp-6); }
              .cc-intern-curriculum-host .cur-section + .cur-section { border-top:1px dashed var(--border); margin-top:var(--sp-4); }
              .cc-intern-curriculum-host .cur-section__head { display:flex; align-items:baseline; gap:6px; font-family:var(--display); font-size:11px; font-weight:600; color:var(--text); }
              .cc-intern-curriculum-host .cur-section__icon { font-size:13px; }
              .cc-intern-curriculum-host .cur-group { margin-top:4px; display:flex; flex-wrap:wrap; gap:4px 6px; align-items:baseline; }
              .cc-intern-curriculum-host .cur-group__label { font-family:var(--mono); font-size:9px; color:var(--text-xs); letter-spacing:0.06em; text-transform:uppercase; margin-right:2px; }
              .cc-intern-curriculum-host .cur-chip { font-family:var(--sans); font-size:10.5px; padding:2px 7px; background:var(--raised); color:var(--text); border:1px solid var(--border); border-radius:3px; }
              .cc-intern-curriculum-host .cur-note { font-family:var(--sans); font-size:11px; color:var(--text-dim); font-style:italic; line-height:1.4; margin-top:4px; }
            
/* ═══ index.html line 2001 ═══ */

            /* Journey list — one row per day, grouped by week */
            [data-subtab="interns"] .wk { margin:14px 0 6px; }
            [data-subtab="interns"] .wk__head { display:flex; align-items:baseline; gap:10px; padding:7px 10px; background:var(--raised); border-left:2px solid var(--amber-glow); }
            [data-subtab="interns"] .wk__num { font-family:var(--display); font-size:11px; font-weight:700; color:var(--amber); letter-spacing:0.14em; text-transform:uppercase; }
            [data-subtab="interns"] .wk__range { font-family:var(--mono); font-size:11px; color:var(--text-dim); }
            [data-subtab="interns"] .wk__phase { margin-left:auto; font-family:var(--mono); font-size:10px; color:var(--text-xs); letter-spacing:0.1em; text-transform:uppercase; }

            [data-subtab="interns"] .day { display:grid; grid-template-columns:54px 90px 1fr; gap:12px; padding:8px 10px; border-bottom:1px solid var(--border); align-items:start; }
            [data-subtab="interns"] .day.closed { opacity:0.35; }
            [data-subtab="interns"] .day.today { background:var(--amber-soft); border-left:2px solid var(--amber); padding-left:8px; }
            [data-subtab="interns"] .day.past { opacity:0.75; }

            [data-subtab="interns"] .day__date { font-family:var(--mono); line-height:1; }
            [data-subtab="interns"] .day__num { font-size:20px; font-weight:700; color:var(--text); }
            [data-subtab="interns"] .day__wd { font-size:10px; color:var(--text-xs); text-transform:uppercase; letter-spacing:0.1em; margin-top:3px; }
            [data-subtab="interns"] .day.today .day__num { color:var(--amber); }

            [data-subtab="interns"] .day__meta { display:flex; flex-direction:column; gap:4px; }
            [data-subtab="interns"] .day__tag { font-family:var(--mono); font-size:9px; padding:2px 6px; background:var(--amber-soft); color:var(--amber); text-transform:uppercase; letter-spacing:0.08em; font-weight:700; display:inline-block; width:fit-content; border-radius:2px; }
            [data-subtab="interns"] .day__tag.b { background:rgba(106,176,89,0.12); color:#6ab059; }
            [data-subtab="interns"] .day__tag.c { background:rgba(115,150,210,0.12); color:#7396d2; }
            [data-subtab="interns"] .day__tag.muted { background:var(--raised); color:var(--text-xs); border:1px solid var(--border); }
            [data-subtab="interns"] .day__status { font-family:var(--mono); font-size:10px; color:var(--text-dim); }
            [data-subtab="interns"] .day.today .day__status { color:var(--amber); font-weight:700; }

            [data-subtab="interns"] .day__activity { font-size:12px; color:var(--text); margin-bottom:5px; line-height:1.4; }
            [data-subtab="interns"] .day__activity.placeholder { color:var(--text-xs); font-style:italic; }
            /* Per-day conversation thread */
            [data-subtab="interns"] .day__thread { display:flex; flex-direction:column; gap:4px; margin:4px 0 6px; }
            [data-subtab="interns"] .msg { padding:5px 9px; border-left:2px solid var(--border); background:rgba(255,255,255,0.02); max-width:94%; }
            [data-subtab="interns"] .msg__head { display:flex; gap:8px; align-items:baseline; font-family:var(--mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:2px; }
            [data-subtab="interns"] .msg__who { font-weight:700; }
            [data-subtab="interns"] .msg__time { color:var(--text-xs); }
            [data-subtab="interns"] .msg__text { font-size:12px; color:var(--text); line-height:1.4; white-space:pre-wrap; word-wrap:break-word; }
            [data-subtab="interns"] .msg--intern  { border-left-color:var(--amber); background:var(--amber-soft); }
            [data-subtab="interns"] .msg--intern  .msg__who { color:var(--amber); }
            [data-subtab="interns"] .msg--alessio { border-left-color:#5da0ff; background:rgba(93,160,255,0.08); align-self:flex-end; }
            [data-subtab="interns"] .msg--alessio .msg__who { color:#7ab3ff; }
            [data-subtab="interns"] .msg--reanna  { border-left-color:#7bcfa6; background:rgba(123,207,166,0.08); align-self:flex-end; }
            [data-subtab="interns"] .msg--reanna  .msg__who { color:#9be0bd; }

            [data-subtab="interns"] .day__reply { display:flex; gap:6px; margin-top:4px; align-items:flex-end; width:100%; }
            [data-subtab="interns"] .day__reply-input { flex:1 1 0%; width:100%; min-width:0; min-height:30px; max-height:300px; background:var(--bg); border:1px solid var(--border); color:var(--text); padding:6px 8px; font-family:var(--sans); font-size:11px; line-height:1.4; resize:vertical; box-sizing:border-box; }
            [data-subtab="interns"] .day__reply-input:focus { outline:none; border-color:var(--amber); }
            [data-subtab="interns"] .day__reply-send { background:var(--amber); color:#000; border:0; padding:7px 12px; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; height:30px; }
            [data-subtab="interns"] .day__reply-send:hover { background:var(--text); }
            [data-subtab="interns"] .day__reply-send:disabled { background:var(--muted); cursor:wait; }

            [data-subtab="interns"] .id-strip { padding-bottom:var(--sp-12); border-bottom:1px solid var(--border); margin-bottom:var(--sp-8); }
            [data-subtab="interns"] .id-strip__top { display:flex; align-items:baseline; gap:10px; }
            [data-subtab="interns"] .id-strip__name { font-family:var(--display); font-size:18px; font-weight:700; letter-spacing:0.02em; color:var(--text); }
            [data-subtab="interns"] .id-strip__flag { font-size:16px; }
            [data-subtab="interns"] .id-strip__status { margin-left:auto; font-family:var(--mono); font-size:10px; color:var(--amber); text-transform:uppercase; letter-spacing:0.12em; }
            [data-subtab="interns"] .id-strip__sub { font-size:11px; color:var(--text-dim); margin-top:4px; letter-spacing:0.04em; }
            [data-subtab="interns"] .id-strip__link { display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:6px 12px; background:var(--amber-soft); color:var(--amber); border:1px solid var(--amber-glow); text-decoration:none; font-family:var(--mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; }
            [data-subtab="interns"] .id-strip__link:hover { background:var(--amber); color:#000; }
          
/* ═══ index.html line 2393 ═══ */

        [data-subtab="patterns"] .knp-3col { display:grid; grid-template-columns:1.1fr 2.6fr 1.5fr; gap:10px; height:calc(100vh - 205px); min-height:420px; align-items:stretch; }
        [data-subtab="patterns"] .knp-col { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; }
        [data-subtab="patterns"] .knp-col__head { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); padding-bottom:8px; border-bottom:1px solid var(--border); margin-bottom:8px; flex-shrink:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
        [data-subtab="patterns"] .knp-col__body { flex:1 1 0%; min-height:0; overflow-y:auto; }
        [data-subtab="patterns"] .knp-fam { font-family:var(--mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--text-xs); margin:10px 0 4px; }
        [data-subtab="patterns"] .knp-item { padding:8px 10px; border:1px solid transparent; border-radius:4px; cursor:pointer; font-size:13px; color:var(--text); line-height:1.35; margin-bottom:3px; }
        [data-subtab="patterns"] .knp-item:hover { background:var(--raised,rgba(255,255,255,.03)); border-color:var(--border); }
        [data-subtab="patterns"] .knp-item.active { background:rgba(255,176,0,.10); border-color:var(--amber); color:var(--amber); }
        [data-subtab="patterns"] .knp-item__sub { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-top:2px; }
        [data-subtab="patterns"] .knp-row { display:grid; grid-template-columns:150px 1fr; gap:8px; padding:6px 0; border-bottom:1px solid var(--border); font-size:13px; }
        [data-subtab="patterns"] .knp-row__k { font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); padding-top:2px; }
        [data-subtab="patterns"] .knp-row__v { color:var(--text); word-break:break-word; }
        [data-subtab="patterns"] .knp-unknown { color:var(--text-xs); font-style:italic; }
        [data-subtab="patterns"] .knp-badge { display:inline-block; padding:1px 7px; border-radius:9px; font-family:var(--mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
        [data-subtab="patterns"] .knp-badge.recorded { background:rgba(61,122,74,.22); color:#7fd08c; border:1px solid rgba(61,122,74,.5); }
        [data-subtab="patterns"] .knp-badge.inferred { background:rgba(181,137,0,.18); color:#e2b33c; border:1px solid rgba(181,137,0,.5); }
        [data-subtab="patterns"] .knp-badge.unknown  { background:rgba(204,31,31,.15); color:#ff8a8a; border:1px solid rgba(204,31,31,.45); }
        [data-subtab="patterns"] .knp-badge.mixed    { background:var(--raised,rgba(255,255,255,.05)); color:var(--text-dim); border:1px solid var(--border); }
        [data-subtab="patterns"] .knp-src { font-family:var(--mono); font-size:10px; color:var(--text-dim); line-height:1.5; padding:5px 0; border-bottom:1px dotted var(--border); }
        [data-subtab="patterns"] .knp-f { margin-bottom:8px; }
        [data-subtab="patterns"] .knp-f label { display:block; font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-xs); margin-bottom:3px; }
        [data-subtab="patterns"] .knp-f input, [data-subtab="patterns"] .knp-f textarea, [data-subtab="patterns"] .knp-f select { width:100%; box-sizing:border-box; background:var(--raised); border:1px solid var(--border); border-radius:4px; color:var(--text); font-family:var(--sans,inherit); font-size:14px; padding:8px 10px; }
        [data-subtab="patterns"] .knp-f input:focus, [data-subtab="patterns"] .knp-f textarea:focus { outline:0; border-color:var(--amber); }
        [data-subtab="patterns"] .knp-acts { display:flex; gap:6px; flex-wrap:wrap; margin-top:12px; }
        [data-subtab="patterns"] .knp-act { padding:7px 13px; background:var(--raised); border:1px solid var(--border); border-radius:4px; color:var(--text); font-family:var(--display); font-size:11px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
        [data-subtab="patterns"] .knp-act.on { background:var(--amber); color:#000; border-color:var(--amber); }
        [data-subtab="patterns"] .knp-empty { font-family:var(--mono); font-size:11px; color:var(--text-xs); padding:16px; text-align:center; }
        [data-subtab="patterns"] .knp-msg { font-family:var(--mono); font-size:10px; color:var(--text-dim); padding:6px 0; border-bottom:1px solid var(--border); margin-bottom:6px; }
        @media (max-width:700px){ [data-subtab="patterns"] .knp-3col { grid-template-columns:1fr; height:auto; min-height:0; }
                                  [data-subtab="patterns"] .knp-col { max-height:none; overflow:visible; } }
      
/* ═══ index.html line 2453 ═══ */

      [data-lane="email"] .em-viewer { flex:1 1 0%; min-height:0; background:#FBF8F2; border:1px solid var(--border); border-radius:6px; overflow:hidden; }
      [data-lane="email"] .em-viewer iframe { width:100%; height:100%; border:0; display:block; background:#FBF8F2; }
    
/* ═══ index.html line 2640 ═══ */

      /* Three-split like OPERATOR › TASKS (.ts3) — each column scrolls itself because
         .cc-lane clips overflow (that bug ate the schedule section on 2026-07-12). */
      [data-lane="services"] .sv3 { display:grid; grid-template-columns:var(--sv-cols, 1.3fr 10px 1.2fr 10px 1fr); gap:0; align-items:stretch; flex:1; min-height:0; margin:var(--sp-12) var(--sp-16); }
      [data-lane="services"] .sv3-col { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; min-width:0; min-height:0; max-height:100%; overflow-y:auto; }
      /* The Saturday drop-off window. Read from az_dropoff_hours, never typed. */
      [data-lane="services"] .svc-drop { border:1px solid var(--border); border-left:3px solid var(--amber); border-radius:5px; padding:8px 10px; margin-bottom:6px; }
      [data-lane="services"] .svc-drop__line { font-size:12.5px; color:var(--text); }
      [data-lane="services"] .svc-drop__note { font-size:11px; color:var(--text-dim); margin-top:4px; }
      [data-lane="services"] .sv3-col__head { font-family:var(--display-tabs,var(--display,'Oswald'),sans-serif); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--amber); padding-bottom:8px; border-bottom:1px solid var(--border); margin-bottom:8px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
      [data-lane="services"] .sv3-resize { cursor:col-resize; position:relative; align-self:stretch; touch-action:none; pointer-events:none; background:transparent; transition:background .12s; }
      body.cc-edit-on [data-lane="services"] .sv3-resize { pointer-events:auto; background:linear-gradient(to right, transparent calc(50% - 1px), var(--amber-dim,var(--amber)) calc(50% - 1px), var(--amber-dim,var(--amber)) calc(50% + 1px), transparent calc(50% + 1px)); }
      body.cc-edit-on [data-lane="services"] .sv3-resize:hover, body.cc-edit-on [data-lane="services"] .sv3-resize.dragging { background:linear-gradient(to right, transparent calc(50% - 1.5px), var(--amber) calc(50% - 1.5px), var(--amber) calc(50% + 1.5px), transparent calc(50% + 1.5px)); }
      @media (max-width:960px) { [data-lane="services"] .sv3 { grid-template-columns:1fr; overflow-y:auto; gap:var(--sp-10); } [data-lane="services"] .sv3-resize { display:none; } [data-lane="services"] .sv3-col { max-height:none; overflow:visible; } }
      /* ── CALENDAR subtab (2026-07-12, Alessio direct: subtabs + visual booking calendar) ── */
      [data-lane="services"] .cc-subpane.active { padding:var(--sp-12) var(--sp-16); }
      [data-lane="services"] .cc-subpane .sv3 { margin:0; }
      [data-lane="services"] .svcal { display:flex; flex-direction:column; min-height:0; }
      [data-lane="services"] .svcal-bar { display:flex; gap:6px; align-items:center; margin-bottom:var(--sp-8); flex-wrap:wrap; flex:0 0 auto; }
      [data-lane="services"] .svcal-title { font-family:var(--display); font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--text); min-width:160px; text-align:center; }
      [data-lane="services"] .svcal-vbtn.active { background:var(--amber); color:#000; border-color:var(--amber); }
      [data-lane="services"] .svcal-body { display:grid; grid-template-columns:1fr 300px; gap:var(--sp-10); flex:1; min-height:0; }
      [data-lane="services"] .svcal-grid, [data-lane="services"] .svcal-detail { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; overflow-y:auto; min-height:0; }
      [data-lane="services"] .svcal-dow { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-bottom:4px; }
      [data-lane="services"] .svcal-dow div { font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); text-align:center; padding:2px 0; }
      [data-lane="services"] .svcal-cells { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
      [data-lane="services"] .svcal-day { border:1px solid var(--border); border-radius:4px; min-height:84px; padding:4px; cursor:pointer; display:flex; flex-direction:column; gap:2px; min-width:0; }
      [data-lane="services"] .svcal-day:hover { border-color:var(--amber); }
      [data-lane="services"] .svcal-day.pad { border:0; cursor:default; }
      [data-lane="services"] .svcal-day.sel { border-color:var(--amber); background:rgba(255,176,0,.08); }
      [data-lane="services"] .svcal-day.today .svcal-num { color:var(--amber); font-weight:700; }
      [data-lane="services"] .svcal-num { font-family:var(--mono); font-size:10px; color:var(--text-dim); }
      [data-lane="services"] .svcal-chip { font-family:var(--mono); font-size:9px; border-radius:3px; padding:1px 4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
      [data-lane="services"] .svcal-chip.b { background:rgba(255,176,0,.15); color:var(--amber); border:1px solid rgba(255,176,0,.4); }
      [data-lane="services"] .svcal-chip.x { background:rgba(204,31,31,.18); color:#ff7a7a; border:1px solid rgba(204,31,31,.5); }
      [data-lane="services"] .svcal-chip.g { background:var(--raised,rgba(255,255,255,.04)); color:var(--text-dim); border:1px solid var(--border); }
      [data-lane="services"] .svcal-week { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
      [data-lane="services"] .svcal-wday { border:1px solid var(--border); border-radius:4px; padding:6px; min-height:220px; cursor:pointer; display:flex; flex-direction:column; gap:3px; min-width:0; }
      [data-lane="services"] .svcal-wday.sel { border-color:var(--amber); background:rgba(255,176,0,.08); }
      [data-lane="services"] .svcal-wday__h { font-family:var(--mono); font-size:9px; color:var(--text-dim); }
      [data-lane="services"] .svcal-year { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:var(--sp-10); }
      [data-lane="services"] .svcal-mini { border:1px solid var(--border); border-radius:6px; padding:8px; cursor:pointer; }
      [data-lane="services"] .svcal-mini:hover { border-color:var(--amber); }
      [data-lane="services"] .svcal-mini__t { font-family:var(--display); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--text); margin-bottom:6px; }
      [data-lane="services"] .svcal-mini__g { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
      [data-lane="services"] .svcal-mini__d { height:14px; border-radius:2px; background:var(--raised,rgba(255,255,255,.03)); font-size:8px; font-family:var(--mono); color:var(--text-xs); display:flex; align-items:center; justify-content:center; }
      [data-lane="services"] .svcal-mini__d.b { background:rgba(255,176,0,.35); color:#000; }
      [data-lane="services"] .svcal-mini__d.x { background:rgba(204,31,31,.45); color:#fff; }
      [data-lane="services"] .svcal-mini__d.e { background:transparent; }
      [data-lane="services"] .svcal-dhead { font-family:var(--display); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--amber); padding-bottom:6px; border-bottom:1px solid var(--border); margin-bottom:8px; }
      [data-lane="services"] .svcal-dsec { font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); margin:10px 0 4px; }
      @media (max-width:960px){ [data-lane="services"] .svcal-body { grid-template-columns:1fr; } [data-lane="services"] .svcal-grid { max-height:50vh; } }
      /* ── Bus-rail message cards + empty state — the SCHEDULE pane's Project Bus
         rail (svc-sched-bus-list) renders these. Sole survivors of the retired
         Bookings/Queue svb-*/svq-* surfaces: the panes died 2026-08-08
         (cc-scheduling.js owns the queue surface now) and their dead CSS was
         swept 2026-08-09. ── */
      [data-lane="services"] .svb-msg { background:var(--raised); border:1px solid var(--border); border-radius:3px; padding:6px 10px; font-size:11.5px; line-height:1.45; color:var(--text); margin-bottom:6px; }
      [data-lane="services"] .svb-msg__head { font-family:var(--mono); font-size:9px; color:var(--text-xs); margin-bottom:3px; }
      [data-lane="services"] .svb-msg__body { white-space:pre-wrap; word-break:break-word; max-height:180px; overflow-y:auto; }
      [data-lane="services"] .svq-empty { font-family:var(--mono); font-size:11px; color:var(--text-xs); padding:16px; text-align:center; }
    
/* ═══ index.html line 2762 ═══ */

      [data-lane="services"] .svsc-3col { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; height:calc(100vh - 205px); min-height:420px; align-items:stretch; position:relative; margin:var(--sp-12) var(--sp-16); }
      @media (max-width:700px){ [data-lane="services"] .svsc-3col { grid-template-columns:1fr; height:auto; min-height:0; } }
    
/* ═══ index.html line 3156 ═══ */

        /* HEIGHT COMES FROM THE PANE, not from calc(100vh - 205px). The 205 was a
           guess at the chrome above it, and 2026-09-04 gave that chrome a variable
           height: the subtab row wraps to a second line on a narrow screen, and the
           grid would then hang that far off the bottom. .cc-lane -> .cc-subpane.active
           -> `> * { flex:1; min-height:0 }` already hands this a real height, so it
           now measures itself and the columns stretch into whatever is left. */
        [data-lane="hardware"] .hw-3col { display:grid; grid-template-columns:1fr 3fr 1.4fr; gap:10px; min-height:0; align-items:stretch; }
        [data-lane="hardware"] .hw-col { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; }
        [data-lane="hardware"] .hw-col__head { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); padding-bottom:8px; border-bottom:1px solid var(--border); margin-bottom:8px; flex-shrink:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
        [data-lane="hardware"] .hw-col__body { flex:1 1 0%; min-height:0; overflow-y:auto; }
        [data-lane="hardware"] .hw-block { margin-bottom:22px; }
        [data-lane="hardware"] .hw-block__h { font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); margin:0 0 3px; }
        [data-lane="hardware"] .hw-block__sub { font-size:11px; color:var(--text-dim); margin-bottom:10px; line-height:1.5; }
        [data-lane="hardware"] .hw-empty { color:var(--text-xs); font-size:12px; font-style:italic; padding:10px 0; line-height:1.6; }
        /* CRUCIBLE build panel (bus #9335). Full width above the buy board, its own
           scroll on a desktop so the 3-col board below keeps its height, and no cap at
           all on a phone - he reads this one-handed beside the machine. The whole head
           row is the fold control and is sized as a real tap target, per the fold ruling. */
        [data-lane="hardware"] .hw-cru { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px 12px 12px; margin-bottom:12px; }
        /* Not a control any more - the panel-level fold came out when this became
           its own subtab (see cc-crucible.js). Plain head row, same look. */
        [data-lane="hardware"] #hw-crucible-head { width:100%; min-height:40px; background:transparent; border:0; border-bottom:1px solid var(--border); border-radius:0; }
        [data-lane="hardware"] #hw-crucible-count { font-family:var(--mono); font-size:10px; font-weight:400; color:var(--text-dim); letter-spacing:0; text-transform:none; }
        /* THE LANE SCROLLS AS ONE COLUMN. .cc-subpane.active > * carries flex:1 1 0%,
           which squeezed this wrap to 123px while the panel inside it stood 470px tall
           and bled behind the buy board. Both children take their natural height now and
           the subpane is the single scroller - one scrollbar on a desktop, one on a
           phone, and the head row folds the panel away when he wants the board back. */
        [data-lane="hardware"] .cc-subpane[data-subtab="hw-crucible"] { overflow-y:auto; }
        [data-lane="hardware"] .cc-subpane[data-subtab="hw-crucible"] .hw-cru { flex:0 0 auto; }
        @media (max-width:700px){
          [data-lane="hardware"] .hw-cru { padding:8px 9px 10px; }
        }
        [data-lane="hardware"] .hw-nav { padding:7px 9px; border:1px solid transparent; border-radius:4px; cursor:pointer; font-size:13px; color:var(--text); margin-bottom:3px; }
        [data-lane="hardware"] .hw-nav:hover { background:var(--raised,rgba(255,255,255,.03)); border-color:var(--border); }
        [data-lane="hardware"] .hw-nav.active { background:rgba(255,176,0,.10); border-color:var(--amber); color:var(--amber); }
        [data-lane="hardware"] .hw-nav__sub { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-top:2px; }
        /* Buy-board card. The price is the hero: big, CAD, unmissable. */
        [data-lane="hardware"] .hw-card { border:1px solid var(--border); border-left:3px solid var(--border); border-radius:5px; padding:11px 13px; margin-bottom:9px; background:var(--raised,rgba(255,255,255,.02)); }
        [data-lane="hardware"] .hw-card.buyable { border-left-color:#3d7a4a; }
        [data-lane="hardware"] .hw-card.blocked { border-left-color:#cc1f1f; }
        [data-lane="hardware"] .hw-card.urgent  { border-left-color:var(--amber); background:rgba(255,176,0,.06); }
        [data-lane="hardware"] .hw-card__top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
        [data-lane="hardware"] .hw-card__name { font-size:14px; color:var(--text); font-weight:600; line-height:1.35; }
        [data-lane="hardware"] .hw-hero { font-family:var(--display); font-size:23px; font-weight:700; color:var(--text); white-space:nowrap; line-height:1.1; }
        [data-lane="hardware"] .hw-hero__cur { font-family:var(--mono); font-size:10px; color:var(--text-dim); letter-spacing:.1em; display:block; text-align:right; margin-top:2px; }
        [data-lane="hardware"] .hw-hero.none { font-size:14px; color:var(--text-xs); font-weight:400; font-style:italic; }
        [data-lane="hardware"] .hw-line { font-size:12px; color:var(--text-dim); margin-top:7px; line-height:1.55; }
        [data-lane="hardware"] .hw-line b { color:var(--text); font-weight:600; }
        [data-lane="hardware"] .hw-stock { font-size:12px; margin-top:6px; font-weight:600; }
        [data-lane="hardware"] .hw-stock.ok   { color:#7fd08c; }
        [data-lane="hardware"] .hw-stock.bad  { color:#ff8a8a; }
        [data-lane="hardware"] .hw-stock.warn { color:#e2b33c; }
        [data-lane="hardware"] .hw-deadline { display:inline-block; margin-top:7px; padding:3px 9px; border-radius:10px; font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; background:rgba(204,31,31,.18); color:#ff8a8a; border:1px solid rgba(204,31,31,.5); }
        [data-lane="hardware"] .hw-deadline.today { background:var(--amber); color:#1a1206; border-color:var(--amber); font-weight:700; }
        [data-lane="hardware"] .hw-why { font-size:12px; color:var(--text-dim); margin-top:7px; font-style:italic; line-height:1.5; }
        [data-lane="hardware"] .hw-usd { font-family:var(--mono); font-size:10px; color:var(--text-xs); margin-top:5px; }
        [data-lane="hardware"] .hw-a { color:var(--amber); text-decoration:none; border-bottom:1px dotted var(--amber); }
        /* Wishlist groups fold; everything starts folded per the 2026-07-27 ruling. */
        /* THE WHOLE ROW IS THE FOLD CONTROL (ruling 2026-07-27, and the #301 bug:
           an 11px caret was the only bound target and the open card could not be
           closed). 40px is a finger, not a caret. */
        [data-lane="hardware"] .hw-fold__h { display:flex; align-items:center; gap:8px; cursor:pointer; padding:8px 4px; min-height:40px; border-bottom:1px solid var(--border); user-select:none; }
        [data-lane="hardware"] .hw-fold__h:focus-visible { outline:2px solid var(--amber); outline-offset:-2px; }
        [data-lane="hardware"] .hw-fold__h:hover { background:var(--raised,rgba(255,255,255,.03)); }
        [data-lane="hardware"] .hw-tri { color:var(--text-dim); font-size:9px; width:9px; flex-shrink:0; transition:transform .12s; }
        [data-lane="hardware"] .hw-fold.open .hw-tri { transform:rotate(90deg); color:var(--amber); }
        [data-lane="hardware"] .hw-fold.open .hw-fold__t { color:var(--amber); }
        [data-lane="hardware"] .hw-fold__t { font-family:var(--display); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text); }
        [data-lane="hardware"] .hw-fold__n { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-left:auto; }
        [data-lane="hardware"] .hw-fold__body { display:none; padding:9px 0 4px; }
        [data-lane="hardware"] .hw-fold.open .hw-fold__body { display:block; }
        [data-lane="hardware"] .hw-wl { display:grid; grid-template-columns:1fr auto; gap:10px; padding:7px 4px; border-bottom:1px solid var(--border); font-size:13px; align-items:baseline; }
        [data-lane="hardware"] .hw-wl__s { font-family:var(--mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; padding:1px 6px; border-radius:8px; margin-left:7px; }
        [data-lane="hardware"] .hw-wl__p { font-family:var(--mono); font-size:12px; color:var(--text); white-space:nowrap; }
        [data-lane="hardware"] .hw-chart { width:100%; height:auto; display:block; }
        [data-lane="hardware"] .hw-legend { font-size:11px; color:var(--text-dim); margin-top:9px; line-height:1.7; }
        [data-lane="hardware"] .hw-sw { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:5px; vertical-align:middle; }
        [data-lane="hardware"] .hw-busmsg { border-bottom:1px solid var(--border); padding:7px 0; font-size:12px; color:var(--text-dim); line-height:1.5; }
        [data-lane="hardware"] .hw-busmsg__h { font-family:var(--mono); font-size:9px; color:var(--text-xs); letter-spacing:.05em; margin-bottom:3px; }
        @media (max-width:700px){
          /* ONE COLUMN, and the pane scrolls rather than three nested scrollers -
             the layout standard's phone rule. Each .hw-col takes its natural height
             so nothing is trapped behind an inner scrollbar he cannot reach. */
          [data-lane="hardware"] .hw-3col { grid-template-columns:1fr; height:auto; max-height:none; }
          [data-lane="hardware"] .hw-col { max-height:none; }
          [data-lane="hardware"] .hw-col__body { overflow-y:visible; }
          [data-lane="hardware"] .cc-subpane.active { overflow-y:auto; }
          [data-lane="hardware"] .cc-subpane.active > * { flex:0 0 auto; min-height:auto; }
          [data-lane="hardware"] .hw-hero { font-size:20px; }
        }
      
/* ═══ index.html line 3247 ═══ */

        [data-lane="fieldguide"] .fg-wrap { max-width:1100px; }
        [data-lane="fieldguide"] .fg-tools { display:flex; gap:var(--sp-8); align-items:center; flex-wrap:wrap; margin:var(--sp-12) 0; }
        [data-lane="fieldguide"] .fg-search { flex:1 1 220px; min-width:0; background:var(--raised); border:1px solid var(--border); border-radius:4px;
          color:var(--text); font-family:var(--sans); font-size:16px; padding:9px 11px; }
        [data-lane="fieldguide"] .fg-search:focus { outline:none; border-color:var(--amber); }
        [data-lane="fieldguide"] .fg-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr)); gap:var(--sp-10); margin-top:var(--sp-12); }
        [data-lane="fieldguide"] .fg-card { background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--border-hi);
          border-radius:5px; padding:13px 15px; min-width:0; }
        [data-lane="fieldguide"] .fg-card.ok  { border-left-color:var(--green); }
        [data-lane="fieldguide"] .fg-card.unk { border-left-color:var(--amber); }
        [data-lane="fieldguide"] .fg-brand { font-family:var(--mono); font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-xs); }
        [data-lane="fieldguide"] .fg-model { font-family:var(--display); font-size:clamp(20px,5.4vw,26px); font-weight:700; line-height:1.1;
          color:var(--text); margin:2px 0 1px; overflow-wrap:anywhere; }
        [data-lane="fieldguide"] .fg-nick { font-size:12px; color:var(--text-dim); font-style:italic; line-height:1.45; }
        [data-lane="fieldguide"] .fg-chip { display:inline-block; margin-top:9px; padding:3px 9px; border-radius:10px; font-family:var(--mono);
          font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
        [data-lane="fieldguide"] .fg-chip.ok  { background:var(--green-bg); color:var(--green); border:1px solid var(--green); }
        [data-lane="fieldguide"] .fg-chip.unk { background:var(--amber-soft); color:var(--amber); border:1px solid var(--amber); }
        [data-lane="fieldguide"] .fg-lab { font-family:var(--mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase;
          color:var(--amber); margin:14px 0 4px; }
        /* The one line someone actually reads while holding the light. */
        [data-lane="fieldguide"] .fg-hero { font-size:clamp(17px,4.3vw,20px); line-height:1.42; color:var(--text); font-weight:600; overflow-wrap:anywhere; }
        [data-lane="fieldguide"] .fg-gap { font-size:clamp(14px,3.6vw,15px); line-height:1.5; color:var(--amber); font-weight:600; }
        [data-lane="fieldguide"] .fg-gap span { display:block; margin-top:5px; font-size:12px; font-weight:400; color:var(--text-dim); font-style:italic; }
        [data-lane="fieldguide"] .fg-body { font-size:13px; line-height:1.55; color:var(--text); overflow-wrap:anywhere; }
        [data-lane="fieldguide"] .fg-spec { font-size:12px; line-height:1.6; color:var(--text-dim); margin-top:3px; overflow-wrap:anywhere; }
        [data-lane="fieldguide"] .fg-spec b { color:var(--text); font-weight:600; }
        [data-lane="fieldguide"] .fg-note { font-size:12px; line-height:1.55; color:var(--text-dim); margin-top:10px; overflow-wrap:anywhere; }
        [data-lane="fieldguide"] .fg-src { font-family:var(--mono); font-size:9px; color:var(--text-xs); margin-top:10px; line-height:1.5; overflow-wrap:anywhere; }
        [data-lane="fieldguide"] .fg-rule { border:0; border-top:1px solid var(--border); margin:12px 0 0; }
        [data-lane="fieldguide"] .fg-btn { margin-top:11px; background:transparent; border:1px solid var(--border-hi); color:var(--text-dim);
          border-radius:4px; padding:8px 12px; font-family:var(--sans); font-size:13px; cursor:pointer; min-height:38px; }
        [data-lane="fieldguide"] .fg-btn:hover { border-color:var(--amber); color:var(--amber); }
        [data-lane="fieldguide"] .fg-btn.on { border-color:var(--amber); color:var(--amber); }
        [data-lane="fieldguide"] .fg-f { margin-top:10px; }
        [data-lane="fieldguide"] .fg-f label { display:block; font-family:var(--mono); font-size:9px; letter-spacing:.1em;
          text-transform:uppercase; color:var(--text-dim); margin-bottom:4px; }
        [data-lane="fieldguide"] .fg-f textarea { width:100%; box-sizing:border-box; background:var(--raised); border:1px solid var(--border);
          border-radius:4px; color:var(--text); font-family:var(--sans); font-size:16px; line-height:1.45; padding:8px 10px; resize:vertical; }
        [data-lane="fieldguide"] .fg-f textarea:focus { outline:none; border-color:var(--amber); }
        [data-lane="fieldguide"] .fg-check { display:flex; gap:9px; align-items:flex-start; margin-top:12px; font-size:13px;
          line-height:1.45; color:var(--text); cursor:pointer; }
        [data-lane="fieldguide"] .fg-check input { width:19px; height:19px; margin:0; flex-shrink:0; accent-color:var(--amber); }
        [data-lane="fieldguide"] .fg-acts { display:flex; gap:var(--sp-8); margin-top:12px; flex-wrap:wrap; }
        [data-lane="fieldguide"] .fg-empty { color:var(--text-xs); font-size:13px; font-style:italic; padding:16px 0; line-height:1.6; }
      
/* ═══ index.html line 3867 ═══ */

        [data-lane="forge"] [data-subtab="infra"].active { overflow-y:auto; overflow-x:hidden; }
        [data-lane="forge"] [data-subtab="infra"].active > * { flex:0 0 auto; min-height:auto; }
        [data-lane="forge"] [data-subtab="infra"] .fi-head { padding:4px 2px 14px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-title { font-family:var(--display,sans-serif); font-size:18px; color:var(--text); letter-spacing:0.02em; }
        [data-lane="forge"] [data-subtab="infra"] .fi-sub { color:var(--text-xs); font-size:13px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-blurb { font-size:12.5px; color:var(--text-dim); margin-top:6px; max-width:680px; line-height:1.5; }
        [data-lane="forge"] [data-subtab="infra"] .fi-count { font-family:var(--mono); font-size:10px; color:var(--amber); margin-top:8px; letter-spacing:0.08em; text-transform:uppercase; }
        [data-lane="forge"] [data-subtab="infra"] .fi-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-pile { background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:12px 14px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-pile__head { display:flex; align-items:center; gap:8px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-pile__icon { font-size:15px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-pile__label { font-family:var(--display,sans-serif); font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--amber); }
        [data-lane="forge"] [data-subtab="infra"] .fi-pile__count { margin-left:auto; font-family:var(--mono); font-size:10px; color:var(--text-xs); background:var(--raised,rgba(255,255,255,0.04)); border-radius:10px; padding:1px 8px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-pile__blurb { font-size:11px; color:var(--text-dim); margin:4px 0 10px; line-height:1.4; }
        [data-lane="forge"] [data-subtab="infra"] .fi-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
        [data-lane="forge"] [data-subtab="infra"] .fi-item { border:1px solid var(--border); border-left:2px solid var(--amber); border-radius:4px; padding:7px 9px; background:var(--bg,#0a0a0a); cursor:pointer; transition:border-color .12s, background .12s; }
        [data-lane="forge"] [data-subtab="infra"] .fi-item:hover { border-color:var(--amber); background:var(--raised,rgba(255,255,255,0.03)); }
        .fi-modal-mask { position:fixed; inset:0; background:rgba(0,0,0,0.62); z-index:9999; display:flex; align-items:center; justify-content:center; padding:24px; }
        .fi-modal { position:relative; background:var(--surface,#1a1a1a); border:1px solid var(--border,#2a2a2a); border-radius:8px; max-width:640px; width:100%; max-height:80vh; overflow-y:auto; padding:20px 22px; box-shadow:0 12px 48px rgba(0,0,0,0.5); }
        .fi-modal__close { position:absolute; top:8px; right:12px; background:transparent; border:0; color:var(--text-dim,#999); font-size:22px; line-height:1; cursor:pointer; }
        .fi-modal__close:hover { color:var(--amber,#d29922); }
        .fi-modal__pile { font-family:var(--mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--amber); }
        .fi-modal__title { font-family:var(--display,sans-serif); font-size:18px; color:var(--text); line-height:1.3; margin:6px 30px 12px 0; }
        .fi-modal__meta { font-family:var(--mono); font-size:10.5px; color:var(--text-dim); display:flex; gap:14px; flex-wrap:wrap; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid var(--border); }
        .fi-modal__body { font-size:13px; color:var(--text); line-height:1.6; white-space:pre-wrap; word-wrap:break-word; }
        [data-lane="forge"] [data-subtab="infra"] .fi-item__title { font-size:12.5px; color:var(--text); line-height:1.3; }
        [data-lane="forge"] [data-subtab="infra"] .fi-item__snip { font-size:10.5px; color:var(--text-dim); margin-top:2px; line-height:1.35; }
        [data-lane="forge"] [data-subtab="infra"] .fi-item__meta { font-family:var(--mono); font-size:9px; color:var(--text-xs); margin-top:3px; text-transform:uppercase; letter-spacing:0.05em; }
      
/* ═══ index.html line 3909 ═══ */

        [data-lane="forge"] [data-subtab="updates"].active { overflow-y:auto; overflow-x:hidden; }
        [data-lane="forge"] [data-subtab="updates"].active > * { flex:0 0 auto; min-height:auto; }
        [data-lane="forge"] .pu-wrap { max-width:820px; padding:4px 2px; }
        [data-lane="forge"] .pu-latest { background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:14px 16px; }
        [data-lane="forge"] .pu-latest__date { font-family:var(--mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--amber); margin-bottom:8px; }
        [data-lane="forge"] .pu-latest__body { font-size:13px; color:var(--text); line-height:1.65; white-space:pre-wrap; word-wrap:break-word; }
        [data-lane="forge"] .pu-hist { list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
        [data-lane="forge"] .pu-hist__item { border:1px solid var(--border); border-left:2px solid var(--amber); border-radius:4px; padding:7px 10px; cursor:pointer; font-size:12px; color:var(--text-dim); }
        [data-lane="forge"] .pu-hist__item:hover { border-color:var(--amber); color:var(--text); }
        [data-lane="forge"] .pu-hist__item.active { color:var(--amber); }
      
/* ═══ index.html line 8578 ═══ */

/* MOBILE / PHONE LAYOUT FIX (Alessio mobile audit 2026-06-04). The lanes drop 3-4 columns to 2
   on tablets but never to ONE column on phones, squishing content (esp. the interns day reply box
   to "letter wide"). This stacks each lane to a single full-width column on phones, mirroring the
   standalone intern.html. Placed last in source order so it wins over the 1100px tablet rules. */
.day__reply { flex-wrap:wrap; }
@media (max-width:600px) {
  [data-subtab="interns"] .in-3col { grid-template-columns:1fr; }
  [data-subtab="interns"] .in-3col__bus { grid-column:auto; }
  [data-subtab="interns"] .in-3col__list,
  [data-subtab="interns"] .in-3col__detail,
  [data-subtab="interns"] .in-3col__bus { max-height:none; }
  [data-subtab="interns"] .day { grid-template-columns:auto 1fr; gap:4px 10px; }
  [data-subtab="interns"] .day__date { grid-column:1; grid-row:1; display:flex; flex-direction:row; align-items:center; gap:6px; }
  [data-subtab="interns"] .day__meta { grid-column:2; grid-row:1; justify-self:end; }
  [data-subtab="interns"] .day__body { grid-column:1 / -1; grid-row:2; }
  [data-subtab="interns"] .day__reply-input { flex:1 0 100%; width:100%; }
  [data-subtab="interns"] .in-mvp-bus__msg-when { margin-left:0; }

  [data-subtab="after-hours"] .ah4 { grid-template-columns:1fr; height:auto; }
  [data-subtab="after-hours"] #ah4-mount { height:auto !important; min-height:0 !important; }
  [data-subtab="after-hours"] .ah4-viewer { min-height:70vh; }

  [data-lane="quadfang"] .rnd-3col { grid-template-columns:1fr; height:auto; }
}
@media (max-width:700px) {
  [data-lane="operator"] .cc-subpane.active { overflow-y:auto; overflow-x:hidden; }
  [data-lane="operator"] .cc-subpane.active > * { flex:0 0 auto; min-height:auto; }
  [data-lane="operator"] [data-subtab="tasks"] .ts3 { height:auto; }
  [data-lane="operator"] [data-subtab="tasks"] .ts3-col { max-height:none; overflow-y:visible; }
  .cc-bus-chat { height:auto; min-height:0; }
  /* COMMS' matching rules live in assets/cc-comms.js — see the note in the
     1100px block above. */
}
@media (max-width:800px) {
  /* No overflow:hidden here — it would clip the dropdowns. The voice controls used
     to be hidden at this width; they live inside the Voice menu now, so they stay. */
  .cc-header__actions { flex-shrink:0; }
  .cc-shortcuts { display:none; }
}

/* ═══ GUYS NIGHT lane (bus 6928/6949, 2026-08-26) ═══════════════════════════
   The owner face of azcustomknives.com/guysnight/. Same gn_ tables, one store.
   It wears the COMMAND CENTRE look, not the Guys Night one: a tab inside his
   board that looked like the men's room would read as a foreign object. The
   room's own gold and black live on the room, which is where they were ruled.
   Nights | the night | bus, resizable, stacks at 700 like every 3-col here. */
[data-lane="guysnight"] .gn-3col { display:grid; grid-template-columns:1fr 2.6fr 1.4fr; gap:10px; height:calc(100vh - 205px); min-height:420px; align-items:stretch; margin:var(--sp-12) var(--sp-16); }
[data-lane="guysnight"] .gn-col { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; }
[data-lane="guysnight"] .gn-col__head { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); padding-bottom:8px; border-bottom:1px solid var(--border); margin-bottom:8px; flex-shrink:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
[data-lane="guysnight"] .gn-col__body { flex:1 1 0%; min-height:0; overflow-y:auto; }
[data-lane="guysnight"] .gn-empty { color:var(--text-xs); font-size:12px; font-style:italic; padding:10px 0; line-height:1.6; }

[data-lane="guysnight"] .gn-block { margin-bottom:22px; }
[data-lane="guysnight"] .gn-block__h { font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); margin:0 0 3px; }
[data-lane="guysnight"] .gn-block__sub { font-size:11px; color:var(--text-dim); margin-bottom:10px; line-height:1.5; }

/* The four counts. The mat is the number the class actually needs, so it reads first. */
[data-lane="guysnight"] .gn-nums { display:flex; flex-wrap:wrap; gap:10px; }
[data-lane="guysnight"] .gn-num { flex:1 1 90px; border:1px solid var(--border); border-radius:5px; padding:9px 11px; background:var(--raised,rgba(255,255,255,.02)); }
[data-lane="guysnight"] .gn-num b { display:block; font-family:var(--display); font-size:24px; font-weight:700; color:var(--text); line-height:1.05; }
[data-lane="guysnight"] .gn-num span { font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); }
[data-lane="guysnight"] .gn-num.quiet b { color:var(--text-dim); }

[data-lane="guysnight"] .gn-in { width:100%; padding:8px 10px; font:inherit; font-size:16px; color:var(--text); background:var(--raised,rgba(255,255,255,.03)); border:1px solid var(--border); border-radius:5px; margin-bottom:8px; }
[data-lane="guysnight"] .gn-in--sm { width:auto; flex:0 1 170px; margin-bottom:0; }
[data-lane="guysnight"] .gn-ta { width:100%; padding:8px 10px; font:inherit; font-size:16px; line-height:1.5; color:var(--text); background:var(--raised,rgba(255,255,255,.03)); border:1px solid var(--border); border-radius:5px; resize:vertical; margin-bottom:8px; }
[data-lane="guysnight"] .gn-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
[data-lane="guysnight"] .gn-btn { padding:9px 15px; font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); background:transparent; border:1px solid var(--amber); border-radius:5px; cursor:pointer; }
[data-lane="guysnight"] .gn-btn:hover { background:rgba(255,176,0,.10); }
[data-lane="guysnight"] .gn-btn[disabled] { opacity:.45; cursor:default; }
[data-lane="guysnight"] .gn-btn.ghost { color:var(--text-dim); border-color:var(--border); margin-top:12px; }
[data-lane="guysnight"] .gn-btn.ghost:hover { color:#ff8a8a; border-color:rgba(204,31,31,.6); background:rgba(204,31,31,.08); }
[data-lane="guysnight"] .gn-check { font-size:12px; color:var(--text-dim); display:flex; align-items:center; gap:6px; margin-right:auto; }

[data-lane="guysnight"] .gn-grp { margin-top:14px; }
[data-lane="guysnight"] .gn-grp__h { font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); padding-bottom:5px; border-bottom:1px solid var(--border); margin-bottom:4px; }
[data-lane="guysnight"] .gn-grp__h.yes { color:var(--amber); }
[data-lane="guysnight"] .gn-grp__h.no  { color:#ff8a8a; }
[data-lane="guysnight"] .gn-grp__h b { color:var(--text); }
[data-lane="guysnight"] .gn-man { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:8px 2px; border-bottom:1px solid var(--border); font-size:13.5px; }
[data-lane="guysnight"] .gn-man__n { color:var(--text); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-lane="guysnight"] .gn-tel { font-family:var(--mono); font-size:13px; color:var(--amber); text-decoration:none; border-bottom:1px dotted var(--amber); white-space:nowrap; }
[data-lane="guysnight"] .gn-nonum { font-family:var(--mono); font-size:11px; color:var(--text-xs); font-style:italic; }

/* Fold-out cards, folded by default (2026-07-27 ruling). The WHOLE header row
   is the control — a caret-only target shipped once and could not be closed. */
[data-lane="guysnight"] .gn-fold { margin-bottom:2px; }
[data-lane="guysnight"] .gn-fold__h { display:flex; align-items:center; gap:8px; cursor:pointer; padding:8px 4px; border-bottom:1px solid var(--border); user-select:none; }
[data-lane="guysnight"] .gn-fold__h:hover { background:var(--raised,rgba(255,255,255,.03)); }
[data-lane="guysnight"] .gn-tri { color:var(--text-dim); font-size:9px; width:9px; flex-shrink:0; transition:transform .12s; }
[data-lane="guysnight"] .gn-fold.open .gn-tri { transform:rotate(90deg); color:var(--amber); }
[data-lane="guysnight"] .gn-fold.picked .gn-fold__t { color:var(--amber); }
[data-lane="guysnight"] .gn-fold__t { font-family:var(--display); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text); }
[data-lane="guysnight"] .gn-fold__n { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-left:auto; }
[data-lane="guysnight"] .gn-fold__body { display:none; padding:8px 0 8px 17px; }
[data-lane="guysnight"] .gn-fold.open .gn-fold__body { display:block; }
[data-lane="guysnight"] .gn-navline { font-size:11.5px; color:var(--text); line-height:1.6; }
[data-lane="guysnight"] .gn-navline.dim { color:var(--text-dim); }

/* --- THE REGISTER: the signed waivers (2026-08-28) -------------------------
   The waiver shipped 2026-08-25 into a sealed table that nothing read. This is
   the reading surface. Two products share the centre column now, so the switch
   is a PILL ROW on top, per the 2026-07-27 layout standard - never a second
   sub-nav. Same Command Centre look as the rest of the lane; the room's own
   gold-on-black stays on the room. */
[data-lane="guysnight"] .gn-pills { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px; }
[data-lane="guysnight"] .gn-pill { padding:7px 14px; font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--text-dim); background:transparent; border:1px solid var(--border); border-radius:20px; cursor:pointer; }
[data-lane="guysnight"] .gn-pill:hover { color:var(--text); border-color:var(--text-dim); }
[data-lane="guysnight"] .gn-pill.on { color:var(--amber); border-color:var(--amber); background:rgba(255,176,0,.10); }
[data-lane="guysnight"] .gn-pill b { font-family:var(--mono); font-weight:700; margin-left:5px; }

/* One line of the record. Label left, answer right, wraps on a narrow phone
   instead of squeezing a phone number into three characters. */
[data-lane="guysnight"] .gn-frow { display:flex; gap:14px; align-items:baseline; padding:7px 2px; border-bottom:1px solid var(--border); font-size:13px; }
[data-lane="guysnight"] .gn-frow__k { flex:0 0 150px; font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); }
[data-lane="guysnight"] .gn-frow__v { flex:1 1 auto; min-width:0; color:var(--text); line-height:1.55; overflow-wrap:anywhere; }
[data-lane="guysnight"] .gn-dim { color:var(--text-dim); }
[data-lane="guysnight"] .gn-sha { font-family:var(--mono); font-size:11px; color:var(--text-dim); overflow-wrap:anywhere; }

/* A man who wrote something in the medical box. It rides on the FOLDED header
   too, because the whole point is that he does not have to open twenty cards to
   find the one with a heart condition in it. */
[data-lane="guysnight"] .gn-flag { font-family:var(--mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#ffb400; border:1px solid rgba(255,176,0,.5); border-radius:3px; padding:1px 5px; margin-left:8px; flex-shrink:0; }
[data-lane="guysnight"] .gn-hot { color:#ffb400; }
[data-lane="guysnight"] .gn-warn { font-size:12.5px; line-height:1.55; color:#ff8a8a; border:1px solid rgba(204,31,31,.5); border-left:3px solid #cc1f1f; border-radius:5px; padding:9px 11px; background:rgba(204,31,31,.07); margin:6px 0; }

/* The signature itself, on white, because a man draws in black and the board is
   black. Without the white plate the record is an empty box. */
[data-lane="guysnight"] .gn-sigwrap { margin-top:12px; }
[data-lane="guysnight"] .gn-siglab { font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); margin-bottom:6px; }
[data-lane="guysnight"] .gn-sig { display:block; width:100%; max-width:420px; height:auto; background:#fff; border:1px solid var(--border); border-radius:5px; padding:6px; }

[data-lane="guysnight"] .gn-wf .gn-fold__t { text-transform:none; letter-spacing:.02em; font-size:13px; }
[data-lane="guysnight"] .gn-wf.open .gn-fold__t { color:var(--amber); }

/* --- FAULTS: what the men report, and the sign-off (2026-08-28) ------------
   A man in the room hits a flag, writes what broke, and it lands here as a
   ticket. HIS WORDS AND THE READING OF THEM ARE NEVER THE SAME BLOCK: the
   quote is bordered on the left and set in the room's own voice, the reading
   sits under it clearly labelled. Rewriting a man's report into our words and
   showing only that is how a fault gets "fixed" without ever being the fault
   he had.

   Nothing gets built until he signs, so Sign it off and Not a fault are the
   two loudest things on the card. */
[data-lane="guysnight"] .gn-rep { border:1px solid var(--border); border-radius:6px; padding:12px 13px; margin-bottom:12px; background:var(--raised,rgba(255,255,255,.02)); }
[data-lane="guysnight"] .gn-rep.wait { border-color:rgba(255,176,0,.55); }
[data-lane="guysnight"] .gn-rep__h { display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; margin-bottom:9px; }
[data-lane="guysnight"] .gn-rep__who { font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text); }
[data-lane="guysnight"] .gn-rep__when { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-left:auto; }
[data-lane="guysnight"] .gn-tag { font-family:var(--mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; border-radius:3px; padding:2px 6px; border:1px solid var(--border); color:var(--text-dim); }
[data-lane="guysnight"] .gn-tag.wait { color:#ffb400; border-color:rgba(255,176,0,.55); background:rgba(255,176,0,.08); }
[data-lane="guysnight"] .gn-tag.ok   { color:#7ad39a; border-color:rgba(122,211,154,.5); background:rgba(122,211,154,.08); }
[data-lane="guysnight"] .gn-tag.no   { color:#ff8a8a; border-color:rgba(204,31,31,.5); background:rgba(204,31,31,.08); }
[data-lane="guysnight"] .gn-quote { border-left:3px solid var(--amber); padding:2px 0 2px 11px; margin-bottom:11px; font-size:14px; line-height:1.65; color:var(--text); white-space:pre-wrap; overflow-wrap:anywhere; }
[data-lane="guysnight"] .gn-said { font-family:var(--mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); margin-bottom:5px; }
[data-lane="guysnight"] .gn-read { border:1px solid var(--border); border-radius:5px; padding:9px 11px; margin-bottom:11px; font-size:12.5px; line-height:1.6; color:var(--text-dim); white-space:pre-wrap; }
[data-lane="guysnight"] .gn-read b { display:block; font-family:var(--mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--amber); margin-bottom:5px; font-weight:700; }
[data-lane="guysnight"] .gn-read .dw { display:block; margin-top:8px; padding-top:8px; border-top:1px solid var(--border); color:var(--text); }
[data-lane="guysnight"] .gn-meta { font-family:var(--mono); font-size:10px; color:var(--text-xs); line-height:1.6; margin-bottom:10px; overflow-wrap:anywhere; }
[data-lane="guysnight"] .gn-sign { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
[data-lane="guysnight"] .gn-btn.no { color:#ff8a8a; border-color:rgba(204,31,31,.55); }
[data-lane="guysnight"] .gn-btn.no:hover { background:rgba(204,31,31,.10); }
[data-lane="guysnight"] .gn-signed { font-size:12px; line-height:1.6; color:var(--text-dim); border-top:1px solid var(--border); padding-top:9px; }
[data-lane="guysnight"] .gn-signed b { color:var(--text); }

/* --- THE ROOM: what the men typed (2026-08-29) ----------------------------
   A post reuses .gn-quote deliberately - a man's own words get the same amber
   bar here that a reported fault gets, because they are the same thing. The
   photo is capped by HEIGHT, not width: one of the two files standing tonight
   is a 4MB phone photo, and at 402px wide an uncapped portrait shot pushes the
   next post a full screen down. He scrolls past it, he does not read it. */
[data-lane="guysnight"] .gn-thread { display:flex; align-items:center; gap:8px; cursor:pointer; user-select:none; padding:8px 4px; margin-bottom:10px; border-bottom:1px solid var(--border); }
[data-lane="guysnight"] .gn-thread:hover { background:var(--raised,rgba(255,255,255,.03)); }
[data-lane="guysnight"] .gn-thread.open .gn-tri { transform:rotate(90deg); color:var(--amber); }
[data-lane="guysnight"] .gn-thread__t { font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-lane="guysnight"] .gn-thread__k { font-family:var(--mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-xs); border:1px solid var(--border); border-radius:3px; padding:1px 5px; flex-shrink:0; }
[data-lane="guysnight"] .gn-thread__n { font-family:var(--mono); font-size:10px; color:var(--text-dim); margin-left:auto; flex-shrink:0; }
[data-lane="guysnight"] .gn-post { border:1px solid var(--border); border-radius:6px; padding:12px 13px; margin-bottom:12px; background:var(--raised,rgba(255,255,255,.02)); }
[data-lane="guysnight"] .gn-post.shop { border-left:3px solid var(--amber); }
[data-lane="guysnight"] .gn-post .gn-quote { margin-bottom:0; }
[data-lane="guysnight"] .gn-post .gn-meta { margin:9px 0 0; }
[data-lane="guysnight"] .gn-shot__a { display:block; margin-top:11px; }
[data-lane="guysnight"] .gn-shot { display:block; max-width:100%; max-height:60vh; width:auto; height:auto; border:1px solid var(--border); border-radius:5px; background:#000; }
[data-lane="guysnight"] .gn-fileline { display:inline-block; margin-top:11px; font-family:var(--mono); font-size:11.5px; color:var(--amber); text-decoration:none; border-bottom:1px dotted var(--amber); overflow-wrap:anywhere; }

[data-lane="guysnight"] .gn-busmsg { border-bottom:1px solid var(--border); padding:7px 0; font-size:12px; color:var(--text-dim); line-height:1.5; }
[data-lane="guysnight"] .gn-busmsg__h { font-family:var(--mono); font-size:9px; color:var(--text-xs); letter-spacing:.05em; margin-bottom:3px; }
[data-lane="guysnight"] .gn-note { min-height:15px; font-size:11.5px; color:var(--amber); padding:2px 0 6px; }
[data-lane="guysnight"] .gn-note.bad { color:#ff8a8a; }

@media (max-width:700px){
  [data-lane="guysnight"] .gn-3col { grid-template-columns:1fr; height:auto; min-height:0; max-height:none; overflow-y:auto; margin:var(--sp-12); }
  /* MEASURED ON HIS PHONE, 402x812, 2026-08-29 — the same failure the Texts tab
     had, down to the number: the grid stood 627px tall and the middle column
     showed 145px of a 2208px feed, seven percent of it, while the Project Bus
     column was 0px tall and simply not there. The page itself did not scroll.

     The desktop rule gives every column its own height and its own scrollbar,
     which is right beside two others and wrong stacked on a phone: .gn-col is
     overflow:hidden and .gn-col__body is flex:1 1 0%, so once the grid is
     height:auto the basis-0 body has nothing to divide and collapses to a slot.

     The page cannot be the scroller here and it is worth writing down why: this
     whole Command Center is a fixed app shell — body, .cc-body, .cc-lane and
     .cc-subpane are every one of them overflow:hidden at a locked height, so
     the document never scrolls and content that overflows a pane is simply
     gone. Stacked, therefore, .gn-3col itself is the scroller: the columns size
     to their content and he scrolls the lane. Measured after: 627px of window
     onto 2485px of lane, all three columns reporting their full content, and
     the last post reachable at the bottom of the scroll. */
  [data-lane="guysnight"] .gn-col { max-height:none; overflow:visible; }
  [data-lane="guysnight"] .gn-col__body { flex:0 0 auto; min-height:0; overflow-y:visible; }
  [data-lane="guysnight"] .gn-num b { font-size:21px; }
  [data-lane="guysnight"] .gn-frow { flex-direction:column; gap:2px; }
  [data-lane="guysnight"] .gn-frow__k { flex:none; }
  /* 44px minimum on anything he taps — the ruling already applied to the door
     waiver buttons tonight. These pills measured 29px, and there are four of
     them now. */
  [data-lane="guysnight"] .gn-pill { min-height:44px; padding:7px 16px; }
}

/* The link to the room, top of the centre column (2026-08-26, his words: "I have
   no link to the guys nights page from the command center"). Two things, not one:
   a link he taps to see what the men see, and a COPY, because the reason he wants
   it is to TEXT it out and he does not retype links. Never a code block. */
[data-lane="guysnight"] .gn-link { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:9px 11px; margin-bottom:18px; border:1px solid var(--border); border-left:3px solid var(--amber); border-radius:6px; background:var(--raised,rgba(255,255,255,.02)); }
[data-lane="guysnight"] .gn-link__a { flex:1; min-width:0; font-size:13.5px; font-weight:600; color:var(--amber); text-decoration:none; border-bottom:1px dotted var(--amber); }
[data-lane="guysnight"] .gn-link__a:hover { color:var(--text); border-bottom-color:var(--text); }
[data-lane="guysnight"] .gn-link__c { flex:none; padding:7px 12px; font-size:10px; }
@media (max-width:700px){
  [data-lane="guysnight"] .gn-link__a { flex:1 1 100%; }
  [data-lane="guysnight"] .gn-link__c { width:100%; }
}
[data-lane="guysnight"] .gn-dev { font-family:var(--mono); font-size:10px; color:var(--text-xs); }

/* ═══ ACCOUNTS lane — moved here from the BUSINESS face 2026-08-27 ═══════════
   His words: "On the AZ command center, I have accounts. I need that on my
   page, not on the AZCK command center." Accounts are his, so they live on his
   board. Nothing was lost: the same az_accounts rows, one store, no copy.

   THE PATTERN, and who documented it. This is the LIST-DETAIL canonical layout
   (Material 3, m3.material.io/foundations/layout/canonical-layouts/list-detail)
   — Apple calls the same shape a SPLIT VIEW with a SIDEBAR primary pane
   (developer.apple.com/design/human-interface-guidelines/split-views). Worth
   saying plainly: Nielsen Norman does NOT name this pattern, so it is not cited
   here as if they did.

   WHY THE LEFT COLUMN FOLDS. Kinds fold, accounts do not — his own 2026-07-27
   ruling: everything starts folded, a kind holding ONE row stays open, and the
   WHOLE header row is the fold control, never an 11px caret. NN/g accordion
   guidance (Wang, 2023, nngroup.com/articles/accordions-on-desktop) says to
   avoid an accordion when the reader needs most of the content at once — he
   does not: he needs to FIND one account out of twenty-three, which is
   recognition, not recall (Nielsen heuristic 6).

   WHY THE TOTAL DOES NOT SCROLL. Baymard verified guidance on an order summary
   is about PERSISTENCE, not about top versus bottom — so the money line sits in
   the centre column fixed head and is still on screen at row twenty.

   THE NAV COLUMN IS 1fr OF 5.2fr = 19.2%, deliberately under the one-fifth
   ceiling. Measured at 1280 and at 375 before it shipped. ═══════════════════ */
[data-lane="accounts"] .ac-3col { display:grid; grid-template-columns:1fr 2.8fr 1.4fr; gap:10px; height:calc(100vh - 205px); min-height:420px; align-items:stretch; margin:var(--sp-12) var(--sp-16); }
[data-lane="accounts"] .ac-col { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; }
[data-lane="accounts"] .ac-col__head { font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); padding-bottom:8px; border-bottom:1px solid var(--border); margin-bottom:8px; flex-shrink:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
[data-lane="accounts"] .ac-col__body { flex:1 1 0%; min-height:0; overflow-y:auto; }
[data-lane="accounts"] .ac-empty { color:var(--text-xs); font-size:12px; font-style:italic; padding:10px 0; line-height:1.6; }

/* The money line. Fixed head of the centre column, so it survives the scroll. */
[data-lane="accounts"] .ac-money { flex-shrink:0; border:1px solid var(--border); border-left:3px solid var(--amber); border-radius:6px; padding:9px 11px; margin-bottom:12px; background:var(--raised); }
[data-lane="accounts"] .ac-money b { font-family:var(--display); font-size:22px; font-weight:700; color:var(--text); line-height:1.1; display:block; }
[data-lane="accounts"] .ac-money span { font-size:11px; color:var(--text-dim); line-height:1.5; }
[data-lane="accounts"] .ac-money i { font-style:normal; color:var(--yellow); }

/* LEFT: one fold per kind. The whole header row is the control (his 2026-07-27
   ruling — a caret-only target shipped once and could not be closed). */
[data-lane="accounts"] .ac-fold { border-bottom:1px solid var(--border); }
[data-lane="accounts"] .ac-fold__h { width:100%; text-align:left; background:none; border:0; cursor:pointer; display:flex; align-items:center; gap:7px; padding:9px 4px; font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); }
[data-lane="accounts"] .ac-fold.open .ac-fold__h { color:var(--amber); }
[data-lane="accounts"] .ac-fold__tri { flex-shrink:0; font-size:9px; transition:transform .12s; }
[data-lane="accounts"] .ac-fold.open .ac-fold__tri { transform:rotate(90deg); }
[data-lane="accounts"] .ac-fold__n { margin-left:auto; font-family:var(--mono); font-size:10px; color:var(--text-xs); font-weight:400; letter-spacing:0; }
[data-lane="accounts"] .ac-fold__body { display:none; padding:0 0 8px 4px; }
[data-lane="accounts"] .ac-fold.open .ac-fold__body { display:block; }
[data-lane="accounts"] .ac-pick { width:100%; text-align:left; background:none; border:0; border-left:2px solid transparent; cursor:pointer; display:block; padding:6px 8px; font-size:12.5px; color:var(--text); line-height:1.45; }
[data-lane="accounts"] .ac-pick:hover { background:var(--raised); }
[data-lane="accounts"] .ac-pick.on { border-left-color:var(--amber); background:var(--raised); color:var(--amber); }
[data-lane="accounts"] .ac-pick em { display:block; font-style:normal; font-size:10.5px; color:var(--text-xs); }
[data-lane="accounts"] .ac-pick.gap em { color:var(--yellow); }

/* CENTRE: the picked account. */
[data-lane="accounts"] .ac-name { font-family:var(--display); font-size:19px; font-weight:700; color:var(--text); line-height:1.2; margin-bottom:3px; }
[data-lane="accounts"] .ac-tags { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:10px; }
[data-lane="accounts"] .ac-tag { font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); border:1px solid var(--border); border-radius:3px; padding:2px 6px; }
[data-lane="accounts"] .ac-tag.warn { color:var(--yellow); border-color:var(--yellow); }
[data-lane="accounts"] .ac-tag.off { color:var(--text-xs); }
[data-lane="accounts"] .ac-does { font-size:13.5px; color:var(--text); line-height:1.6; margin-bottom:14px; }
[data-lane="accounts"] .ac-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:16px; }
[data-lane="accounts"] .ac-fact { border:1px solid var(--border); border-radius:5px; padding:8px 10px; background:var(--raised); min-width:0; }
[data-lane="accounts"] .ac-fact b { display:block; font-family:var(--display); font-size:15px; font-weight:700; color:var(--text); line-height:1.25; word-break:break-word; }
[data-lane="accounts"] .ac-fact b.warn { color:var(--yellow); }
[data-lane="accounts"] .ac-fact span { font-size:9.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--text-xs); }
[data-lane="accounts"] .ac-fact a { color:var(--amber); text-decoration:none; border-bottom:1px dotted var(--amber); }

[data-lane="accounts"] .ac-btn { background:var(--amber); color:var(--bg); border:0; border-radius:5px; padding:7px 14px; font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
[data-lane="accounts"] .ac-btn.ghost { background:none; color:var(--text-dim); border:1px solid var(--border); }
[data-lane="accounts"] .ac-btns { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
[data-lane="accounts"] .ac-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin-bottom:12px; }
[data-lane="accounts"] .ac-form label { font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-xs); min-width:0; }
[data-lane="accounts"] .ac-form input, [data-lane="accounts"] .ac-form select { display:block; width:100%; box-sizing:border-box; margin-top:4px; background:var(--bg); color:var(--text); border:1px solid var(--border); border-radius:5px; padding:6px 8px; font-size:12.5px; font-family:var(--sans); }
[data-lane="accounts"] .ac-note { min-height:15px; font-size:11.5px; color:var(--amber); padding:2px 0 6px; }
[data-lane="accounts"] .ac-note.bad { color:var(--red); }
[data-lane="accounts"] .ac-never { font-size:10.5px; color:var(--text-xs); line-height:1.5; }

[data-lane="accounts"] .ac-busmsg { border-bottom:1px solid var(--border); padding:7px 0; font-size:12px; color:var(--text-dim); line-height:1.5; }
[data-lane="accounts"] .ac-busmsg__h { font-family:var(--mono); font-size:9px; color:var(--text-xs); letter-spacing:.05em; margin-bottom:3px; }

@media (max-width:700px){
  [data-lane="accounts"] .ac-3col { grid-template-columns:1fr; height:auto; max-height:none; margin:var(--sp-12); }
  [data-lane="accounts"] .ac-col { max-height:none; }
  [data-lane="accounts"] .ac-money b { font-size:20px; }
  [data-lane="accounts"] .ac-name { font-size:17px; }
  [data-lane="accounts"] .ac-facts { grid-template-columns:1fr 1fr; }
}
