/* A-DEUX | Brasserie Warm Theme (front + admin) */
:root{--bg:#faf7f2;--card:#fff;--accent:#c8a16a;--accent-dark:#8a693c;--text:#3a2f2a;--text-light:#6f6761;--line:#e3ded8;--danger:#b7000a;--success:#1b7400;--warn:#a26b00;--radius:12px;--shadow:0 4px 14px rgba(0,0,0,.08);--font:'Segoe UI',Roboto,Arial,sans-serif;}
html,body{margin:0;padding:0;font-family:var(--font);color:var(--text);background:var(--bg);}
.container{max-width:1200px;margin:0 auto;padding:1.2rem;}
h1,h2,h3{margin-top:0;font-weight:600;color:var(--text);}
a{color:var(--accent-dark);text-decoration:none}a:hover{text-decoration:underline}
.card,.form-card{background:var(--card);border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.2rem;box-shadow:var(--shadow)}
.btn,button{cursor:pointer;padding:.55rem 1rem;font-size:1rem;border-radius:var(--radius);background:var(--accent);border:none;color:#fff;font-weight:600;display:inline-block;text-align:center;transition:background .2s}
.btn:hover,button:hover{background:var(--accent-dark)}
.btn.ghost{background:none;border:2px solid var(--accent);color:var(--accent-dark)}.btn.ghost:hover{background:var(--accent);color:#fff}
.btn.secondary{background:#ddd;color:#333}.btn.secondary:hover{background:#ccc}
input,select,textarea{width:100%;padding:.55rem;border-radius:var(--radius);border:1px solid var(--line);font-size:1rem;box-sizing:border-box}
label{display:flex;flex-direction:column;gap:.25rem}
.form-row{display:flex;gap:1rem}.split-2>*{flex:1}
.row{display:flex;gap:.7rem;flex-wrap:wrap}
.page-head{margin-bottom:1rem}.page-head h1{font-size:1.8rem;margin-bottom:.2rem}.note{color:var(--text-light);font-size:.9rem}
.alert{border-radius:var(--radius);padding:1rem;font-weight:500;margin-bottom:1rem}
.alert.warn{background:#fff5d9;border-left:4px solid var(--warn)}
.alert.error{background:#ffe0e0;border-left:4px solid var(--danger)}
.alert.success{background:#e8fbe8;border-left:4px solid var(--success)}
.slot-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.7rem}
.slot-btn{display:block;padding:.55rem 0;background:var(--accent);color:#fff;border-radius:var(--radius);font-weight:600;text-align:center;border:2px solid var(--accent)}
.slot-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.slot-btn[aria-disabled=true]{pointer-events:none;background:#ddd;color:#777;border-style:dashed;border-color:#bbb}
.tag{font-size:.8rem;color:var(--text-light);margin-left:.3rem}
.filterbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.filterbar label{flex-direction:row;gap:.5rem;align-items:center}
.filterbar input[type=date],.filterbar input[type=number],.filterbar input[type=text],.filterbar select{width:auto}
.filterbar .actions{margin-left:auto;display:flex;gap:.5rem}
table{width:100%;border-collapse:collapse;font-size:.95rem}
thead th{text-align:left;padding:.6rem;background:#f2eee9;border-bottom:2px solid var(--line)}
tbody tr{border-bottom:1px solid var(--line)}tbody td{padding:.6rem}
.badge-status{padding:3px 8px;border-radius:8px;font-size:.85rem;font-weight:600;display:inline-block}
.badge-pending{background:#fff3d1;color:#795900}.badge-confirmed{background:#eaffdf;color:#235f02}.badge-seated{background:#ffe7bd;color:#8a4b00}.badge-finished{background:#e2e6ea;color:#3e4a54}.badge-no_show{background:#ffd6d6;color:#7b0000}.badge-cancelled{background:#e8e8e8;color:#555}
.brand{text-align:center;padding:1.2rem 0 1rem}.brand img{max-height:95px;width:auto}.brand-home{text-decoration:none}
.fade-in{animation:fadein .35s ease}@keyframes fadein{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.footer-left {
   text-align:left;
    float:left;
}
.footer-right {
    float: right;
}

.icon-btn {
  display: inline-block;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid #ddd;
  background: #fff;
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  margin-right: 4px;
}

.icon-btn:hover {
  background: #f5f5f5;
}

.icon-btn.danger {
  border-color: #c0392b;
  color: #c0392b;
}

/* ==== ADMIN TABLE FIX ==== */

.container {
  max-width: 1200px; /* was waarschijnlijk 900px of minder */
}

/* Tabel blijft binnen witte kaart */
.table-wrapper {
  width: 100%;
  overflow-x: auto;
}

/* Mooie tabel */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}

thead th {
  position: sticky;
  top: 0;
  background: #fafafa;
  z-index: 2;
  text-align: left;
  padding: 10px 12px;
  border-bottom: 2px solid #ddd;
  white-space: nowrap;
}

tbody td {
  padding: 10px 12px;
  border-bottom: 1px solid #eee;
  vertical-align: top;
}

tbody tr:hover {
  background: #fcfcfc;
}

/* Kolommen netjes */
th.nowrap,
td.nowrap {
  white-space: nowrap;
}

/* Actieknoppen */
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid #ddd;
  background: #fff;
  text-decoration: none;
  font-size: 15px;
  margin-right: 4px;
  transition: all 0.15s ease;
}

.icon-btn:hover {
  background: #f0f0f0;
  transform: translateY(-1px);
}

.icon-btn.danger {
  border-color: #e2b4b4;
  color: #b53b3b;
}

/* Filters mooi in 1 lijn */
.filters-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
}

.filters-inline label {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  gap: 3px;
}

.filters-inline input,
.filters-inline select {
  padding: 6px 8px;
  min-width: 180px;
}

/* Opmerkingen compact */
td span[title] {
  cursor: help;
  border-bottom: 1px dotted #bbb;
}

/* Mobiel */
@media (max-width: 768px) {
  .container {
    max-width: 100%;
    padding: 10px;
  }
}
