/* dist/pages/workspace.css — investor portal and operations desk.
   Page rules sit under .page-workspace. The shell caption and the modal ledger
   sit outside the page wrapper and carry their own scoped selector.
   Outfit for headings and figures, Hanken Grotesk for text. Red marks the active state; chart bars are navy. */

/* ---- Shell ------------------------------------------------------------ */
.workspace-shell .sidebar-bottom p{order:-1;margin-top:0;margin-bottom:var(--s2)}
.workspace-tools>span[title]{display:inline-flex}
.modal .ws-contact .ledger__row dd{white-space:normal;overflow-wrap:anywhere;min-width:0}
.modal .ledger+.small-text{margin-top:var(--s4)}

.modal .document-preview__line span{display:inline-block;margin-right:var(--s3)}

/* ---- Heading ---------------------------------------------------------- */
.page-workspace .workspace-heading .record-head__label{margin:0 0 var(--s2);font:600 16px/1.2 var(--font-display);color:var(--red-dark)}
.page-workspace .workspace-heading h1{max-width:18em;font:700 clamp(34px,3.6vw,52px)/1.04 var(--font-display);letter-spacing:-.03em}
.page-workspace .workspace-heading .muted{max-width:66ch}

/* ---- Grid ------------------------------------------------------------- */
.page-workspace .ws-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s5);margin-bottom:var(--s5);align-items:stretch}
.page-workspace .ws-grid--even{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-workspace .ws-grid>.panel{margin-bottom:0}
.page-workspace .ws-stack{display:flex;flex-direction:column;gap:var(--s5);min-width:0}
.page-workspace .ws-stack>.panel{margin-bottom:0;flex:1 1 auto}
.page-workspace .ws-actions{margin-top:var(--s4)}
.page-workspace .ws-filters{margin-bottom:var(--s4)}
.page-workspace .ws-count{font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
.page-workspace>.note{margin-top:var(--s4)}
.page-workspace .panel-body>p:last-child{margin-bottom:0}

/* ---- Panels stretch; tertiary links sit on the panel edge --------------- */
.page-workspace .ws-grid>.panel,.page-workspace .ws-stack>.panel{display:flex;flex-direction:column}
.page-workspace .ws-grid>.panel>.panel-body{flex:1 1 auto}
.page-workspace .button.tertiary.small{padding:0}

/* ---- Tiles ------------------------------------------------------------ */
.page-workspace .tiles__value .tracker--compact{white-space:normal;letter-spacing:0;font-weight:400}
.page-workspace .tracker--compact__label{flex-basis:100%;margin:4px 0 0}
.page-workspace .ledger__total dd{font:700 var(--fs-fig-l)/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums lining-nums}

/* ---- Rows ------------------------------------------------------------- */
.page-workspace .ws-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-width:0;padding:var(--s3) 0;border-bottom:1px solid var(--rule)}
.page-workspace .panel-body>.ws-row:first-child{padding-top:0}
.page-workspace .panel-body>.ws-row:last-child{padding-bottom:0;border-bottom:0}
.page-workspace .ws-row__main{min-width:0;flex:1 1 auto}
.page-workspace .ws-row__main b{display:block;font:600 var(--fs-ui)/1.3 var(--font-display);color:var(--navy)}
.page-workspace .ws-row__main p{margin:2px 0 0;font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted);max-width:none;overflow-wrap:anywhere}
.page-workspace .ws-row__aside{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}
.page-workspace .ws-row__aside .button.tertiary{min-height:36px;white-space:nowrap}
.page-workspace .ws-row__aside .small-select{width:auto;min-width:136px}

.page-workspace .ws-meta span{display:inline-block;margin-right:var(--s3)}
.page-workspace .ws-meta span:last-child{margin-right:0}

/* ---- Home rows -------------------------------------------------------- */
.page-workspace .ws-home{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:var(--s4);align-items:center;padding:var(--s4) 0;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none}
.page-workspace .ws-home:first-child{padding-top:0}
.page-workspace .ws-home:last-child{padding-bottom:0;border-bottom:0}
.page-workspace .ws-home:hover b{text-decoration:underline;text-underline-offset:3px}
.page-workspace .ws-home__thumb,.page-workspace .ws-home__thumb img{display:block;width:88px;height:59px;object-fit:cover}
.page-workspace .ws-home__main{display:flex;flex-direction:column;gap:2px;min-width:0}
.page-workspace .ws-home__main b{font:600 var(--fs-ui)/1.3 var(--font-display);color:var(--navy)}
.page-workspace .ws-home__main>span{font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted)}
.page-workspace .ws-home__main .tracker--compact{margin-top:6px}
.page-workspace .ws-home__figure{display:flex;flex-direction:column;align-items:flex-end;gap:6px;white-space:nowrap}
.page-workspace .ws-home__figure b{font:600 var(--fs-ui)/1.3 var(--font-display);color:var(--navy);font-variant-numeric:tabular-nums lining-nums}
.page-workspace .ws-home__figure b+small{color:var(--muted)}

