/* The house shell, part two: the menu (its door, kickers, admin fold and rows), the landing, the account menu rows
   and the grip. Part one, imported first so every rule keeps its place in the cascade, is house-shell-chrome.css:
   the rail, the banner, the glass panels and the tab track (docs/SEAMS.md). */
@import url("./house-shell-chrome.css");
@import url("./navigation-builder.css");

.inventory-workspace-tabs>a[role=tab]:hover{text-decoration:none}
.company-inventory-workspace>.inventory-workspace-body{padding:0;border:0;min-width:0}
.one-scope-head{flex:none;display:flex;align-items:center;gap:8px;height:var(--house-seat)}
.one-scope-head>.one-scope-controls{flex:1;min-width:0}
.cp-page .one-scope-tabs{display:inline-flex;max-width:100%}
.cp-page .cp-seg.one-scope-tabs button[aria-pressed=true]{background:var(--tab-selected-fill);box-shadow:inset 0 0 0 1px var(--tab-selected-edge);color:var(--accent-text);font-weight:600}
.one-scope-gap{flex:none;height:var(--house-seat)}
@media(max-width:900px){.house-rail>.one-scope-gap{display:none}}

/* Moved here from projects.css on 2026-09-17 when that sheet was deleted. Its other 300 lines matched nothing on any page; this block did. */
/* ---------- THE DOOR LEFT OF THE MENU PILL ----------
   It sits in the tabs row and OUT of the segmented track: every .house-tab
   takes an equal share of the pill, so an icon on that footing would take a
   third of the row and read as a third tab. */
.house-tab-door{flex:none;display:flex;align-items:center;gap:6px;padding:6px 8px;border:0;
  border-radius:var(--r-pill);background:none;color:var(--ink4);cursor:pointer}
.house-tab-door:hover{color:var(--text)}
.house-tab-door.on{background:var(--tab-selected-fill);box-shadow:inset 0 0 0 1px var(--tab-selected-edge);color:var(--accent-text)}
.house-list{padding:10px 10px 14px;display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow:auto;}
/* the grouped menu's kickers — the Pathary kicker voice, our grouping.
   A step up from the 11px kicker, and the rows under one sit tighter
   than the house row (Mark, 2026-08-15). */
.house-group{margin:20px var(--panel-pad) 5px;font-size:var(--t-tiny);font-weight:var(--w-bold);
  letter-spacing:.5px;text-transform:uppercase;color:var(--muted);}
.house-group:first-child{margin-top:0;}
/* THE ADMIN FOLD: the heading is a press, the chevron says which way it is
   (Mark, 2026-09-02). Same face and colour as the plain heading so a folding
   group and a fixed one read as one list. */
.house-group-fold{display:flex;align-items:center;gap:6px;width:auto;padding:0;border:0;background:none;
  cursor:pointer;font:inherit;font-size:var(--t-tiny);font-weight:var(--w-bold);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);}
.house-group-fold:hover{color:var(--ink);}
/* A long company name stays on one line, level with its rail twin, and ends in an ellipsis. */
.house-group-fold{max-width:calc(100% - 2 * var(--panel-pad));white-space:nowrap;}
.house-group-name{overflow:hidden;text-overflow:ellipsis;}
/* A sample business's heading says Sample (Mark, October 5). */
.house-group-tag{flex:none;margin-left:6px;padding:0 6px;border:1px solid currentColor;border-radius:var(--r-full);font-size:.85em;letter-spacing:.04em;opacity:.75;}
.house-group-chevron{display:inline-flex;transition:transform .15s ease;}
.house-group-chevron-open{transform:rotate(180deg);}
/* every row is one seat tall (--house-seat), tag or no tag, so the rail's
   icons land level with them (Mark, 2026-09-03). */
.house-list .house-row{height:var(--house-seat);}
/* a bare landing: the title stands in the middle of the stage */
.landing{min-height:60vh;display:flex;align-items:center;justify-content:center;}
.landing-title{font-size:var(--t-room);font-weight:var(--w-bold);letter-spacing:var(--ls-head);}
/* World Forge is a landing() room with people under it now (Mark,
   2026-09-02), so its title sits at the top of the stage, not centered in
   60vh of empty space; the note follows it, then the people. */
.forge-world .landing{min-height:0;display:block;padding:var(--s6) 0 0;}
.forge-world-note{max-width:60ch;margin:10px 0 var(--s6);}
.house-lounge{flex:1;min-height:0;overflow:auto;padding:var(--s3) var(--panel-pad) var(--s5);}
.house-lounge .scene-art{position:relative;top:auto;}
.house-lounge [data-lz="artcard"]{aspect-ratio:3/4;}
.house-row{flex:none;height:var(--house-seat);padding:0 var(--panel-pad);border-radius:var(--r-10);font-size:var(--t-body);
  font-weight:var(--w-med);color:var(--text);text-align:left;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:1px;}
.house-row.on{background:transparent;color:var(--accent-text);}
.house-row.on .house-row-label{color:var(--accent-text);}
/* flex:none because the rows are children of a scrolling column and an
   explicit min-height throws away the content minimum, so a list taller than
   the panel shrank every row to 40px and clipped the tag. */
/* TAG LINES UNDER THE RAIL ROWS (Mark, 2026-09-03): the label keeps the
   row's own colour and the active tint; the tag is a second, smaller,
   muted line, one row, no wrap. */
