/* ==========================================================================
   BABA TURC — Admin Dashboard styles  (loads after styles.css for tokens)
   ========================================================================== */
body.admin{background:var(--ink-900);overflow:auto;height:auto;}
.admin-app{display:none;}
body.authed .admin-app{display:block;}
body.authed .gate{display:none;}

/* ---- Password gate ---- */
.gate{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:24px;}
.gate-card{width:100%;max-width:380px;background:var(--ink-700);border:1px solid var(--line);
  border-radius:var(--radius);padding:38px 32px;text-align:center;box-shadow:var(--shadow);}
.gate-card img{height:54px;margin:0 auto 22px;}
.gate-card h1{font-family:var(--f-display);font-weight:800;font-size:22px;margin:0 0 6px;letter-spacing:-.01em;}
.gate-card p{color:var(--cream-mute);font-size:13.5px;margin:0 0 22px;}
.gate-card input{width:100%;background:var(--ink-850);border:1px solid var(--line);border-radius:9px;
  color:var(--cream);padding:13px 14px;font-size:15px;text-align:center;letter-spacing:.05em;}
.gate-card input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,32,60,.16);}
.gate-card .gate-err{color:var(--red-bright);font-size:13px;font-weight:600;margin-top:12px;height:16px;}
.gate-card button{margin-top:8px;width:100%;}

/* ---- Top bar ---- */
.abar{position:sticky;top:0;z-index:40;height:64px;display:flex;align-items:center;
  background:var(--ink-850);border-bottom:1px solid var(--line);}
.abar .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
.abar-l{display:flex;align-items:center;gap:16px;}
.abar-l img{height:32px;}
.abar-l .atitle{font-family:var(--f-display);font-weight:700;font-size:16px;border-left:1px solid var(--line);padding-left:16px;}
.abar-l .atitle b{color:var(--gold-soft);}
.abar-r{display:flex;align-items:center;gap:18px;}
.abar-r .adate{font-size:13px;color:var(--cream-mute);font-family:var(--f-mono);}
.logout{background:var(--ink-700);border:1px solid var(--line);color:var(--cream-dim);border-radius:8px;
  padding:8px 14px;font-size:13px;font-weight:600;transition:.18s;}
