*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#172033;background:#f4f6f9}a{color:#0f2747}button,input,select{font:inherit}.top,.employee-top{background:#0f2747;color:#fff;padding:17px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.top div,.employee-top div{display:flex;flex-direction:column}.top span,.employee-top span{opacity:.75;font-size:13px}.ghost{color:#fff;text-decoration:none;border:1px solid #ffffff42;padding:8px 11px;border-radius:9px}.nav{background:#fff;border-bottom:1px solid #e3e7ed;padding:10px 20px;display:flex;gap:8px;flex-wrap:wrap}.nav a{text-decoration:none;font-weight:700;padding:9px 12px;border-radius:9px}.nav a:hover{background:#eef2f7}.settings-link{margin-left:auto}.wrap{max-width:1280px;margin:24px auto;padding:0 16px 60px}.wrap>h1{margin:0 0 18px}.panel,.stock-card,.right-card{background:#fff;border:1px solid #e2e6eb;border-radius:15px;padding:18px;box-shadow:0 2px 8px #00000008}.panel h2{margin-top:0}.split{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.6fr);gap:16px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:block;font-size:13px;font-weight:700;margin:10px 0 5px}input,select{width:100%;padding:10px 11px;border:1px solid #cbd2db;border-radius:9px;background:#fff}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.primary,button{display:inline-block;border:0;border-radius:9px;padding:10px 13px;background:#0f2747;color:#fff;font-weight:700;cursor:pointer;text-decoration:none}button:hover,.primary:hover{opacity:.9}.toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:13px}.toolbar input{max-width:360px}.toolbar select{min-width:140px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;vertical-align:top;font-size:14px}th{background:#f8fafc}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.notice{padding:12px 14px;border-radius:11px;margin:0 0 12px;border:1px solid}.notice.good{background:#edf9f1;color:#146b33;border-color:#bde6ca}.notice.warn{background:#fff7e7;color:#835100;border-color:#ffd99b}.notice.danger{background:#fff0f0;color:#a01e1e;border-color:#f4bcbc}.notice.info{background:#eff6ff;color:#245da8;border-color:#cadcf4}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stock-top{display:flex;justify-content:space-between;gap:10px}.stock-top h2{font-size:19px;margin:0}.stock-top p{color:#687181;margin:4px 0}.stock-top>b{background:#e6f6ec;color:#16803c;height:min-content;padding:6px 8px;border-radius:99px;font-size:12px;white-space:nowrap}.stock-top>b.low{background:#fff0da;color:#9b5b00}.bar{height:9px;border-radius:99px;background:#e8ecf0;overflow:hidden;margin:12px 0 8px}.bar i{display:block;height:100%;background:#f28c28}.offer-admin{border:1px solid #e2e6eb;border-radius:13px;padding:14px;margin-bottom:10px}.offer-admin h2{margin:0;font-size:18px}.offer-admin p{margin:5px 0;color:#687181}.stockform{display:grid;grid-template-columns:1.2fr .55fr .9fr 1.4fr auto;gap:6px;margin-top:10px}.unpaid{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e5e7eb}.unpaid form{display:flex;gap:5px}.code{font-family:Consolas,monospace;font-weight:800;letter-spacing:1.5px}.login{max-width:480px;margin:70px auto;padding:0 16px}.login .panel{padding:24px}.login h1{margin-top:6px}.brand{font-weight:900;color:#f28c28;letter-spacing:1px}.muted{color:#687181}.hidden{display:none!important}.employee-bg{background:#f4f6f9}.employee-wrap{max-width:920px;margin:25px auto;padding:0 16px 50px}.employee-name h1{margin:0}.employee-name p{margin-top:4px;color:#687181}.rights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.right-head{display:flex;justify-content:space-between;gap:8px;align-items:start}.right-head h2{font-size:18px;margin:0}.right-head span{font-size:12px;color:#687181}.remaining{font-size:38px;font-weight:900;margin:13px 0 0}.right-card p{color:#687181;margin-bottom:0}.privacy{text-align:center;color:#687181;font-size:13px;margin-top:20px}.codeinput{text-align:center;text-transform:uppercase;font-size:20px;letter-spacing:2px}.alerts{display:grid;gap:8px;margin-bottom:14px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setting-card h2{font-size:18px}.profile-head{display:flex;justify-content:space-between;gap:10px;align-items:start;flex-wrap:wrap}.employee-profile h3{margin-top:22px}.empty-ok{color:#146b33;background:#edf9f1;padding:11px;border-radius:10px}.panel-title-row{display:flex;justify-content:space-between;align-items:start}

