:root {
  --bp-bg:#071014;
  --bp-panel:#0d171b;
  --bp-panel2:#111f24;
  --bp-line:rgba(138,229,244,.16);
  --bp-cyan:#72dff0;
  --bp-green:#a7ef67;
  --bp-text:#edf7f8;
  --bp-muted:#8fa6ab;
  --bp-amber:#f0ca72;
  --bp-red:#f17a7a
}
* {
  box-sizing:border-box
}
.bp-body {
  margin:0;
  background:radial-gradient(circle at 77% 5%,rgba(42,132,151,.14),transparent 28%),linear-gradient(135deg,#05090b,#071216 60%,#081014);
  color:var(--bp-text);
  font-family:Arial,Helvetica,sans-serif;
  min-height:100vh
}
.bp-body:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(114,223,240,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(114,223,240,.027) 1px,transparent 1px);
  background-size:34px 34px
}
.bp-shell {
  position:relative;
  display:grid;
  grid-template-columns:230px 1fr;
  min-height:100vh
}
.bp-sidebar {
  height:100vh;
  position:sticky;
  top:0;
  padding:22px 14px 15px;
  border-right:1px solid var(--bp-line);
  background:rgba(5,12,15,.92);
  backdrop-filter:blur(16px);
  display:flex;
  flex-direction:column;
  z-index:4
}
.bp-brand {
  display:flex;
  gap:11px;
  align-items:center;
  text-decoration:none;
  border-bottom:1px solid var(--bp-line);
  padding:0 8px 17px;
  color:white
}
.bp-brand img {
  width:40px;
  height:40px;
  object-fit:contain
}
.bp-brand strong {
  display:block;
  letter-spacing:.16em;
  font-size:.88rem
}
.bp-brand span {
  display:block;
  color:var(--bp-cyan);
  font-size:.56rem;
  letter-spacing:.25em;
  margin-top:4px
}
.bp-local {
  display:flex;
  gap:9px;
  align-items:center;
  margin:15px 7px 12px;
  padding:10px;
  border:1px solid rgba(167,239,103,.14);
  background:rgba(167,239,103,.035)
}
.bp-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--bp-green);
  box-shadow:0 0 12px var(--bp-green)
}
.bp-local strong,.bp-local small {
  display:block
}
.bp-local strong {
  font-size:.58rem;
  letter-spacing:.13em
}
.bp-local small {
  font-size:.65rem;
  color:var(--bp-muted);
  margin-top:2px
}
.bp-nav {
  display:flex;
  flex-direction:column;
  gap:3px;
  overflow:auto
}
.bp-nav button {
  border:0;
  background:transparent;
  color:#aebec2;
  text-align:left;
  padding:10px 11px;
  border-radius:4px;
  cursor:pointer;
  font-size:.75rem;
  letter-spacing:.04em
}
.bp-nav button:hover,.bp-nav button.active {
  background:rgba(114,223,240,.09);
  color:#fff;
  box-shadow:inset 2px 0 0 var(--bp-cyan)
}
.bp-nav button span {
  margin-left:8px
}
.bp-sidefoot {
  margin-top:auto;
  border-top:1px solid var(--bp-line);
  padding:12px 8px 0;
  display:grid;
  gap:6px
}
.bp-sidefoot a {
  font-size:.64rem;
  color:var(--bp-muted);
  text-decoration:none
}
.bp-sidefoot a:hover {
  color:var(--bp-cyan)
}
.bp-main {
  padding:24px 28px 34px;
  min-width:0
}
.bp-topbar {
  height:70px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:16px
}
.bp-kicker,.bp-overline {
  font-size:.58rem;
  letter-spacing:.2em;
  color:var(--bp-cyan);
  margin:0 0 5px
}
.bp-topbar h1 {
  font-size:1.45rem;
  letter-spacing:.04em;
  margin:0
}
.bp-top-actions,.bp-banner-actions,.bp-modal-actions {
  display:flex;
  gap:8px
}
.bp-primary,.bp-ghost,.bp-danger,.bp-text-btn {
  font:inherit;
  cursor:pointer;
  text-decoration:none
}
.bp-primary,.bp-ghost,.bp-danger,.bp-link-btn {
  border:1px solid var(--bp-line);
  padding:9px 13px;
  border-radius:3px;
  font-size:.68rem;
  letter-spacing:.06em
}
.bp-primary {
  background:var(--bp-cyan);
  color:#051014;
  border-color:var(--bp-cyan);
  font-weight:700
}
.bp-primary:hover {
  filter:brightness(1.08)
}
.bp-ghost {
  background:rgba(255,255,255,.025);
  color:#dfecee
}
.bp-ghost:hover {
  border-color:rgba(114,223,240,.5);
  color:#fff
}
.bp-danger {
  background:rgba(241,122,122,.08);
  color:#ffb0b0;
  border-color:rgba(241,122,122,.28)
}
.bp-text-btn {
  background:transparent;
  border:0;
  color:var(--bp-cyan);
  font-size:.64rem
}
.bp-view {
  display:none
}
.bp-view.active {
  display:block
}
.bp-banner {
  min-height:145px;
  border:1px solid var(--bp-line);
  background:linear-gradient(110deg,rgba(114,223,240,.08),rgba(167,239,103,.025) 58%,rgba(255,255,255,.02));
  padding:22px 24px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  position:relative;
  overflow:hidden
}
.bp-banner:after {
  content:"BP//FREE";
  position:absolute;
  right:25px;
  top:13px;
  font-size:3rem;
  letter-spacing:.1em;
  color:rgba(114,223,240,.035);
  font-weight:800
}
.bp-banner h2 {
  font-size:1.65rem;
  margin:8px 0 5px
}
.bp-banner p {
  max-width:720px;
  color:var(--bp-muted);
  font-size:.8rem;
  margin:0
}
.bp-chip {
  font-size:.54rem;
  letter-spacing:.18em;
  color:var(--bp-green);
  border:1px solid rgba(167,239,103,.25);
  padding:4px 7px
}
.bp-stat-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:11px 0
}
.bp-stat-grid article {
  border:1px solid var(--bp-line);
  background:rgba(9,19,23,.76);
  padding:13px 15px
}
.bp-stat-grid span,.bp-stat-grid small {
  display:block
}
.bp-stat-grid span {
  color:var(--bp-muted);
  font-size:.53rem;
  letter-spacing:.14em
}
.bp-stat-grid strong {
  display:block;
  font-size:1.7rem;
  line-height:1.1;
  margin:6px 0 4px
}
.bp-stat-grid small {
  color:#6f858a;
  font-size:.62rem
}
.bp-dashboard-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:11px
}
.bp-panel {
  border:1px solid var(--bp-line);
  background:rgba(9,18,22,.78);
  padding:16px
}
.bp-panel h2,.bp-panel h3 {
  margin:0
}
.bp-panel-head {
  display:flex;
  align-items:start;
  justify-content:space-between;
  margin-bottom:12px
}
.bp-panel-head h3 {
  font-size:.95rem
}
.bp-activity {
  display:grid;
  gap:7px
}
.bp-activity-row {
  display:grid;
  grid-template-columns:78px 1fr auto;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
  align-items:center
}
.bp-activity-row:last-child {
  border-bottom:0
}
.bp-activity-row time {
  font-size:.55rem;
  color:#6f858a
}
.bp-activity-row strong {
  font-size:.7rem
}
.bp-activity-row span {
  font-size:.61rem;
  color:var(--bp-muted)
}
.bp-activity-row em {
  font-size:.52rem;
  color:var(--bp-cyan);
  font-style:normal
}
.bp-empty {
  padding:26px 12px;
  color:var(--bp-muted);
  font-size:.72rem;
  text-align:center;
  border:1px dashed rgba(114,223,240,.13)
}
.bp-quick-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}
.bp-quick-grid button {
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  color:white;
  display:flex;
  text-align:left;
  gap:10px;
  padding:12px;
  cursor:pointer
}
.bp-quick-grid button:hover {
  border-color:rgba(114,223,240,.35);
  background:rgba(114,223,240,.05)
}
.bp-quick-grid b {
  color:var(--bp-cyan);
  font-size:1rem
}
.bp-quick-grid span {
  font-size:.68rem
}
.bp-quick-grid small {
  display:block;
  color:var(--bp-muted);
  font-size:.56rem;
  margin-top:4px
}
.bp-note,.bp-warning {
  margin-top:11px;
  border:1px solid rgba(114,223,240,.12);
  padding:9px 12px;
  background:rgba(114,223,240,.025);
  font-size:.64rem;
  color:var(--bp-muted)
}
.bp-note strong {
  color:var(--bp-green)
}
.bp-warning {
  color:#cfbd8f;
  border-color:rgba(240,202,114,.2);
  background:rgba(240,202,114,.035)
}
.bp-warning strong {
  color:var(--bp-amber)
}
.bp-toolbar {
  display:flex;
  gap:8px;
  margin-bottom:10px
}
.bp-search {
  height:37px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--bp-line);
  background:rgba(5,12,15,.75);
  padding:0 11px;
  flex:1
}
.bp-search span {
  color:var(--bp-cyan)
}
.bp-search input,.bp-toolbar select {
  border:0!important;
  background:transparent!important;
  color:#e5eff1!important;
  height:auto!important;
  padding:0!important;
  font-size:.7rem!important;
  box-shadow:none!important
}
.bp-search input {
  width:100%
}
.bp-toolbar select {
  border:1px solid var(--bp-line)!important;
  padding:0 10px!important;
  min-width:135px
}
.bp-toolbar select option {
  background:#0d171b
}
.bp-table-wrap {
  border:1px solid var(--bp-line);
  background:rgba(7,15,18,.78);
  overflow:auto;
  max-height:calc(100vh - 155px)
}
.bp-table {
  width:100%;
  border-collapse:collapse;
  margin:0
}
.bp-table th {
  position:sticky;
  top:0;
  background:#0c171b;
  z-index:1;
  text-align:left;
  font-size:.53rem;
  letter-spacing:.12em;
  color:#6f898f;
  padding:10px;
  border-bottom:1px solid var(--bp-line)
}
.bp-table td {
  padding:10px;
  border-bottom:1px solid rgba(255,255,255,.05);
  font-size:.66rem;
  color:#c7d6d9;
  vertical-align:top
}
.bp-table tbody tr:hover {
  background:rgba(114,223,240,.025)
}
.bp-table td strong {
  display:block;
  color:white;
  font-size:.7rem
}
.bp-table td small {
  display:block;
  color:#71868b;
  margin-top:3px
}
.bp-row-actions {
  display:flex;
  gap:4px
}
.bp-mini {
  border:1px solid rgba(255,255,255,.08);
  background:transparent;
  color:#9db1b5;
  padding:4px 6px;
  cursor:pointer;
  font-size:.58rem
}
.bp-mini:hover {
  color:white;
  border-color:rgba(114,223,240,.35)
}
.bp-mini.delete:hover {
  color:#ff9c9c;
  border-color:rgba(241,122,122,.35)
}
.bp-card-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  max-height:calc(100vh - 172px);
  overflow:auto;
  padding-right:2px
}
.bp-item-card {
  border:1px solid var(--bp-line);
  background:rgba(8,17,21,.8);
  padding:13px;
  min-height:145px
}
.bp-card-top {
  display:flex;
  justify-content:space-between;
  gap:8px
}
.bp-item-card h3 {
  font-size:.87rem;
  margin:0 0 3px
}
.bp-card-meta {
  font-size:.56rem;
  color:var(--bp-cyan);
  letter-spacing:.08em
}
.bp-card-data {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:12px
}
.bp-card-data span {
  border-top:1px solid rgba(255,255,255,.055);
  padding-top:6px;
  font-size:.59rem;
  color:var(--bp-muted)
}
.bp-card-data strong {
  display:block;
  color:#dbe7e9;
  font-size:.65rem;
  margin-top:2px
}
.bp-card-note {
  font-size:.61rem;
  color:#8fa4a8;
  margin:10px 0 0
}
.bp-card-actions {
  display:flex;
  gap:5px;
  margin-top:10px
}
.bp-project-board {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  max-height:calc(100vh - 155px);
  overflow:auto
}
.bp-project-col {
  border:1px solid var(--bp-line);
  background:rgba(7,15,18,.62);
  padding:9px;
  min-height:300px
}
.bp-project-col h3 {
  font-size:.61rem;
  letter-spacing:.14em;
  color:var(--bp-muted);
  margin:0 0 9px
}
.bp-project-ticket {
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);
  padding:10px;
  margin-bottom:7px
}
.bp-project-ticket h4 {
  font-size:.72rem;
  margin:0 0 4px
}
.bp-project-ticket p {
  font-size:.58rem;
  color:var(--bp-muted);
  margin:4px 0
}
.bp-project-ticket .bp-ticket-meta {
  font-size:.52rem;
  color:var(--bp-cyan)
}
.bp-calculator-layout {
  display:grid;
  grid-template-columns:190px minmax(300px,1fr) minmax(260px,.7fr);
  gap:10px;
  max-height:calc(100vh - 125px)
}
.bp-calc-list {
  border:1px solid var(--bp-line);
  background:rgba(7,15,18,.7);
  padding:8px;
  overflow:auto
}
.bp-calc-list button {
  display:block;
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.045);
  padding:9px;
  color:#a6b7bb;
  cursor:pointer;
  font-size:.64rem
}
.bp-calc-list button:hover,.bp-calc-list button.active {
  color:white;
  background:rgba(114,223,240,.05)
}
.bp-calc-work,.bp-formulas {
  overflow:auto
}
.bp-calc-work h2 {
  font-size:1.1rem;
  margin-bottom:5px
}
.bp-calc-work>p {
  font-size:.65rem;
  color:var(--bp-muted)
}
.bp-calc-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:15px
}
.bp-calc-form label,.bp-form-grid label {
  font-size:.56rem;
  letter-spacing:.06em;
  color:#91a5aa
}
.bp-calc-form input,.bp-form-grid input,.bp-form-grid select,.bp-form-grid textarea {
  width:100%;
  margin-top:5px!important;
  background:#081115!important;
  border:1px solid rgba(114,223,240,.15)!important;
  color:white!important;
  border-radius:2px!important;
  padding:8px!important;
  font-size:.68rem!important;
  box-shadow:none!important
}
.bp-form-grid textarea {
  min-height:72px;
  resize:vertical
}
.bp-calc-result {
  margin-top:13px;
  border-left:2px solid var(--bp-green);
  background:rgba(167,239,103,.035);
  padding:10px;
  font-size:.67rem
}
.bp-calc-result div {
  display:flex;
  justify-content:space-between;
  padding:4px 0;
  border-bottom:1px solid rgba(255,255,255,.04)
}
.bp-calc-result div:last-child {
  border:0
}
.bp-formulas #formula-list {
  font-size:.61rem
}
.bp-formula-row {
  padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.05)
}
.bp-formula-row strong {
  display:block;
  color:#dbe7e9
}
.bp-formula-row span {
  display:block;
  color:var(--bp-cyan);
  font-family:monospace;
  margin-top:3px
}
.bp-data-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}
.bp-data-grid .bp-panel {
  min-height:190px
}
.bp-data-grid h2 {
  font-size:1.05rem;
  margin:7px 0
}
.bp-data-grid p {
  font-size:.69rem;
  color:var(--bp-muted);
  line-height:1.6
}
.bp-file {
  display:inline-block;
  border:1px solid var(--bp-line);
  padding:9px 13px;
  font-size:.67rem;
  cursor:pointer
}
.bp-file input {
  display:none
}
.bp-link-btn {
  display:inline-block
}
.bp-modal {
  width:min(760px,92vw);
  border:1px solid rgba(114,223,240,.28);
  background:#0a1418;
  color:white;
  padding:0;
  box-shadow:0 30px 80px rgba(0,0,0,.6)
}
.bp-modal::backdrop {
  background:rgba(0,0,0,.73);
  backdrop-filter:blur(4px)
}
.bp-modal form {
  padding:18px
}
.bp-modal-head {
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid var(--bp-line);
  padding-bottom:12px;
  margin-bottom:14px
}
.bp-modal-head h2 {
  font-size:1.05rem;
  margin:0
}
.bp-modal-close {
  background:transparent;
  border:0;
  color:#93a8ad;
  font-size:1.5rem;
  cursor:pointer
}
.bp-form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}
.bp-form-grid .wide {
  grid-column:1/-1
}
.bp-modal-actions {
  justify-content:flex-end;
  border-top:1px solid var(--bp-line);
  margin-top:15px;
  padding-top:12px
}
.bp-toast {
  position:fixed;
  right:18px;
  bottom:18px;
  background:#0e1d21;
  border:1px solid rgba(114,223,240,.25);
  padding:10px 13px;
  font-size:.65rem;
  transform:translateY(80px);
  opacity:0;
  transition:.2s;
  z-index:30
}
.bp-toast.show {
  transform:none;
  opacity:1
}
@media(max-width:980px) {
  .bp-shell {
    grid-template-columns:70px 1fr
  }
  .bp-sidebar {
    padding-left:8px;
    padding-right:8px
  }
  .bp-brand div,.bp-local div,.bp-nav button span,.bp-sidefoot {
    display:none
  }
  .bp-brand {
    justify-content:center;
    padding-left:0;
    padding-right:0
  }
  .bp-local {
    justify-content:center
  }
  .bp-nav button {
    text-align:center;
    font-size:1rem;
    padding:10px
  }
  .bp-stat-grid {
    grid-template-columns:1fr 1fr
  }
  .bp-dashboard-grid {
    grid-template-columns:1fr
  }
  .bp-card-grid {
    grid-template-columns:1fr 1fr
  }
  .bp-project-board {
    grid-template-columns:1fr 1fr
  }
  .bp-calculator-layout {
    grid-template-columns:150px 1fr
  }
  .bp-formulas {
    display:none
  }
}
@media(max-width:650px) {
  .bp-shell {
    display:block
  }
  .bp-sidebar {
    position:sticky;
    top:0;
    width:100%;
    height:auto;
    flex-direction:row;
    align-items:center;
    padding:7px;
    overflow:auto
  }
  .bp-brand {
    border:0;
    padding:0 8px
  }
  .bp-brand img {
    width:30px;
    height:30px
  }
  .bp-local,.bp-sidefoot {
    display:none
  }
  .bp-nav {
    flex-direction:row;
    overflow:auto
  }
  .bp-nav button {
    white-space:nowrap;
    padding:8px
  }
  .bp-main {
    padding:14px 12px
  }
  .bp-topbar {
    height:auto;
    gap:10px
  }
  .bp-top-actions {
    display:none
  }
  .bp-banner {
    display:block;
    padding:18px
  }
  .bp-banner-actions {
    margin-top:14px
  }
  .bp-stat-grid {
    grid-template-columns:1fr 1fr
  }
  .bp-card-grid,.bp-data-grid {
    grid-template-columns:1fr
  }
  .bp-project-board {
    grid-template-columns:1fr
  }
  .bp-calculator-layout {
    display:block;
    max-height:none
  }
  .bp-calc-list {
    display:flex;
    overflow:auto;
    margin-bottom:9px
  }
  .bp-calc-list button {
    min-width:140px
  }
  .bp-formulas {
    display:block;
    margin-top:9px
  }
  .bp-form-grid,.bp-calc-form {
    grid-template-columns:1fr
  }
  .bp-form-grid .wide {
    grid-column:auto
  }
  .bp-toolbar {
    flex-wrap:wrap
  }
  .bp-toolbar .bp-primary {
    width:100%
  }
  .bp-table-wrap {
    max-height:60vh
  }
}
/* v2.3 — BonePile as a native Groundstate module */ .bp-body {
  background:#090c11 url('/images/bg.png') center/cover fixed no-repeat;
  font-family:"Source Sans Pro",Arial,Helvetica,sans-serif
}
.bp-body:after {
  content:"";
  position:fixed;
  inset:0;
  background:rgba(3,6,9,.62);
  z-index:-2
}
.bp-body:before {
  background-image:linear-gradient(rgba(113,217,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(113,217,255,.018) 1px,transparent 1px);
  background-size:36px 36px;
  z-index:-1
}
.bp-shell {
  padding:16px;
  gap:12px;
  grid-template-columns:218px 1fr
}
.bp-sidebar {
  height:calc(100vh - 32px);
  top:16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,11,16,.74);
  backdrop-filter:blur(11px);
  padding:16px 12px
}
.bp-brand {
  padding:0 6px 14px;
  border-bottom:1px solid rgba(255,255,255,.16)
}
.bp-brand strong {
  font-size:.8rem;
  letter-spacing:.18em
}
.bp-brand span {
  color:#71d9ff
}
.bp-local {
  border-color:rgba(113,217,255,.16);
  background:rgba(113,217,255,.025);
  padding:8px
}
.bp-dot {
  background:#71d9ff;
  box-shadow:0 0 10px rgba(113,217,255,.7)
}
.bp-nav button {
  border-radius:0;
  padding:8px 9px;
  font-size:.68rem
}
.bp-nav button:hover,.bp-nav button.active {
  background:rgba(113,217,255,.07);
  box-shadow:inset 2px 0 0 #71d9ff
}
.bp-main {
  padding:0 0 18px
}
.bp-topbar {
  height:74px;
  margin-bottom:10px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,11,16,.72);
  backdrop-filter:blur(10px);
  align-items:center
}
.bp-kicker,.bp-overline {
  color:#71d9ff
}
.bp-topbar h1 {
  font-size:1.22rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em
}
.bp-primary,.bp-ghost,.bp-danger,.bp-link-btn {
  border-radius:2px;
  border-color:rgba(255,255,255,.16);
  padding:8px 11px
}
.bp-primary {
  background:rgba(113,217,255,.12);
  color:#fff;
  border-color:rgba(113,217,255,.45)
}
.bp-banner,.bp-panel,.bp-stat-grid article,.bp-table-wrap,.bp-item-card,.bp-project-col,.bp-calc-list {
  border-color:rgba(255,255,255,.16);
  background:rgba(9,14,19,.74);
  backdrop-filter:blur(7px)
}
.bp-banner {
  min-height:126px;
  padding:18px 20px;
  background:linear-gradient(110deg,rgba(113,217,255,.055),rgba(9,14,19,.70) 55%,rgba(255,255,255,.012))
}
.bp-banner:after {
  color:rgba(113,217,255,.026)
}
.bp-banner h2 {
  font-size:1.35rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.05em
}
.bp-banner p {
  font-size:.74rem
}
.bp-chip {
  color:#71d9ff;
  border-color:rgba(113,217,255,.25)
}
.bp-stat-grid {
  gap:8px
}
.bp-stat-grid article {
  padding:11px 13px
}
.bp-stat-grid strong {
  font-size:1.45rem;
  font-weight:400;
  color:#fff
}
.bp-dashboard-grid {
  gap:8px
}
.bp-panel {
  padding:13px
}
.bp-panel-head h3 {
  font-weight:500
}
.bp-quick-grid {
  gap:6px
}
.bp-quick-grid button {
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.018);
  padding:10px
}
.bp-quick-grid b {
  color:#71d9ff
}
.bp-note strong {
  color:#71d9ff
}
.bp-search,.bp-toolbar select {
  border-color:rgba(255,255,255,.16)!important;
  background:rgba(8,11,16,.72)!important
}
.bp-table th {
  background:rgba(8,13,18,.94)
}
.bp-card-grid,.bp-table-wrap,.bp-project-board {
  max-height:calc(100vh - 148px)
}
.bp-item-card {
  min-height:130px
}
.bp-card-meta,.bp-text-btn,.bp-formula-row span {
  color:#71d9ff
}
.bp-modal {
  background:rgba(8,12,16,.96);
  border-color:rgba(113,217,255,.28)
}
@media(max-width:980px) {
  .bp-shell {
    grid-template-columns:68px 1fr;
    padding:8px
  }
  .bp-sidebar {
    height:calc(100vh - 16px);
    top:8px
  }
  .bp-main {
    min-width:0
  }
}
@media(max-width:650px) {
  .bp-shell {
    padding:0;
    display:block
  }
  .bp-sidebar {
    position:sticky;
    top:0;
    width:100%;
    height:auto;
    border-width:0 0 1px
  }
  .bp-main {
    padding:10px
  }
  .bp-topbar {
    height:auto
  }
  .bp-card-grid,.bp-table-wrap,.bp-project-board {
    max-height:60vh
  }
}
/* v2.4 production compact pass ------------------------------------------------
   Keep the v2.3 Groundstate visual language, but make desktop views behave as
   workspaces: the chrome stays fixed and only data-heavy surfaces scroll. */ @media (min-width:981px) {
  html,.bp-body {
    height:100%;
    overflow:hidden
  }
  .bp-shell {
    height:100svh;
    min-height:0;
    padding:10px;
    gap:9px;
    grid-template-columns:196px minmax(0,1fr)
  }
  .bp-sidebar {
    height:calc(100svh - 20px);
    top:10px;
    padding:11px 9px
  }
  .bp-brand {
    padding:0 5px 9px;
    gap:8px
  }
  .bp-brand img {
    width:34px;
    height:34px
  }
  .bp-brand strong {
    font-size:.72rem
  }
  .bp-brand span {
    font-size:.5rem;
    margin-top:2px
  }
  .bp-local {
    margin:9px 5px 7px;
    padding:6px 7px
  }
  .bp-local strong {
    font-size:.52rem
  }
  .bp-local small {
    font-size:.57rem
  }
  .bp-nav {
    gap:1px;
    min-height:0
  }
  .bp-nav button {
    padding:6px 8px;
    font-size:.62rem;
    line-height:1.2
  }
  .bp-nav button span {
    margin-left:5px
  }
  .bp-sidefoot {
    padding:8px 6px 0;
    gap:3px
  }
  .bp-sidefoot a {
    font-size:.57rem
  }
  .bp-main {
    height:calc(100svh - 20px);
    min-height:0;
    overflow:hidden;
    padding:0
  }
  .bp-topbar {
    height:58px;
    margin-bottom:7px;
    padding:8px 12px
  }
  .bp-kicker {
    font-size:.5rem;
    margin-bottom:2px
  }
  .bp-topbar h1 {
    font-size:1rem
  }
  .bp-top-actions {
    gap:5px
  }
  .bp-primary,.bp-ghost,.bp-danger,.bp-link-btn {
    padding:6px 9px;
    font-size:.6rem
  }
  .bp-view.active {
    height:calc(100svh - 85px);
    min-height:0;
    overflow:hidden
  }
  #view-dashboard.active {
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto;
    gap:6px
  }
  .bp-banner {
    min-height:74px;
    padding:10px 14px;
    align-items:center
  }
  .bp-banner:after {
    font-size:2rem;
    right:14px;
    top:7px
  }
  .bp-banner h2 {
    font-size:1.05rem;
    margin:3px 0 2px
  }
  .bp-banner p {
    font-size:.64rem;
    line-height:1.35;
    max-width:650px
  }
  .bp-chip {
    font-size:.46rem;
    padding:2px 5px
  }
  .bp-banner-actions {
    gap:5px
  }
  .bp-stat-grid {
    margin:0;
    gap:6px
  }
  .bp-stat-grid article {
    padding:7px 9px
  }
  .bp-stat-grid span {
    font-size:.45rem
  }
  .bp-stat-grid strong {
    font-size:1.15rem;
    margin:3px 0 1px
  }
  .bp-stat-grid small {
    font-size:.53rem
  }
  .bp-dashboard-grid {
    min-height:0;
    gap:6px
  }
  .bp-dashboard-grid>.bp-panel {
    min-height:0;
    overflow:hidden;
    padding:9px
  }
  .bp-panel-head {
    margin-bottom:6px
  }
  .bp-panel-head h3 {
    font-size:.78rem
  }
  .bp-overline {
    font-size:.48rem;
    margin-bottom:2px
  }
  .bp-activity {
    gap:2px;
    max-height:100%;
    overflow:auto
  }
  .bp-activity-row {
    grid-template-columns:62px 1fr auto;
    gap:7px;
    padding:5px 0
  }
  .bp-activity-row time,.bp-activity-row span,.bp-activity-row em {
    font-size:.52rem
  }
  .bp-activity-row strong {
    font-size:.61rem
  }
  .bp-quick-grid {
    gap:4px
  }
  .bp-quick-grid button {
    padding:7px
  }
  .bp-quick-grid b {
    font-size:.9rem
  }
  .bp-quick-grid span {
    font-size:.59rem
  }
  .bp-quick-grid small {
    font-size:.5rem
  }
  .bp-note {
    margin:0;
    padding:6px 9px;
    font-size:.55rem;
    line-height:1.3
  }
  /* Data views: toolbar stays visible; only the record surface scrolls. */ #view-inventory.active,#view-tools.active,#view-references.active,#view-chemistry.active,#view-salvage.active,#view-projects.active {
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:6px
  }
  #view-chemistry.active {
    grid-template-rows:auto auto minmax(0,1fr)
  }
  .bp-toolbar {
    margin:0;
    min-height:38px;
    gap:6px
  }
  .bp-search input,.bp-toolbar select {
    height:34px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    font-size:.62rem!important
  }
  .bp-table-wrap,.bp-card-grid,.bp-project-board {
    max-height:none!important;
    height:100%;
    min-height:0;
    overflow:auto
  }
  .bp-table th,.bp-table td {
    padding:7px 8px;
    font-size:.59rem
  }
  .bp-table td small {
    font-size:.5rem
  }
  .bp-card-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px
  }
  .bp-item-card {
    min-height:0;
    padding:9px
  }
  .bp-item-card h3 {
    font-size:.75rem
  }
  .bp-card-data {
    margin-top:7px;
    gap:4px
  }
  .bp-card-note {
    margin-top:6px
  }
  .bp-warning {
    margin:0;
    padding:6px 9px;
    font-size:.56rem;
    line-height:1.35
  }
  .bp-project-board {
    gap:6px
  }
  .bp-project-col {
    min-height:0;
    padding:7px;
    overflow:auto
  }
  .bp-project-ticket {
    padding:7px;
    margin-bottom:5px
  }
  #view-calculators.active {
    display:block
  }
  .bp-calculator-layout {
    height:100%;
    max-height:none;
    grid-template-columns:170px minmax(280px,1fr) minmax(230px,.7fr);
    gap:6px
  }
  .bp-calc-list,.bp-calc-work,.bp-formulas {
    height:100%;
    min-height:0;
    overflow:auto
  }
  .bp-calc-list button {
    padding:7px;
    font-size:.58rem
  }
  .bp-calc-work,.bp-formulas {
    padding:10px
  }
  .bp-calc-work h2 {
    font-size:.95rem
  }
  .bp-calc-form {
    gap:6px;
    margin-top:9px
  }
  .bp-calc-result {
    margin-top:8px;
    padding:7px
  }
  #view-data.active {
    display:block;
    overflow:hidden
  }
  .bp-data-grid {
    height:100%;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:6px
  }
  .bp-data-grid .bp-panel {
    min-height:0;
    overflow:auto;
    padding:11px
  }
  .bp-data-grid h2 {
    font-size:.9rem;
    margin:4px 0
  }
  .bp-data-grid p {
    font-size:.6rem;
    line-height:1.4;
    margin:.35rem 0 .65rem
  }
}
@media (min-width:981px) and (max-height:700px) {
  .bp-shell {
    padding:6px
  }
  .bp-sidebar {
    height:calc(100svh - 12px);
    top:6px
  }
  .bp-main {
    height:calc(100svh - 12px)
  }
  .bp-local {
    display:none
  }
  .bp-nav button {
    padding:5px 8px
  }
  .bp-topbar {
    height:50px
  }
  .bp-view.active {
    height:calc(100svh - 69px)
  }
  .bp-banner {
    min-height:62px
  }
  .bp-banner p {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
  .bp-stat-grid small {
    display:none
  }
  .bp-note {
    display:none
  }
}
/* v2.4.2 — dashboard quick-start collision fix */ .bp-quick-grid {
  min-width:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(52px,auto);
}
.bp-quick-grid button {
  min-width:0;
  min-height:52px;
  overflow:hidden;
  align-items:flex-start;
  line-height:1.15;
}
.bp-quick-grid button>b {
  flex:0 0 auto;
  line-height:1.1;
}
.bp-quick-grid button>span {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:normal;
}
.bp-quick-grid button small {
  display:block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.2;
  text-transform:none;
  letter-spacing:.03em;
}
@media (min-width:981px) and (max-width:1450px) {
  .bp-dashboard-grid {
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)
  }
  .bp-quick-grid {
    grid-template-columns:1fr
  }
  .bp-quick-grid button {
    min-height:42px;
    padding:7px 9px
  }
}
@media (min-width:981px) and (max-height:820px) {
  .bp-quick-grid button small {
    display:none
  }
  .bp-quick-grid button {
    min-height:38px;
    align-items:center
  }
}