/* ---- Chart ------------------------------------------------------------ */
.page-workspace .ws-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s3);align-items:end;height:200px;border-bottom:1px solid var(--rule);margin-bottom:var(--s6)}
.page-workspace .ws-chart__col{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.page-workspace .ws-chart__col>span{font:500 var(--fs-caption)/1.3 var(--font-text);color:var(--navy);margin-bottom:6px;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
.page-workspace .ws-chart__bar{display:block;width:100%;max-width:44px;fill:var(--navy)}
.page-workspace .ws-chart__col.is-current .ws-chart__bar{fill:var(--navy-dark)}
.page-workspace .ws-chart__col>small{position:absolute;top:100%;padding-top:8px;font:400 var(--fs-caption)/1.3 var(--font-text);color:var(--muted)}

/* ---- Progress --------------------------------------------------------- */
.page-workspace .ws-progress{display:block;width:100%;height:10px;border:0;border-radius:3px;background:var(--rule);-webkit-appearance:none;appearance:none;overflow:hidden}
.page-workspace .ws-progress::-webkit-progress-bar{background:var(--rule)}
.page-workspace .ws-progress::-webkit-progress-value{background:var(--navy)}
.page-workspace .ws-progress::-moz-progress-bar{background:var(--navy)}
.page-workspace .ws-table .ws-progress{width:130px;margin-top:6px}
.page-workspace .ws-buildrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2) var(--s4);align-items:start;padding:var(--s4) 0;border-bottom:1px solid var(--rule)}
.page-workspace .ws-buildrow:first-child{padding-top:0}
.page-workspace .ws-buildrow:last-child{padding-bottom:0;border-bottom:0}
.page-workspace .ws-buildrow .ws-progress{grid-column:1/-1}
.page-workspace .ws-buildrow__pct{font:600 var(--fs-ui)/1.3 var(--font-display);color:var(--navy);font-variant-numeric:tabular-nums lining-nums}

/* ---- Build and home cards --------------------------------------------- */
.page-workspace .ws-build figure{margin:0}
.page-workspace .ws-build figure img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
.page-workspace .ws-build figure .note--figure{margin:0;padding:var(--s2) var(--s5);border-top:0}
.page-workspace .ws-build .panel-body .record-head__label{margin:0 0 var(--s2)}
.page-workspace .ws-build__title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);margin-bottom:var(--s4)}
.page-workspace .ws-build__title h2{margin:0;font:700 var(--fs-h3)/1.15 var(--font-display);color:var(--navy)}
.page-workspace .ws-build__progress{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s2);font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted)}
.page-workspace .ws-build__progress b{font:700 var(--fs-body)/1.25 var(--font-display);color:var(--navy);font-variant-numeric:tabular-nums lining-nums}
.page-workspace .ws-build .note{margin-top:var(--s4)}
.page-workspace .ws-facts{margin-top:var(--s4)}
.page-workspace .ws-facts>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--s4);padding:10px 0}
.page-workspace .ws-facts>div:last-child{border-bottom:0;padding-bottom:0}
.page-workspace .ws-facts dd{text-align:right}

/* ---- Milestones ------------------------------------------------------- */
.page-workspace .ws-milestones{display:grid;height:100%;list-style:none;margin:0;padding:0}
.page-workspace .ws-milestones li{display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:var(--s3);align-items:center;padding:var(--s3) 0;border-bottom:1px solid var(--rule)}
.page-workspace .ws-milestones li:first-child{padding-top:0}
.page-workspace .ws-milestones li:last-child{padding-bottom:0;border-bottom:0}
.page-workspace .ws-milestones time{font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted);font-variant-numeric:tabular-nums lining-nums}
.page-workspace .ws-milestones b{font:600 var(--fs-small)/1.3 var(--font-display);color:var(--navy)}
.page-workspace .ws-milestones span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}

/* ---- Construction record ---------------------------------------------- */
.page-workspace .ws-record .phases{margin:var(--s5) 0 var(--s6)}
.page-workspace .ws-record .tracker{margin:0}
.page-workspace .ws-record .tracker__row{grid-template-columns:24px 32px minmax(0,.8fr) minmax(0,1.4fr) 104px 128px}
.page-workspace .ws-record .tracker__date{text-align:right;white-space:nowrap}

