:root{--gold:#d4af37;--gold2:#9d7c12;--bg:#0d0d0d;--panel:#171717;--panel2:#202020;--text:#f5f5f5;--muted:#aaa;--danger:#d9534f;--ok:#2ea66b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}.hidden{display:none!important}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#24200f 0,#0b0b0b 45%)}.login-card{width:min(430px,100%);background:#151515;border:1px solid #3f3512;border-radius:22px;padding:30px;box-shadow:0 30px 80px #000}.brand{text-align:center}.brand img{width:145px;height:90px;object-fit:contain}.brand h1{color:var(--gold);font-size:25px;margin:10px 0 3px}.brand p{color:var(--muted);margin:0 0 25px}.pin{width:100%;font-size:30px;letter-spacing:16px;text-align:center;padding:15px;border-radius:12px;border:1px solid #444;background:#0f0f0f;color:white}.btn{border:0;border-radius:10px;padding:12px 16px;cursor:pointer;font-weight:700}.btn-gold{background:var(--gold);color:#111}.btn-dark{background:#2a2a2a;color:#fff;border:1px solid #444}.btn-danger{background:#4a1717;color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.error{color:#ff8d8d;margin-top:12px}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#050505;border-right:1px solid #202020;padding:22px 14px;position:sticky;top:0;height:100vh}.sidebar .brand img{width:120px;height:75px}.user-card{margin:18px 0;padding:14px;border:1px solid #333;border-radius:14px}.user-card strong{display:block;color:var(--gold)}nav button{width:100%;text-align:left;margin:4px 0;background:transparent;color:#ddd;border:0;padding:13px;border-radius:10px;cursor:pointer;font-weight:650}nav button.active,nav button:hover{background:#332b0c;color:#f1ce55}.main{padding:28px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.topbar h2{color:var(--gold);margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px}.card{background:var(--panel);border:1px solid #252525;border-radius:16px;padding:20px}.metric b{font-size:28px}.metric span{color:var(--muted);display:block;margin-bottom:8px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.input{background:#111;border:1px solid #393939;border-radius:9px;color:#fff;padding:11px 12px;min-width:160px}.table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:14px;overflow:hidden}.table th,.table td{padding:13px;border-bottom:1px solid #292929;text-align:left}.table th{color:var(--gold);background:#121212}.tag{display:inline-block;padding:5px 9px;border-radius:20px;background:#2b2715;color:#e8c748;font-size:12px}.tag.ok{background:#123c29;color:#75dfad}.tag.danger{background:#471b1b;color:#ff9999}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.product{background:var(--panel);border:1px solid #2a2a2a;border-radius:13px;padding:14px;cursor:pointer}.product:hover{border-color:var(--gold)}.product img{width:100%;height:90px;object-fit:contain;background:#0c0c0c;border-radius:8px}.product h4{margin:8px 0 4px}.muted{color:var(--muted)}.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #333}.total{font-size:30px;color:var(--gold);font-weight:800;text-align:right;padding:18px 0}.modal-wrap{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(900px,96vw);max-height:90vh;overflow:auto;background:#171717;border:1px solid #393939;border-radius:18px;padding:22px}.modal h3{margin-top:0;color:var(--gold)}.pending{display:grid;grid-template-columns:1fr auto;gap:14px;background:#202020;border:1px solid #333;border-radius:12px;padding:14px;margin:10px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#ddd}.form-grid .full{grid-column:1/-1}.tables-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.bar-table{padding:22px;background:#171717;border:1px solid #333;border-radius:15px;text-align:center}.bar-table.occupied{border-color:#a98620;background:#2a2412}.notice{padding:12px;border-radius:10px;background:#3a3110;color:#f1d465;margin-bottom:12px}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.grid,.two-col,.tables-grid{grid-template-columns:1fr}.main{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
.stock-thumb{width:54px;height:54px;object-fit:cover;border-radius:10px;background:#0c0c0c;border:1px solid #333;display:block}.stock-placeholder{display:grid;place-items:center;font-size:24px}.photo-field input[type=file]{width:100%;padding:10px}.photo-preview-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px;border:1px dashed #444;border-radius:12px;background:#101010}.photo-preview{width:150px;height:150px;object-fit:contain;background:#080808;border-radius:12px;border:1px solid #333}.photo-empty{width:150px;height:100px;display:grid;place-items:center;color:var(--muted);background:#101010;border-radius:12px}.remove-photo{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;color:#ffaaaa!important}

/* Correction d'affichage des photos de boissons */
.stock-thumb{
  width:72px;
  height:72px;
  object-fit:contain;
  object-position:center;
  padding:4px;
  border-radius:12px;
  background:#0a0a0a;
  border:1px solid #333;
  display:block;
}
.table td:first-child{
  width:96px;
  min-width:96px;
  vertical-align:middle;
}
.product img{
  width:100%;
  height:120px;
  object-fit:contain;
  object-position:center;
  padding:6px;
  background:#0a0a0a;
  border-radius:10px;
}
.photo-preview{
  width:180px;
  height:180px;
  object-fit:contain;
  object-position:center;
  padding:6px;
  background:#080808;
}

.category-filter {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 14px;
  scrollbar-width: thin;
}
.category-filter-btn {
  flex: 0 0 auto;
  border: 1px solid #3a3a3a;
  border-radius: 20px;
  padding: 9px 15px;
  background: var(--panel);
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
}
.category-filter-btn:hover,
.category-filter-btn.active {
  border-color: var(--gold);
  background: #332b0c;
  color: #f1ce55;
}
.empty-products {
  grid-column: 1 / -1;
  padding: 20px;
  text-align: center;
}
.sale-detail {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  margin-bottom: 10px;
  padding: 14px;
  border: 1px solid #333;
  border-radius: 12px;
  background: #202020;
}
.sale-detail ul {
  margin: 10px 0 0;
  padding-left: 20px;
}
.report-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.purchase-total { display:flex; justify-content:space-between; margin-bottom:14px; }
.purchase-total b { color:var(--gold); font-size:24px; }
.purchase-entry { display:grid; grid-template-columns:90px 1fr auto; gap:14px; align-items:center; padding:14px; margin-bottom:10px; border:1px solid #333; border-radius:12px; background:#202020; }
.invoice-thumb,.invoice-placeholder { width:80px; height:80px; border-radius:8px; object-fit:cover; background:#111; }
.invoice-placeholder { display:grid; place-items:center; text-align:center; color:var(--muted); font-size:12px; }
.invoice-preview { max-width:220px; max-height:220px; border-radius:10px; object-fit:contain; }
@media(max-width:600px) {
  .report-summary { grid-template-columns: 1fr; }
  .report-toolbar .btn,
  .report-toolbar .input { width: 100%; }
  .purchase-entry { grid-template-columns:70px 1fr; }
  .purchase-entry > strong { grid-column:2; }
  .invoice-thumb,.invoice-placeholder { width:64px; height:64px; }
}
