@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&family=DM+Sans:wght@300;400;500&display=swap";:root{--color-navy:#0e1c28;--color-navy-mid:#162534;--color-navy-light:#0e1c280f;--color-gold:#8a6a28;--color-gold-hover:#bf9a4a;--color-gold-muted:#a8843a24;--color-gold-border:#a8843a59;--color-cream:#f5f2ed;--color-cream-card:#f0ede7;--color-ink:#0d0d0d;--color-ink-muted:#3a3a3a;--color-ink-faint:#6a6a6a;--color-white:#fff;--color-divider:#0d0d0d1a;--color-divider-strong:#0d0d0d2e;--color-surface:#fff;--color-surface-raised:#fdfcfa;--color-status-confirmed:#3b6d11;--color-status-pending:#854f0b;--color-status-cancelled:#a32d2d;--color-status-walkin:#5a5a5a;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--radius-sm:2px;--radius:3px;--radius-lg:4px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-cream);font-size:14px;font-weight:300;line-height:1.65}h1,h2,h3,.display,.headline{font-family:var(--font-display);color:var(--color-ink);font-weight:300;line-height:1.2}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}.kpi-value{font-family:var(--font-display);color:var(--color-gold);font-size:36px;font-weight:300;line-height:1}.kpi-value-lg{font-family:var(--font-display);color:var(--color-gold);font-size:48px;font-weight:300;line-height:1}.label,label,th{font-family:var(--font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--color-ink-faint);font-size:10px;font-weight:400}p{font-weight:300;line-height:1.7}small,.text-sm{color:var(--color-ink-muted);font-size:12px}.text-muted{color:var(--color-ink-muted)}.text-faint{color:var(--color-ink-faint)}.status{letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:400}.status--confirmed{color:var(--color-status-confirmed)}.status--pending{color:var(--color-status-pending)}.status--cancelled{color:var(--color-status-cancelled)}.status--walkin{color:var(--color-status-walkin)}.btn{font-family:var(--font-body);letter-spacing:.09em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:10px 22px;font-size:11px;font-weight:400;line-height:1;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.btn-primary{background:var(--color-navy);color:var(--color-white);border-color:var(--color-navy)}.btn-primary:hover{background:var(--color-navy-mid);border-color:var(--color-navy-mid)}.btn-secondary{color:var(--color-ink);border-color:var(--color-divider-strong);background:0 0}.btn-secondary:hover{background:var(--color-navy-light);border-color:var(--color-divider-strong)}.btn-gold{color:var(--color-gold);border-color:var(--color-gold-border);background:0 0}.btn-gold:hover{background:var(--color-gold-muted);border-color:var(--color-gold)}.btn-danger{color:var(--color-status-cancelled);background:0 0;border-color:#a32d2d4d}.btn-danger:hover{background:#a32d2d12}.btn-sm{padding:7px 14px;font-size:10px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=search],input[type=password],select,textarea{font-family:var(--font-body);color:var(--color-ink);background:var(--color-surface-raised);border:1px solid var(--color-divider-strong);border-radius:var(--radius);width:100%;transition:border-color var(--transition), background var(--transition);outline:none;padding:9px 12px;font-size:13px;font-weight:300;line-height:1.4}input:hover,select:hover,textarea:hover{border-color:#0d0d0d47}input:focus,select:focus,textarea:focus{border-color:var(--color-gold);background:var(--color-white)}input::placeholder{color:var(--color-ink-faint)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239a9a9a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.field{flex-direction:column;gap:5px;display:flex}.field label{display:block}.field-hint{color:var(--color-ink-faint);font-size:11px}.field-error{color:var(--color-status-cancelled);font-size:11px}input.error,select.error,textarea.error{border-color:var(--color-status-cancelled)}input[type=checkbox],input[type=radio]{width:15px;height:15px;accent-color:var(--color-navy);cursor:pointer}.toggle{cursor:pointer;flex-shrink:0;width:36px;height:20px;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--color-divider-strong);transition:background var(--transition), border-color var(--transition);border:1px solid #0d0d0d26;border-radius:10px;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:var(--color-navy);border-color:var(--color-navy)}.toggle-thumb{width:12px;height:12px;transition:left var(--transition);pointer-events:none;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000002e}.toggle input:checked~.toggle-thumb{left:19px}.card{background:var(--color-white);border:1px solid var(--color-divider);border-radius:var(--radius);padding:var(--space-md)}.card-lg{background:var(--color-white);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-kpi{background:var(--color-white);border:1px solid var(--color-divider);border-radius:var(--radius);padding:14px 18px}.card-kpi .kpi-label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:4px;font-size:9px}.card-kpi .kpi-sub{color:var(--color-ink-faint);margin-top:3px;font-size:11px}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{letter-spacing:.13em;text-transform:uppercase;color:var(--color-ink-faint);text-align:left;border-bottom:1px solid var(--color-divider);white-space:nowrap;padding:0 12px 10px 0;font-size:9px;font-weight:400}tbody td{color:var(--color-ink);vertical-align:middle;border-bottom:1px solid #0d0d0d0d;padding:10px 12px 10px 0;font-size:13px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#0e1c2805}.modal-overlay{z-index:200;background:#0e1c2873;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-divider);width:100%;max-width:480px;overflow:hidden;box-shadow:0 8px 32px #0e1c282e}.modal-header{background:var(--color-navy);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-title{font-family:var(--font-display);color:var(--color-white);font-size:17px;font-weight:300;line-height:1.2}.modal-close{color:#ffffff8c;cursor:pointer;border-radius:var(--radius-sm);width:28px;height:28px;transition:color var(--transition), background var(--transition), border-color var(--transition);border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.modal-footer{background:var(--color-cream);border-top:1px solid var(--color-divider);justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px;display:flex}.badge{letter-spacing:.09em;text-transform:uppercase;border-radius:var(--radius-sm);align-items:center;padding:3px 8px;font-size:10px;font-weight:400;line-height:1.4;display:inline-flex}.badge-navy{background:var(--color-navy);color:var(--color-white)}.badge-gold{background:var(--color-gold-muted);color:var(--color-gold);border:1px solid var(--color-gold-border)}.badge-muted{background:var(--color-navy-light);color:var(--color-ink-muted)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--color-navy);flex-direction:column;flex-shrink:0;width:200px;padding:24px 0;display:flex}.sidebar-logo{font-family:var(--font-display);color:var(--color-gold);letter-spacing:.12em;border-bottom:1px solid #ffffff12;margin-bottom:10px;padding:0 18px 18px;font-size:17px;font-weight:300}.sidebar-logo-sub{color:#ffffff4d;letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-family:var(--font-body);margin-top:3px;display:block}.nav-item{font-family:var(--font-body);letter-spacing:.03em;color:#ffffff6b;cursor:pointer;transition:color var(--transition), background var(--transition);border-left:2px solid #0000;align-items:center;gap:9px;padding:9px 18px;font-size:12px;font-weight:300;text-decoration:none;display:flex}.nav-item:hover{color:#ffffffbf;background:#ffffff0a}.nav-item.active{color:var(--color-white);border-left-color:var(--color-gold);background:#a8843a29;padding-left:16px}.nav-item i{font-size:15px}.main-content{background:var(--color-cream);flex:1;min-width:0}.page-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:24px;padding:28px 28px 0;display:flex}.page-title{font-family:var(--font-display);color:var(--color-ink);font-size:26px;font-weight:300}.page-body{padding:0 28px 28px}hr,.divider{border:none;border-top:1px solid var(--color-divider);margin:var(--space-lg) 0}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.w-full{width:100%}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.text-right{text-align:right}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-divider-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-faint)}:root{--navy:var(--color-navy);--navy-l:#0e1c281f;--gold:var(--color-gold);--gold-l:var(--color-gold-muted);--gold-d:#7a5f28;--surface:var(--color-white);--bg:var(--color-cream);--border:var(--color-divider);--text:var(--color-ink);--muted:var(--color-ink-muted);--accent:var(--color-navy);--accent-l:var(--color-navy-light);--accent-d:var(--color-navy-mid);--ff-d:var(--font-display);--ff-ui:var(--font-body)}.modal-close{color:#ffffffd9!important;border-radius:var(--radius-sm)!important;cursor:pointer!important;width:28px!important;height:28px!important;font-size:14px!important;line-height:1!important;font-family:var(--font-body)!important;background:#ffffff1f!important;border:1px solid #ffffff47!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;transition:background .15s,color .15s!important;display:flex!important}.modal-close:hover{color:#fff!important;background:#ffffff3d!important;border-color:#ffffff80!important}.slot-chip{border-radius:var(--radius);font-size:12px;font-family:var(--font-body);letter-spacing:.03em;white-space:nowrap;padding:7px 12px;font-weight:300;transition:border-color .15s,color .15s}.slot-chip--available{background:var(--color-white);color:var(--color-ink);border:1px solid var(--color-divider-strong);cursor:pointer}.slot-chip--available:hover{border-color:var(--color-gold);color:var(--color-gold)}.slot-chip--taken{color:var(--color-ink-faint);border:1px solid var(--color-divider);cursor:default;opacity:.45;background:0 0;text-decoration:line-through}table{table-layout:auto}table th,table td{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}table th:first-child,table td:first-child{white-space:normal;max-width:none}table th:last-child,table td:last-child{white-space:nowrap;width:1%;max-width:none}tbody td{font-size:12px;padding:8px 10px 8px 0!important}thead th{padding:0 10px 8px 0!important}tbody td:last-child{padding-right:0!important}tbody td .btn-sm{padding:4px 9px!important;font-size:9px!important}table th:first-child,table td:first-child{padding-left:16px!important}table th:last-child,table td:last-child{padding-right:16px!important}thead th{text-align:left!important;padding-left:0!important}thead th:first-child{padding-left:16px!important}thead th:last-child{padding-right:16px!important}thead th{padding-top:16px!important;padding-bottom:10px!important}button,[role=button],input,select,a{touch-action:manipulation}@media (width>=768px) and (width<=1399px){.btn{min-height:44px;padding:0 22px}.btn-sm{min-height:38px;padding:0 14px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=search],input[type=password],select{min-height:44px;font-size:15px}}[data-table-id],[draggable=true]{touch-action:none;-webkit-user-select:none;user-select:none}