.house-row-label{color:inherit;}
.house-row-tag{font-size:var(--t-tiny);font-weight:var(--w-med);color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
/* 14px until 2026-08-31, four wider than the tab row directly above it, so
   the Tool Box's contents stood inset from every other row in the column. */
.house-toolbox{flex:1;min-height:0;overflow:auto;padding:var(--s2) var(--panel-pad) var(--s6);
  display:flex;flex-direction:column;gap:var(--s3);}
.house-toolbox-note{font-size:var(--t-small);line-height:var(--lh-body);color:var(--muted);}
/* Ann's panel, from its inset to its empty line, lives in assistant-panel.css, loaded right after this sheet. */
.house-foot{margin-top:auto;padding:8px;border-top:var(--bd) solid var(--edge);position:relative;}
.house-me{width:100%;display:flex;align-items:center;gap:8px;padding:8px;border:var(--bd) solid var(--edge);
  border-radius:var(--r-12);background:var(--panel);text-align:left;}
.house-caret{margin-left:auto;color:var(--muted);font-size:var(--t-label);}
.house-menu{position:absolute;left:8px;right:8px;bottom:56px;background:var(--panel);border:var(--bd) solid var(--edge);
  border-radius:var(--r-14);box-shadow:var(--sh-card);padding:8px;z-index:3;display:flex;flex-direction:column;gap:2px;}
/* the account menu rows: icon + label, same 40px row as the menu list */
.house-acct-row{display:flex;align-items:center;gap:10px;height:var(--house-row);padding:0 10px;
  border-radius:var(--r-10);font-size:var(--t-body);font-weight:var(--w-med);color:var(--text);text-align:left;background:transparent;}
.house-acct-row:hover{background:var(--sel);}
.house-acct-row svg{color:var(--muted);flex:none;}
/* Act as: Stop names the person, so a long name wraps onto a taller row; why Stop did not answer sits under it
   (rooms/platform-setup-accounts.js actingMenuRow) */
.house-acct-stop{height:auto;min-height:var(--house-row);padding-block:8px;}
.house-acct-note{padding:2px 10px 6px;font-size:var(--t-small);color:var(--danger);}
.house-grip{width:3.5px;flex:none;align-self:stretch;padding:0;background:var(--edge);cursor:col-resize;border:0;position:relative;z-index:2;}
/* Bug 55: the grip still looks 3.5px, but an invisible edge makes it 13.5px to grab. */
.house-grip::before{content:"";position:absolute;inset:0 -5px;}
.house-grip:hover{background:var(--accent);}
/* The canvas, the right panel and the narrow layout live in house-canvas.css, loaded after assistant-panel.css. */

/* Main navigation geometry, shared by platform and generated app panels. */
.house-tabs:not(.studio-app-tabs):not(.studio-asset-tabs):not(.canvas-tab-bar):not(.house-tabs-nested){box-sizing:border-box;min-height:var(--tabs-height);padding:3px;border-radius:var(--r-pill)}
.house-tabs:not(.studio-app-tabs):not(.studio-asset-tabs):not(.canvas-tab-bar):not(.house-tabs-nested)>.house-tab{box-sizing:border-box;min-height:var(--control-height);border-radius:var(--r-pill)}
.house-tabs .house-tab.on{background:var(--tab-selected-fill);box-shadow:inset 0 0 0 1px var(--tab-selected-edge);color:var(--accent-text);font-weight:600}
/* A saved Inventory tab stays beside Clipboard at the person's own width, including the 200px minimum. */
.house-tabs.house-tabs-inventory{flex-wrap:wrap;row-gap:2px}
.house-tabs.house-tabs-inventory>.house-tab{flex:1 0 auto;padding-inline:6px;max-width:100%;overflow:visible;text-overflow:clip}
.house-tabs.house-tabs-inventory>.titan-assistant-tab{flex:0 0 30px;padding-inline:0}

/* A business's color as a dot (rooms/place-dot.mjs): Which business? cards. */
.one-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--one-dot,transparent);}
.one-dot-all{background:none;box-shadow:inset 0 0 0 1.5px currentColor;}
/* Which business? (rooms/which-business.mjs), in Your portals' own grammar: the tool's name over the question. */
.which-business-tool{margin:0 0 6px;font-size:var(--t-tiny);font-weight:var(--w-bold);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);}
/* A tool the person renamed keeps its own name under it, in the same small line (Phase 5, Bills over Invoices). */
.which-business-own{display:block;margin-top:2px;font-weight:var(--w-med);letter-spacing:0;text-transform:none;}
/* Its businesses are bars (styles/work-tools.css), one column at a reading width. */
.which-business-list{max-width:560px;}
/* THE IN-BETWEEN WIDTHS (Phase 12; Mark's test, October 13, 2026: "At 590 px wide the icon row is cut off on the right
   and CounterCAD's Steps/Pricing panel is hidden"). From 560 to 900 a desktop window keeps the narrow layout
   (house-canvas.css: the rail a row on top, the panels sheets over the canvas, lib/responsive-panels.js), but a mouse
   cannot swipe the rail as a phone does, so nothing in it may run past the edge. Its icons close up to 26px each, and
   when there are still more than one row holds, the row wraps onto a second line, every icon in sight. The house is a
   grid of two rows there, the rail's own height and the canvas under it, so a second rail line never pushes the canvas
   off the window. Under 560, the phone's swiping row with its fades is unchanged; over 900, the desktop column. */
@media (min-width:560px) and (max-width:900px){
  .house-shell .house:not(.document-mode){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);}
  .house-shell .house:not(.document-mode)>.house-rail{grid-row:1;flex-wrap:wrap;row-gap:4px;height:auto;min-height:52px;overflow:visible;}
  /* 36px tall, the part of each 48px seat the 52px row showed before, so one row looks and stands as it did. */
  .house-shell .house:not(.document-mode)>.house-rail>.house-ico{flex:1 1 26px;min-width:26px;max-width:40px;height:36px;}
  .house-shell .house:not(.document-mode)>.house-main{grid-row:2;height:auto;min-height:0;}
}
