/*
 * BEISSLER OFFICE / PHASE F2 (V24)
 * Customer detail, true progress and quote/invoice composer only.
 * Design master V18-V23: calm, precise, operational.
 */
.bw-v18-app{
  --bw24-surface:#fff;
  --bw24-bg:#f6f8f9;
  --bw24-ink:#173747;
  --bw24-secondary:#566f7d;
  --bw24-border:#dce6e9;
  --bw24-accent:#08798b;
  --bw24-soft:#ecf6f6;
  --bw24-focus:#3f9bb1;
}
/* CUSTOMER IDENTITY */
.bw-v18-app .bw-v19-customer{
  max-width:1280px;
  margin-inline:auto;
}
.bw-v18-app .bw-v19-back{
  min-height:40px;
  margin-bottom:11px;
  font-size:13px;
  color:#496977;
  font-weight:690;
}
.bw-v18-app .bw-v19-back:hover{color:#086475}
.bw-v18-app .bw-v19-customer-hero{
  min-height:126px;
  padding:23px 25px;
  border-color:var(--bw24-border);
  border-radius:11px;
  box-shadow:0 3px 15px #18374705;
  align-items:center;
}
.bw-v18-app .bw-v19-customer-identity{gap:15px;}
.bw-v18-app .bw-v19-customer-avatar{
  width:54px;
  height:54px;
  flex-basis:54px;
  border-radius:11px;
  font-size:22px;
  color:#126a79;
  background:var(--bw24-soft);
  border:1px solid #d8e8e9;
}
.bw-v18-app .bw-v19-customer-identity h1{
  font-size:clamp(20px,2.3vw,26px);
  letter-spacing:-.025em;
  line-height:1.25;
  font-weight:780;
  color:var(--bw24-ink);
}
.bw-v18-app .bw-v19-eyebrow{
  gap:9px;
  margin-bottom:7px;
  letter-spacing:.065em;
  color:#506e7b;
  font-size:10.5px;
}
.bw-v24-active-state{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 8px;
  border:1px solid #d8e9e1;
  border-radius:5px;
  background:#f0f8f3;
  color:#286c54;
  letter-spacing:0;
  text-transform:none;
  font-size:11px;
  font-weight:745;
}
.bw-v24-active-state::before{
  content:"";
  width:6px;
  height:6px;
  background:#298765;
  border-radius:50%;
}
.bw-v18-app .bw-v19-customer-identity p{
  margin-top:5px;
  font-size:12.5px;
  color:#526d7b;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.bw-v18-app .bw-v24-customer-location{
  display:flex;
  align-items:center;
  gap:6px;
}
.bw-v18-app .bw-v24-customer-location .office-icon{
  width:14px;height:14px;
  color:#668896;
  flex:0 0 14px;
}
.bw-v18-app .bw-v19-customer-actions{gap:9px;}
.bw-v18-app .bw-v19-primary{
  min-height:45px;
  padding:11px 15px;
  font-size:13px;
  font-weight:765;
  border-radius:8px;
  box-shadow:none;
}
.bw-v18-app .bw-v19-action-menu>summary{
  min-height:45px;
  background:#fbfcfd;
  border-color:var(--bw24-border);
  border-radius:8px;
  font-size:12.5px;
  color:#405d6c;
  font-weight:685;
}
.bw-v18-app .bw-v19-action-menu[open]>summary,
.bw-v18-app .bw-v19-action-menu>summary:hover{
  color:#0b6779;
  background:#f0f7f7;
  border-color:#cbdfe2;
}
.bw-v18-app .bw-v19-action-menu nav{
  padding:7px;
  box-shadow:0 14px 40px #1231421c;
  border:1px solid var(--bw24-border);
}
.bw-v18-app .bw-v19-action-menu nav a{
  font-size:13px;
  min-height:44px;
}
/* Customer dossier tabs: restrained continuity between tab and panel. */
.bw-v18-app .bw-v19-tabs{
  margin-top:18px;
  gap:6px;
  padding-inline:4px;
  border-bottom:1px solid #dce6e8;
}
.bw-v18-app .bw-v19-tabs a{
  min-height:46px;
  padding:11px 17px 12px;
  font-size:13px;
  color:#536b79;
  font-weight:675;
  transition:color .14s ease,background-color .14s ease;
}
.bw-v18-app .bw-v19-tabs a:hover{color:#076e81;background:#f0f7f7;}
.bw-v18-app .bw-v19-tabs a[aria-current=page]{
  color:#076679;
  font-weight:780;
  border-bottom-color:#08798b;
  border-bottom-width:3px;
}
.bw-v18-app .bw-v19-customer-panel{
  padding:23px 25px 25px;
  border-color:var(--bw24-border);
  border-radius:0 0 11px 11px;
  box-shadow:0 4px 17px #17364604;
  background:var(--bw24-surface);
}
.bw-v18-app .bw-v19-section-title{
  margin-bottom:14px;
  gap:12px;
}
.bw-v18-app .bw-v19-section-title h3{
  color:#173746;
  font-size:16px;
  font-weight:765;
}
.bw-v18-app .bw-v19-section-title>span{
  font-size:12px;
  color:#566f7b;
  font-variant-numeric:tabular-nums;
}
.bw-v18-app .bw-v19-record-list{gap:0;}
.bw-v18-app .bw-v19-record{
  min-height:65px;
  padding:11px 9px;
  border-radius:6px;
  gap:13px;
  border-bottom:1px solid #e8eef0;
}
.bw-v18-app .bw-v19-record:hover{
  background:#f6fafb;
}
.bw-v18-app .bw-v19-record-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:8px;
}
.bw-v18-app .bw-v19-record-icon .office-icon{
  width:18px;height:18px;
}
.bw-v18-app .bw-v19-record-content{gap:3px;}
.bw-v18-app .bw-v19-record-content small{
  color:#57717e;
  font-size:11.5px;
}
.bw-v18-app .bw-v19-record-content strong{
  color:#193e4e;
  font-size:13.5px;
  font-weight:745;
  line-height:1.4;
}
.bw-v18-app .bw-v19-record-arrow{
  color:#437e8c;
  font-size:18px;
}
.bw-v18-app .bw-v19-record-status{
  min-width:0;
}
.bw-v18-app .bw-v19-record-status .admin-status{
  font-variant-numeric:tabular-nums;
}
.bw-v18-app .bw-v19-assets{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.bw-v18-app .bw-v19-asset{
  background:#fbfdfd;
  border-color:#dde8ea;
  padding:15px;
  min-height:89px;
  border-radius:9px;
}
.bw-v18-app .bw-v19-asset:hover{
  background:#f1f8f8;
  border-color:#b9d7dc;
}
.bw-v18-app .bw-v19-timeline-filters button{
  min-height:44px;
}
.bw-v18-app .bw-v19-flow-shell{
  border-color:#dfe7ea;
  border-radius:11px;
  box-shadow:0 3px 15px #17364606;
  padding:19px 23px;
}
.bw-v18-app .bw-v19-flow-top h2{
  font-size:15px;
  font-weight:770;
  color:#1d3d4b;
}
.bw-v18-app .bw-v19-stage-title{
  color:#2c4a59;
  font-size:12.5px;
}
.bw-v18-app .bw-v19-stage.is-current .bw-v19-stage-title{color:#096e7f;}
.bw-v18-app .bw-v19-flow-actions{
  padding-top:15px;
  gap:10px;
}
/* DOCUMENT COMPOSER */
.bw-v18-app .bw-v20-create-workspace{
  max-width:1370px;
  margin-inline:auto;
}
.bw-v18-app .bw-v20-toolbar{
  min-height:39px;
  margin:0 0 9px;
}
.bw-v18-app .bw-v20-back{
  min-height:42px;
  font-size:12.5px;
  font-weight:715;
}
.bw-v18-app .bw-v20-draft-chip{
  background:#f1f7f4;
  border-color:#d5e7df;
  color:#2f6c5f;
  font-size:11px;
}
.bw-v18-app .bw-v20-workspace{
  border-color:#dce5e9;
  border-radius:11px;
  box-shadow:0 3px 14px #14314206;
}
.bw-v18-app .bw-v20-document-meta{
  padding:17px 23px 19px;
}
.bw-v18-app .bw-v20-lines-section{
  padding:17px 23px 20px;
  border-top-color:#e4ecee;
}
.bw-v18-app .bw-v20-section-head{
  margin-bottom:11px;
}
.bw-v18-app .bw-v20-step{
  width:29px;height:29px;
  font-size:11px;
  background:#f0f7f7;
  border-color:#dce9e9;
  border-radius:7px;
}
.bw-v18-app .bw-v20-section-head h3{
  color:#1d4050;
  font-weight:770;
  font-size:15.5px;
}
.bw-v18-app .bw-v20-section-aside{
  color:#556e7a;
  font-size:12px;
}
.bw-v18-app .bw-v20-meta-grid{
  gap:12px 17px;
}
.bw-v18-app .bw-v20-customer-picker{
  padding:9px 12px;
  border-color:#dce7e9;
  background:#fafcfc;
  gap:11px;
  border-radius:8px;
}
.bw-v18-app .bw-v20-picker-search,
.bw-v18-app .bw-v20-picker-native{
  min-width:0;
}
.bw-v18-app .bw-v20-customer-picker :is(input,select){
  min-height:44px;
}
.bw-v18-app .bw-v20-create-customer{
  font-size:12.5px;
  font-weight:705;
}
.bw-v18-app .bw-v20-workspace .admin-form label:not(.checkbox-line){
  font-size:12.5px;
  color:#405e6f;
}
.bw-v18-app .bw-v20-workspace .admin-form :is(input:not([type=checkbox]),select){
  border-color:#cfdee3;
  color:#183b4b;
  min-height:44px;
  border-radius:7px;
}
.bw-v18-app .bw-v20-workspace .admin-form :is(input:not([type=checkbox]),select):hover{
  border-color:#afc9d0;
}
.bw-v18-app .bw-v20-lines-tools{
  margin-bottom:11px;
  gap:10px;
}
.bw-v18-app .bw-v20-draft-status{
  margin-bottom:7px;
  min-height:26px;
  color:#536e7b;
  font-size:11.5px;
}
.bw-v18-app .bw-v20-position-sheet{
  border-radius:7px;
  border-color:#dce7ea;
}
.bw-v18-app .bw-v20-position-sheet .line-column-headings{
  background:#f2f7f8;
}
.bw-v18-app .bw-v20-position-sheet .line-column-headings>span{
  color:#4f6976;
  font-size:11px;
}
.bw-v18-app .bw-v20-add-position{
  border-color:#c4dedf;
  border-radius:7px;
  min-height:44px;
  color:#086678;
  font-weight:750;
  background:#eff8f8;
}
.bw-v18-app .bw-v20-add-position:hover{background:#e0f1f2;}
.bw-v18-app .bw-v20-workspace .admin-form-actions.bw-v20-submit-dock{
  border-top-color:#d3e2e5;
  box-shadow:0 -5px 22px #153c4a14;
}
.bw-v18-app .bw-v20-workspace .bw-v20-total-cell span{
  color:#4e6c79;
  font-size:11.5px;
}
.bw-v18-app .bw-v20-workspace .bw-v20-total-cell strong{
  font-variant-numeric:tabular-nums;
}
.bw-v18-app .bw-v20-workspace .bw-v20-submit-main small{
  color:#526b78;
  font-size:11px;
}
/* Responsive detail/quote editors */
@media(max-width:950px){
  .bw-v18-app .bw-v19-customer-hero{padding:20px;gap:16px;}
  .bw-v18-app .bw-v19-record{min-height:65px;}
  .bw-v18-app .bw-v20-position-sheet .line-item-row{
    border-color:#dde8eb!important;
    box-shadow:0 2px 9px #17364604;
    background:#fcfdfd!important;
  }
}
@media(max-width:780px){
  .bw-v18-app .bw-v19-customer-panel{padding:19px 20px 23px;}
  .bw-v18-app .bw-v19-assets{grid-template-columns:1fr;}
  .bw-v18-app .bw-v19-customer-actions{justify-content:stretch;}
}
@media(max-width:660px){
  .bw-v18-app .bw-v20-document-meta{padding:13px 15px 15px;}
  .bw-v18-app .bw-v20-lines-section{padding:14px 15px 17px;}
  .bw-v18-app .bw-v20-customer-picker{padding:10px 11px;gap:8px;}
  .bw-v18-app .bw-v20-picker-search label{margin-bottom:5px!important;}
  .bw-v18-app .bw-v20-workspace .admin-form :is(input:not([type=checkbox]),select){
    font-size:16px;
  }
  .bw-v18-app .bw-v20-workspace .admin-form-actions.bw-v20-submit-dock{
    gap:7px;padding:9px 12px max(10px,env(safe-area-inset-bottom));
  }
  .bw-v18-app .bw-v20-workspace .bw-v20-submit-main .bw-v20-submit{
    min-height:46px;
  }
  .bw-v18-app .bw-v20-workspace .bw-v20-submit-main small{
    max-width:150px;
    font-size:10.5px;
  }
}
@media(max-width:530px){
  .bw-v18-app .admin-content:has(.bw-v19-customer){padding-top:16px;}
  .bw-v18-app .bw-v19-back{margin-bottom:8px;}
  .bw-v18-app .bw-v19-customer-hero{padding:16px;gap:13px;}
  .bw-v18-app .bw-v19-customer-avatar{width:47px;height:47px;flex-basis:47px;font-size:19px;}
  .bw-v18-app .bw-v19-customer-identity h1{font-size:21px;}
  .bw-v18-app .bw-v19-customer-actions{gap:8px;}
  .bw-v18-app .bw-v19-customer-actions>.bw-v19-primary{
    min-height:45px;font-size:13px;
  }
  .bw-v18-app .bw-v19-action-menu>summary{min-height:44px;}
  .bw-v18-app .bw-v19-tabs{margin-top:14px;padding-inline:0;gap:0;}
  .bw-v18-app .bw-v19-tabs a{padding:10px 12px;min-height:45px;font-size:12.5px;}
  .bw-v18-app .bw-v19-customer-panel{padding:15px 14px;}
  .bw-v18-app .bw-v19-record{
    display:grid;grid-template-columns:36px minmax(0,1fr) auto;
    gap:4px 10px;padding:13px 2px;min-height:0;
  }
  .bw-v18-app .bw-v19-record-icon{
    grid-column:1;grid-row:1/3;
    width:36px;height:36px;flex:0 0 36px;
  }
  .bw-v18-app .bw-v19-record-content{
    grid-column:2/4;grid-row:1;flex-basis:auto;
  }
  .bw-v18-app .bw-v19-record-status{
    grid-column:2;grid-row:2;margin:0;
    justify-self:start;
  }
  .bw-v18-app .bw-v19-record-arrow{
    grid-column:3;grid-row:2;
    justify-self:end;margin:0;
  }
  .bw-v18-app .bw-v19-record-content strong{
    font-size:13.5px;line-height:1.4;
  }
  .bw-v18-app .bw-v19-record-status :is(.admin-status,.admin-badge){
    font-size:11px;
  }
  .bw-v18-app .bw-v20-toolbar{flex-wrap:wrap;align-items:center;gap:8px;}
  .bw-v18-app .bw-v20-draft-chip{font-size:10.5px;}
  .bw-v18-app .bw-v20-section-aside{font-size:11px;}
  .bw-v18-app .bw-v20-position-sheet .line-item-row{
    padding:12px!important;
  }
}
@media(max-width:360px){
  .bw-v18-app .bw-v19-tabs a{padding:10px 10px;font-size:12px;}
  .bw-v18-app .bw-v20-workspace .bw-v20-total-cell span{font-size:10.5px;}
}
@media(prefers-reduced-motion:reduce){
  .bw-v18-app .bw-v19-record,
  .bw-v18-app .bw-v19-tabs a,
  .bw-v18-app .bw-v20-workspace :is(input,select,button){transition:none!important;}
}
