:root{--surface-page:#f7faf8;--surface-raised:#fff;--surface-control:#fff;--surface-sidebar:#173c32;--surface-sidebar-hover:#2a5d4d;--surface-action:#287a5b;--surface-action-hover:#1e6047;--surface-action-soft:#eef7f1;--surface-status-neutral:#edf3f0;--surface-status-success:#def3e6;--surface-status-warning:#fff0dc;--surface-status-danger:#fce2e2;--surface-notice:#edf7f1;--surface-notice-error:#fff0f0;--surface-overlay:#18302a73;--content-primary:#18302a;--content-muted:#5d746d;--content-on-action:#fff;--content-sidebar:#eff9f4;--content-sidebar-muted:#b8d4c8;--content-status-success:#17613e;--content-status-warning:#a45a16;--content-status-danger:#b33d3d;--content-notice-error:#8b2c2c;--border-subtle:#d9e5df;--border-control:#bdcec7;--border-strong:#9cb7aa;--border-action-soft:#b8d9c6;--border-notice:#c9e5d4;--border-notice-error:#f1c5c5;--focus-ring:#f0a442;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--radius-pill:999px;--shadow-card:0 5px 22px #1b3c320a;--shadow-dialog:0 20px 60px #1b3c3229;--type-sm:13px;--type-body:15px;--type-title:clamp(24px, 3vw, 34px)}*{box-sizing:border-box}html{background:var(--surface-page)}body{color:var(--content-primary);background:var(--surface-page);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--type-body);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.skip-link{left:var(--space-4);z-index:20;background:var(--surface-raised);padding:var(--space-3);border-radius:var(--radius-sm);position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface-sidebar);color:var(--content-sidebar);padding:var(--space-6) var(--space-4);flex-direction:column;gap:28px;display:flex}.brand{letter-spacing:-.02em;padding:0 var(--space-3);font-weight:800}.brand small{color:var(--content-sidebar-muted);margin-top:var(--space-1);font-weight:500;display:block}.nav{gap:5px;display:grid}.nav a{padding:11px var(--space-3);color:var(--content-sidebar);border-radius:9px}.nav a:hover,.nav a.active{background:var(--surface-sidebar-hover);color:var(--content-on-action)}.sidebar-footer{font-size:var(--type-sm);color:var(--content-sidebar-muted);margin-top:auto}.sidebar-signout{margin-top:var(--space-3);color:var(--content-sidebar);border-color:var(--border-strong)}.main,.main-content{min-width:0}.topbar{padding:22px clamp(var(--space-5), 4vw, 48px);border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);justify-content:space-between;gap:var(--space-4);align-items:center;display:flex}.topbar h1{font-size:var(--type-title);letter-spacing:-.03em;margin:0}.content{padding:28px clamp(var(--space-5), 4vw, 48px) 56px;width:100%;max-width:1400px}.eyebrow{color:var(--surface-action-hover);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:800}.muted{color:var(--content-muted)}.grid{gap:18px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card)}.overview-metrics{margin-bottom:var(--space-6)}.stat-value{margin:10px 0 2px;font-size:30px;font-weight:800}.stat-label{color:var(--content-muted);font-size:14px}.toolbar{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.toolbar>div{flex-wrap:wrap;gap:10px;display:flex}.button{border:1px solid var(--surface-action);background:var(--surface-action);color:var(--content-on-action);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:7px;min-height:40px;padding:9px 14px;font-weight:700;display:inline-flex}.button:hover{background:var(--surface-action-hover)}.button.secondary{color:var(--surface-action-hover);background:var(--surface-action-soft);border-color:var(--border-action-soft)}.button.ghost{color:var(--content-primary);border-color:var(--border-subtle);background:0 0}.button.danger{background:var(--content-status-danger);border-color:var(--content-status-danger)}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:13px 10px}th{color:var(--content-muted);text-transform:uppercase;letter-spacing:.07em;font-size:12px}td strong{font-weight:750}.collection{border-top:1px solid var(--border-subtle)}.collection table{background:var(--surface-raised)}.badge{border-radius:var(--radius-pill);background:var(--surface-status-neutral);color:var(--content-primary);padding:4px 9px;font-size:12px;font-weight:750;display:inline-flex}.badge.success{background:var(--surface-status-success);color:var(--content-status-success)}.badge.warning{background:var(--surface-status-warning);color:var(--content-status-warning)}.badge.danger{background:var(--surface-status-danger);color:var(--content-status-danger)}.form{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-span{grid-column:1/-1}label{gap:6px;font-size:13px;font-weight:700;display:grid}.input,textarea,select{border:1px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-control);width:100%;color:var(--content-primary);padding:10px 11px}textarea{resize:vertical;min-height:110px}.notice{padding:var(--space-3) 14px;border-radius:var(--radius-sm);background:var(--surface-notice);border:1px solid var(--border-notice)}.notice.error{background:var(--surface-notice-error);border-color:var(--border-notice-error);color:var(--content-notice-error)}.empty{text-align:center;padding:44px var(--space-5);color:var(--content-muted)}.empty strong{color:var(--content-primary);margin-bottom:6px;display:block}.empty-action{margin-top:15px}.stack{gap:18px;display:grid}.split{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.page-header{margin-bottom:22px}.page-title{letter-spacing:-.03em;font-size:var(--type-title);margin:5px 0 4px}.page-description{margin:0}.text-small{font-size:var(--type-sm)}.login-shell{min-height:100vh;padding:var(--space-6);background:var(--surface-page);place-items:center;display:grid}.login-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:min(430px,100%);box-shadow:var(--shadow-dialog);padding:34px}.login-card h1{letter-spacing:-.04em;margin:8px 0}.login-card p{color:var(--content-muted)}.mobile-menu{display:none}.action-row{flex-wrap:wrap;gap:10px;display:flex}.section-title{margin:0 0 var(--space-4);font-size:20px}.stop-row{grid-template-columns:28px 1fr 1fr auto;align-items:center;gap:10px;display:grid}.stop-number{background:var(--surface-action-soft);width:28px;height:28px;color:var(--surface-action-hover);border-radius:50%;place-items:center;font-weight:800;display:grid}.stop-summary{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);align-items:flex-start;display:flex}.row-divider{padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle)}.divider{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-5) 0}.checkbox-label{align-items:center;gap:var(--space-2);display:flex}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ticket-setting{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr 150px 170px auto;align-items:end;display:grid}.ticket-setting label{font-size:var(--type-sm)}.ticket-picker{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-4)}.ticket-picker legend{padding:0 var(--space-2);font-weight:800}.ticket-quantity{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr 90px;display:grid}.ticket-quantity:last-child{border-bottom:0}.ticket-quantity>span{gap:var(--space-1);display:grid}.staff-actions{flex-wrap:wrap;gap:7px;display:flex}.tag-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag-list li{gap:var(--space-1);align-items:center;display:inline-flex}.tag-list .button{min-height:32px;padding:var(--space-1) var(--space-2);font-size:var(--type-sm)}.compact-list p{margin:0 0 var(--space-2)}.manifest-heading{padding:var(--space-4) var(--space-2)}.dialog-backdrop{z-index:30;padding:var(--space-5);background:var(--surface-overlay);place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:min(440px,100%);padding:var(--space-6);box-shadow:var(--shadow-dialog)}.dialog-actions{margin-top:var(--space-6);justify-content:flex-end}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{padding:14px var(--space-4);gap:var(--space-3)}.nav{grid-template-columns:repeat(3,1fr)}.sidebar-footer{display:none}.brand{padding:var(--space-1) 0}.topbar{padding:18px var(--space-5)}.content{padding:22px var(--space-5) 42px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.nav{grid-template-columns:repeat(2,1fr)}.grid-4,.grid-2,.form-grid{grid-template-columns:1fr}.page-header{flex-direction:column}.topbar{flex-direction:column;align-items:flex-start}.card{padding:var(--space-4)}.content{padding-inline:14px}.stop-row{grid-template-columns:28px 1fr}.stop-row .button{grid-column:2}.ticket-setting{grid-template-columns:1fr 1fr}.ticket-setting>div{grid-column:1/-1}.input,textarea,select{font-size:16px}.button{min-height:44px}.table-wrap table{min-width:560px}}
