/*
 * BEISSLER OFFICE / Phase F3 (V25) – Finance, queues and specialist modules.
 * No new theme. Data and accounting calculations are server-authoritative.
 */
.bw-v18-app{
  --bw25-ink:#173745;
  --bw25-muted:#536e7b;
  --bw25-border:#dce6e9;
  --bw25-soft:#f3f8f9;
}
.bw-v18-app .bw-v18-hub{max-width:1170px;}
.bw-v18-app .bw-v18-hub-grid{gap:12px;}
.bw-v18-app .bw-v18-hub-link{
  min-height:106px;
  padding:20px 21px;
  border:1px solid var(--bw25-border);
  box-shadow:0 2px 12px #17364604;
  border-radius:10px;
  gap:14px;
  background:#fff;
}
.bw-v18-app .bw-v18-hub-link:hover{
  transform:none;
  border-color:#afd1d7;
  box-shadow:0 5px 18px #1736460a;
  background:#fcfefe;
}
.bw-v18-app .bw-v18-hub-icon{
  width:42px;height:42px;
  flex:0 0 42px;
  color:#0b7486;
  background:#ecf6f6;
  border-radius:9px;
}
.bw-v18-app .bw-v18-hub-copy strong{
  color:#193d4c;font-size:14.5px;font-weight:755;
}
.bw-v18-app .bw-v18-hub-copy small{
  color:#536e7b;font-size:12.5px;line-height:1.45;
}
.bw-v18-app .bw-v18-hub-arrow{font-size:18px;color:#397d8b;}
/* Financial/list workflow: reduce visual noise while preserving the
   semantic table, search, filter controls and all document actions. */
.bw-v18-app[data-bw-route=quotes] .admin-panel,
.bw-v18-app[data-bw-route=invoices] .admin-panel,
.bw-v18-app[data-bw-route=orders] .admin-panel,
.bw-v18-app[data-bw-route=income] .admin-panel,
.bw-v18-app[data-bw-route=expenses] .admin-panel,
.bw-v18-app[data-bw-route=documents] .admin-panel{
  border:1px solid var(--bw25-border);
  border-radius:11px;
  box-shadow:0 3px 13px #18374604;
  background:#fff;
}
.bw-v18-app[data-bw-route=quotes] .admin-panel .panel-header,
.bw-v18-app[data-bw-route=invoices] .admin-panel .panel-header,
.bw-v18-app[data-bw-route=orders] .admin-panel .panel-header,
.bw-v18-app[data-bw-route=expenses] .admin-panel .panel-header{
  gap:13px;
  margin-bottom:18px;
}
.bw-v18-app[data-bw-route=quotes] .panel-header h2,
.bw-v18-app[data-bw-route=invoices] .panel-header h2,
.bw-v18-app[data-bw-route=orders] .panel-header h2,
.bw-v18-app[data-bw-route=income] .panel-header h2,
.bw-v18-app[data-bw-route=expenses] .panel-header h2{
  font-size:18px;
  letter-spacing:-.017em;
  font-weight:760;
  color:#173747;
}
.bw-v18-app .office-list-tools{
  display:flex;
  align-items:flex-end;
  gap:9px 13px;
  flex-wrap:wrap;
  margin:0 0 17px;
}
.bw-v18-app .office-list-tools label{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  color:#456474;
  font-size:12px;
  font-weight:700;
  min-width:0;
}
.bw-v18-app .office-list-tools :is(input,select){
  min-height:45px;
  padding:10px 12px;
  border-radius:7px;
  border:1px solid #cadce1;
  background:#fff;
  color:#244653;
  font-size:13px;
  max-width:100%;
}
.bw-v18-app .office-list-tools input{
  width:min(320px,100%);
  min-width:180px;
}
.bw-v18-app .office-list-tools small{
  align-self:flex-end;
  color:#567281;
  font-size:12px;
  font-weight:560;
  line-height:1.5;
  padding-bottom:11px;
}
.bw-v18-app .office-list-tools :is(input,select):hover{
  border-color:#9dc3cc;
}
.bw-v18-app .admin-table-wrap{
  border:1px solid #dce6e9;
  border-radius:8px;
  box-shadow:none;
  background:#fff;
}
.bw-v18-app .admin-table{
  font-size:13px;
  line-height:1.5;
}
.bw-v18-app .admin-table th{
  background:#f2f6f7;
  color:#4c6976;
  font-size:11.5px;
  font-weight:720;
  border-bottom:1px solid #dce6e9;
  padding:13px 14px;
  white-space:nowrap;
}
.bw-v18-app .admin-table td{
  border-color:#e7edef;
  padding:14px;
  font-size:12.75px;
  color:#35525f;
  vertical-align:middle;
}
.bw-v18-app .admin-table td:first-child{
  color:#203d4b;
  font-weight:705;
}
.bw-v18-app .admin-table td a{
  color:#086879;
  font-weight:700;
  text-decoration:none;
}
.bw-v18-app .admin-table td a:hover{
  text-decoration:underline;
}
.bw-v18-app .admin-table td.money-cell,
.bw-v18-app[data-bw-route=quotes] .admin-table td:nth-child(4),
.bw-v18-app[data-bw-route=quotes] .admin-table td:nth-child(5),
.bw-v18-app[data-bw-route=invoices] .admin-table td:nth-child(4),
.bw-v18-app[data-bw-route=invoices] .admin-table td:nth-child(5),
.bw-v18-app[data-bw-route=expenses] .admin-table td:nth-child(4){
  font-variant-numeric:tabular-nums;
  font-weight:700;
  color:#183d4a;
}
.bw-v18-app[data-bw-route=quotes] .admin-table td:nth-child(4),
.bw-v18-app[data-bw-route=quotes] .admin-table td:nth-child(5),
.bw-v18-app[data-bw-route=invoices] .admin-table td:nth-child(4),
.bw-v18-app[data-bw-route=invoices] .admin-table td:nth-child(5){
  white-space:nowrap;
}
.bw-v18-app .admin-table tbody tr:hover td{
  background:#f8fbfb;
}
.bw-v18-app .admin-badge{
  border:1px solid #dce6ea;
  background:#f1f5f6;
  color:#486676;
  border-radius:5px;
  padding:4px 8px;
  line-height:1.4;
  font-weight:685;
  font-size:11.5px;
}
.bw-v18-app .admin-badge.success{
  border-color:#cce6d8;
  background:#eaf6ef;
  color:#1d6850;
}
.bw-v18-app .admin-badge.warn{
  border-color:#eedcba;
  background:#fff8ed;
  color:#805c2f;
}
.bw-v18-app .admin-badge.error{
  border-color:#edcfca;
  background:#fdf2f1;
  color:#993d3a;
}
.bw-v25-list-pagination{
  border-top:1px solid #e2ecef;
  padding:16px 12px 6px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.bw-v25-more-button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:44px;
  min-width:180px;
  padding:10px 17px;
  color:#08687a;
  background:#eef8f8;
  border:1px solid #c6dfe2;
  border-radius:8px;
  font:700 13px/1.4 Inter,"Segoe UI",Arial,sans-serif;
  cursor:pointer;
  transition:background-color .14s ease,border-color .14s ease;
}
.bw-v25-more-button:hover{background:#e1f2f3;border-color:#a5cdd2;}
.bw-v25-more-button[hidden],
.bw-v25-list-pagination[hidden],
.bw-v18-app table.admin-table tbody tr[hidden],
.bw-v18-app table.bw-v22-card-table tbody tr[hidden]{
  display:none!important;
}
/* Financial month controls and only the three actual existing totals. */
.bw-v18-app .finance-period{
  display:flex;
  align-items:flex-end;
  gap:11px 14px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.bw-v18-app .finance-period label{
  color:#4b6776;
  font-size:12.5px;
  font-weight:700;
}
.bw-v18-app .finance-period input{
  min-height:44px;
  border:1px solid #ccdce0;
  border-radius:7px;
  font-size:14px;
}
.bw-v18-app .finance-period button{
  min-height:44px;
  border-radius:7px;
}
.bw-v18-app .finance-period a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:12.5px;
  font-weight:700;
  color:#08697c;
  text-decoration:none;
}
.bw-v18-app .finance-cards{
  gap:12px;
  margin-bottom:18px;
}
.bw-v18-app .finance-cards .stat-card{
  border:1px solid #dce6e9;
  border-radius:10px;
  box-shadow:0 2px 10px #17364605;
  padding:19px 20px;
  background:#fff;
  min-width:0;
}
.bw-v18-app .finance-cards .stat-card-label{
  color:#516e7d;
  font-size:12px;
  font-weight:700;
}
.bw-v18-app .finance-cards .stat-money{
  color:#173745;
  font-size:clamp(19px,2.2vw,26px);
  line-height:1.25;
  font-weight:775;
  letter-spacing:-.015em;
  font-variant-numeric:tabular-nums;
  white-space:normal;
  overflow-wrap:anywhere;
}
.bw-v18-app .finance-cards .stat-card small{
  color:#566f7b;
  font-size:11.5px;
}
/* V21 specialists – one shared alignment, density, typography, visual states */
.bw-v18-app .bw-v21-module{
  max-width:1410px;
  color:var(--bw25-ink);
}
.bw-v18-app .bw-v21-feature-head{
  margin:0 0 18px;
  gap:15px 20px;
}
.bw-v18-app .bw-v21-eyebrow{
  color:#527280;
  letter-spacing:.075em;
  font-size:10.5px;
}
.bw-v18-app .bw-v21-feature-head h2{
  color:#193b4b;
  font-size:21px;
  font-weight:765;
}
.bw-v18-app .bw-v21-feature-head p{
  color:#536f7d;
  font-size:12.75px;
  line-height:1.55;
}
.bw-v18-app .bw-v21-panel{
  border-color:var(--bw25-border);
  padding:21px 23px;
  border-radius:10px;
  box-shadow:0 3px 12px #17364604;
}
.bw-v18-app .bw-v21-panel h3{
  color:#1c3c4b;
  font-weight:770;
}
.bw-v18-app .bw-v21-search-control input,
.bw-v18-app .bw-v21-filter-control select{
  border-color:#cfdee2;
  min-height:45px;
  font-size:14px;
}
.bw-v18-app .bw-v21-service-item,
.bw-v18-app .bw-v21-task{
  border-bottom-color:#e5edef;
  padding-block:14px;
}
.bw-v18-app .bw-v21-service-main h4,
.bw-v18-app .bw-v21-task h4{
  color:#1d3e4c;
  font-weight:760;
}
.bw-v18-app .bw-v21-service-main>span,
.bw-v18-app .bw-v21-task-main p{
  color:#5a7480;
}
.bw-v18-app .bw-v21-service-price strong{
  font-variant-numeric:tabular-nums;
  color:#1d4351;
  font-weight:775;
}
.bw-v18-app .bw-v21-primary,
.bw-v18-app .bw-v21-secondary{
  border-radius:8px;
  min-height:44px;
  font-size:13px;
  font-weight:750;
}
.bw-v18-app .bw-v21-empty{
  border-color:#d7e7e8;
  background:#fbfdfd;
}
.bw-v18-app :is(.bw-v25-more-button,.office-list-tools input,.office-list-tools select):focus-visible{
  outline:3px solid #3f9bb1;
  outline-offset:2px;
}
/* Mobile: records readable, full touch actions, no hidden filter results. */
@media(max-width:1100px){
  .bw-v18-app table.bw-v22-card-table tbody tr[hidden]{display:none!important;}
  .bw-v18-app table.bw-v22-card-table tbody tr>td:nth-child(4):not(.bw-v22-card-actions),
  .bw-v18-app table.bw-v22-card-table tbody tr>td:nth-child(5):not(.bw-v22-card-actions){
    font-variant-numeric:tabular-nums;
  }
  .bw-v18-app table.bw-v22-card-table tbody tr>td:before{
    color:#516b79;
    font-size:11.5px;
  }
  .bw-v18-app .bw-v21-panel{padding:18px 18px;}
}
@media(max-width:770px){
  .bw-v18-app .bw-v18-hub-grid{grid-template-columns:1fr;}
  .bw-v18-app .bw-v18-hub-link{min-height:95px;padding:18px;}
  .bw-v18-app .office-list-tools{gap:10px;margin-bottom:14px;}
  .bw-v18-app .office-list-tools label{flex:1 1 100%;}
  .bw-v18-app .office-list-tools label input{
    width:100%;max-width:100%;min-width:0;
  }
  .bw-v18-app .office-list-tools select{
    width:100%;
  }
  .bw-v18-app .office-list-tools small{
    padding:0;
    align-self:flex-start;
  }
  .bw-v18-app .bw-v25-list-pagination{padding:13px 0 0;}
  .bw-v18-app .bw-v25-more-button{width:100%;}
}
@media(max-width:530px){
  .bw-v18-app .finance-cards{grid-template-columns:1fr!important;gap:9px;}
  .bw-v18-app .finance-cards .stat-card{padding:15px 18px;}
  .bw-v18-app .finance-cards .stat-money{font-size:23px;}
  .bw-v18-app .bw-v21-panel{padding:16px 15px;}
  .bw-v18-app .bw-v21-feature-head{margin-bottom:14px;}
  .bw-v18-app .bw-v21-feature-head h2{font-size:19px;}
  .bw-v18-app .bw-v21-feature-head p{font-size:12.5px;}
  .bw-v18-app .bw-v18-hub-link{min-height:87px;padding:16px;}
}
/* Keep motion constrained to feedback, never shape/layout animation. */
@media(prefers-reduced-motion:reduce){
  .bw-v18-app .bw-v25-more-button,
  .bw-v18-app .bw-v18-hub-link{
    transition:none!important;
    transform:none!important;
  }
}
