/* KICC booking planner + seating schematic.
   Deliberately light: no video, no 3D, no external libraries.
   Utility pages must stay usable on a slow connection. */

body.page-planner,body.page-seating{background:#FBFAF7!important;color:#0B0B0B}
body.page-planner #app,body.page-seating #app{background:transparent}
.pl-wrap{max-width:1280px;margin:0 auto;padding:104px 20px 64px;color:#0B0B0B}
.pl-wrap h1,.pl-wrap h2,.pl-wrap dt,.pl-wrap dd{color:inherit}
.pl-crumb{display:flex;gap:8px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin-bottom:18px;flex-wrap:wrap}
.pl-crumb a{color:#6b7280;text-decoration:none;border-bottom:1px solid transparent}
.pl-crumb a:hover{color:#B3261E;border-bottom-color:#B3261E}

.pl-head{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end;margin-bottom:26px}
.pl-head h1{font-family:"Fraunces",Georgia,serif;font-size:clamp(28px,4vw,44px);line-height:1.05;margin:6px 0 8px;color:#0B0B0B}
.pl-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#B3261E;margin:0}
.pl-sub{max-width:62ch;color:#4b5563;font-size:14px;line-height:1.6;margin:0}
.pl-sub strong{color:#0B0B0B}

.pl-stats{display:flex;gap:26px;margin:0}
.pl-stats dt{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#6b7280}
.pl-stats dd{margin:2px 0 0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:22px;font-weight:500;color:#0B0B0B}

.pl-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media(min-width:1080px){.pl-grid{grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr)}}

.pl-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px 18px 20px}
.pl-card-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.pl-card-head h2{font-size:15px;font-weight:700;letter-spacing:.01em;margin:0;color:#0B0B0B}
.pl-badge{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;padding:3px 9px;border-radius:99px;background:#f3f4f6;color:#374151}

.pl-filter input{height:34px;padding:0 12px;border:1px solid #e5e7eb;border-radius:9px;font-size:13px;min-width:220px;background:#fff}
.pl-filter input:focus{outline:2px solid #FFCD05;outline-offset:1px;border-color:#FFCD05}

.pl-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pl-table{width:100%;border-collapse:collapse;font-size:13px;min-width:820px}
.pl-table thead th{text-align:left;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6b7280;padding:0 10px 9px;border-bottom:1px solid #e5e7eb;white-space:nowrap}
.pl-table tbody th,.pl-table tbody td{padding:10px;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-weight:400;color:#374151}
.pl-table tbody th{font-weight:600;color:#0B0B0B;white-space:nowrap}
.pl-table tbody th a{color:#0B0B0B;text-decoration:none;border-bottom:1px solid #e5e7eb}
.pl-table tbody th a:hover{color:#B3261E;border-bottom-color:#B3261E}
.pl-table .num{text-align:right;font-family:"JetBrains Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-table tr.is-focus{background:#FFFBEA}
.pl-city{display:block;font-size:11px;color:#9ca3af;font-weight:400}
.pl-layouts{font-size:11.5px;color:#6b7280;max-width:220px}
.pl-actions{white-space:nowrap;text-align:right}
.pl-empty{font-size:13px;color:#6b7280;padding:14px 10px 0;margin:0}

.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid #e5e7eb;color:#0B0B0B;background:#fff;transition:background .15s,border-color .15s,color .15s}
.pl-btn:hover{border-color:#0B0B0B}
.pl-btn-solid{background:#0B0B0B;border-color:#0B0B0B;color:#fff}
.pl-btn-solid:hover{background:#B3261E;border-color:#B3261E;color:#fff}
.pl-btn-ghost{background:transparent}
.pl-btn-lg{height:40px;padding:0 18px;font-size:13px;border-radius:10px}
.pl-cta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}

.pl-inline-form{display:flex;gap:10px;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap}
.pl-inline-form label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6b7280}
.pl-inline-form select{display:block;margin-top:5px;height:36px;min-width:200px;padding:0 10px;border:1px solid #e5e7eb;border-radius:9px;font-size:13px;background:#fff;color:#0B0B0B}

.pl-cal-legend{display:flex;gap:14px;font-size:11px;color:#6b7280;margin-bottom:10px;flex-wrap:wrap}
.pl-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle}
.pl-dot-free{background:#fff;border:1px solid #d1d5db}
.pl-dot-held{background:#B3261E}
.pl-dot-past{background:#e5e7eb}

.pl-cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:4px}
.pl-day{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10.5px;text-align:center;padding:6px 2px;border-radius:5px;background:#fff;border:1px solid #e5e7eb;color:#374151;line-height:1.2}
.pl-day.is-held{background:#B3261E;border-color:#B3261E;color:#fff}
.pl-day.is-past{background:#f9fafb;color:#c4c8ce;border-color:#f3f4f6}
.pl-day.is-today{outline:2px solid #FFCD05;outline-offset:1px}
.pl-day.is-wknd{background:#fcfcfd}

.pl-note{font-size:11.5px;line-height:1.6;color:#6b7280;margin:12px 0 0}
.pl-note strong{color:#0B0B0B}

.pl-layout-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.pl-layout-chips a,.pl-chip-held{font-size:11.5px;padding:5px 10px;border-radius:99px;border:1px solid #e5e7eb;color:#374151;text-decoration:none;background:#fff}
.pl-layout-chips a:hover{border-color:#0B0B0B;color:#0B0B0B}
.pl-layout-chips a.is-active{background:#0B0B0B;border-color:#0B0B0B;color:#fff}
.pl-layout-chips-lg{gap:8px;margin:0 0 18px}
.pl-layout-chips-lg a{padding:7px 14px;font-size:12.5px}
.pl-chip-held{background:#B3261E;border-color:#B3261E;color:#fff;font-family:"JetBrains Mono",ui-monospace,monospace}

.pl-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:20px 0 0;padding-top:16px;border-top:1px solid #f3f4f6}
.pl-facts dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6b7280}
.pl-facts dd{margin:3px 0 0;font-size:13px;color:#0B0B0B;font-weight:600}

/* ── Seating schematic ── */
.se-stage{margin-top:6px}
.se-screen{height:26px;border-radius:4px;background:linear-gradient(180deg,#0B0B0B,#1f2937);color:#FFCD05;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.se-grid{display:grid;gap:3px;justify-content:center;padding:10px 0;overflow-x:auto}
.se-unit{border-radius:2px;background:#fff;border:1px solid #cbd5e1}
.se-unit.is-round{border-radius:50%}
.se-unit.is-table{height:56px!important;border-radius:6px;background:#f8fafc}
.se-unit.is-zone{background:#f8fafc;border-radius:3px}
.se-aisle{background:transparent;border:0}
.se-exit{background:#FFCD05;border:1px solid #d9a900;border-radius:2px}
.se-legend{display:flex;gap:16px;font-size:11px;color:#6b7280;margin-top:14px;flex-wrap:wrap}
.se-sw{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:middle}
.se-sw-unit{background:#fff;border:1px solid #cbd5e1}
.se-sw-aisle{background:#f3f4f6}
.se-sw-exit{background:#FFCD05;border:1px solid #d9a900}

body[data-theme=dark] .pl-card,body[data-theme=dark] .pl-table tbody th a{background:#111;color:#f3f4f6}
body[data-theme=dark] .pl-head h1,body[data-theme=dark] .pl-sub strong{color:#f9fafb}
body[data-theme=dark] .pl-card{border-color:#2a2a2a}
body[data-theme=dark] .pl-table tbody th,body[data-theme=dark] .pl-table tbody td{color:#cbd5e1;border-bottom-color:#1f1f1f}
body[data-theme=dark] .pl-table thead th{border-bottom-color:#2a2a2a}
body[data-theme=dark] .pl-table tr.is-focus{background:#1b1508}
body[data-theme=dark] .pl-btn{background:#111;border-color:#2a2a2a;color:#e5e7eb}
body[data-theme=dark] .pl-btn-solid{background:#FFCD05;border-color:#FFCD05;color:#0B0B0B}
body[data-theme=dark] .se-unit{background:#1f1f1f;border-color:#3a3a3a}
body[data-theme=dark] .se-unit.is-zone{background:#171717}

@media(prefers-reduced-motion:reduce){.pl-btn{transition:none}}
@media(max-width:720px){
  .pl-wrap{padding:88px 14px 48px}
  .pl-stats{gap:18px}
  .pl-stats dd{font-size:18px}
  .pl-day{font-size:9.5px;padding:5px 1px}
}