.logout:hover{color:#fff;border-color:var(--line-strong);}

.admin-wrap{max-width:1280px;margin:0 auto;padding:30px var(--gutter) 80px;}

/* ---- KPIs ---- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px;}
.kpi{background:var(--ink-700);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 20px;position:relative;overflow:hidden;}
.kpi .kpi-l{font-size:12.5px;color:var(--cream-mute);font-weight:600;display:flex;align-items:center;gap:8px;}
.kpi .kpi-n{font-family:var(--f-display);font-weight:800;font-size:38px;letter-spacing:-.02em;margin-top:10px;line-height:1;}
.kpi .kpi-sub{font-size:12.5px;color:var(--cream-mute);margin-top:8px;}
.kpi .kpi-sub b{color:var(--gold-soft);font-family:var(--f-mono);}
.kpi.alert .kpi-n{color:var(--red-bright);}
.kpi-badge{position:absolute;top:16px;right:16px;background:var(--red);color:#fff;font-size:11px;font-weight:700;
  border-radius:999px;min-width:22px;height:22px;padding:0 7px;display:none;align-items:center;justify-content:center;}
.kpi-badge.show{display:flex;}
.kpi-ic{width:16px;height:16px;color:var(--gold);}
.kpi-ic svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;}

/* ---- Filter bar ---- */
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px;}
.seg{display:flex;background:var(--ink-700);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px;flex-wrap:wrap;}
.seg button{background:none;border:0;color:var(--cream-mute);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:7px;transition:.16s;white-space:nowrap;}
.seg button.active{background:var(--red);color:#fff;}
.seg button:hover:not(.active){color:var(--cream);}
.asearch{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;background:var(--ink-700);border:1px solid var(--line);border-radius:9px;padding:0 12px;}
.asearch svg{width:15px;height:15px;stroke:var(--cream-mute);fill:none;stroke-width:2;flex:0 0 auto;}
.asearch input{flex:1;background:none;border:0;color:var(--cream);font-size:13.5px;padding:10px 0;}
.asearch input:focus{outline:0;}
.adate-range{display:flex;align-items:center;gap:6px;background:var(--ink-700);border:1px solid var(--line);border-radius:9px;padding:6px 10px;}
.adate-range input{background:none;border:0;color:var(--cream-dim);font-size:12.5px;color-scheme:dark;}
.adate-range span{color:var(--cream-mute);font-size:12px;}

/* ---- Table ---- */
.table-wrap{background:var(--ink-700);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.atable{width:100%;border-collapse:collapse;font-size:13.5px;}
.atable thead th{text-align:left;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cream-mute);font-weight:500;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--ink-800);}
.atable tbody td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--cream-dim);}
.atable tbody tr{cursor:pointer;transition:background .14s;}
.atable tbody tr:hover{background:rgba(245,240,232,.03);}
.atable tbody tr:last-child td{border-bottom:0;}
.ref-cell{font-family:var(--f-mono);font-weight:600;color:var(--cream);}
.agency-cell{font-weight:600;color:var(--cream);}
.flag{font-size:16px;margin-right:6px;}
.mini-bar{display:inline-flex;height:7px;width:64px;border-radius:4px;overflow:hidden;background:var(--ink-850);vertical-align:middle;}
.mini-bar i{display:block;height:100%;}
.mini-bar .m1{background:var(--red);}.mini-bar .m2{background:var(--gold);}.mini-bar .m3{background:var(--red-deep);}
.mini-num{font-family:var(--f-mono);font-size:11px;color:var(--cream-mute);margin-left:7px;}
.total-cell{font-family:var(--f-mono);color:var(--cream);white-space:nowrap;}

