
:root{
  --navy:#0B2D4D; --teal:#1696A7; --green:#5FAE45; --orange:#F59E0B;
  --red:#D64545; --bg:#F4F7FA; --text:#1F2937; --muted:#667085; --white:#fff;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{background:linear-gradient(135deg,var(--navy),#164d70);color:white;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.topbar h1{margin:0;font-size:30px;letter-spacing:1px}.topbar p{margin:4px 0 0;opacity:.85}
.top-actions{display:flex;gap:10px}.top-actions button,.import-label{background:white;color:var(--navy);border:0;padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer}
.tabs{display:flex;gap:8px;padding:12px 20px;background:white;border-bottom:1px solid #dde3ea;overflow:auto}
.tab{border:0;background:#edf2f6;color:var(--navy);padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer;white-space:nowrap}
.tab.active{background:var(--teal);color:white}
main{padding:22px;max-width:1600px;margin:auto}.view{display:none}.view.active{display:block}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.card{background:white;border-radius:14px;padding:20px;box-shadow:0 8px 28px rgba(11,45,77,.08);border-left:6px solid var(--teal)}
.card span{display:block;color:var(--muted);font-size:14px}.card strong{display:block;font-size:30px;margin-top:8px;color:var(--navy)}
.panel{background:white;border-radius:14px;padding:20px;box-shadow:0 8px 28px rgba(11,45,77,.08);margin-bottom:18px}
.panel h2{margin-top:0;color:var(--navy)}.panel h3{color:var(--teal);margin-top:22px}
.grid-2{display:grid;grid-template-columns:minmax(340px, .8fr) minmax(500px, 1.4fr);gap:18px}
label{display:block;font-weight:700;color:var(--navy);margin-bottom:12px}
input,select{width:100%;padding:10px 12px;border:1px solid #cfd7df;border-radius:8px;margin-top:5px;background:white}
button{cursor:pointer}.primary{background:var(--teal);color:white;border:0;border-radius:9px;padding:12px 16px;font-weight:800}
#addLineBtn{background:var(--navy);color:white;border:0;border-radius:8px;padding:10px 12px;margin-bottom:12px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{background:var(--navy);color:white;padding:10px;text-align:left;white-space:nowrap}td{padding:9px;border-bottom:1px solid #e4e8ed;vertical-align:top}
tr:hover td{background:#f8fbfc}.danger{background:#fff0f0;color:var(--red);border:1px solid #f2c2c2;border-radius:6px;padding:5px 8px}.small{font-size:12px;padding:5px 8px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#e8f3f5;color:var(--teal)}
.totals{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px;background:#f5fafb;border-radius:10px;margin:14px 0}.totals label{margin:0;font-weight:600}.totals label input{width:auto;margin-right:5px}
#toast{position:fixed;right:20px;bottom:20px;background:var(--navy);color:white;padding:12px 16px;border-radius:9px;opacity:0;transform:translateY(15px);transition:.25s;pointer-events:none}
#toast.show{opacity:1;transform:none}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}
@media(max-width:540px){.cards{grid-template-columns:1fr}main{padding:12px}.topbar{padding:18px}.tabs{padding:10px}}

.inventory-tools{display:grid;grid-template-columns:1fr 180px;gap:10px;margin-bottom:8px}
.muted{color:var(--muted);font-size:13px}
@media(max-width:650px){.inventory-tools{grid-template-columns:1fr}}

.stock-ok{background:#E4F3DE!important;color:#246B1E;font-weight:700}
.stock-low{background:#FFF1D6!important;color:#8A5200;font-weight:700}
.stock-danger{background:#F9DEDE!important;color:#A12626;font-weight:700}
.stock-warning{color:#D64545;font-size:11px;margin-top:4px}
.stock-info{padding:10px 12px;background:#F5FAFB;border:1px solid #CFE5E8;border-radius:9px;margin:10px 0;font-size:13px}
.stock-ok-text{color:#246B1E;font-weight:700}
.stock-danger-text{color:#A12626;font-weight:700}
small{color:#667085}

.text-area{width:100%;min-height:80px;padding:10px 12px;border:1px solid #cfd7df;border-radius:8px;margin-top:5px;resize:vertical}

.client-form-actions{display:flex;gap:10px;flex-wrap:wrap}
.secondary-btn{background:#EDF2F6;color:var(--navy);border:1px solid #C9D5DF;border-radius:9px;padding:12px 16px;font-weight:800}

.client-actions{white-space:nowrap}
.statement-btn{background:#E8F3F5;color:var(--teal);border:1px solid #BBDDE2;border-radius:6px}
.statement-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.statement-header h2{margin-bottom:4px}.statement-header p{margin-top:0;color:var(--muted)}
.statement-actions{display:flex;gap:10px;flex-wrap:wrap}
.statement-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:12px;align-items:end;margin:18px 0}
.statement-check{display:flex;align-items:center;gap:8px;padding-bottom:10px;font-weight:600;color:var(--text)}
.statement-check input{width:auto;margin:0}
.statement-table td,.statement-table th{vertical-align:top}
.statement-summary{margin:22px 0 0 auto;width:min(100%,460px);display:grid;gap:8px}
.statement-summary>div{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;column-gap:28px;padding:10px 14px;background:#F5F8FA;border-radius:8px;line-height:1.25}
.statement-summary>div span{font-weight:600;white-space:nowrap}
.statement-summary>div strong{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:120px}
.statement-summary .statement-iva-total{background:#FFF6E5;border:1px solid #F0D5A4}
.statement-summary .statement-total{background:#EAF3F8;color:var(--navy);font-size:17px}
.statement-summary .statement-balance{background:#DDF3F5;color:var(--navy);font-size:17px}
.statement-footer{margin-top:28px;padding-top:14px;border-top:1px solid #D9E1E8;color:var(--muted);font-size:13px}
@media(max-width:850px){.statement-filters{grid-template-columns:1fr 1fr}.statement-header{flex-direction:column}}
@media(max-width:520px){.statement-filters{grid-template-columns:1fr}}

@media print{
  body.printing-statement{background:white}
  body.printing-statement .topbar,
  body.printing-statement .tabs,
  body.printing-statement main>.view:not(#statements),
  body.printing-statement .no-print,
  body.printing-statement #toast{display:none!important}
  body.printing-statement main{padding:0;max-width:none}
  body.printing-statement #statements{display:block!important}
  body.printing-statement .statement-panel{box-shadow:none;border:0;padding:0}
  body.printing-statement .statement-table{font-size:11px}
  body.printing-statement .statement-table th{background:#0B2D4D!important;color:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-statement .statement-summary .statement-balance{background:#DDF3F5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.stock-card{border-left-color:var(--green)}
.stock-card strong{font-size:26px}
.highlight-card{border-left-color:var(--orange);background:#FFF9EC}
.legacy-card{display:none}

.alert-card{border-left-color:var(--red);background:#FFF5F5}
.warning-card{border-left-color:var(--orange);background:#FFF9EC}
.hydro-rule{padding:12px 14px;background:#FFF1D6;border:1px solid #F0D49B;border-radius:9px;margin:12px 0;color:#7A4A00}
#hydroTableBody td{white-space:nowrap}

.inventory-compliance-separator{
  margin:24px 0 12px;
  padding:16px 18px;
  background:linear-gradient(135deg,var(--navy),#164d70);
  color:white;
  border-radius:12px;
}
.inventory-compliance-separator h2{margin:0 0 4px;color:white}
.inventory-compliance-separator p{margin:0;opacity:.85}
#inventory .statement-header h2{color:var(--navy)}

#assetsTable tr.stock-danger td{background:#FDE2E2!important;color:#8F1D1D}
#assetsTable tr.stock-low td{background:#FFF2CC!important;color:#7A5200}
#assetsTable tr.stock-ok td{background:#E7F5E2!important}
#assetsTable tr.stock-danger select,
#assetsTable tr.stock-low select,
#assetsTable tr.stock-ok select{background:white}

.stock-visual{background:#FFE8CC!important;color:#8A4B00;font-weight:700}
#assetsTable tr.stock-visual td{background:#FFE8CC!important;color:#8A4B00}
#assetsTable tr.stock-visual select{background:white}
.today-panel{border-top:4px solid var(--teal)}
.today-summary{display:grid;gap:8px}
.today-summary>div{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:9px;background:#F5FAFB;border:1px solid #D9E8EA}
.today-summary span{color:var(--navy);font-weight:700}
.today-summary strong{color:var(--teal)}

.debtors-panel{border-top:4px solid var(--orange)}
.debtors-kpis{display:flex;gap:12px;flex-wrap:wrap}
.debtors-kpis>div{min-width:150px;padding:10px 14px;border-radius:10px;background:#FFF1D6}
.debtors-kpis span{display:block;font-size:12px;color:#8A5200}
.debtors-kpis strong{display:block;font-size:22px;color:#8A5200;margin-top:4px}
.debt-amount{background:#FFF1D6!important;color:#8A5200}
.cash-cards{grid-template-columns:repeat(3,1fr)}
.cash-report{min-width:0}
@media(max-width:900px){.cash-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cash-cards{grid-template-columns:1fr}}
@media print{
  body.printing-cash .topbar,
  body.printing-cash .tabs,
  body.printing-cash main>.view:not(#cash),
  body.printing-cash #cashForm,
  body.printing-cash .no-print,
  body.printing-cash #toast{display:none!important}
  body.printing-cash #cash{display:block!important}
  body.printing-cash main{padding:0;max-width:none}
  body.printing-cash .cash-report{box-shadow:none;border:0}
}

.order-actions{white-space:nowrap}
.order-edit-panel{grid-column:1/-1;border-top:4px solid var(--orange)}
.edit-order-header{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:12px;margin:15px 0}
.edit-number{min-width:80px}
.edit-price{min-width:100px}
.returned-full{background:#FFF1D6;border-color:#E8C67E}
.full-return-note{padding:11px 13px;border-radius:9px;background:#FFF1D6;color:#805000;margin:10px 0;font-weight:700}
.edit-new-line{display:grid;grid-template-columns:1.4fr 1.4fr 1fr .7fr .7fr .8fr auto;gap:8px;align-items:end}
.edit-order-summary{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:16px 0}
.edit-order-summary>div{min-width:145px;display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#F5F8FA;border-radius:8px}
@media(max-width:1000px){.edit-new-line{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:850px){.edit-order-header{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.edit-order-header,.edit-new-line{grid-template-columns:1fr}}

.order-search-tools{display:grid;grid-template-columns:minmax(220px,1fr) 220px auto;gap:10px;margin:12px 0;align-items:center}
.order-actions{display:flex;gap:6px;flex-wrap:wrap;white-space:nowrap}
@media(max-width:650px){.order-search-tools{grid-template-columns:1fr}}

.orders-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:end;flex-wrap:wrap}
.orders-toolbar .order-search-tools{flex:1;min-width:340px}
.orders-export-actions{display:flex;gap:8px;flex-wrap:wrap}
.orders-print-area{display:none;background:white;color:#1F2937}
.orders-print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}
.orders-print-header h1{margin:0;color:#0B2D4D;font-size:24px}
.orders-print-header p{margin:5px 0 0;color:#667085;font-size:12px}
.orders-print-table{width:100%;border-collapse:collapse;font-size:11px}
.orders-print-table th{background:#0B2D4D;color:white;padding:7px;text-align:left}
.orders-print-table td{padding:7px;border-bottom:1px solid #D9E1E8;vertical-align:top}
.orders-print-footer{margin-top:18px;padding-top:10px;border-top:1px solid #D9E1E8;color:#667085;font-size:11px}
@media(max-width:700px){
  .orders-toolbar .order-search-tools{min-width:100%;width:100%}
  .orders-export-actions{width:100%}
  .orders-export-actions button{flex:1}
}
@media print{
  body.printing-orders{background:white}
  body.printing-orders .topbar,
  body.printing-orders .tabs,
  body.printing-orders main,
  body.printing-orders #toast{display:none!important}
  body.printing-orders .orders-print-area{display:block!important;padding:0}
  body.printing-orders .orders-print-table th{
    background:#0B2D4D!important;
    color:white!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  body.printing-orders .badge{
    border:1px solid #1696A7;
    background:#E8F3F5!important;
    color:#0B2D4D!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  @page{size:landscape;margin:10mm}
}

.order-date-group td{
  background:linear-gradient(135deg,var(--navy),#164d70)!important;
  color:white!important;
  font-weight:800;
  font-size:15px;
  padding:10px 12px!important;
  position:sticky;
  top:0;
  z-index:1;
}
.order-date-group:hover td{background:linear-gradient(135deg,var(--navy),#164d70)!important}

.status-to-deliver td{background:#FFF4D9}
.status-delivered td{background:#E8F5E4}
.status-returned td{background:#F0F2F4}
.status-paid td{background:#DDF3E3}
.status-cancelled td{background:#FBE3E3}
.status-to-deliver select,
.status-delivered select,
.status-returned select,
.status-paid select,
.status-cancelled select{background:white}

.dashboard-layout-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}
.dashboard-layout-toolbar h2{margin:0;color:var(--navy)}
.dashboard-layout-toolbar p{margin:5px 0 0}
.dashboard-layout-actions{display:flex;gap:8px;flex-wrap:wrap}

.dashboard-sortable{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.dashboard-sortable>[data-dashboard-id]{
  position:relative;
  margin:0!important;
}
.dashboard-item-controls{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  margin:-6px -6px 12px;
  border-radius:9px;
  background:#E8F3F5;
  border:1px dashed #1696A7;
  color:var(--navy);
}
.dashboard-edit-mode>[data-dashboard-id]{
  outline:2px dashed rgba(22,150,167,.45);
  outline-offset:4px;
  cursor:grab;
}
.dashboard-edit-mode .dashboard-item-controls{display:flex}
.dashboard-edit-mode>[data-dashboard-id]:active{cursor:grabbing}
.dashboard-dragging{
  opacity:.45;
  transform:scale(.99);
}
.dashboard-drag-handle{
  font-weight:800;
  user-select:none;
}
.dashboard-move-buttons{display:flex;gap:6px}
.dashboard-move-buttons button{
  border:1px solid #BBDDE2;
  background:white;
  color:var(--navy);
  border-radius:7px;
  width:34px;
  height:30px;
  cursor:pointer;
  font-weight:900;
}
@media(max-width:700px){
  .dashboard-layout-toolbar{flex-direction:column}
  .dashboard-layout-actions{width:100%}
  .dashboard-layout-actions button{flex:1}
}

.extras-box{
  margin:16px 0;
  padding:14px;
  border:1px solid #E8C67E;
  border-radius:11px;
  background:#FFF9EC;
}
.extras-box h3{margin:0 0 4px;color:#805000}
.extras-box p{margin:0 0 12px;color:#805000}
.extras-form{
  display:grid;
  grid-template-columns:1fr 1fr .7fr auto;
  gap:10px;
  align-items:end;
}
.extra-label{color:#8A5200;font-weight:800}
@media(max-width:700px){
  .extras-form{grid-template-columns:1fr 1fr}
  .extras-form button{grid-column:1/-1}
}
.edit-order-header-expanded{grid-template-columns:repeat(4,minmax(160px,1fr))}.edit-new-line-complete{grid-template-columns:1.2fr 1.2fr 1fr .7fr .7fr .8fr auto}.edit-line-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:150px}#editOrderLines select{min-width:125px}@media(max-width:1100px){.edit-order-header-expanded{grid-template-columns:repeat(2,minmax(180px,1fr))}.edit-new-line-complete{grid-template-columns:repeat(3,1fr)}.edit-new-line-complete button{grid-column:1/-1}}@media(max-width:650px){.edit-order-header-expanded,.edit-new-line-complete{grid-template-columns:1fr}}
.air-nitrox-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(125px,1fr));
  gap:10px;
}
.air-nitrox-cards .card{margin:0}
.nitrox-card{border-top:4px solid #6857C8}
@media(max-width:1050px){.air-nitrox-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.air-nitrox-cards{grid-template-columns:1fr 1fr}}

.clickable-stock-card{
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.clickable-stock-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(15,45,75,.12);
}
.clickable-stock-card small{
  display:block;
  margin-top:5px;
  color:var(--teal);
  font-weight:700;
}
.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(7,25,43,.62);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:9999;
}
.modal-overlay[hidden]{display:none!important}
.modal-card{
  background:white;
  border-radius:14px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  width:min(1100px,96vw);
  max-height:88vh;
  overflow:auto;
  padding:20px;
}
.bottle-details-modal table{min-width:900px}
body.modal-open{overflow:hidden}

.preparation-today-panel{border-top:4px solid var(--teal)}
.prep-overall-totals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:14px 0;
}
.prep-overall-totals>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 16px;
  border-radius:11px;
  background:#EAF5F7;
}
.prep-overall-totals .nitrox-total{background:#EFEAFA}
.prep-overall-totals span{font-weight:700}
.prep-overall-totals strong{font-size:26px;color:var(--navy)}
.prep-sections-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.prep-section{
  padding:14px;
  border:1px solid #D9E4EA;
  border-radius:12px;
  background:white;
}
.prep-section h3{margin:0 0 12px;color:var(--navy)}
.prep-propio{border-left:5px solid #3C9B66}
.prep-rcaire{border-left:5px solid var(--teal)}
.prep-gas-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.prep-gas-block{
  padding:11px;
  border-radius:10px;
  background:#F3F8FA;
}
.prep-gas-block.prep-nitrox{background:#F2EEFB}
.prep-gas-title{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding-bottom:8px;
  margin-bottom:6px;
  border-bottom:1px solid #D7E1E6;
}
.prep-row{
  display:flex;
  justify-content:space-between;
  padding:4px 0;
}
.today-line{display:inline-block;padding:2px 6px;border-radius:6px;margin:1px 0}
.rcaire-line{background:#EAF5F7}
.propio-line{background:#E7F5EC;color:#25613F;font-weight:700}
.extra-line{background:#FFF2D8;color:#825000;font-weight:700}
@media(max-width:850px){
  .prep-sections-grid,.prep-overall-totals{grid-template-columns:1fr}
}
@media(max-width:600px){
  .prep-gas-grid{grid-template-columns:1fr}
}

.dashboard-availability-card{grid-column:span 2}
.dashboard-stock-mini{
  display:grid;
  grid-template-columns:repeat(3,minmax(80px,1fr));
  gap:6px;
  margin-top:10px;
}
.dashboard-stock-mini button{
  border:1px solid #D5E3E8;
  background:#F7FBFC;
  border-radius:8px;
  padding:7px 8px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  cursor:pointer;
  color:var(--navy);
}
.dashboard-stock-mini button:hover{
  border-color:var(--teal);
  background:#EAF6F7;
}
.dashboard-stock-mini span{font-size:12px;font-weight:700}
.dashboard-stock-mini strong{font-size:16px}
@media(max-width:850px){
  .dashboard-stock-mini{grid-template-columns:repeat(2,1fr)}
  .dashboard-availability-card{grid-column:1/-1}
}

.dashboard-stock-mini-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:10px;
}
.small-stock-card{
  border:1px solid #D5E3E8;
  background:#F7FBFC;
  border-radius:8px;
  padding:7px 8px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  cursor:pointer;
  color:var(--navy);
}
.small-stock-card:hover{
  border-color:var(--teal);
  background:#EAF6F7;
}
.small-cards-manager{width:min(950px,96vw)}
.small-cards-manager input[type="text"],
.small-cards-manager input:not([type]){min-width:180px}
.switch-line{display:flex;align-items:center;gap:7px;white-space:nowrap}

.kpi-cards-toolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:10px;
}
.kpi-cards-manager{width:min(900px,96vw)}
.kpi-cards-manager input{min-width:220px}
@media(max-width:950px){
  }
@media(max-width:600px){
  }

#dashboardSortable{
  display:grid;
  grid-template-columns:repeat(4,minmax(170px,1fr));
  gap:14px;
  align-items:start;
}
#dashboardSortable > [data-dashboard-id]:not([data-kpi-card-id]){
  grid-column:1/-1;
}
.dashboard-kpi-card{
  margin:0!important;
  min-height:120px;
}
.dashboard-kpi-card.kpi-size-small{grid-column:span 1}
.dashboard-kpi-card.kpi-size-medium{grid-column:span 2}
.dashboard-kpi-card.kpi-size-large{grid-column:1/-1}
.independent-cards-manager{width:min(920px,96vw)}
.independent-cards-manager input{min-width:220px}
@media(max-width:1000px){
  #dashboardSortable{grid-template-columns:repeat(2,1fr)}
  .dashboard-kpi-card.kpi-size-medium{grid-column:span 2}
}
@media(max-width:650px){
  #dashboardSortable{grid-template-columns:1fr}
  .dashboard-kpi-card.kpi-size-small,
  .dashboard-kpi-card.kpi-size-medium,
  .dashboard-kpi-card.kpi-size-large{grid-column:1}
}

#dashboardSortable{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(170px,1fr))!important;
  gap:14px!important;
  position:static!important;
  min-height:auto!important;
  min-width:0!important;
  overflow:visible!important;
}
#dashboardSortable > [data-kpi-card-id]{
  position:static!important;
  width:auto!important;
  height:auto!important;
  left:auto!important;
  top:auto!important;
  grid-column:span 1!important;
}
#dashboardSortable > [data-dashboard-id]:not([data-kpi-card-id]){
  position:static!important;
  width:auto!important;
  height:auto!important;
  left:auto!important;
  top:auto!important;
  grid-column:1/-1!important;
}
.dashboard-item-controls,
.free-dashboard-resize{
  display:none!important;
}
@media(max-width:1000px){
  #dashboardSortable{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:650px){
  #dashboardSortable{grid-template-columns:1fr!important}
}

#dashboardSortable{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
#dashboardSortable > [data-dashboard-id]{
  position:static!important;
  width:auto!important;
  height:auto!important;
  left:auto!important;
  top:auto!important;
  margin:0!important;
  min-width:0!important;
}
#dashboardSortable > .dashboard-size-small{grid-column:span 1!important}
#dashboardSortable > .dashboard-size-medium{grid-column:span 2!important}
#dashboardSortable > .dashboard-size-large{grid-column:span 3!important}
#dashboardSortable > .dashboard-size-full{grid-column:1/-1!important}
.all-dashboard-cards-manager{width:min(1050px,96vw)}
.all-dashboard-cards-manager input{min-width:220px}
@media(max-width:1000px){
  #dashboardSortable{grid-template-columns:repeat(2,1fr)!important}
  #dashboardSortable > .dashboard-size-large,
  #dashboardSortable > .dashboard-size-full{grid-column:1/-1!important}
}
@media(max-width:650px){
  #dashboardSortable{grid-template-columns:1fr!important}
  #dashboardSortable > [data-dashboard-id]{grid-column:1!important}
}

.dashboard-movable-card{
  position:relative;
}
.dashboard-card-move-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  margin-bottom:8px;
}
.dashboard-card-grip{
  cursor:grab;
  user-select:none;
  font-weight:900;
  color:var(--teal);
  padding:2px 6px;
}
.dashboard-card-move-controls button{
  border:1px solid #D5E3E8;
  background:white;
  color:var(--navy);
  border-radius:6px;
  width:30px;
  height:28px;
  cursor:pointer;
  font-weight:800;
}
.dashboard-card-dragging{
  opacity:.45;
}

/* V7 — planning journalier visuel */
.daily-planning-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.daily-planning-header h2{margin:0 0 4px}
.daily-planning-header-actions{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.daily-planning-date{
  min-width:180px;
  font-weight:700;
}
.daily-planning-date input{margin-top:5px}

.daily-planning-totals{
  display:grid;
  grid-template-columns:repeat(6,minmax(110px,1fr));
  gap:9px;
  margin-bottom:18px;
}
.daily-planning-totals>div{
  background:#F3F8FA;
  border:1px solid #D9E5EA;
  border-radius:10px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.daily-planning-totals span{font-size:12px;font-weight:700;color:#526A78}
.daily-planning-totals strong{font-size:22px;color:var(--navy)}
.daily-planning-totals .nitrox{background:#F1EDFB;border-color:#D8CDF3}
.daily-planning-totals .propio{background:#EAF6EF;border-color:#C8E7D4}

.daily-planning-timeline{
  position:relative;
  padding:4px 0 4px;
}
.daily-planning-timeline:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:76px;
  width:3px;
  background:#D6E5EA;
  border-radius:4px;
}
.daily-planning-event{
  position:relative;
  display:grid;
  grid-template-columns:58px 20px minmax(0,1fr);
  gap:10px;
  margin-bottom:14px;
}
.daily-planning-time{
  padding-top:13px;
  font-weight:900;
  color:var(--navy);
  text-align:right;
}
.daily-planning-marker{
  width:14px;
  height:14px;
  border:4px solid white;
  background:var(--teal);
  box-shadow:0 0 0 2px var(--teal);
  border-radius:50%;
  margin-top:16px;
  z-index:2;
}
.daily-planning-content{
  border:1px solid #D8E3E8;
  border-left:5px solid var(--teal);
  border-radius:11px;
  padding:12px 14px;
  background:white;
}
.daily-planning-event-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:5px;
}
.daily-planning-event-head>div{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.daily-planning-mode{
  display:inline-flex;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.daily-planning-mode.delivery{background:#FFF1D9;color:#825300}
.daily-planning-mode.pickup{background:#E6F4F6;color:#176370}
.daily-planning-destination{
  color:#607582;
  font-size:13px;
  margin-bottom:9px;
}
.daily-planning-lines{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.daily-planning-chip{
  display:inline-flex;
  padding:5px 8px;
  border-radius:7px;
  font-size:12px;
  font-weight:750;
  background:#EAF5F7;
  color:#174F59;
}
.daily-planning-chip.propio{background:#E6F5EB;color:#275F3C}
.daily-planning-chip.extra{background:#FFF1D5;color:#825000}
.daily-planning-chip.equipment{background:#F0F1F3;color:#505A61}
.daily-planning-notes{
  margin-top:9px;
  padding-top:8px;
  border-top:1px dashed #D4DEE3;
  color:#5D6F78;
  font-size:12px;
}
.daily-planning-empty{
  padding:28px;
  text-align:center;
  border:1px dashed #BFCFD6;
  border-radius:11px;
  color:#607582;
  background:#FAFCFD;
}

/* Grille structurée pour placer les cartes côte à côte */
#dashboardSortable{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
#dashboardSortable > [data-dashboard-id]{
  min-width:0!important;
}
#dashboardSortable > .dashboard-size-small{grid-column:span 1!important}
#dashboardSortable > .dashboard-size-medium{grid-column:span 2!important}
#dashboardSortable > .dashboard-size-large{grid-column:span 3!important}
#dashboardSortable > .dashboard-size-full{grid-column:1/-1!important}

@media(max-width:1100px){
  .daily-planning-totals{grid-template-columns:repeat(3,1fr)}
  #dashboardSortable{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #dashboardSortable > .dashboard-size-large,
  #dashboardSortable > .dashboard-size-full{grid-column:1/-1!important}
}
@media(max-width:700px){
  .daily-planning-header{flex-direction:column}
  .daily-planning-header-actions{width:100%;align-items:stretch;justify-content:flex-start}
  .daily-planning-header-actions .secondary-btn{width:100%}
  .daily-planning-date{width:100%}
  .daily-planning-totals{grid-template-columns:repeat(2,1fr)}
  .daily-planning-timeline:before{left:54px}
  .daily-planning-event{grid-template-columns:38px 18px minmax(0,1fr)}
  #dashboardSortable{grid-template-columns:1fr!important}
  #dashboardSortable > [data-dashboard-id]{grid-column:1!important}
}

.cash-daily-report{margin-bottom:18px}
.cash-daily-toolbar{
  display:flex;
  justify-content:flex-start;
  margin:12px 0;
}
.cash-daily-toolbar label{max-width:220px}
.cash-daily-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(140px,1fr));
  gap:10px;
  margin-bottom:14px;
}

.statistics-filters{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:10px;
  margin:14px 0;
}
.statistics-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(130px,1fr));
  gap:10px;
}
.statistics-grid{margin-top:14px}

@media(max-width:1100px){
  .cash-daily-cards{grid-template-columns:repeat(3,1fr)}
  .statistics-filters{grid-template-columns:repeat(3,1fr)}
  .statistics-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .cash-daily-cards,
  .statistics-filters,
  .statistics-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:500px){
  .cash-daily-cards,
  .statistics-filters,
  .statistics-kpis{grid-template-columns:1fr}
}

.mode-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.mode-pickup{
  background:#E4F2FA;
  color:#1C5B85;
  border:1px solid #B9D7EA;
}
.mode-delivery{
  background:#FFF0DA;
  color:#8A5600;
  border:1px solid #F0D0A1;
}
.debtors-actions-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .debtors-actions-wrap{justify-content:flex-start}
}

/* =========================================================
   RC AIRE V8 — MENU LATÉRAL + IDENTITÉ VISUELLE
   ========================================================= */
:root{
  --sidebar-width:250px;
  --sidebar-collapsed-width:78px;
  --navy:#062E5B;
  --navy-deep:#03254A;
  --blue:#0567D8;
  --blue-soft:#EAF3FF;
  --orange:#F47A0A;
  --orange-soft:#FFF1E4;
  --surface:#FFFFFF;
  --app-bg:#F4F7FB;
  --border:#DDE6EF;
}

body{
  margin:0;
  background:var(--app-bg);
  padding-left:var(--sidebar-width);
  padding-top:92px;
  transition:padding-left .25s ease;
}

body.sidebar-collapsed{padding-left:var(--sidebar-collapsed-width)}

.app-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--sidebar-width);
  background:linear-gradient(180deg,var(--navy-deep),#07396F);
  color:white;
  z-index:1000;
  display:flex;
  flex-direction:column;
  box-shadow:8px 0 26px rgba(3,37,74,.14);
  transition:width .25s ease;
}

.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-width)}

.sidebar-brand{
  position:relative;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.sidebar-logo{
  width:205px;
  height:auto;
  display:block;
  filter:drop-shadow(0 4px 9px rgba(0,0,0,.16));
  transition:width .25s ease,opacity .25s ease;
}

.sidebar-collapsed .sidebar-logo{width:58px}

.sidebar-toggle{
  position:absolute;
  right:-16px;
  top:38px;
  width:34px;
  height:34px;
  border-radius:50%;
  border:0;
  background:var(--blue);
  color:white;
  font-size:23px;
  box-shadow:0 5px 15px rgba(0,0,0,.22);
  cursor:pointer;
}

.sidebar-tabs{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding:16px 12px!important;
  background:transparent!important;
  border:0!important;
  overflow-y:auto;
}

.sidebar-tabs .tab{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:13px;
  min-height:46px;
  padding:11px 14px;
  border:0;
  border-radius:9px;
  color:#F3F8FF;
  background:transparent;
  text-align:left;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}

.sidebar-tabs .tab:hover{background:rgba(255,255,255,.09);transform:translateX(2px)}
.sidebar-tabs .tab.active{background:linear-gradient(90deg,#0872E8,#0756B3);color:white}
.sidebar-tabs .tab-icon{width:26px;text-align:center;font-size:18px;flex:0 0 26px}
.sidebar-tabs .tab-label{white-space:nowrap}
.sidebar-collapsed .tab-label,
.sidebar-collapsed .sidebar-footer span,
.sidebar-collapsed .sidebar-footer strong{display:none}
.sidebar-collapsed .sidebar-tabs .tab{justify-content:center;padding-inline:8px}

.sidebar-footer{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:16px 18px 20px;
  font-size:12px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#DCEAFF;
}

.app-topbar{
  position:fixed;
  top:0;
  left:var(--sidebar-width);
  right:0;
  z-index:900;
  min-height:92px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  box-shadow:0 5px 20px rgba(23,50,74,.06);
  transition:left .25s ease;
}

.sidebar-collapsed .app-topbar{left:var(--sidebar-collapsed-width)}
.app-topbar h1{color:var(--navy);margin-bottom:2px}
.app-topbar p{margin:0;color:#64798A}

main{padding:20px 22px 32px;max-width:none}

.panel,.card{
  border:1px solid var(--border);
  border-radius:13px;
  box-shadow:0 4px 14px rgba(23,50,74,.06);
}

.card:hover,.panel:hover{box-shadow:0 8px 22px rgba(23,50,74,.09)}
button.primary,#exportBtn,.import-label{background:linear-gradient(135deg,#0872E8,#0559B8)}

.statement-logo{width:220px;max-width:34vw;height:auto}
.statement-brand-block{display:flex;align-items:center;gap:18px}
.print-logo{width:210px;height:auto}
.orders-print-brand{display:flex;align-items:center;gap:16px}

/* Codes couleur cohérents */
.mode-badge.mode-pickup{
  background:#E6F1FF!important;
  color:#075BBF!important;
  border-color:#B7D5FA!important;
}
.mode-badge.mode-delivery{
  background:#FFF0DF!important;
  color:#C86400!important;
  border-color:#F4C58F!important;
}

.order-row-pickup td{
  background:linear-gradient(90deg,#F2F7FF,#FFFFFF)!important;
}
.order-row-delivery td{
  background:linear-gradient(90deg,#FFF3E8,#FFFFFF)!important;
}
.order-row-pickup td:first-child{border-left:4px solid #0872E8}
.order-row-delivery td:first-child{border-left:4px solid var(--orange)}

.daily-planning-event.planning-pickup .daily-planning-content{
  background:linear-gradient(90deg,#EEF5FF,#FFFFFF);
  border-left-color:#0872E8!important;
}
.daily-planning-event.planning-delivery .daily-planning-content{
  background:linear-gradient(90deg,#FFF0E2,#FFFFFF);
  border-left-color:var(--orange)!important;
}
.daily-planning-event.planning-pickup .daily-planning-marker{
  background:#0872E8!important;
  box-shadow:0 0 0 2px #0872E8!important;
}
.daily-planning-event.planning-delivery .daily-planning-marker{
  background:var(--orange)!important;
  box-shadow:0 0 0 2px var(--orange)!important;
}

@media(max-width:900px){
  body{padding-left:0;padding-top:84px}
  .app-sidebar{transform:translateX(-100%)}
  .sidebar-collapsed .app-sidebar{transform:translateX(0);width:var(--sidebar-collapsed-width)}
  .app-topbar,.sidebar-collapsed .app-topbar{left:0}
  .sidebar-toggle{right:-42px}
}

/* V8.1 — inventaire modifiable case par case */
.inventory-inline-help{
  margin:8px 0 12px;
  padding:10px 12px;
  border-radius:9px;
  background:#EAF3FF;
  border:1px solid #C7DCF7;
  color:#24577E;
  font-size:13px;
  font-weight:650;
}

#assetsTable .asset-inline-input,
#assetsTable .asset-inline-select{
  width:100%;
  min-width:92px;
  box-sizing:border-box;
  padding:7px 8px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  font:inherit;
  color:inherit;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}

#assetsTable .asset-number-input{min-width:105px;font-weight:800}
#assetsTable .asset-date-input{min-width:135px}

#assetsTable .asset-inline-input:hover,
#assetsTable .asset-inline-select:hover{
  background:#F4F8FC;
  border-color:#CAD9E6;
}

#assetsTable .asset-inline-input:focus,
#assetsTable .asset-inline-select:focus{
  outline:none;
  background:white;
  border-color:#0872E8;
  box-shadow:0 0 0 3px rgba(8,114,232,.14);
}

#assetsTable .asset-inline-input:disabled,
#assetsTable .asset-inline-select:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* Flèche fixe pour remonter en haut */
.scroll-top-button{
  position:fixed;
  right:24px;
  bottom:24px;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:linear-gradient(135deg,#0872E8,#0559B8);
  color:white;
  font-size:25px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(5,89,184,.30);
  z-index:1200;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}

.scroll-top-button.visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.scroll-top-button:hover{transform:translateY(-3px)}

@media(max-width:700px){
  .scroll-top-button{right:14px;bottom:14px;width:44px;height:44px}
}

/* V8.1.1 — couleurs de l'inventaire uniquement, sans modifier le stockage */
#inventory #assetsTable tr.inventory-gas-air > td,
#inventory #assetsTable tr.inventory-gas-air > td input,
#inventory #assetsTable tr.inventory-gas-air > td select{
  background-color:#DCEEFF !important;
  background-image:none !important;
}

#inventory #assetsTable tr.inventory-gas-nitrox > td,
#inventory #assetsTable tr.inventory-gas-nitrox > td input,
#inventory #assetsTable tr.inventory-gas-nitrox > td select{
  background-color:#DDF3E3 !important;
  background-image:none !important;
}

#inventory #assetsTable tr.inventory-gas-air:hover > td,
#inventory #assetsTable tr.inventory-gas-air:hover > td input,
#inventory #assetsTable tr.inventory-gas-air:hover > td select{
  background-color:#CDE5FF !important;
}

#inventory #assetsTable tr.inventory-gas-nitrox:hover > td,
#inventory #assetsTable tr.inventory-gas-nitrox:hover > td input,
#inventory #assetsTable tr.inventory-gas-nitrox:hover > td select{
  background-color:#CBEACF !important;
}

.inventory-number-cell{
  display:flex;
  align-items:center;
  gap:8px;
}

.inventory-alert-dots{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:32px;
}

.inventory-alert-dot{
  display:inline-block;
  width:13px;
  height:13px;
  min-width:13px;
  border-radius:50%;
  vertical-align:middle;
  box-shadow:0 0 0 2px rgba(255,255,255,.9),0 1px 4px rgba(0,0,0,.22);
}

.inventory-hydro-dot{
  background:#D32F2F !important;
}

.inventory-visual-dot{
  background:#F28C28 !important;
}

.inventory-color-legend{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:9px;
}

.inventory-color-legend > span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 9px;
  border:1px solid #D3DEE7;
  border-radius:999px;
  background:#FFFFFF;
  font-size:11px;
  font-weight:800;
}

.inventory-color-legend .inventory-air-legend{
  background:#DCEEFF;
  border-color:#AFCFF4;
  color:#0759B7;
}

.inventory-color-legend .inventory-nitrox-legend{
  background:#DDF3E3;
  border-color:#B8DFC2;
  color:#23723B;
}


/* Texte noir sur les lignes colorées */
#inventory #assetsTable tr.inventory-gas-air td,
#inventory #assetsTable tr.inventory-gas-air input,
#inventory #assetsTable tr.inventory-gas-air select,
#inventory #assetsTable tr.inventory-gas-air button,
#inventory #assetsTable tr.inventory-gas-nitrox td,
#inventory #assetsTable tr.inventory-gas-nitrox input,
#inventory #assetsTable tr.inventory-gas-nitrox select,
#inventory #assetsTable tr.inventory-gas-nitrox button{
  color:#000 !important;
}

/* V8.1.3 — sauvegardes automatiques */
.backup-status-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid #B8DFC2;
  border-radius:12px;
  background:#EAF8EE;
  color:#245E35;
}

.backup-status-card > div:first-child{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.backup-status-card strong{
  font-size:15px;
}

.backup-status-card span{
  font-weight:700;
}

.backup-status-card small{
  color:#4B6E56;
}

.backup-status-actions,
.backup-manager-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.backup-manager-modal{
  width:min(1050px,94vw);
}

.backup-manager-actions{
  margin:12px 0 16px;
}

.backup-warning{
  margin-top:14px;
  padding:10px 12px;
  border-radius:9px;
  background:#FFF4E5;
  border:1px solid #F0D09B;
  color:#80520A;
  font-size:12px;
}

@media(max-width:760px){
  .backup-status-card{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* V8.1.4 — filtres avancés de l'inventaire */
.inventory-filter-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:10px;
}

.inventory-tools-main{
  margin-bottom:0;
}

.inventory-advanced-filters{
  display:grid;
  grid-template-columns:repeat(5,minmax(125px,1fr));
  gap:10px;
}

.inventory-advanced-filters label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:12px;
  font-weight:700;
  color:#425C6C;
}

.inventory-filter-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

@media(max-width:1050px){
  .inventory-advanced-filters{
    grid-template-columns:repeat(3,minmax(125px,1fr));
  }
}

@media(max-width:700px){
  .inventory-advanced-filters{
    grid-template-columns:1fr 1fr;
  }

  .inventory-filter-actions{
    justify-content:flex-start;
  }
}

@media(max-width:480px){
  .inventory-advanced-filters{
    grid-template-columns:1fr;
  }
}

/* V8.1.5 — exports PDF et CSV de l'inventaire */
.inventory-filter-actions .primary{
  min-width:155px;
}


/* V8.1.6 — résumé Air/Nitrox des réservations de demain */
.tomorrow-air-nitrox-panel{border-top:4px solid var(--teal)}
.tomorrow-gas-summary{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}
.tomorrow-gas-card{padding:16px;border:1px solid #D9E1E8;border-radius:11px;background:#F8FAFC}
.tomorrow-gas-card span,.tomorrow-gas-card small{display:block}
.tomorrow-gas-card span{font-weight:800;color:var(--navy)}
.tomorrow-gas-card strong{display:block;font-size:30px;margin:6px 0;color:var(--navy)}
.tomorrow-gas-card small{color:#667085;line-height:1.4}
.air-summary-card{border-left:5px solid #1696A7;background:#EFF9FA}
.nitrox-summary-card{border-left:5px solid #6857C8;background:#F4F1FF}
.orders-summary-card{border-left:5px solid var(--orange);background:#FFF9EC}
@media(max-width:760px){.tomorrow-gas-summary{grid-template-columns:1fr}}

.order-past-days-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;white-space:nowrap;cursor:pointer;font-weight:600;color:#334155}
.order-past-days-toggle input{width:18px;height:18px;margin:0;accent-color:#0b2d4d}
@media(max-width:900px){.order-search-tools{grid-template-columns:1fr 220px}.order-past-days-toggle{grid-column:1/-1;width:max-content}}
@media(max-width:650px){.order-search-tools{grid-template-columns:1fr}.order-past-days-toggle{width:100%;box-sizing:border-box}}


/* V8.1.9 — distinction visuelle des sorties dans la caisse */
#dailyCashTableBody tr.cash-row-expense > td,
#cashTableBody tr.cash-row-expense > td{
  background:#FDE2E2;
  color:#7F1D1D;
}
#dailyCashTableBody tr.cash-row-expense > td:first-child,
#cashTableBody tr.cash-row-expense > td:first-child{
  border-left:4px solid #C62828;
}
#dailyCashTableBody tr.cash-row-expense:hover > td,
#cashTableBody tr.cash-row-expense:hover > td{
  background:#F8CACA;
}


/* V8.1.10 — suivi séparé des retours de bouteilles et des paiements */
.tracking-badge{display:inline-flex;align-items:center;justify-content:center;min-width:105px;padding:7px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.payment-paid{background:#DCFCE7;color:#166534;border:1px solid #86EFAC}
.payment-partial{background:#FEF3C7;color:#92400E;border:1px solid #FCD34D}
.payment-unpaid{background:#FEE2E2;color:#991B1B;border:1px solid #FCA5A5}
.return-status-select{min-width:125px;font-weight:800;border-radius:9px;padding:8px}
.return-status-select.return-pending{background:#FEE2E2;color:#991B1B;border-color:#FCA5A5}
.return-status-select.return-partial{background:#FEF3C7;color:#92400E;border-color:#FCD34D}
.return-status-select.return-returned{background:#DCFCE7;color:#166534;border-color:#86EFAC}
#orders .table-wrap{overflow-x:auto}
#orders table{min-width:1280px}
@media(max-width:900px){.order-search-tools{grid-template-columns:1fr 1fr}.order-past-days-toggle{grid-column:1/-1}}
@media(max-width:650px){.order-search-tools{grid-template-columns:1fr}}

/* V8.1.11 — suivi rapide depuis le tableau de bord */
.return-status-select.return-propio{background:#DBEAFE;color:#1E3A8A;border-color:#93C5FD}
.dashboard-return-select{min-width:150px;padding:6px 8px;font-size:12px}
.dashboard-order-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:145px}
#recentOrders td{vertical-align:middle}
@media (max-width:900px){
  .dashboard-return-select{min-width:135px}
  .dashboard-order-actions{min-width:130px}
}


/* V8.1.12 — suivi retour et paiement dans le planning journalier */
.daily-planning-tracking{
  display:grid;
  grid-template-columns:minmax(180px,1.25fr) minmax(170px,1fr) auto;
  gap:10px;
  align-items:end;
  margin-top:12px;
  padding-top:10px;
  border-top:1px dashed #D5E2E7;
}
.daily-planning-tracking-field,
.daily-planning-payment{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.daily-planning-tracking-field>span,
.daily-planning-payment>span{
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#607582;
}
.daily-planning-tracking .return-status-select{
  width:100%;
  min-width:0;
}
.daily-planning-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media (max-width:760px){
  .daily-planning-tracking{grid-template-columns:1fr}
  .daily-planning-actions{justify-content:flex-start}
}

/* V8.1.13 — détail des retours partiels */
.return-detail-summary{width:100%;margin-top:8px;padding:9px 10px;border-radius:9px;background:#FFF7E6;border:1px solid #F4C96B;font-size:12px;line-height:1.45;color:#6B4600}
.return-detail-summary.compact{min-width:190px;max-width:320px}
.return-detail-warning{margin-top:7px;padding:7px 9px;border-radius:8px;background:#FEE2E2;color:#991B1B;font-size:12px;font-weight:800}
.return-detail-btn{margin-top:7px;background:#FFF7E6;border-color:#E8B84F;color:#704900}
.daily-planning-tracking .return-detail-summary{flex-basis:100%}


/* V8.2.0 — tableau de bord simplifié */
#dashboardSortable > [data-permanently-removed="true"]{display:none!important;}
#dashboardSortable > [data-dashboard-id="daily-visual-planning"]{
  grid-column:1 / -1!important;
  min-height:560px;
}
#dashboardSortable > [data-dashboard-id="daily-visual-planning"] .daily-planning-timeline{
  max-height:none;
}
@media (min-width:1100px){
  #dashboardSortable > [data-dashboard-id="daily-visual-planning"]{padding:24px 28px;}
  #dashboardSortable > [data-dashboard-id="daily-visual-planning"] .daily-planning-content{padding:18px 20px;}
}


/* V8.2.1 — Stock par type et gaz dans les réservations de demain */
.tomorrow-stock-table-wrap{overflow-x:auto;margin:14px 0 16px}
.tomorrow-stock-table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}
.tomorrow-stock-table th,.tomorrow-stock-table td{border:1px solid #D9E1E8;padding:10px 12px;text-align:center}
.tomorrow-stock-table thead th{background:#F3F6F9;color:var(--navy);font-weight:800}
.tomorrow-stock-table tbody th{text-align:left;background:#F8FAFC;color:var(--navy)}
.tomorrow-stock-table td{font-weight:800;font-size:16px}
.tomorrow-stock-ok{color:#16794A;background:#EFFAF4}
.tomorrow-stock-shortage{color:#B42318;background:#FFF1F0}

/* V8.2.4 — sept statuts complets de retour */
.return-status-select.return-to_deliver{background:#FEF3C7;color:#92400E;border-color:#FCD34D}
.return-status-select.return-delivered{background:#DBEAFE;color:#1E40AF;border-color:#93C5FD}
.return-status-select.return-waiting{background:#FFEDD5;color:#9A3412;border-color:#FDBA74}
.return-status-select.return-partial{background:#FEE2E2;color:#991B1B;border-color:#FCA5A5}
.return-status-select.return-returned{background:#DCFCE7;color:#166534;border-color:#86EFAC}
.return-status-select.return-propio{background:#F3F4F6;color:#374151;border-color:#D1D5DB}
.return-status-select.return-cancelled{background:#E5E7EB;color:#111827;border-color:#9CA3AF}




/* V8.2.8 — récapitulatif des lignes ultra compact en largeur */
#orderForm .table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid #D9E1E8;
  border-radius:9px;
  background:#fff;
}
.draft-lines-table{
  width:100%;
  min-width:430px;
  table-layout:fixed;
  font-size:12px;
}
.draft-lines-table th,
.draft-lines-table td{
  padding:7px 3px;
  vertical-align:middle;
  line-height:1.2;
}
.draft-lines-table th{font-size:11px;letter-spacing:.01em}
.draft-lines-table th:nth-child(1),
.draft-lines-table td:nth-child(1){width:28%;padding-left:6px;}
.draft-lines-table th:nth-child(2),
.draft-lines-table td:nth-child(2){width:16%;white-space:nowrap;}
.draft-lines-table th:nth-child(3),
.draft-lines-table td:nth-child(3){width:9%;text-align:center;white-space:nowrap;}
.draft-lines-table th:nth-child(4),
.draft-lines-table td:nth-child(4){width:15%;text-align:right;white-space:nowrap;}
.draft-lines-table th:nth-child(5),
.draft-lines-table td:nth-child(5){width:22%;text-align:right;white-space:nowrap;}
.draft-lines-table th:nth-child(6),
.draft-lines-table td:nth-child(6){width:10%;text-align:center;padding-left:1px;padding-right:1px;}
.draft-lines-table td:first-child{overflow-wrap:anywhere;}
.draft-lines-table tbody tr:nth-child(even) td{background:#F7F9FB;}
.draft-lines-table tbody tr:hover td{background:#EEF6F8;}
.draft-lines-table .danger.small{
  min-width:27px;
  width:27px;
  height:27px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  line-height:1;
}
.create-order-sticky{
  position:sticky;
  bottom:10px;
  z-index:20;
  width:100%;
  margin-top:8px;
  box-shadow:0 8px 22px rgba(11,45,77,.24);
}
@media (max-width:700px){
  .draft-lines-table{min-width:420px;}
}

/* V8.2.9 — tri du bilan mensuel */
.cash-monthly-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:10px 0 14px}
.cash-monthly-toolbar label{margin:0;min-width:190px}
.cash-monthly-toolbar select{min-width:300px}
@media(max-width:700px){.cash-monthly-toolbar label,.cash-monthly-toolbar select{width:100%;min-width:0}}

/* V8.2.11 — filtre commandes par date */
.order-date-filter{display:flex;align-items:center;gap:6px;margin:0;font-size:.9rem;white-space:nowrap}
.order-date-filter span{font-weight:600}
.order-date-filter input{width:auto;min-width:145px;margin:0;padding:7px 9px}
#clearOrderDateFilter{white-space:nowrap}
@media (max-width:760px){.order-date-filter{width:100%}.order-date-filter input{flex:1;min-width:0}}


/* V8.2.13 - IVA par commande dans l'état de compte */
.statement-iva-cell{min-width:128px}
.statement-iva-toggle{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:.78rem;margin-bottom:5px;cursor:pointer}
.statement-iva-toggle input{margin:0;flex:0 0 auto}
.statement-iva-amount{display:block;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){.statement-summary{width:100%;max-width:none}.statement-summary>div{grid-template-columns:1fr auto;column-gap:14px}.statement-summary>div strong{min-width:92px}}
@media print{.statement-iva-cell{min-width:auto}.statement-iva-amount{display:block}.statement-summary{width:360px;max-width:100%}.statement-summary>div{page-break-inside:avoid;break-inside:avoid}}

/* V8.2.16 — fiche client complète */
.client-form-section{border:1px solid #dfe7ec;border-radius:10px;padding:12px;margin:10px 0;background:#fbfdfe}
.client-form-section h3{margin:0 0 10px;color:var(--navy);font-size:15px}
.client-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.compact-text-area{min-height:64px}
.client-history-summary{margin:12px 0;padding:12px;border-radius:10px;background:#eef6f8;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.client-history-summary[hidden]{display:none}
.client-history-summary div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(0,0,0,.06);padding:5px 0}
@media(max-width:700px){.client-form-grid,.client-history-summary{grid-template-columns:1fr}}


/* V8.2.17 — état de compte : montants IVA/TTC lisibles */
.statement-iva-cell{min-width:94px;text-align:right}
.statement-iva-toggle{display:inline-flex;align-items:center;justify-content:center;margin:0 7px 0 0;vertical-align:middle}
.statement-iva-amount{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle}
.statement-ttc-cell{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
@media print{.statement-iva-cell,.statement-ttc-cell{text-align:right}.statement-iva-amount{display:inline-block}}
/* V8.2.18 — contrôle IVA explicite et compact */
.statement-iva-toggle{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;margin-right:6px;font-size:.78rem;font-weight:700}
.statement-iva-toggle input{margin:0}
.statement-iva-amount{white-space:nowrap}

/* V8.2.20 — édition directe des paiements, cellule par cellule */
.cash-report table{min-width:1180px;}
.cash-inline-input{width:100%;min-width:105px;box-sizing:border-box;padding:7px 8px;border:1px solid #d7dce3;border-radius:7px;background:#fff;font:inherit;}
.cash-inline-input:focus{outline:2px solid rgba(38,110,255,.18);border-color:#5b8def;}
.cash-inline-date{min-width:138px;}
.cash-inline-category{min-width:120px;}
.cash-inline-select{min-width:105px;}
.cash-inline-amount{min-width:100px;text-align:right;font-weight:700;}
.cash-row-expense .cash-inline-input{background:#fff8f8;}
.cash-actions{white-space:nowrap;}
@media (max-width:900px){.cash-report table{min-width:1050px}.cash-inline-input{min-width:95px}}

/* V8.2.22 — période personnalisée du bilan */
.cash-monthly-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.cash-monthly-toolbar label{min-width:150px}
.cash-monthly-toolbar input,.cash-monthly-toolbar select{width:100%}

/* V8.2.27 — Estado de cuenta / cliente */
.statement-client-info{margin:12px 0 16px;border:1px solid #D6E1E7;border-radius:10px;background:#F8FBFC;padding:12px 14px}
.statement-client-info:empty{display:none}
.statement-client-info-title{font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);margin-bottom:9px}
.statement-client-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 18px}
.statement-client-info-grid span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:2px}
.statement-client-info-grid strong{display:block;overflow-wrap:anywhere}
@media(max-width:850px){.statement-client-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.statement-client-info-grid{grid-template-columns:1fr}}

/* ============================================================
   RC AIRE V9.0.0 — optimisation mobile / iPhone + PWA
   Aucun impact sur les données : rcAireDataV1 reste inchangé.
   ============================================================ */
:root{
  --mobile-nav-height:74px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-top:env(safe-area-inset-top,0px);
}

/* Confort tactile global */
button,.tab,.import-label,input,select,textarea{touch-action:manipulation}
button,.import-label{min-height:40px}

@media (max-width:760px){
  html{-webkit-text-size-adjust:100%;scroll-padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 12px)}
  body{
    padding-left:0!important;
    padding-top:72px!important;
    padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 14px)!important;
    overflow-x:hidden;
  }

  /* Barre du haut compacte */
  .app-topbar,.sidebar-collapsed .app-topbar{
    left:0!important;
    top:0;
    min-height:0;
    padding:calc(10px + var(--safe-top)) 12px 10px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px;
  }
  .app-topbar>div:first-child{min-width:0;flex:1}
  .app-topbar h1{font-size:20px;line-height:1.15;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .app-topbar p{display:none}
  .dashboard-main-actions{
    display:flex!important;
    flex:0 0 auto;
    gap:5px!important;
    max-width:58vw;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .dashboard-main-actions::-webkit-scrollbar{display:none}
  .dashboard-main-actions button,.dashboard-main-actions .import-label{
    min-height:42px;
    padding:8px 10px!important;
    font-size:12px!important;
    white-space:nowrap;
    border-radius:10px;
  }

  /* La barre latérale devient une navigation basse iPhone */
  .app-sidebar,.sidebar-collapsed .app-sidebar{
    transform:none!important;
    position:fixed!important;
    inset:auto 0 0 0!important;
    width:100%!important;
    height:calc(var(--mobile-nav-height) + var(--safe-bottom))!important;
    padding-bottom:var(--safe-bottom);
    display:block!important;
    background:rgba(3,37,74,.98)!important;
    box-shadow:0 -5px 20px rgba(3,37,74,.20)!important;
    border-top:1px solid rgba(255,255,255,.12);
    z-index:1400;
  }
  .sidebar-brand,.sidebar-footer,.sidebar-toggle{display:none!important}
  .sidebar-tabs{
    height:var(--mobile-nav-height);
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:2px!important;
    padding:5px 6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .sidebar-tabs::-webkit-scrollbar{display:none}
  .sidebar-tabs .tab,.sidebar-collapsed .sidebar-tabs .tab{
    flex:0 0 72px;
    width:72px!important;
    min-height:62px!important;
    padding:5px 3px!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:2px!important;
    border-radius:10px!important;
    scroll-snap-align:center;
    text-align:center!important;
  }
  .sidebar-tabs .tab-icon{width:auto!important;flex:0 0 auto!important;font-size:20px!important;line-height:1.1}
  .sidebar-tabs .tab-label,.sidebar-collapsed .tab-label{
    display:block!important;
    max-width:68px;
    font-size:9.5px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }

  main{padding:10px 10px 18px!important;max-width:100%!important}
  .view{max-width:100%;overflow-x:hidden}
  .panel,.card{border-radius:12px!important}
  .panel{padding:12px!important}
  .cards{grid-template-columns:1fr!important;gap:10px!important}
  .grid-2{grid-template-columns:1fr!important;gap:10px!important}

  /* Formulaires pensés pour le doigt et sans zoom Safari */
  input,select,textarea{
    font-size:16px!important;
    min-height:44px;
    max-width:100%;
    box-sizing:border-box;
  }
  textarea{min-height:78px}
  button,.primary,.secondary-btn,.danger,.import-label{
    min-height:44px;
    font-size:14px;
  }
  .client-form-grid,.edit-order-header,.edit-order-header-expanded,.edit-new-line,.edit-new-line-complete,
  .inventory-tools,.inventory-tools-main,.statistics-filters,.statement-filters{
    grid-template-columns:1fr!important;
  }

  /* Tableaux : scroll horizontal fluide, sans casser les colonnes */
  .table-wrap,.tomorrow-stock-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    border-radius:10px;
  }
  table{font-size:12px}
  th{padding:8px 7px}
  td{padding:8px 7px}
  .table-wrap::after{content:"";display:block;width:1px;height:1px}

  /* Nouvelle commande : récap compact mais lisible */
  #orderForm .table-wrap{margin-inline:0!important}
  .draft-lines-table{min-width:390px!important;font-size:11.5px!important}
  .draft-lines-table th,.draft-lines-table td{padding:7px 2px!important}
  .draft-lines-table th:nth-child(1),.draft-lines-table td:nth-child(1){width:25%!important}
  .draft-lines-table th:nth-child(2),.draft-lines-table td:nth-child(2){width:17%!important}
  .draft-lines-table th:nth-child(3),.draft-lines-table td:nth-child(3){width:10%!important}
  .draft-lines-table th:nth-child(4),.draft-lines-table td:nth-child(4){width:15%!important}
  .draft-lines-table th:nth-child(5),.draft-lines-table td:nth-child(5){width:23%!important}
  .draft-lines-table th:nth-child(6),.draft-lines-table td:nth-child(6){width:10%!important}
  .create-order-sticky{bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 8px)!important;z-index:1200!important}

  /* Planning journalier : actions faciles au doigt */
  .daily-planning-event{margin-bottom:10px!important}
  .daily-planning-content{padding:11px!important}
  .daily-planning-content select,.daily-planning-content button{min-height:42px!important}

  /* Bilan / caisse */
  .cash-monthly-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .cash-monthly-toolbar label,.cash-monthly-toolbar select,.cash-monthly-toolbar input{width:100%!important;min-width:0!important}
  .cash-report table{min-width:1020px!important}

  /* État de compte */
  .statement-header{gap:10px!important}
  .statement-brand-block{gap:8px!important}
  .statement-logo{width:145px!important;max-width:42vw!important}
  .statement-actions{display:flex;gap:6px;flex-wrap:wrap}
  .statement-summary{width:100%!important;max-width:none!important}
  .statement-client-info-grid{grid-template-columns:1fr!important}

  /* Modales plein écran confortable sur iPhone */
  .modal-overlay{padding:0!important;align-items:stretch!important}
  .modal-card{
    width:100%!important;
    max-width:none!important;
    min-height:100dvh;
    max-height:100dvh!important;
    border-radius:0!important;
    padding:calc(14px + var(--safe-top)) 12px calc(18px + var(--safe-bottom))!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  /* Bouton retour haut au-dessus de la nav */
  .scroll-top-button{bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 14px)!important;right:12px!important}
}

@media (max-width:390px){
  .app-topbar h1{font-size:18px}
  .dashboard-main-actions{max-width:54vw}
  .dashboard-main-actions button,.dashboard-main-actions .import-label{padding-inline:8px!important;font-size:11px!important}
  main{padding-inline:7px!important}
}
