/* ─────────────────────────────────────────────────────────────────────────
   EVOAK BEHEER — Admin Management Interface
   ───────────────────────────────────────────────────────────────────────── */
:root{--evb-bg:#1c1510;--evb-card:#251e17;--evb-border:#3a2f24;--evb-gold:#c9a96e;--evb-cream:#f5ede0;--evb-muted:#8a7a6a;--evb-green:#5a9a6a;--evb-red:#9a3a3a;--evb-purple:#7a6a9a;--evb-blue:#4a7a9a;--evb-font:'Georgia',serif}

.evk-b-wrap{background:var(--evb-bg);color:var(--evb-cream);font-family:var(--evb-font);min-height:100vh;padding:2rem 1.5rem;box-sizing:border-box}
.evk-b-wrap *{box-sizing:border-box}

/* Header */
.evk-b-header{text-align:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--evb-border)}
.evk-b-header h1{font-size:2rem;letter-spacing:.15em;color:var(--evb-gold);margin:0 0 .3rem}
.evk-b-header p{color:var(--evb-muted);font-size:.9rem;margin:0}

/* Tabs */
.evk-b-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--evb-border);padding-bottom:0}
.evk-b-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--evb-muted);font-family:var(--evb-font);font-size:.9rem;letter-spacing:.08em;padding:.7rem 1.2rem;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px}
.evk-b-tab:hover{color:var(--evb-cream)}
.evk-b-tab.active{color:var(--evb-gold);border-bottom-color:var(--evb-gold)}

/* Panel */
.evk-b-panel{display:none}.evk-b-panel.active{display:block}

/* Section title */
.evk-b-section-title{font-size:1.1rem;letter-spacing:.1em;color:var(--evb-gold);margin:0 0 1rem;text-transform:uppercase}

/* Card */
.evk-b-card{background:var(--evb-card);border:1px solid var(--evb-border);border-radius:3px;padding:1.5rem;margin-bottom:1.5rem}

/* ── SLOT GRID ─────────────────────────────────────────────────────────── */
.evk-grid-wrap{overflow-x:auto}
.evk-slot-grid{border-collapse:collapse;min-width:700px;width:100%}
.evk-slot-grid th{padding:.5rem .4rem;font-size:.75rem;letter-spacing:.08em;color:var(--evb-gold);text-align:center;border-bottom:1px solid var(--evb-border);white-space:nowrap}
.evk-slot-grid td{padding:.25rem .3rem;text-align:center;border-bottom:1px solid rgba(58,47,36,.4)}
.evk-slot-grid .evk-time-col{color:var(--evb-muted);font-size:.8rem;text-align:right;padding-right:.6rem;white-space:nowrap}
.evk-slot-grid tbody tr:hover td{background:rgba(201,169,110,.04)}

/* Day toggle */
.evk-day-toggle{display:flex;flex-direction:column;align-items:center;gap:.3rem}
.evk-day-name{font-size:.75rem;letter-spacing:.06em;color:var(--evb-cream)}
.evk-toggle-sw{position:relative;width:36px;height:20px;cursor:pointer}
.evk-toggle-sw input{opacity:0;width:0;height:0;position:absolute}
.evk-toggle-track{position:absolute;inset:0;background:#3a2f24;border-radius:10px;transition:background .25s}
.evk-toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#666;border-radius:50%;transition:transform .25s,background .25s}
.evk-toggle-sw input:checked~.evk-toggle-track{background:rgba(201,169,110,.3)}
.evk-toggle-sw input:checked~.evk-toggle-thumb{transform:translateX(16px);background:var(--evb-gold)}

/* Slot checkbox */
.evk-slot-cb{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid var(--evb-border);border-radius:2px;background:transparent;cursor:pointer;position:relative;transition:border-color .2s,background .2s;vertical-align:middle}
.evk-slot-cb:checked{background:var(--evb-gold);border-color:var(--evb-gold)}
.evk-slot-cb:checked::after{content:'✓';position:absolute;top:-1px;left:2px;font-size:13px;color:#1c1510;font-family:sans-serif}
.evk-day-col-disabled .evk-slot-cb{opacity:.2;pointer-events:none}

/* Controls row */
.evk-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}
.evk-input{background:#2a2118;border:1px solid var(--evb-border);color:var(--evb-cream);font-family:var(--evb-font);font-size:.9rem;padding:.55rem .8rem;border-radius:2px;outline:none;transition:border-color .2s}
.evk-input:focus{border-color:var(--evb-gold)}
.evk-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6) sepia(1) hue-rotate(5deg)}