/* ==========================================================
   CAISSE — INTERFACE PRO
   ========================================================== */

.cash-page{
  --cash-navy:#0b2d58;
  --cash-navy-2:#143e73;
  --cash-orange:#ff6b00;
  --cash-orange-dark:#e85f00;
  --cash-green:#17823b;
  --cash-blue:#1769d1;
  --cash-border:#dfe5ec;
  --cash-muted:#6d7888;
  --cash-bg:#f5f7fa;
  --cash-card:#ffffff;
  --cash-shadow:0 8px 24px rgba(16,36,69,.06);
}

.cash-pro-layout{
  display:grid;
  grid-template-columns:290px minmax(0,1fr) 260px;
  gap:16px;
  align-items:stretch;
}

.cash-pro-card{
  background:var(--cash-card);
  border:1px solid var(--cash-border);
  border-radius:16px;
  padding:18px;
  box-shadow:var(--cash-shadow);
}

.cash-pro-heading{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:17px;
}

.cash-pro-heading.compact{
  margin-bottom:14px;
}

.cash-pro-heading h2{
  margin:0;
  font-size:18px;
  line-height:1.1;
  color:#102445;
}

.cash-pro-heading p{
  margin:4px 0 0;
  font-size:12px;
  color:var(--cash-muted);
}

.cash-step{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--cash-navy);
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.cash-recap-mark{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  color:var(--cash-navy);
  font-size:26px;
  font-weight:900;
}

.cash-pro-select{
  width:100%;
  min-height:45px;
  padding:10px 12px;
  border:1px solid #cdd6e1;
  border-radius:10px;
  background:#fff;
  color:#172033;
  font-size:15px;
}

.cash-pro-select:focus{
  outline:none;
  border-color:#7ba9e6;
  box-shadow:0 0 0 3px rgba(23,105,209,.10);
}

.employee-status{
  margin-top:12px;
  padding:12px 13px;
  border-radius:11px;
  border:1px solid #dfe5ec;
  background:#f8fafc;
}