/* ---- Repair card ------------------------------------------------------ */
.page-workspace .ws-repair{padding-bottom:var(--s4)}
.page-workspace .ws-repair:last-child{padding-bottom:0}
.page-workspace .ws-repair+.ws-row{border-top:1px solid var(--rule)}
.page-workspace .ws-repair__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}
.page-workspace .ws-repair__head h3{margin:0;font:700 var(--fs-body)/1.25 var(--font-display);color:var(--navy)}
.page-workspace .ws-repair__head p{margin:2px 0 0;font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted)}
.page-workspace .ws-repair .ws-facts{margin:var(--s3) 0}
.page-workspace .ws-repair .ws-facts>div:last-child{border-bottom:1px solid var(--rule);padding-bottom:10px}
.page-workspace .ws-repair>p{margin:0 0 var(--s4);font-size:var(--fs-small);line-height:1.55}

/* ---- Tables ----------------------------------------------------------- */
.page-workspace .panel .table-wrap{padding:0 var(--s5) var(--s2)}
.page-workspace .ws-table tbody tr:last-child td{border-bottom:0}
.page-workspace .ws-table .ws-num{text-align:right}
.page-workspace .ws-table .small-select{width:auto;min-width:160px}
.page-workspace .ws-table td .button.tertiary{min-height:0;white-space:nowrap}
.page-workspace .ws-table td .button.secondary{white-space:nowrap}

/* ---- Kanban: wells on the ledger surface, white rule cards ------------ */
.page-workspace .ws-kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.page-workspace .ws-well{display:flex;flex-direction:column;gap:var(--s2);min-width:0;padding:var(--s3);background:var(--ledger);border-radius:8px}
.page-workspace .ws-well__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.page-workspace .ws-well__head h2{margin:0;font:600 var(--fs-ui)/1.3 var(--font-display);color:var(--navy)}
.page-workspace .ws-well__sub{margin:0 0 var(--s2);font:400 var(--fs-caption)/1.45 var(--font-text);color:var(--muted)}
.page-workspace .ws-well__empty{margin:0;padding:var(--s3) 0;font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted)}
.page-workspace .ws-lead{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:var(--s3);background:var(--white);border:2px solid transparent;border-radius:6px;text-align:left;cursor:pointer;color:var(--ink)}
.page-workspace .ws-lead:hover,.page-workspace .ws-lead:focus-visible{border-color:var(--navy)}
.page-workspace .ws-lead small{color:var(--muted)}
.page-workspace .ws-lead b{font:600 var(--fs-ui)/1.3 var(--font-display);color:var(--navy);overflow-wrap:anywhere}
.page-workspace .ws-lead span:not(.badge){font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--ink)}
.page-workspace .ws-lead .badge{margin-top:4px}

