/* Stavix visual refresh 114: quiet neutral surfaces with restrained navy accents. */
:root{
  --navy:#173451;
  --navy2:#214361;
  --blue:#234b70;
  --bg:#f3f4f6;
  --line:#d9dee5;
  --text:#1d2c3c;
  --muted:#687586;
  --green:#315b52;
  --white:#fff;
  --shadow:0 8px 24px rgba(25,43,62,.08);
  --stavix-surface:#fff;
  --stavix-surface-soft:#f7f8fa;
  --stavix-border:#d9dee5;
  --stavix-ink:#1d2c3c;
  --stavix-navy:#173451;
}
body{color:var(--stavix-ink);background:#f3f4f6}
.app-page .content{background:#f3f4f6}
.topbar{background:#fff;border-color:#d9dee5}
.page-heading h1,.page-heading h2{color:#1d2c3c}
.page-subtitle,.muted,.text-muted{color:#687586}

/* Shared cards and document surfaces. */
.card,.panel,.table-card,.filter-card,.filter-panel,.stats-grid article,
.roadmap-card,.warehouse-card,.warehouse-panel,.flow-card,.flow-panel,
.settings-card,.dashboard-card,.quote-card,.document-card,.modal,
.modal-backdrop .modal,.warehouse-flow-modal,.modal-dialog{
  border-color:#d9dee5;
  box-shadow:0 5px 18px rgba(25,43,62,.055);
}
.card,.panel,.filter-card,.filter-panel,.warehouse-card,.warehouse-panel,
.flow-card,.flow-panel,.settings-card,.dashboard-card,.quote-card,.document-card,
.modal,.modal-dialog,.warehouse-flow-modal{background:#fff}
.table-card{background:transparent}

/* Compact, legible tables with subtle row contrast. */
table{color:#1d2c3c}
thead th,table th{background:#eef1f4;color:#34475b;border-color:#d9dee5}
tbody td{border-color:#e3e7ec}
tbody tr:nth-child(even){background:#f7f8fa}
tbody tr:hover{background:#eef2f6}
.table-scroll,.warehouse-table-wrap,.flow-table-wrap{border-color:#d9dee5}

/* Calm forms and controls; keep their existing dimensions and interaction. */
input:not([type]),input[type=text],input[type=search],input[type=email],input[type=tel],
input[type=number],input[type=date],input[type=datetime-local],
input[type=password],input[type=url],input[type=month],input[type=time],
select,textarea{
  border-color:#cbd3dc;
  background-color:#fff;
  color:#1d2c3c;
}
input[type=text]:focus,input[type=search]:focus,input[type=email]:focus,
input[type=tel]:focus,input[type=number]:focus,input[type=date]:focus,
input[type=datetime-local]:focus,input[type=password]:focus,input[type=url]:focus,
input[type=month]:focus,input[type=time]:focus,select:focus,textarea:focus{
  border-color:#6c849d;
  box-shadow:0 0 0 3px rgba(35,75,112,.12);
  outline:0;
}
input::placeholder,textarea::placeholder{color:#8792a0}

/* Navy is reserved for primary actions and selected navigation. */
.primary-button,.btn-primary,.button-primary,
button.primary,.warehouse-primary-button{
  background:#173f60;
  border-color:#173f60;
  color:#fff;
}
.primary-button:hover,.btn-primary:hover,.button-primary:hover,
button.primary:hover,.warehouse-primary-button:hover{background:#214f73;border-color:#214f73}
.secondary-button,.btn-secondary,.button-secondary,
.modal-close,.dots,.action-menu button,.action-menu select{
  background:#f1f3f5;
  border-color:#d9dee5;
  color:#263b50;
}
.secondary-button:hover,.btn-secondary:hover,.button-secondary:hover{background:#e8edf1}
.tabs,.tab-list,.warehouse-tabs,.flow-tabs,.nav-tabs{border-color:#d9dee5}
.tabs [aria-selected=true],.tab-list [aria-selected=true],
.warehouse-tabs .active,.flow-tabs .active,.nav-tabs .active,
.tabs .active,.tab-list .active{background:#173f60;color:#fff}

/* Modal titles use a soft cool neutral header; no saturated full-width bars. */
.modal>header,.modal header.modal-header,.modal-header,
.modal-dialog>header,.modal-dialog .modal-header,
.warehouse-modal-backdrop .modal>header,
.warehouse-flow-modal>header,.warehouse-flow .warehouse-flow-modal>header,
[role=dialog]>header,body.app-page [class*="modal"]>header{
  background:#f0f2f5;
  color:#24384d;
  border-bottom:1px solid #d9dee5;
}
.modal>header h1,.modal>header h2,.modal-header h1,.modal-header h2,
.warehouse-flow-modal>header h1,.warehouse-flow-modal>header h2,
[role=dialog]>header h1,[role=dialog]>header h2,
body.app-page [class*="modal"]>header h1,body.app-page [class*="modal"]>header h2{color:#24384d}
.modal-close{color:#40566c}

/* Restrained status tones. Error and warning meaning remains immediately clear. */
.status-pill,.account-status.active,.flow-badge.success,.warehouse-status.accepted,
.warehouse-status.completed{background:#e8edf1;border-color:#d3dce4;color:#34536f}
.flash.success,.alert.success{background:#eef3f1;border-color:#d3dfda;color:#315b52}
.status-pill.warning,.flow-badge.warning,.warehouse-status.pending,
.flash.warning,.alert.warning{background:#fbf5e9;border-color:#ead7b2;color:#805b20}
.status-pill.danger,.flow-badge.danger,.warehouse-status.rejected,
.flash.error,.alert.error{background:#faeeee;border-color:#e9caca;color:#8a3434}

/* PDF controls are provided by Stavix; hide the embedded browser toolbar. */
.pdf-viewer-shell iframe,.flow-document-frame{background:#fff}

/* Compact density shared by authenticated Stavix pages, aligned with the warehouse tables. */
body.app-page .page-heading{padding:28px 32px 18px}
body.app-page .page-heading h1{font-size:30px}
body.app-page .stats-grid{gap:12px;padding-left:32px;padding-right:32px}
body.app-page .stats-grid article{padding:14px;gap:6px}
body.app-page .table-card{margin-left:32px;margin-right:32px;margin-bottom:24px}
body.app-page .table-head{padding-bottom:12px}

body.app-page button:not([class*="icon"]),
body.app-page [role="button"],
body.app-page a.primary-button,body.app-page a.secondary-button,
body.app-page a.button-link,body.app-page .btn{
  min-height:36px;
  padding:7px 11px;
  font-size:12.5px;
  line-height:1.25;
  border-radius:8px;
}
body.app-page .compact-button,body.app-page button.compact-button,
body.app-page a.compact-button{min-height:32px;padding:6px 9px;font-size:12px}
body.app-page .modal-close,body.app-page button[class*="close"]{
  min-width:32px;min-height:32px;width:32px;height:32px;padding:0;font-size:20px
}
body.app-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),
body.app-page select{
  height:38px;min-height:38px;padding:7px 10px;font-size:13px
}
body.app-page textarea{padding:8px 10px;font-size:13px}

body.app-page table{font-size:12.5px;line-height:1.35}
body.app-page table th{padding:8px 11px;font-size:10.5px;letter-spacing:.035em}
body.app-page table td{padding:8px 11px}
body.app-page table td small{margin-top:2px;line-height:1.3}
body.app-page .table-scroll,body.app-page .warehouse-table-wrap,
body.app-page .flow-table-wrap{border-radius:10px}

body.app-page .filter-card,body.app-page .filter-panel,
body.app-page .filter-bar,body.app-page .table-filters,
body.app-page .table-toolbar,body.app-page .table-head{
  gap:10px
}
body.app-page .filter-card,body.app-page .filter-panel,
body.app-page .filter-bar,body.app-page .table-filters,
body.app-page .table-toolbar{padding:12px 14px;margin-top:12px;margin-bottom:12px}
body.app-page .modal>header,body.app-page .modal-header,
body.app-page [class*="modal"]>header{padding:14px 20px}
body.app-page .modal .form-grid{padding:18px 20px;gap:12px}
body.app-page .modal .modal-actions,body.app-page .modal-actions,
body.app-page .form-actions{gap:8px;padding-top:12px;padding-bottom:12px}
@media(max-width:720px){
  body.app-page .page-heading{padding:22px 20px 14px}
  body.app-page .stats-grid{padding-left:20px;padding-right:20px;gap:10px}
  body.app-page .table-card{margin-left:20px;margin-right:20px;margin-bottom:18px}
  body.app-page .modal>header,body.app-page .modal-header,
  body.app-page [class*="modal"]>header{padding:12px 16px}
}

.sidebar-order-badge{margin-left:auto;flex-shrink:0;min-width:22px;height:22px;padding:2px 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#eff6ff;color:#1e4f80;font-size:11px;font-weight:800;line-height:1}.sidebar-order-badge[hidden]{display:none}
