:root{--brand-navy: #082858;--brand-navy-hover: #0C3570;--brand-navy-pressed: #061E44;--brand-blue: #084888;--brand-sky: #0898C8;--brand-aqua: #98D8E8;--brand-ice: #E8F8F8;--bg: #FFFFFF;--bg-subtle: #F8FAFC;--bg-muted: #F1F5F9;--border: #E2E8F0;--border-strong: #CBD5E1;--border-control: #7C8CA2;--text: #0F172A;--text-2: #334155;--text-3: #475569;--text-4: #64748B;--text-disabled: #94A3B8;--surface: #FFFFFF;--surface-subtle: #F8FAFC;--surface-muted: #F1F5F9;--text-1: #0F172A;--navy-primary: var(--brand-navy);--navy-subtle: var(--brand-ice);--status-red: var(--danger);--status-red-subtle: var(--danger-bg);--status-green: var(--success);--status-green-subtle: var(--success-bg);--status-amber: var(--warning);--status-amber-subtle: var(--warning-bg);--primary: var(--brand-navy);--primary-hover: var(--brand-navy-hover);--primary-pressed: var(--brand-navy-pressed);--primary-contrast: #FFFFFF;--focus: var(--brand-sky);--selected-bg: var(--brand-ice);--success: #067647;--success-bg: #ECFDF3;--success-border: #ABEFC6;--warning: #B54708;--warning-bg: #FFFAEB;--warning-border: #FEDF89;--danger: #B42318;--danger-bg: #FEF3F2;--danger-border: #FECDCA;--info: #084888;--info-bg: #E8F8F8;--info-border: #98D8E8;--neutral: #475569;--neutral-bg: #F1F5F9;--neutral-border: #E2E8F0;--scrim: rgba(15, 23, 42, .4);--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, .06), 0 1px 2px -1px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .03);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .02);--shadow-focus: 0 0 0 3px rgba(8, 152, 200, .15);--r-sm: 4px;--r-control: 6px;--r-panel: 8px;--r-card: 10px;--r-modal: 12px;--r-hero: 16px;--r-full: 9999px;--border-w: 1px;--sidebar-w: 232px;--rail-w: 56px;--topbar-h: 48px;--right-rail-w: 320px;--t-fast: .12s;--t-pop: .15s;--t-drawer: .2s}:root,:root[data-density=compact]{--control-h: 32px;--row-h: 36px;--cell-py: 8px;--cell-px: 12px;--card-p: 16px;--page-p: 24px;--tile-w: 56px;--tile-h: 40px}:root[data-density=comfortable]{--control-h: 40px;--row-h: 48px;--cell-py: 12px;--cell-px: 16px;--card-p: 20px;--page-p: 32px;--tile-w: 64px;--tile-h: 48px}@media(max-width:767px){:root{--control-h: 44px;--row-h: 56px;--cell-py: 12px;--cell-px: 16px;--card-p: 16px;--page-p: 16px;--tile-w: 44px;--tile-h: 44px}}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}body{font:400 14px/20px var(--font);color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums;margin:0;padding:0}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--text);background-color:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}.app-container{display:flex;height:100vh;overflow:hidden;background-color:var(--bg)}.sidebar{width:var(--sidebar-w);height:100vh;position:sticky;top:0;border-right:1px solid var(--border);background-color:var(--bg);display:flex;flex-direction:column;flex-shrink:0;transition:width .18s cubic-bezier(.4,0,.2,1);overflow:hidden;z-index:20}.sidebar.collapsed{width:var(--rail-w)}.sidebar-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;height:var(--topbar-h);box-sizing:border-box;flex-shrink:0}.sidebar.collapsed .sidebar-header{padding:0;justify-content:center}.sidebar-toggle-btn{background:transparent;border:none;cursor:pointer;color:var(--text-3);padding:6px;border-radius:var(--r-control);display:flex;align-items:center;justify-content:center;transition:all var(--t-fast) ease;flex-shrink:0}.sidebar-toggle-btn:hover{background-color:var(--bg-muted);color:var(--text)}.topbar-toggle-btn{background:transparent;border:1px solid var(--border);cursor:pointer;color:var(--text-3);padding:5px;border-radius:var(--r-control);display:inline-flex;align-items:center;justify-content:center;transition:all var(--t-fast) ease;margin-right:8px}.topbar-toggle-btn:hover{background-color:var(--bg-muted);color:var(--text);border-color:var(--border-strong)}.sidebar-logo-text{font-weight:700;font-size:15px;color:var(--brand-navy);white-space:nowrap}.sidebar-nav{padding:12px 8px;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar.collapsed .sidebar-nav{padding:12px 6px}.nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-4);padding:8px 12px 4px;letter-spacing:.05em;white-space:nowrap}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-control);font-size:13.5px;font-weight:500;color:var(--text-2);text-decoration:none;margin-bottom:2px;transition:background-color var(--t-fast) ease,color var(--t-fast) ease;position:relative;white-space:nowrap}.sidebar.collapsed .nav-item{padding:9px 0;justify-content:center;gap:0;width:100%}.nav-item:hover{background-color:var(--bg-muted);color:var(--text)}.nav-item.active{background-color:var(--brand-ice);color:var(--brand-navy);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background-color:var(--brand-navy);border-radius:0 2px 2px 0}.sidebar.collapsed .nav-item.active:before{top:6px;bottom:6px}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background-color:var(--bg);position:sticky;top:0;z-index:10;flex-shrink:0}.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.page-body{padding:var(--page-p);flex:1}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-panel);box-shadow:var(--shadow-xs);padding:var(--card-p);transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease}.input{width:100%;height:36px;padding:0 12px;border:1px solid var(--border-control);border-radius:var(--r-control);font-size:13px;background-color:var(--bg);color:var(--text);outline:none;transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease}.input:focus{border-color:var(--brand-navy);box-shadow:0 0 0 2px var(--brand-ice)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-panel);box-shadow:var(--shadow-xs);padding:var(--card-p);transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.stat-label{font-size:12px;font-weight:500;color:var(--text-4);margin-bottom:6px;letter-spacing:.02em}.stat-value{font-size:26px;font-weight:600;color:var(--text);letter-spacing:-.02em}.stat-value.danger{color:var(--danger)}.callout{border-radius:var(--r-panel);border:1px solid var(--border);border-left:3px solid var(--brand-navy);background:var(--bg-subtle);padding:14px 16px}.callout-info{border-left-color:var(--brand-blue);background:var(--brand-ice)}.callout-danger{border-left-color:var(--danger);background:var(--danger-bg)}.callout-warning{border-left-color:var(--warning);background:var(--warning-bg)}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-control);font-size:12px;font-weight:500}.chip-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.chip-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.chip-danger{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.chip-info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info)}.chip-neutral{background:var(--neutral-bg);border:1px solid var(--neutral-border);color:var(--neutral)}.btn,.btn-primary,.btn-secondary,.btn-ghost{min-height:38px;padding:8px 16px;border-radius:var(--r-control);font-size:13.5px;font-weight:500;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:all var(--t-fast) ease;box-sizing:border-box}.btn-primary{background:var(--brand-navy);color:#fff;border:1px solid var(--brand-navy);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--brand-navy-hover);border-color:var(--brand-navy-hover)}.btn-secondary{background:var(--bg);border:1px solid var(--border-control);color:var(--text);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--bg-muted);color:var(--text)}.table-container{border:1px solid var(--border);border-radius:var(--r-panel);overflow:hidden;background:var(--bg);box-shadow:var(--shadow-xs)}table.data-table{width:100%;border-collapse:collapse;text-align:left}table.data-table th{height:36px;background:var(--bg-subtle);border-bottom:1px solid var(--border);padding:0 var(--cell-px);font-size:12px;font-weight:500;color:var(--text-4)}table.data-table td{height:var(--row-h);padding:0 var(--cell-px);border-bottom:1px solid var(--border);font-size:14px}table.data-table tr:hover td{background:var(--bg-subtle)}table.data-table tr.selected td{background:#0828580a}table.data-table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--brand-navy)}.stall-grid-10{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-top:16px}.stall-tile{height:var(--tile-h);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-control);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;font-weight:600;font-size:14px;transition:all var(--t-fast) ease}.stall-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.stall-tile.selected{border:2px solid var(--brand-navy);background:var(--brand-ice)}.stall-marker{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%}.marker-available{background:var(--success)}.marker-held{background:var(--warning);border-radius:50%}.marker-confirmed{background:var(--brand-blue);border-radius:2px}.marker-blocked{background:var(--danger)}.marker-not-verified{border:1px solid var(--border-strong);background:var(--bg-muted)}