.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;}
.badge.lunch{background:rgba(201,169,97,.14);color:var(--gold-soft);}
.badge.dinner{background:rgba(139,21,56,.22);color:#e89bad;}
.badge.s-pending{background:rgba(201,169,97,.14);color:var(--gold-soft);}
.badge.s-confirmed{background:rgba(70,160,90,.16);color:#9ad9ac;}
.badge.s-completed{background:rgba(120,130,150,.16);color:#b9c2d4;}
.badge.s-cancelled{background:rgba(200,32,60,.14);color:#f0a0ae;}
.dep{font-size:12px;white-space:nowrap;}
.dep.awaiting{color:var(--cream-mute);}
.dep.receipt{display:inline-flex;align-items:center;gap:5px;background:rgba(201,169,97,.18);color:var(--gold-soft);font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid rgba(201,169,97,.42);}
.dep.verified{color:#9ad9ac;}
.dep.rejected{color:#f0a0ae;}
.empty-row td{text-align:center;color:var(--cream-mute);padding:50px;font-style:italic;font-family:var(--f-serif);}

/* ---- View toggle + Calendar ---- */
.viewtoggle{display:flex;background:var(--ink-700);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px;margin-left:auto;}
.viewtoggle button{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--cream-mute);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:7px;transition:.16s;}
.viewtoggle button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;}
.viewtoggle button.active{background:var(--red);color:#fff;}
.viewtoggle button:hover:not(.active){color:var(--cream);}

.calwrap{background:var(--ink-700);border:1px solid var(--line);border-radius:var(--radius);padding:18px;}
.cal-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.cal-month{font-family:var(--f-display);font-weight:800;font-size:20px;letter-spacing:-.01em;min-width:200px;}
.cal-nav{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--ink-800);color:var(--cream);font-size:18px;line-height:1;transition:.16s;}
.cal-nav:hover{border-color:var(--line-strong);background:var(--ink-600);}
.cal-today{margin-left:auto;border:1px solid var(--line);background:var(--ink-800);color:var(--cream-dim);border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:.16s;}
.cal-today:hover{color:var(--cream);border-color:var(--line-strong);}
.cal-closures{border:1px solid var(--line);background:var(--ink-800);color:var(--cream-dim);border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:.16s;}
.cal-closures:hover{color:var(--cream);border-color:var(--red);}
.cal-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px;}
.cal-legend .cl{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--cream-mute);}
.cal-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;}
.dot-pending{background:var(--gold);}
.dot-confirmed{background:#2e7d4a;}
.dot-completed{background:#8a93a6;}
.dot-cancelled{background:var(--red);}
.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;}
.cal-grid-head span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-mute);text-align:center;padding:4px 0;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.cal-cell{min-height:108px;border:1px solid var(--line);border-radius:9px;background:var(--ink-850);padding:7px;display:flex;flex-direction:column;gap:5px;}
.cal-cell.empty{background:transparent;border-color:transparent;}
.cal-cell.today{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset;}
.cal-d{font-size:12px;font-weight:700;color:var(--cream-dim);background:none;border:0;padding:1px 4px;margin:-1px -4px;border-radius:6px;cursor:pointer;text-align:left;align-self:flex-start;transition:.14s;}
.cal-d:hover{background:var(--ink-600);color:var(--cream);}
.cal-cell.today .cal-d{color:var(--red);}
.cal-cell.closed{background:repeating-linear-gradient(135deg,var(--ink-850),var(--ink-850) 7px,rgba(200,32,60,.07) 7px,rgba(200,32,60,.07) 14px);border-color:rgba(200,32,60,.3);}
.cal-closed-chip{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:#f0a0ae;background:rgba(200,32,60,.16);border:1px solid rgba(200,32,60,.3);border-radius:5px;padding:2px 6px;white-space:nowrap;}
.cal-evs{display:flex;flex-direction:column;gap:4px;overflow:hidden;}
/* Closures modal */
.clo-body{padding:18px 22px;}
.clo-hint{font-size:12.5px;color:var(--cream-mute);margin:0 0 14px;line-height:1.5;}
.clo-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;align-items:end;}
.clo-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--cream-dim);font-weight:600;}
.clo-form label.full{grid-column:1/-1;}
.clo-form input,.clo-form select{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--ink-800);color:var(--cream);}
.clo-form .pbtn{grid-column:1/-1;}
.clo-err{color:#f0a0ae;font-size:12.5px;min-height:1em;margin-top:8px;}
.clo-list-t{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-mute);margin:16px 0 8px;}
.clo-empty{font-size:13px;color:var(--cream-mute);font-style:italic;padding:14px 0;text-align:center;}
.clo-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;margin-bottom:7px;font-size:13px;color:var(--cream);}
.clo-item-l b{color:var(--cream);}
.clo-reason{color:var(--cream-mute);}
.clo-del{width:26px;height:26px;flex:0 0 auto;border-radius:7px;border:1px solid var(--line);background:var(--ink-800);color:#f0a0ae;font-size:16px;line-height:1;cursor:pointer;transition:.14s;}
.clo-del:hover{border-color:var(--red);background:rgba(200,32,60,.14);}
.cal-ev{display:flex;align-items:center;gap:6px;width:100%;border:0;border-radius:6px;padding:4px 7px;cursor:pointer;text-align:left;
  background:var(--ink-700);transition:.14s;border-left:3px solid var(--line-strong);}
.cal-ev:hover{background:var(--ink-600);}
.cal-ev.dot-pending{border-left-color:var(--gold);}
.cal-ev.dot-confirmed{border-left-color:#2e7d4a;}
.cal-ev.dot-completed{border-left-color:#8a93a6;}
.cal-ev.dot-cancelled{border-left-color:var(--red);}
.cal-ev i{display:none;}
.cal-ev .ce-svc{font-family:var(--f-mono);font-size:10px;font-weight:600;color:var(--cream-mute);flex:0 0 auto;}
.cal-ev .ce-ag{font-size:11.5px;font-weight:600;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;}
.cal-ev .ce-g{font-family:var(--f-mono);font-size:10.5px;color:var(--cream-mute);flex:0 0 auto;}

@media (max-width:760px){
  .cal-grid-head{display:none;}
  .cal-grid{grid-template-columns:1fr;}
  .cal-cell{min-height:auto;}
  .cal-cell.empty{display:none;}
  .cal-d::before{content:"Day ";font-weight:400;color:var(--cream-mute);}
  .viewtoggle{margin-left:0;}
}

/* ---- Detail panel ---- */
.panel-back{position:fixed;inset:0;z-index:60;background:rgba(6,5,4,.6);backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:opacity .3s;}
.panel-back.open{opacity:1;pointer-events:auto;}
.panel{position:fixed;top:0;right:0;bottom:0;width:min(560px,94vw);z-index:61;background:var(--ink-800);
  border-left:1px solid var(--line-strong);transform:translateX(100%);transition:transform .35s cubic-bezier(.3,.8,.3,1);
  display:flex;flex-direction:column;box-shadow:-30px 0 60px -20px rgba(0,0,0,.7);}
.panel.open{transform:none;}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--line);}
.panel-head .ph-ref{font-family:var(--f-mono);font-weight:600;font-size:18px;color:var(--gold-soft);}
.panel-head .ph-agency{font-weight:600;margin-top:3px;}
.panel-body{flex:1;overflow-y:auto;padding:24px;}
.psec{margin-bottom:26px;}
.psec-t{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;}
.pcell .pc-k{font-size:11.5px;color:var(--cream-mute);}
.pcell .pc-v{font-size:14px;color:var(--cream);margin-top:2px;}
.pcell.full{grid-column:span 2;}
.pay-area{background:var(--ink-850);border:1px solid var(--line);border-radius:11px;padding:18px;}
.pay-area .pa-amt{font-family:var(--f-display);font-weight:800;font-size:24px;color:var(--gold-soft);}
.pay-area .pa-ref{font-family:var(--f-mono);font-size:13px;color:var(--cream-dim);margin-top:4px;}
.receipt-prev{margin-top:14px;border:1px dashed var(--line-strong);border-radius:9px;padding:18px;text-align:center;color:var(--cream-mute);font-size:13px;}
.receipt-prev.has{border-style:solid;color:var(--cream-dim);}
.pbtns{display:flex;flex-direction:column;gap:9px;margin-top:14px;}
.pay-hint{font-size:12.5px;line-height:1.5;color:var(--cream-mute);background:var(--ink-700);border:1px solid var(--line);border-radius:9px;padding:11px 13px;}
.pbtn{display:flex;align-items:center;gap:9px;justify-content:center;border-radius:9px;padding:11px 14px;font-size:13.5px;font-weight:600;border:1px solid var(--line);background:var(--ink-700);color:var(--cream);transition:.16s;}
.pbtn:hover{border-color:var(--line-strong);}
.pbtn.green{background:rgba(70,160,90,.16);border-color:rgba(70,160,90,.4);color:#9ad9ac;}
.pbtn.green:hover{background:rgba(70,160,90,.26);}
.pbtn.red{background:rgba(200,32,60,.12);border-color:rgba(200,32,60,.4);color:#f0a0ae;}
.pbtn.red:hover{background:rgba(200,32,60,.2);}

.log{list-style:none;margin:0;padding:0;}
.log li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;}
.log li:last-child{border-bottom:0;}
.log .log-time{flex:0 0 auto;font-family:var(--f-mono);font-size:11px;color:var(--cream-mute);width:88px;}
.log .log-txt{color:var(--cream-dim);}
.notes-area{width:100%;background:var(--ink-850);border:1px solid var(--line);border-radius:9px;color:var(--cream);
  padding:11px 13px;font-family:inherit;font-size:13.5px;resize:vertical;min-height:70px;}
.notes-area:focus{outline:0;border-color:var(--red);}
.note-list{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.note-item{background:var(--ink-850);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--cream-dim);}
.note-item .ni-time{font-family:var(--f-mono);font-size:10.5px;color:var(--cream-mute);display:block;margin-bottom:3px;}
.pactions{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.pactions .pbtn{justify-content:flex-start;}

/* ---- Service sheet (print) ---- */
.sheet{display:none;}
@media print{
  body.printing-sheet *{visibility:hidden;}
  body.printing-sheet .sheet,body.printing-sheet .sheet *{visibility:visible;}
  body.printing-sheet .sheet{display:block;position:absolute;inset:0;background:#fff;color:#111;padding:0;}
}
.sheet{position:fixed;inset:0;background:#fff;color:#16110f;padding:40px 46px;overflow:auto;z-index:200;}
body.show-sheet .sheet{display:block;}
.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #C8203C;padding-bottom:18px;}
.sheet-head .sh-meta{font-size:13px;color:#555;line-height:1.7;}
.sheet-head .sh-meta b{color:#16110f;}
.sheet-head .sh-logo{height:52px;}
.sheet-ref{font-family:'Geist Mono',monospace;font-weight:600;font-size:15px;color:#C8203C;}
.sheet-guests{display:flex;align-items:baseline;gap:14px;margin:26px 0;}
.sheet-guests .sg-n{font-family:'Archivo',sans-serif;font-weight:900;font-size:74px;line-height:1;color:#16110f;}
.sheet-guests .sg-l{font-size:14px;color:#555;text-transform:uppercase;letter-spacing:.1em;}
.sheet-section-t{font-family:'Archivo',sans-serif;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:#16110f;margin:24px 0 12px;border-bottom:1px solid #ddd;padding-bottom:7px;}
.sheet-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sheet-opt{border:1.5px solid #e4ddd2;border-radius:10px;padding:16px;}
.sheet-opt .so-n{font-family:'Archivo';font-weight:900;font-size:40px;color:#C8203C;line-height:1;}
.sheet-opt .so-name{font-weight:700;font-size:14px;margin-top:6px;}
.sheet-opt .so-l{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.08em;}
.sheet-alert{background:#fdecef;border:2px solid #C8203C;border-radius:10px;padding:16px 18px;margin-top:8px;}
.sheet-alert .sa-t{font-weight:800;color:#C8203C;font-size:13px;text-transform:uppercase;letter-spacing:.06em;}
.sheet-alert p{margin:6px 0 0;font-size:15px;font-weight:600;color:#16110f;}
.sheet-veg{display:inline-block;background:#e9f6ec;border:1.5px solid #5aa06f;color:#2e7d4a;border-radius:8px;padding:8px 14px;font-weight:700;font-size:14px;}
.sheet-foot{display:flex;justify-content:space-between;margin-top:30px;padding-top:16px;border-top:1px solid #ddd;font-size:13px;color:#555;}
.sheet-foot b{color:#16110f;}
.sheet-close{position:fixed;top:18px;right:22px;background:#16110f;color:#fff;border:0;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;z-index:201;}
@media print{.sheet-close{display:none;}}

/* toast reuse */
@media (max-width:1024px){ .kpis{grid-template-columns:1fr 1fr;} }
@media (max-width:760px){
  .abar{height:auto;min-height:56px;padding-top:8px;padding-bottom:8px;}
  .abar .wrap{flex-wrap:wrap;gap:8px 10px;}
  .abar-l{gap:10px;min-width:0;flex:1;}
  .abar-l .atitle{font-size:13px;padding-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .abar-r{gap:10px;}
  .abar-r .adate{display:none;}
  #newBookingBtn{padding:7px 12px!important;font-size:12px!important;}
  .kpis{grid-template-columns:1fr;}
  .atable thead{display:none;}
  .atable,.atable tbody,.atable tr,.atable td{display:block;width:100%;}
  .atable tbody tr{padding:12px 4px;border-bottom:1px solid var(--line);}
  .atable td{border:0;padding:5px 12px;}
  .atable td::before{content:attr(data-l);font-size:11px;color:var(--cream-mute);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:2px;}
  .sheet-opts{grid-template-columns:1fr;}
}