/* ---- Breakpoints (1200 / 1024 / 720) ---------------------------------- */
@media (max-width:1199px){
  .page-workspace .ws-grid,.page-workspace .ws-grid--even{grid-template-columns:minmax(0,1fr)}
  .page-workspace .ws-kanban{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-workspace .ws-build figure img{aspect-ratio:21/9}
}
@media (max-width:1199px){
  .page-workspace .ws-record .tracker__row{grid-template-columns:24px 32px minmax(0,1fr) auto;row-gap:2px}
  .page-workspace .ws-record .tracker__docs{grid-column:3/-1;grid-row:2}
  .page-workspace .ws-record .tracker__date{grid-column:3/-1;grid-row:3;text-align:left}
}
@media (max-width:719px){
  .page-workspace .workspace-heading{grid-template-columns:minmax(0,1fr);row-gap:var(--s4)}
  .page-workspace .workspace-heading>.button{justify-self:start}
  .page-workspace .workspace-heading h1{font-size:28px}
  .page-workspace .panel-header{flex-wrap:wrap}
  .page-workspace .panel-body{padding:var(--s4)}
  .page-workspace .panel .table-wrap{padding:0 var(--s4) var(--s2);overflow:visible}
  .page-workspace .ws-kanban{grid-template-columns:minmax(0,1fr)}
  .page-workspace .ws-row{flex-wrap:wrap;gap:var(--s2) var(--s4)}
  .page-workspace .ws-row__main{flex-basis:100%}
  .page-workspace .ws-home{grid-template-columns:72px minmax(0,1fr);row-gap:var(--s2)}
  .page-workspace .ws-home__thumb,.page-workspace .ws-home__thumb img{width:72px;height:48px}
  .page-workspace .ws-home__figure{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}
  .page-workspace .ws-milestones li{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
  .page-workspace .ws-milestones time{grid-column:1/-1}
  /* tables stack: each row a block, each cell labelled */
  .page-workspace .ws-table{min-width:0}
  .page-workspace .ws-table,.page-workspace .ws-table tbody,.page-workspace .ws-table tr,.page-workspace .ws-table td{display:block;width:100%}
  .page-workspace .ws-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .page-workspace .ws-table tr{padding:var(--s3) 0;border-bottom:1px solid var(--rule)}
  .page-workspace .ws-table tbody tr:last-child{border-bottom:0}
  .page-workspace .ws-table td,.page-workspace .ws-table td:first-child,.page-workspace .ws-table td:last-child{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:6px 0;border-bottom:0;text-align:right;min-height:0}
  .page-workspace .ws-table td::before{content:attr(data-label);flex-shrink:0;font:400 var(--fs-caption)/1.5 var(--font-text);color:var(--muted);text-align:left}
  .page-workspace .ws-table td>b{margin-left:auto}
  .page-workspace .ws-table td:first-child{display:block;text-align:left}
  .page-workspace .ws-table td:first-child::before{content:none}
  .page-workspace .ws-table .small-select{min-width:0;max-width:60%}
  .page-workspace .ws-table .ws-progress{width:96px;margin:0}
  .page-workspace .ws-chart{gap:var(--s2)}
  .page-workspace .ws-chart__col>span{font-size:12px}
}

/* ---- U.S. investor brand: flat white cards on the ledger surface -------- */
.workspace-shell .sidebar-link{font:600 16px/1.2 var(--font-display)}
.workspace-shell .sidebar-link.active{background:var(--ledger);color:var(--navy);box-shadow:inset 4px 0 0 var(--red)}
.workspace-shell .workspace-title>span{font:700 18px/1.2 var(--font-display);color:var(--navy)}
.page-workspace .panel{border:0;border-radius:8px}
.page-workspace .panel-header{border-bottom:3px solid var(--navy);margin:0 var(--s5);padding:20px 0 14px}
.page-workspace .panel-header p{font-size:15px}
.page-workspace .tiles{gap:var(--s4);border:0;padding:0;margin-bottom:var(--s5)}
.page-workspace .tiles__cell{padding:20px 22px;border-radius:8px;background:#fff}
.page-workspace .tiles__cell:first-child{background:var(--navy)}
.page-workspace .tiles__cell:first-child .tiles__label,.page-workspace .tiles__cell:first-child .tiles__sub{color:#D5DEEA}
.page-workspace .tiles__cell:first-child .tiles__value{color:#fff}
.page-workspace .tiles__label{font:600 15px/1.25 var(--font-display);color:var(--muted)}
.page-workspace .tiles__value{font:700 clamp(32px,3vw,44px)/1.05 var(--font-display);letter-spacing:-.03em}
.page-workspace .tiles__sub{font-size:15px;line-height:1.35}
.page-workspace .ledger__head{border-bottom-width:3px}
.page-workspace .ws-build figure img{border-radius:8px 8px 0 0}
.page-workspace .ws-chart__col>span{font-weight:600}
.page-workspace .ws-chart{height:200px}
.page-workspace .ws-chart__bar{max-width:56px;border-radius:3px 3px 0 0}
.page-workspace .data-table th{font:600 14px/1.3 var(--font-display);color:var(--navy)}
@media (max-width:1199px){.page-workspace .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:719px){
  .page-workspace .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
  .page-workspace .tiles__cell{padding:16px}
  .page-workspace .tiles__cell:first-child,.page-workspace .tiles__cell:last-child{grid-column:1/-1}
  .page-workspace .tiles__value{font-size:28px}
  .page-workspace .panel-header{margin:0 var(--s4)}
}
.page-workspace .panel-header h2,.page-workspace .panel-header h3{font:700 22px/1.2 var(--font-display);letter-spacing:-.015em}

/* Stamps read as labels here; red stays for active states and primary actions. */
.workspace-shell .stamp{background:var(--ledger);color:var(--navy);box-shadow:none;border-color:transparent}

/* ---- Compare dialog ---------------------------------------------------- */
.modal.modal--wide{max-width:1040px}
.modal .compare-grid.cmp{display:block;margin-bottom:var(--s3)}
.modal .cmp__row{display:grid;grid-template-columns:170px repeat(var(--n),minmax(0,1fr));gap:0 16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule)}
.modal .cmp__row>span{font-size:15px;color:var(--muted)}
.modal .cmp__row>b{font:600 17px/1.25 var(--font-display);color:var(--navy);font-variant-numeric:tabular-nums}
.modal .cmp__row--head{align-items:end;padding-top:0;border-bottom:3px solid var(--navy)}
.modal .cmp__home{display:block;min-width:0;color:var(--navy);text-decoration:none}
.modal .cmp__home img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px}
.modal .cmp__home b{display:block;margin-top:8px;font:700 19px/1.15 var(--font-display);letter-spacing:-.015em}
.modal .cmp__home:hover b{text-decoration:underline;text-underline-offset:3px}
@media (max-width:719px){
  .modal .cmp__row{grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px 10px;padding:8px 0}
  .modal .cmp__row>span{grid-column:1/-1;font-size:14px}
  .modal .cmp__row--head>span{display:none}
  .modal .cmp__row>b{font-size:15px}
  .modal .cmp__home b{font-size:15px}
}
