:root{--bg:#0b0d12;--panel:#131720;--panel2:#191e29;--line:#292f3c;--text:#f5f7fb;--muted:#8d96a8;--accent:#d9b45c;--danger:#c75c5c}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#090b10,#0e1118 40%);color:var(--text);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}a{color:#f1d58d;text-decoration:none}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 34px;background:rgba(11,13,18,.95);position:sticky;top:0;z-index:5}header nav{display:flex;gap:20px;flex:1}.brand{font-weight:800;letter-spacing:.08em}.brand span{color:var(--accent)}.brand.large{font-size:28px;margin-bottom:6px}main{max-width:1440px;margin:0 auto;padding:34px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:26px}.page-head h1{font-size:32px;margin:0 0 6px}.page-head p{margin:0;color:var(--muted)}.crumb{display:inline-block;margin-bottom:8px}.button,button{border:0;border-radius:10px;background:var(--accent);color:#17130b;padding:11px 15px;font-weight:800;cursor:pointer}.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.danger{background:var(--danger);color:white}.small{padding:6px 9px;font-size:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel,.budget-card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.15)}.card{padding:20px}.card span,.budget-card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em}.card strong{display:block;font-size:26px;margin-top:6px}.panel{padding:22px;margin-bottom:20px}.panel h2{margin:0 0 18px}.panel h3{margin-top:26px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head span{color:var(--muted)}.split,.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}.two-col{grid-template-columns:1fr 1fr}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-form label,.stack label{color:var(--muted);font-size:13px}.grid-form input,.grid-form textarea,.grid-form select,.stack input{width:100%;margin-top:6px;background:#0d1118;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:10px}.grid-form textarea{min-height:90px}.span2{grid-column:span 2}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.pill{display:inline-block;padding:4px 8px;border-radius:99px;background:#222a37;color:#cbd3e0;font-size:12px}.empty{color:var(--muted);text-align:center;padding:28px}.budget-card{padding:16px 20px;min-width:230px}.budget-card strong{display:block;font-size:25px;margin:3px 0}.budget-card small{color:var(--muted)}.login-wrap{min-height:80vh;display:grid;place-items:center}.login-card{width:min(430px,95vw);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px}.stack{display:grid;gap:16px;margin-top:20px}.muted{color:var(--muted)}.alert{background:#3a2020;border:1px solid #6a3434;padding:12px;border-radius:10px;margin:12px 0}.pre{white-space:pre-wrap;color:#d5d9e2}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-grid div{background:#0f131b;border:1px solid var(--line);padding:14px;border-radius:10px;color:var(--muted)}.summary-grid span{display:block;color:var(--text);font-size:18px;font-weight:800;margin-top:4px}.summary-grid .total{border-color:#66562c}@media(max-width:900px){header{padding:0 16px;gap:16px;overflow:auto}header nav{gap:12px}main{padding:22px 14px}.kpis{grid-template-columns:1fr 1fr}.split,.two-col{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.page-head{flex-direction:column}.budget-card{width:100%}}@media(max-width:560px){.kpis,.grid-form,.summary-grid{grid-template-columns:1fr}.span2{grid-column:auto}}

/* Project Intelligence & Estimating Core */
.workspace-nav{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 22px}.workspace-nav a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#0e1219;color:#cfd5df}.eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.16em;margin-bottom:6px}.intelligence-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center;background:radial-gradient(circle at 90% 0%,rgba(217,180,92,.12),transparent 34%),linear-gradient(180deg,var(--panel2),var(--panel))}.intelligence-hero h2{font-size:27px;margin-bottom:8px}.intelligence-hero p{color:var(--muted);max-width:760px}.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.signal-grid div,.variance-grid div{background:#0d1118;border:1px solid var(--line);border-radius:12px;padding:14px}.signal-grid span,.variance-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.signal-grid strong,.variance-grid strong{display:block;font-size:21px;margin-top:3px}.signal-grid small,.variance-grid small{color:var(--muted)}.subtext{display:block;color:var(--muted);font-size:12px;margin-top:3px}.risk,.status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em}.risk.standard,.status.ready{background:#163326;color:#9be2b8}.risk.watch,.status.owner-review{background:#3e3219;color:#f0cc76}.risk.high,.status.blocked{background:#421f22;color:#ff9c9c}.builder{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#0e1219}.builder summary{padding:13px 15px;cursor:pointer;font-weight:800;color:#e6cf91}.builder form{padding:4px 15px 16px}.builder.prominent{border-color:#5c4d2a}.checkbox{display:flex;align-items:center;gap:8px;padding-top:26px}.checkbox input{width:auto!important;margin:0!important}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0e1219}.check.pass{border-color:#224b39}.check.warn{border-color:#66552b}.check.block{border-color:#6e3136}.check-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#222a37;font-weight:900}.check p{margin:2px 0 0;color:var(--muted);font-size:13px}.assembly-card{border:1px solid var(--line);border-radius:15px;padding:18px;margin:14px 0;background:#10141c}.assembly-head{display:flex;justify-content:space-between;gap:16px}.assembly-head h3{margin:4px 0}.assembly-head p{margin:0;color:var(--muted)}.assembly-code{font-size:11px;color:var(--accent);font-weight:900;letter-spacing:.1em}.assembly-money{text-align:right}.assembly-money span,.assembly-money small{display:block;color:var(--muted)}.assembly-money strong{display:block;font-size:22px}.assembly-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.assembly-metrics span{background:#171c26;border:1px solid var(--line);padding:6px 9px;border-radius:8px;color:var(--muted);font-size:12px}.assembly-metrics strong{color:var(--text)}.inline-end{display:flex;justify-content:flex-end;margin-top:10px}.formula{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.formula div{background:#0d1118;border:1px solid var(--line);padding:12px;border-radius:10px}.formula span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.formula strong{font-size:18px}.budget-compare>span{color:var(--muted);font-size:11px;letter-spacing:.08em}.budget-compare>strong{display:block;font-size:30px}.budget-bar{height:9px;background:#0c1016;border-radius:99px;overflow:hidden;margin:12px 0}.budget-bar i{display:block;height:100%;background:var(--accent);border-radius:99px}.ve-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.ve-row small{display:block;color:var(--muted)}.ve-row>span{font-weight:900;color:#f1d58d}.positive{color:#80d69f!important}.negative{color:#ef8888!important}.variance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.checkpoint-form{display:flex;gap:8px;flex-wrap:wrap}.checkpoint-form input{background:#0d1118;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px}.timeline{display:grid}.timeline-row{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.timeline-row>span{color:var(--muted);font-size:12px}.timeline-row p{margin:2px 0;color:var(--muted)}
@media(max-width:900px){.intelligence-hero{grid-template-columns:1fr}.check-grid,.variance-grid{grid-template-columns:1fr 1fr}.assembly-head{flex-direction:column}.assembly-money{text-align:left}.checkpoint-form{width:100%}}
@media(max-width:560px){.signal-grid,.check-grid,.variance-grid,.formula{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr}.workspace-nav{overflow:auto;flex-wrap:nowrap}.workspace-nav a{white-space:nowrap}}
.brand small{display:block;font-size:.62rem;letter-spacing:.04em;opacity:.65}.org-tools{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.policy-card{display:grid;gap:8px;padding:14px;border:1px solid var(--line,#263044);border-radius:12px;background:rgba(255,255,255,.025)}.policy-card strong{font-size:.84rem;word-break:break-word}.policy-card.custom{border-style:dashed}
.manual-steps{display:grid;gap:14px;padding-left:24px}.manual-steps li{padding:12px 14px;background:rgba(255,255,255,.035);border-radius:10px;line-height:1.5}.policy-card[href],.check[href]{text-decoration:none;color:inherit}.policy-card[href]:hover,.check[href]:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.25)}
.spatial-canvas{min-height:420px;border:1px solid var(--line,#333);border-radius:14px;padding:8px;overflow:auto;background:rgba(255,255,255,.02)}.spatial-canvas svg{width:100%;min-width:620px;height:auto}.inline-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.inline-form input,.inline-form select{max-width:110px}

/* v0.10 Parametric 3D / BIM Scene Engine */
.bim-panel{overflow:hidden}.bim-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bim-toolbar label{font-size:12px;color:var(--muted);display:flex;gap:5px;align-items:center}.bim-canvas{display:block;width:100%;height:620px;min-height:420px;background:#0a0e14;border:1px solid var(--line);border-radius:14px;margin-top:14px;cursor:grab}.bim-canvas:active{cursor:grabbing}.bim-hash{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:10px}.bim-hash code{color:#d8c080;word-break:break-all}.banner{padding:13px 15px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.banner.warning{background:#2d2719;border-color:#62552b}.banner.success{background:#142d22;border-color:#27533d}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.subcard{background:#0e1219;border:1px solid var(--line);border-radius:10px;padding:12px;margin:9px 0}.kpi{border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:130px;text-align:center}.kpi b{font-size:24px;display:block}.kpi span{font-size:11px;color:var(--muted);text-transform:uppercase}@media(max-width:900px){.bim-canvas{height:480px}.cards{grid-template-columns:1fr 1fr}.bim-toolbar{justify-content:flex-start}}@media(max-width:560px){.cards{grid-template-columns:1fr}.bim-canvas{height:380px}}
.banner code{overflow-wrap:anywhere;word-break:break-word}

/* v0.16 Owner Financial Control Center */
.financial-kpis{grid-template-columns:repeat(3,1fr)}.forecast-risk{background:rgba(155,44,44,.13)}.risk.block{background:#421f22;color:#ff9c9c}.risk.warning{background:#3e3219;color:#f0cc76}.risk.information{background:#1b3040;color:#9dcbea}.risk-list{display:grid;gap:10px}.hash-value{font-size:12px!important;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.subcard{display:block;color:var(--text)}.subcard:hover{border-color:#66562c}.inline-form select{background:#0d1118;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px}
@media(max-width:900px){.financial-kpis{grid-template-columns:1fr 1fr}}@media(max-width:560px){.financial-kpis{grid-template-columns:1fr}}

/* v0.16.3 One-time founder activation */
.activation-card{width:min(560px,95vw)}.activation-card h1{margin:10px 0 8px}.activation-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#0d1118}.activation-summary span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.activation-summary strong{text-align:right}.activation-consent{display:flex!important;align-items:flex-start;gap:10px;color:var(--text)!important}.activation-consent input{width:auto!important;margin:4px 0 0!important}.security-note{color:var(--muted);font-size:12px;margin:18px 0 0}.activation-link{display:inline-block;margin-top:18px}
@media(max-width:560px){.activation-summary{grid-template-columns:1fr}.activation-summary strong{text-align:left}}
.mfa-qr{display:inline-flex;padding:14px;background:#fff;border-radius:16px;border:1px solid #d1d5db}.mfa-qr img{display:block;width:min(296px,72vw);height:auto;image-rendering:pixelated}

/* v0.17.4 Right-aligned, internally scrolling navigation */
.app-header {
  height: auto;
  min-height: 72px;
  padding: 12px clamp(12px, 3vw, 34px);
  gap: 12px;
  overflow: visible;
}
.app-header > .brand {
  color: var(--text);
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.app-header > .brand small { overflow: hidden; text-overflow: ellipsis; }
.app-header .category-nav { display: block; flex: 0 0 auto; margin-left: auto; }
.category-nav details { position: relative; }
.category-nav summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #111620;
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.category-nav summary::-webkit-details-marker { display: none; }
.category-nav details[open] summary { border-color: #66562c; background: #171b23; }
.category-nav details[open] summary span { transform: rotate(180deg); }
.category-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 24px));
  max-height: min(32rem, calc(100vh - 100px));
  max-height: min(32rem, calc(100dvh - 100px));
  margin: 0;
  padding: 8px;
  list-style: none;
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scrollbar-color: #8d96a8 #0b0d12;
  background: #111620;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
  z-index: 20;
}
.category-menu::-webkit-scrollbar { width: 12px; }
.category-menu::-webkit-scrollbar-track { background: #0b0d12; border-radius: 8px; }
.category-menu::-webkit-scrollbar-thumb { background: #8d96a8; border: 3px solid #0b0d12; border-radius: 8px; }
.category-menu li, .category-menu form { margin: 0; }
.category-menu a, .category-menu button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #e7eaf0;
  font: inherit;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  scroll-margin-block: 4px;
}
.category-menu a:hover, .category-menu button:hover { background: #242b38; color: #f1d58d; }
.category-nav summary:focus-visible, .category-menu a:focus-visible, .category-menu button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
  background: #242b38;
}
.category-menu .menu-section-label { margin-top: 8px; padding: 10px 12px 4px; color: var(--muted); font-size: 12px; }
.category-menu .menu-logout { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }

/* v0.17.5 Open categories: bounded banner navigation, never document overflow. */
.app-header { display: grid; grid-template-columns: minmax(140px, 220px) minmax(0, 1fr) auto; }
.app-header > .brand { grid-column: 1; grid-row: 1; }
.app-header .category-nav { grid-column: 3; grid-row: 1; margin: 0; }
.app-header .open-category-tabs {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  grid-column: 2;
  grid-row: 1;
}
.open-category-tabs[hidden], .open-category-tabs [hidden] { display: none !important; }
#open-category-list {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 2px 0 5px;
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #66562c transparent;
}
.open-category-tab {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  max-width: 220px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #10151e;
}
.open-category-tab.is-active { background: #272315; border-color: var(--accent); }
.open-category-tab a {
  display: flex;
  align-items: center;
  min-height: 44px;
  min-width: 0;
  padding: 8px 0 8px 12px;
  color: #cbd3e0;
  font-size: 13px;
  font-weight: 650;
}
.open-category-tab a span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.open-category-tab a[aria-current="page"] { color: #f1d58d; font-weight: 800; }
.open-category-tab .tab-close, .open-category-tabs .tab-scroll {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  background: transparent;
  color: #cbd3e0;
  font-size: 20px;
  font-weight: 500;
}
.open-category-tabs .tab-scroll:first-child { grid-column: 1; grid-row: 1; }
.open-category-tabs .tab-scroll:last-child { grid-column: 3; grid-row: 1; }
.open-category-tabs .tab-scroll:disabled { opacity: .3; cursor: default; }
.open-category-tab:hover { border-color: #66562c; }
.open-category-tab .tab-close:hover, .open-category-tabs .tab-scroll:not(:disabled):hover { background: #343124; color: #fff; }
.open-category-tabs a:focus-visible, .open-category-tabs button:focus-visible {
  outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 8px;
}
.category-menu a[aria-current="page"] { background: #272315; color: #f1d58d; }
@media (max-width: 1000px) {
  .app-header { grid-template-columns: minmax(0, 1fr) auto; }
  .app-header .category-nav { grid-column: 2; }
  .app-header .open-category-tabs { grid-column: 1 / -1; grid-row: 2; }
}

/* Product wordmark must remain readable beside MENU at phone widths. */
.brand .brand-name {
  display: block;
  color: var(--accent);
  white-space: normal;
  overflow-wrap: anywhere;
  letter-spacing: .015em;
  line-height: 1.2;
}
.brand.large { font-size: clamp(22px, 5vw, 28px); }
.login-card { width: min(430px, 100%); }
.login-card.activation-card { width: min(560px, 100%); }
.crew-header { height: auto; min-height: 72px; padding: 12px clamp(12px, 3vw, 34px); gap: 12px; }
.crew-header .brand { min-width: 0; }
.crew-header form { margin-left: auto; flex-shrink: 0; }
