/* ============================================================================
   THE CONSOLE (styles) — canonical home: HCisaac/hc-agent-platform console/.
   Synced into each agent app by platform:sync; NEVER hand-edit the copy in an
   app repo (platform:check will flag it). HOST CONTRACT — the app provides:
   :root tokens (--ink --mut --faint --hair --accent --card --line), the lane
   board classes (.pj-lanes .pj-lane .pj-lanehead .pjcard .pj-top .pj-name
   .pj-badges .pj-b), the search hero (.libwrap .pjov .libhero .libsearch
   .libhint), dialog chrome (dialog #dlg .dlghead .dlgbody .dlgfoot,
   button.ghost/.mini), .drshots/.drshot, .empty, and the pagein keyframes.
   ========================================================================== */
  /* ── the Console: the app's own lens. Same lane grammar as Projects, but the
     object being matured is a CAPABILITY and the direction is TRUST.
     THE TYPE LAW (Isaac 7/31 — taken from the approved email template, the
     reference for every human-facing surface): THREE levels, nothing else.
       1. the ruled header (.eg-h) — small caps, ink, hairline rule beneath:
          the aggregate the group shares
       2. the label — bold, 2–5 words, ink: compressed signal only
       3. the detail — smaller, muted, flowing INLINE after the label. Never a
          right-justified second column — justified columns of wrapping muted
          text are exactly what made this page unreadable.
     Pills are rationed to DISPOSITION (what state a thing is in). A plain fact
     (group, a count, who filed it) reads as quiet inline text, never a pill. */
  .eg-h { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); font-weight:700;
    border-bottom:1px solid var(--hair); padding-bottom:6px; margin:24px 0 4px; display:flex; align-items:baseline; gap:8px; }
  .eg-h:first-child { margin-top:0; }
  .eg-h .n { font-weight:400; color:var(--mut); letter-spacing:.04em; }
  .eg-lede { font-size:13px; line-height:1.6; color:var(--mut); }
  .eg-b { font-size:12.5px; line-height:1.6; color:var(--ink); padding-top:7px; }
  .eg-item { padding:7px 0 2px; font-size:13px; line-height:1.5; color:var(--ink); }
  .eg-item b { font-weight:700; }
  .eg-item .d { font-size:12.5px; color:var(--mut); }
  .co-identity { border:1px solid var(--hair); background:var(--card); border-radius:8px; padding:15px 20px 12px; margin-bottom:14px; }
  .co-eyebrow { font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); font-weight:700; }
  .co-idname { font-size:19px; font-weight:600; letter-spacing:.01em; margin-top:3px; }
  .co-idmeta { font-size:11px; color:var(--faint); letter-spacing:.04em; margin-top:2px; }
  .co-idmission { font-size:12.5px; color:var(--mut); line-height:1.55; margin-top:9px; max-width:68ch; }
  /* the floor, compressed to ONE line — the full rails + philosophy live one
     click in (coRails). A sprawl of pills taught nothing at a glance. */
  .co-railline { margin-top:11px; padding-top:9px; border-top:1px solid var(--hair); font-size:11.5px; color:var(--mut);
    line-height:1.5; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .co-railline b { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); font-weight:700; margin-right:8px; }
  .co-railline .more { color:var(--accent); }
  .co-railline:hover .more { text-decoration:underline; text-underline-offset:2px; }
  .cocard .pj-name { font-size:13.5px; }
  .cocard .co-desc { font-size:11.5px; color:var(--mut); margin-top:5px; line-height:1.5;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .cocard .co-meta { margin-top:9px; font-size:10.5px; color:var(--faint); letter-spacing:.03em; line-height:1.5; }
  .cocard .co-meta b { color:var(--mut); font-weight:600; font-variant-numeric:tabular-nums; }
  /* the identity/status split + lane doors + the quiet lane (Isaac 7/31) */
  .co-idgrid { display:grid; grid-template-columns: 1fr 300px; gap:26px; align-items:start; }
  @media (max-width: 980px) { .co-idgrid { grid-template-columns: 1fr; } .co-railline { white-space:normal; } }
  .co-needsbtn { font:12px inherit; font-weight:700; letter-spacing:.06em; background:#f3ecdc; border:1px solid #ddcfae;
    color:#8a6b28; padding:7px 14px; border-radius:5px; cursor:pointer; }
  .co-needsbtn:hover { background:#eee2c8; }
  .co-laneclick { cursor:pointer; }
  .co-laneclick:hover .t { text-decoration:underline; text-underline-offset:3px; }
  .co-quiet { margin-top:10px; background:var(--card); border:1px solid var(--hair); border-radius:8px;
    padding:16px 14px; cursor:pointer; text-align:center; }
  .co-quiet:hover { border-color:var(--mut); }
  .co-quiet .qn { font-size:34px; font-weight:300; line-height:1; }
  .co-quiet .ql { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--mut); margin:4px 0 10px; }
  .co-quiet .qg { display:flex; justify-content:space-between; font-size:11.5px; color:var(--mut);
    padding:3px 2px; border-top:1px solid #f0eee9; text-align:left; }
  .co-quiet .qhint { font-size:10px; color:var(--faint); margin-top:10px; font-style:italic; }
  /* drill-in rows: label bold, signal muted, FLOWING left — one reading direction */
  .co-lrow { padding:7px 2px 6px; border-top:1px solid #f0eee9; cursor:pointer; font-size:13px; line-height:1.55; }
  .co-lrow:hover .rn { text-decoration:underline; text-underline-offset:3px; }
  .co-lrow .rn { font-weight:600; }
  .co-lrow .rs { font-size:12px; color:var(--mut); }
  .co-lrow .rs button { margin-left:8px; vertical-align:baseline; }
  /* ── the Console's FOUR dresses (Isaac 7/31): LANDING = title + three glass
     boards (console overview · focus dashboard · dev board strip) — bearings
     in a second, panes are the doors. MANIFEST / FOCUS / BOARD = one board
     pulled into view, everything else gone, the floating chip always the way
     back. Modern and a bit futuristic — this IS the development wing — but on
     the app's own paper: hairlines, ink, one green accent. ── */
  #coWrap .ld-only, #coWrap .mf-only, #coWrap .fc-only, #coWrap .bd-only { display:none; }
  #coWrap.co-landing .ld-only { display:block; animation: pagein .38s cubic-bezier(.22,1,.36,1); }
  #coWrap.co-manifest .mf-only { display:block; animation: pagein .38s cubic-bezier(.22,1,.36,1); }
  #coWrap.co-focus .fc-only { display:block; animation: pagein .38s cubic-bezier(.22,1,.36,1); }
  #coWrap.co-board .bd-only { display:block; animation: pagein .38s cubic-bezier(.22,1,.36,1); }
  #coWrap.co-landing { display:flex; flex-direction:column; min-height:calc(100vh - 120px);
    width:min(1460px, 100%); margin:0 auto; }
  #coWrap.co-landing .co-ovgrid.ld-only { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:16px; align-items:stretch; }
  @media (max-width: 1100px) { #coWrap.co-landing .co-ovgrid.ld-only { grid-template-columns:1fr; } }
  .co-titleband { text-align:center; padding:14px 2px 22px; }
  .co-titleband .co-idname { font-size:22px; margin-top:4px; }
  .co-subtitle { font-size:12.5px; color:var(--mut); margin:7px auto 0; max-width:76ch; line-height:1.55; }
  /* the glass boards — soft pane, lifted light on hover */
  .co-pane { position:relative; border:1px solid rgba(255,255,255,.92); border-radius:12px; cursor:pointer;
    background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.54));
    backdrop-filter: blur(12px) saturate(1.05); -webkit-backdrop-filter: blur(12px) saturate(1.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 10px 30px rgba(43,42,39,.07);
    padding:18px 22px 20px; transition: transform .24s cubic-bezier(.22,1,.36,1), box-shadow .24s ease, border-color .24s ease; }
  .co-pane:hover { transform:translateY(-4px); border-color:#e0ddd4;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 22px 44px rgba(43,42,39,.13), 0 12px 36px rgba(71,102,74,.13); }
  .co-pane .pane-h { display:flex; justify-content:space-between; align-items:baseline; gap:10px;
    font-size:11px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; color:var(--ink);
    border-bottom:1px solid var(--hair); padding-bottom:8px; }
  .co-pane .pane-h .ph-n { font-weight:400; color:var(--mut); letter-spacing:.04em; text-transform:none; font-size:11.5px; }
  .pane-meta { font-size:11px; color:var(--faint); margin-top:10px; letter-spacing:.03em; }
  .pane-floor { margin-top:8px; font-size:11.5px; color:var(--mut); line-height:1.55; }
  .pane-floor b { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin-right:7px; }
  .pane-sub { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); margin:16px 0 2px; }
  /* rows INSIDE a landing pane stay quiet — the pane is the click, not the row */
  .co-pane .co-lrow { cursor:inherit; }
  .co-pane .co-lrow:hover .rn { text-decoration:none; }
  .fc-need { font-size:12.5px; font-weight:600; padding:7px 0 5px; border-top:1px solid #f0eee9; line-height:1.45; }
  .fc-need:first-of-type { border-top:none; }
  .fc-need span { font-weight:400; font-size:11.5px; color:#8a6b28; }
  .fc-line { font-size:11.5px; color:var(--mut); padding:3px 0; }
  .fc-line.bad { color:#8f3b2d; font-weight:600; }
  .fc-line .ok { color:var(--accent); }
  /* a focused view reads as one measured column */
  .co-viewcol { width:min(880px, 100%); margin:4px auto 0; }
  .co-viewhead { padding:4px 0 6px; }
  .co-viewhead .co-idname { font-size:19px; margin-top:3px; }
  /* the way home — always floating, never part of any board */
  .co-backchip { position:fixed; top:76px; right:36px; z-index:6; display:inline-flex; align-items:center; gap:7px;
    font:700 10px Calibri, sans-serif; letter-spacing:.13em; text-transform:uppercase; color:var(--mut);
    background:rgba(255,255,255,.78); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border:1px solid var(--hair); border-radius:999px; padding:8px 15px; cursor:pointer;
    box-shadow:0 6px 18px rgba(43,42,39,.10); transition: transform .18s ease, color .18s ease, border-color .18s ease; }
  .co-backchip:hover { color:var(--ink); border-color:var(--mut); transform:translateY(-1px); }
  .co-backchip svg { display:block; fill:currentColor; }
  #coWrap.co-landing .co-backchip { display:none; }
  .co-landbody { width:min(880px, 100%); margin:20px auto 0; }
  .co-stripwrap { margin-top:auto; padding-top:26px; }
  .co-striphead { display:flex; align-items:baseline; gap:12px; padding-bottom:8px; }
  .co-striphead .sh { font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
  .co-striphead .sd { font-size:11.5px; color:var(--mut); flex:1; }
  .co-strip { display:grid; grid-template-columns:repeat(6, 1fr); gap:10px; align-items:stretch; }
  @media (max-width: 1100px) { .co-strip { grid-template-columns:repeat(3, 1fr); } }
  @media (max-width: 640px) { .co-strip { grid-template-columns:1fr; } }
  .co-tile { background:var(--card); border:1px solid var(--hair); border-radius:8px; padding:11px 13px 12px; cursor:pointer;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
  .co-tile:hover { transform:translateY(-2px); border-color:var(--mut); box-shadow:0 8px 20px rgba(43,42,39,.08); }
  .co-tile .t { font-size:10px; letter-spacing:.13em; text-transform:uppercase; font-weight:700;
    display:flex; justify-content:space-between; align-items:baseline; gap:6px; border-bottom:2px solid var(--ink); padding-bottom:6px; }
  .co-tile .t .n { font-weight:400; color:var(--mut); letter-spacing:.04em; }
  .co-tile .d { font-size:11px; color:var(--mut); line-height:1.45; margin-top:7px; }
  .co-tile.watch .t { border-bottom-color:#8f3b2d; }
  .co-tile.watch.hot { background:#f7ebe8; border-color:#e6c8c0; }
  /* console dialogs read like a page — a third larger than the app default */
  dialog.co-dlg { max-width:900px; }
  dialog.co-dlg .dlgbody { max-height:80vh; }
  /* the autonomous door: groups closed by default — the group line IS the
     high-level health read; open one to see its capabilities */
  details.co-grp { border-top:1px solid #f0eee9; }
  details.co-grp summary { list-style:none; cursor:pointer; padding:9px 2px; display:flex; align-items:baseline; gap:10px; }
  details.co-grp summary::-webkit-details-marker { display:none; }
  details.co-grp summary .car { color:var(--faint); font-size:10px; flex:none; transition:transform .15s ease; }
  details[open].co-grp summary .car { transform:rotate(90deg); }
  details.co-grp summary .g { font-size:11px; letter-spacing:.13em; text-transform:uppercase; font-weight:700; }
  details.co-grp summary .n { font-size:11px; color:var(--mut); }
  details.co-grp summary .d { font-size:11.5px; color:var(--mut); flex:1; line-height:1.45; }
  details.co-grp summary .h { font-size:11px; color:var(--accent); flex:none; }
  details.co-grp summary .h.bad { color:#8f3b2d; font-weight:700; }
  details.co-grp .co-grpbody { padding:0 2px 10px 20px; }
  .cocard.co-shipped { border-left: 3px solid #47664a; }
  .cocard.co-needsyou { border-left: 3px solid #8a6b28; }
  .pj-b.co-b-shipped { background:#e7efe6; border-color:#b9cdb8; color:#47664a; font-weight:700; }
  .pj-b.co-b-needsyou { background:#f3ecdc; border-color:#ddcfae; color:#8a6b28; font-weight:700; }
  .co-lanesel { font:10px Calibri,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--mut);
    border:1px solid var(--hair); border-radius:3px; background:#fbfaf8; padding:3px 5px; margin-top:9px; width:100%; }
  .co-defect { font-size:11px; color:#8f3b2d; background:#f7ebe8; border:1px solid #e6c8c0; border-radius:5px; padding:5px 9px; margin-top:8px; }
  .pj-lane.watch { background:#f7ebe8; border-color:#e6c8c0; }
  .pj-lane.watch .pj-lanehead { border-bottom-color:#8f3b2d; }
  .co-badge { font-weight:700; }
  .co-badge.sensed { color:#8a6b28; border-color:#ddcfae; background:#f8f3e6; }
  .co-badge.defined, .co-badge.ready { color:var(--accent); border-color:#b9cdb8; background:#f2f6f0; }
  .co-badge.blast-radius { color:#8a6d3b; border-color:#e3d5c0; background:#f9f4e8; }
  .co-badge.not-confident { color:#5f5a6b; border-color:#d6d2de; background:#efedf3; }