.employee-status-label{
  display:block;
  margin-bottom:3px;
  color:var(--cash-muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.employee-status strong{
  color:#364152;
  font-size:15px;
}

.employee-status.active{
  background:#eef6ff;
  border-color:#a9caef;
}

.employee-status.active strong{
  color:#124f99;
}

.rights-box-pro{
  margin-top:18px;
  padding:14px;
  border:1px solid #d7e5f7;
  border-radius:12px;
  background:#f7fbff;
}

.rights-box-title{
  margin-bottom:9px;
  color:#183d68;
  font-size:12px;
  font-weight:800;
}

.rights-pro-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  color:#49576a;
  font-size:13px;
}

.rights-pro-row b{
  color:#172033;
  font-size:15px;
}

.rights-pro-left{
  margin-top:5px;
  padding-top:10px;
  border-top:1px solid #d7e5f7;
}

.rights-pro-left span,
.rights-pro-left b{
  color:var(--cash-green);
  font-weight:900;
}

.cash-pro-main{
  display:grid;
  align-content:start;
  gap:14px;
}

.ticket-buttons-pro{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}

.ticket-choice-pro{
  min-height:86px;
  padding:14px 12px;
  border:1px solid #d3dce7;
  border-radius:12px;
  background:#fff;
  color:#102445;
  font-size:17px;
  font-weight:900;
  line-height:1.2;
  transition:transform .08s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;
}

.ticket-choice-pro:hover{
  opacity:1;
  border-color:#ff9b54;
  background:#fffaf6;
  transform:translateY(-1px);
}

.ticket-choice-pro.selected{
  background:linear-gradient(135deg,var(--cash-orange),#ff7b1d)!important;
  border-color:var(--cash-orange-dark)!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(255,107,0,.20);
}

.cash-pro-controls{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:14px;
}

.qty-control-pro{
  display:grid;
  grid-template-columns:54px 1fr 54px;
  gap:9px;
  align-items:center;
}

.qty-control-pro button{
  height:62px;
  padding:0;
  border-radius:10px;
  background:var(--cash-navy);
  color:#fff;
  font-size:28px;
}

.qty-control-pro button:hover{
  opacity:1;
  background:var(--cash-navy-2);
}

#qtyDisplay{
  height:62px;
  display:grid;
  place-items:center;
  border:1px solid #d3dce7;
  border-radius:10px;
  background:#fff;
  color:#102445;
  font-size:30px;
  font-weight:900;
}

.cash-pro-hint{
  margin-top:9px;
  color:var(--cash-muted);
  font-size:11px;
  text-align:center;
}

.payment-buttons-pro{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.payment-choice-pro{
  min-height:70px;
  padding:8px 5px;
  border:1px solid #d3dce7;
  border-radius:10px;
  background:#fff;
  color:#102445;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-size:11px;
  font-weight:800;
}

.payment-choice-pro:hover{
  opacity:1;
  border-color:#8ba9cd;
  background:#f8fbff;
}

.payment-symbol{
  min-width:30px;
  height:24px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:#eef3f9;
  color:#183d68;
  font-size:11px;
  font-weight:900;
}

.payment-choice-pro.selected{
  background:var(--cash-navy)!important;
  border-color:var(--cash-navy)!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(11,45,88,.16);
}

.payment-choice-pro.selected .payment-symbol{
  background:rgba(255,255,255,.15);
  color:#fff;
}

.checkout-bar{
  min-height:78px;
  display:grid;
  grid-template-columns:135px 145px minmax(220px,1fr);
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid #dfe5ec;
  border-radius:14px;
  background:#fff;
  box-shadow:var(--cash-shadow);
}

.checkout-total span,
.checkout-left span{
  display:block;
  margin-bottom:4px;
  color:var(--cash-muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
}

.checkout-total strong{
  color:var(--cash-orange);
  font-size:24px;
}

.checkout-left strong{
  color:var(--cash-green);
  font-size:22px;
}

.cash-submit-pro{
  width:100%;
  min-height:52px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--cash-orange),#ff7b1d);
  color:#fff;
  font-size:16px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(255,107,0,.20);
}

.cash-submit-pro:hover:not(:disabled){
  opacity:1;
  background:linear-gradient(135deg,var(--cash-orange-dark),var(--cash-orange));
}

.cash-submit-pro:disabled{
  background:#d6dde6;
  color:#8792a1;
  box-shadow:none;
  cursor:not-allowed;
  opacity:1;
}

.cash-pro-recap{
  height:100%;
}

.recap-pro-row{
  padding:11px 0;
  border-bottom:1px solid #e7ebf0;
}

.recap-pro-row span{
  display:block;
  margin-bottom:4px;
  color:var(--cash-muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.35px;
}

.recap-pro-row b{
  display:block;
  color:#172033;
  font-size:14px;
  line-height:1.25;
}

.recap-pro-row.inline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.recap-pro-row.inline span{
  margin:0;
}

.recap-pro-row.inline b{
  text-align:right;
}

.recap-pro-total{
  margin-top:16px;
  padding:14px;
  border-radius:12px;
  background:#fff4eb;
  border:1px solid #ffd2b2;
}

.recap-pro-total span{
  display:block;
  color:#8a4a1d;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.recap-pro-total strong{
  display:block;
  margin-top:3px;
  color:var(--cash-orange);
  font-size:29px;
  line-height:1;
}

.cash-success{
  margin-bottom:16px;
  padding:15px 16px;
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:13px;
  align-items:center;
  border:2px solid #92d6aa;
  border-radius:14px;
  background:#effaf3;
  box-shadow:0 7px 18px rgba(23,130,59,.08);
}

.cash-success-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#17823b;
  color:#fff;
  font-size:26px;
  font-weight:900;
}

.cash-success-text>span{
  color:#17823b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
}

.cash-success-text h2{
  margin:2px 0 4px;
  color:#176d35;
  font-size:18px;
}

.cash-success-text p{
  margin:0;
  color:#2e3b49;
  font-size:13px;
}

.cash-success-actions{
  display:flex;
  gap:7px;
}

.cash-success-actions button{
  background:var(--cash-navy);
  font-size:12px;
}

.cash-success-actions .btn-light{
  background:#fff;
  color:#3d4b5b;
  border:1px solid #d4dce6;
}

.unpaid-panel{
  margin-top:16px;
}

/* ---------- reçu compact ---------- */

.print-receipt{
  display:none;
}

@media print{
  body *{
    visibility:hidden!important;
  }

  #printReceipt,
  #printReceipt *{
    visibility:visible!important;
  }

  #printReceipt{
    display:block!important;
    position:absolute;
    left:0;
    top:0;
    width:62mm;
    padding:4mm;
    background:#fff;
    color:#000;
    font-family:Arial,Helvetica,sans-serif;
  }

  .receipt-brand{
    padding-bottom:5px;
    border-bottom:2px solid #000;
    text-align:center;
    font-size:13px;
    font-weight:900;
  }

  .receipt-row,
  .receipt-amount{
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:5px 0;
    border-bottom:1px solid #ddd;
    font-size:10px;
  }

  .receipt-row span,
  .receipt-amount span{
    color:#555;
  }

  .receipt-row b,
  .receipt-amount b{
    text-align:right;
  }

  .receipt-amount{
    padding-top:7px;
    border-bottom:0;
    font-size:13px;
    font-weight:900;
  }
}