/* Buttons */
.evk-btn{appearance:none;border:none;font-family:var(--evb-font);font-size:.85rem;letter-spacing:.08em;padding:.6rem 1.4rem;border-radius:2px;cursor:pointer;transition:background .2s,opacity .2s}
.evk-btn-primary{background:var(--evb-gold);color:#1c1510}
.evk-btn-primary:hover{background:#b8935a}
.evk-btn-ghost{background:transparent;border:1px solid var(--evb-border);color:var(--evb-cream)}
.evk-btn-ghost:hover{border-color:var(--evb-gold);color:var(--evb-gold)}
.evk-btn-danger{background:var(--evb-red);color:var(--evb-cream)}
.evk-btn-sm{padding:.4rem .9rem;font-size:.78rem}
.evk-btn:disabled{opacity:.4;cursor:not-allowed}

/* Toast */
.evk-toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--evb-card);border:1px solid var(--evb-gold);color:var(--evb-cream);padding:.8rem 1.2rem;border-radius:3px;font-size:.9rem;z-index:9999;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none}
.evk-toast.show{opacity:1;transform:translateY(0)}
.evk-toast.error{border-color:var(--evb-red);color:#e88}

/* ── UPCOMING SLOTS ────────────────────────────────────────────────────── */
.evk-slots-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.evk-filter-btn{background:none;border:1px solid var(--evb-border);color:var(--evb-muted);font-family:var(--evb-font);font-size:.78rem;letter-spacing:.06em;padding:.35rem .8rem;border-radius:2px;cursor:pointer;transition:all .2s}
.evk-filter-btn.active,.evk-filter-btn:hover{border-color:var(--evb-gold);color:var(--evb-gold)}

.evk-slots-list{display:flex;flex-direction:column;gap:.4rem}
.evk-slot-row{display:grid;grid-template-columns:100px 80px 80px 80px 1fr 80px;align-items:center;gap:.6rem;padding:.55rem .8rem;background:var(--evb-card);border:1px solid var(--evb-border);border-radius:2px;font-size:.82rem}
.evk-slot-row.blocked{opacity:.45;border-style:dashed}
.evk-slot-row.booked{border-color:var(--evb-green)}
.evk-slot-date{color:var(--evb-muted)}
.evk-slot-time{color:var(--evb-cream);font-weight:bold}
.evk-slot-zone{color:var(--evb-gold);text-transform:capitalize}
.evk-slot-status{font-size:.75rem;padding:.2rem .5rem;border-radius:2px;text-align:center}
.evk-status-free{background:rgba(90,154,106,.15);color:var(--evb-green)}
.evk-status-booked{background:rgba(90,154,106,.3);color:var(--evb-green)}
.evk-status-blocked{background:rgba(154,58,58,.2);color:#e88}

/* ── CUSTOMER RANKING ──────────────────────────────────────────────────── */
.evk-customers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.evk-customer-card{background:var(--evb-card);border:1px solid var(--evb-border);border-radius:3px;padding:1.2rem;position:relative;transition:border-color .2s}
.evk-customer-card:hover{border-color:var(--evb-gold)}
.evk-cust-rank{position:absolute;top:.8rem;right:.8rem;font-size:1.4rem;color:var(--evb-border);font-family:sans-serif}
.evk-cust-rank.top3{color:var(--evb-gold)}
.evk-cust-tier{font-size:.7rem;letter-spacing:.1em;margin-bottom:.4rem}
.evk-cust-name{font-size:1.05rem;margin:0 0 .2rem;color:var(--evb-cream)}
.evk-cust-email{font-size:.78rem;color:var(--evb-muted);margin-bottom:.8rem}
.evk-cust-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem}
.evk-cust-stat{text-align:center}
.evk-cust-stat-val{font-size:1.1rem;color:var(--evb-gold)}
.evk-cust-stat-lbl{font-size:.68rem;color:var(--evb-muted);letter-spacing:.05em}
.evk-cust-last{font-size:.72rem;color:var(--evb-muted);margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--evb-border)}

/* Generate summary */
.evk-gen-summary{background:rgba(90,154,106,.1);border:1px solid rgba(90,154,106,.3);border-radius:2px;padding:1rem 1.2rem;margin-top:1rem;font-size:.88rem;display:none}
.evk-gen-summary.show{display:block}
.evk-gen-summary strong{color:var(--evb-green)}

/* Override grid */
.evk-override-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:1rem}
.evk-override-day{background:var(--evb-card);border:1px solid var(--evb-border);border-radius:2px;padding:.6rem .4rem;text-align:center}
.evk-override-day-name{font-size:.72rem;color:var(--evb-gold);letter-spacing:.06em;margin-bottom:.4rem}
.evk-override-toggle{font-size:.7rem;display:flex;align-items:center;justify-content:center;gap:.3rem;cursor:pointer;color:var(--evb-muted);margin-bottom:.3rem}
.evk-override-toggle input{accent-color:var(--evb-gold)}

/* Loading spinner */
.evk-loading{text-align:center;color:var(--evb-muted);padding:2rem;font-size:.9rem}
.evk-loading::after{content:'';display:inline-block;width:16px;height:16px;border:2px solid var(--evb-border);border-top-color:var(--evb-gold);border-radius:50%;animation:evk-spin .8s linear infinite;margin-left:.5rem;vertical-align:middle}
@keyframes evk-spin{to{transform:rotate(360deg)}}

/* Empty state */
.evk-empty{text-align:center;color:var(--evb-muted);padding:3rem 1rem;font-size:.9rem}