/* Office desktop layout, from 1200px wide.
 * Loaded after the page's inline <style>. Variables only (web/design-tokens.css; DESIGN.md). Every rule is scoped to
 * .office and lives inside this one media query, so below 1200px the Office, and every other surface at any width,
 * renders exactly as the prototype. Same tokens, fonts, chips, buttons and map cells: this file only moves and widens.
 * The desktop markup (one header row, headline strip, pairs table, split tabs) is drawn by web/app.js only when
 * matchMedia('(min-width:1200px)') matches. */
@media (min-width:1200px){

/* one header row: brand, tabs, language, who (was two bars) */
.office .o-top.o-dtop{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:stretch;gap:0 16px;padding:0 24px}
.office .o-dtop .brand{align-self:center;padding:8px 0}
.office .o-dtop .seg,.office .o-dtop .me{align-self:center}
.office .o-dtop .o-nav{padding:0;border-bottom:0;background:transparent;min-width:0}
.office .o-dtop .o-nav button{padding:0 9px;white-space:nowrap}
/* keep the tabs on one row even in Spanish at 1200px: scroll sideways rather than wrap */
.office .o-dtop .o-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}

/* use the width: up to 1600px; company and billing keep their own width */
.office .o-main{max-width:1600px}
.office .o-main.o-t-company,.office .o-main.o-t-billing{max-width:1240px}

/* Home: To do and the building in two even columns first, then the numbers strip and meter, then the pairs */
.office .o-dhead{margin:32px 0 0}
.office .o-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--board)}
.office .o-plate{margin-top:8px}
.office .o-stat{display:flex;flex-direction:column;gap:2px;min-width:0;padding:14px 18px}
.office .o-stat + .o-stat{border-left:var(--rule-w) solid var(--rule-soft)}
.office .o-stat-l{font-size:12px;font-weight:600;color:var(--muted)}
.office .o-stat-v{font-family:var(--f-mono);font-size:40px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.office .o-stat-s{font-size:13px;color:var(--muted)}
.office .o-dhead .ometer{max-width:none;margin:20px 0 8px}
.office .o-dhead .o-ba{display:flex;flex-wrap:wrap;gap:0 40px;margin:4px 0 6px}
.office .o-dhead .o-ba .o-sent{margin:0;max-width:none}
.office .o-dhead .o-muted{margin:0}
.office .o-dhome .o-home{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 56px;margin-top:8px}
.office .o-dhome .o-todo > .o-h2:first-child,.office .o-dhome .o-bldg > .o-h2:first-child{margin-top:24px}
.office .o-dhome .todo{max-width:none}
.office .o-dhome .todo li{grid-template-columns:32px minmax(0,1fr) auto;gap:16px}
.office .o-dhome .todo .ob,.office .o-dhome .todo .olink{justify-self:end;text-align:right}
.office .o-dhome .o-wait{max-width:none}
.office .o-dhome summary.sechead{max-width:none}
.office .o-dhome .heat,.office .o-dhome .story{max-width:none}
.office .o-dpairs{margin-top:8px}
.office .o-ptable td{padding:4px 8px}
.office .o-ptable .rowbtn{min-height:32px}
.office .o-ptable th:nth-child(1){width:18%}
.office .o-ptable th:nth-child(2){width:12%}
.office .o-ptable th:nth-child(3){width:16%}
.office .o-ptable th:nth-child(4){width:7%}
/* pace sits next to standing, not pushed to the far edge of its column */
.office .o-ptable th:nth-child(3),.office .o-ptable td:nth-child(3){text-align:left}

/* Rework: dispute cards side by side */
.office .o-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(520px,1fr));gap:12px;align-items:start;margin-top:12px}
.office .o-cards > .card{margin-top:0}

/* Lost time and a pair's page: two columns (decide | record) */
.office .o-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 56px;align-items:start}
.office .o-split > div > :first-child{margin-top:0}
.office .o-t-lost .o-split{margin-top:32px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.office .o-t-pair .o-split .card{max-width:760px}

/* Settings: sections in two balanced columns; forms keep their readable width */
.office .o-setcols{columns:2;column-gap:56px}
.office .o-setcols > .o-sec{break-inside:avoid}
.office .o-setcols > .o-sec:first-child{margin-top:0}

/* tables: sticky mono header, ruled rows */
.office .otable thead th{position:sticky;top:0;z-index:1}

/* Crew: a pair's actions sit in one row on desktop instead of a tall stack */
.office .cr-acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 18px}
.office .cr-acts br{display:none}
}