/* ---------- responsive ---------- */

@media(max-width:1100px){
  .cash-pro-layout{
    grid-template-columns:260px minmax(0,1fr);
  }

  .cash-pro-recap{
    grid-column:1/-1;
  }
}

@media(max-width:800px){
  .cash-pro-layout{
    grid-template-columns:1fr;
  }

  .cash-pro-controls{
    grid-template-columns:1fr;
  }

  .ticket-buttons-pro{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .checkout-bar{
    grid-template-columns:1fr 1fr;
  }

  .cash-submit-pro{
    grid-column:1/-1;
  }
}

@media(max-width:520px){
  .ticket-buttons-pro{
    grid-template-columns:1fr;
  }

  .payment-buttons-pro{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .checkout-bar{
    grid-template-columns:1fr;
  }

  .cash-submit-pro{
    grid-column:auto;
  }

  .cash-success{
    grid-template-columns:1fr;
    text-align:center;
  }

  .cash-success-icon{
    margin:auto;
  }

  .cash-success-actions{
    justify-content:center;
    flex-wrap:wrap;
  }
}

/* Recherche salarié — ajout ciblé, design caisse inchangé */
.employee-combobox{
  position:relative;
}

.employee-search-input{
  padding-right:38px;
}

.employee-suggestions{
  position:absolute;
  z-index:50;
  top:calc(100% + 6px);
  left:0;
  right:0;
  max-height:260px;
  overflow-y:auto;
  padding:6px;
  border:1px solid #d6dee8;
  border-radius:11px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,36,69,.14);
}

.employee-suggestion{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#172033;
  text-align:left;
  font-size:14px;
  font-weight:700;
}

.employee-suggestion:hover,
.employee-suggestion:focus{
  opacity:1;
  background:#eef6ff;
  color:#124f99;
  outline:none;
}

@media(max-width:520px){
  .employee-suggestions{
    max-height:220px;
  }

  .employee-suggestion{
    min-height:46px;
    font-size:15px;
  }
}
