.ticketing-dashboard{background:#f5f8fc;min-height:100vh}.ticketing-nav{border-bottom:1px solid var(--card-border);background:#fff;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,5vw,4rem);display:flex}.ticketing-brand,.ticketing-account{align-items:center;gap:.75rem;display:flex}.ticketing-brand>span{color:#fff;background:var(--cat-bus-primary);border-radius:.75rem;place-items:center;width:2.5rem;height:2.5rem;font-weight:700;display:grid}.ticketing-brand div{display:grid}.ticketing-brand small,.ticketing-account{color:var(--text-secondary);font-size:var(--font-size-xs)}.ticketing-account button,.ticket-back,.selected-organization button,.passenger-heading button,.passenger-card-top button{color:var(--cat-bus-primary);cursor:pointer;background:0 0;border:0}.ticketing-content{gap:3rem;width:min(1180px,100% - 2rem);margin:auto;padding:2.5rem 0 4rem;display:grid}.customer-welcome{color:#fff;background:radial-gradient(circle at 85% 15%,#38bdf855,#0000 35%),#0f172a;border-radius:1.5rem;justify-content:space-between;align-items:center;padding:clamp(1.5rem,5vw,3.5rem);display:flex}.customer-welcome h1{margin:0 0 .5rem;font-size:clamp(2rem,5vw,3.5rem)}.customer-welcome p{color:#cbd5e1;margin:0}.ticket-section-title{justify-content:space-between;align-items:end;margin-bottom:1rem;display:flex}.ticket-section-title h2,.travel-hero h2,.booking-shell h2{font-size:var(--font-size-2xl);margin:0}.ticket-counts{gap:.5rem;display:flex}.ticket-counts span,.ticket-status{text-transform:capitalize;background:#e2e8f0;border-radius:99px;padding:.35rem .7rem;font-size:.75rem;font-weight:700}.ticket-status.active{color:#065f46;background:#d1fae5}.ticket-status.expired{color:#64748b;background:#e2e8f0}.ticket-grid,.route-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.ticket-card,.route-result-grid article,.booking-form-card,.booking-summary{border:1px solid var(--card-border);box-shadow:var(--shadow-sm);background:#fff;border-radius:1rem;padding:1.25rem}.ticket-card-head,.route-result-top,.passenger-card-top{justify-content:space-between;gap:1rem;display:flex}.ticket-card-head div{display:grid}.ticket-card-head small{color:var(--text-secondary)}.ticket-route{background:var(--cat-bus-surface);border-radius:.75rem;justify-content:space-between;align-items:center;margin:1.25rem 0;padding:1rem;display:flex}.ticket-route i{color:var(--cat-bus-primary)}.ticket-times,.route-result-meta{color:var(--text-secondary);grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.8rem;display:grid}.ticket-times span,.route-result-meta span{display:grid}.ticket-times small,.route-result-meta small{color:var(--text-tertiary)}.ticket-passengers{flex-wrap:wrap;gap:.4rem;margin:1rem 0;display:flex}.ticket-passengers span{background:#f1f5f9;border-radius:.4rem;padding:.3rem .55rem;font-size:.75rem}.ticket-card footer{border-top:1px dashed var(--card-border);color:var(--text-secondary);justify-content:space-between;padding-top:.75rem;display:flex}.ticket-card footer strong{color:var(--text-primary)}.ticket-empty{border:1px dashed var(--card-border);min-height:9rem;color:var(--text-secondary);text-align:center;background:#fff;border-radius:1rem;place-content:center;gap:.3rem;display:grid}.category-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.category-card{border:1px solid var(--card-border);text-align:left;opacity:.65;background:#f8fafc;border-radius:1rem;gap:.45rem;padding:1.25rem;display:grid}.category-card.available{opacity:1;cursor:pointer;background:#fff}.category-card.available:hover{border-color:var(--cat-bus-primary);box-shadow:var(--shadow-md)}.category-icon{width:2.5rem;height:2.5rem;color:var(--cat-bus-primary);background:var(--cat-bus-surface);border-radius:.75rem;place-items:center;font-weight:700;display:grid}.category-card small{color:var(--text-secondary)}.category-card em{color:var(--cat-bus-primary);font-size:.75rem;font-style:normal;font-weight:700}.travel-discovery,.booking-shell{gap:1.25rem;display:grid}.ticket-back{width:fit-content;padding:0}.travel-hero{color:#fff;background:#0f172a;border-radius:1.25rem;padding:2rem}.travel-hero p{color:#cbd5e1}.travel-search,.booking-fields{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.travel-search label,.booking-fields label,.passenger-card>label{gap:.35rem;font-size:.75rem;font-weight:600;display:grid}.travel-search input,.booking-shell input,.booking-shell select{border:1px solid var(--input-border);background:#fff;border-radius:.5rem;width:100%;min-height:2.8rem;padding:.65rem .75rem}.travel-search label span{color:#cbd5e1}.organization-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.organization-grid button{border:1px solid var(--card-border);text-align:left;cursor:pointer;background:#fff;border-radius:1rem;align-items:center;gap:1rem;padding:1rem;display:flex}.organization-grid button>span{color:#fff;background:var(--cat-bus-primary);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid}.organization-grid button div{display:grid}.organization-grid button small{color:var(--text-secondary)}.organization-grid button b{color:var(--cat-bus-primary);margin-left:auto;font-size:.75rem}.selected-organization{background:#fff;border-radius:.75rem;justify-content:space-between;margin-bottom:1rem;padding:1rem;display:flex}.selected-organization div{display:grid}.route-result-grid article{gap:1rem;display:grid}.route-result-top div{display:grid}.route-result-top small{color:var(--text-secondary)}.route-result-top>b{color:var(--cat-bus-primary)}.route-result-grid .btn-primary{justify-self:end}.booking-grid{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);align-items:start;gap:1rem;display:grid}.booking-form-card{gap:1rem;display:grid}.booking-form-card h3{margin:0}.passenger-heading{justify-content:space-between;display:flex}.passenger-card{border:1px solid var(--card-border);background:#f8fafc;border-radius:.75rem;gap:.8rem;padding:1rem;display:grid}.self-check{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.self-check input{width:auto;min-height:auto}.booking-confirm{width:100%}.booking-summary{gap:.6rem;display:grid;position:sticky;top:1rem}.booking-summary>strong{color:var(--cat-bus-primary);font-size:1.75rem}.booking-summary p,.booking-summary span{color:var(--text-secondary)}@media (width<=760px){.ticket-grid,.route-result-grid,.category-grid,.organization-grid,.booking-grid{grid-template-columns:1fr}.ticketing-account>span{display:none}.customer-welcome{flex-direction:column;align-items:flex-start;gap:1rem}.travel-search,.booking-fields{grid-template-columns:1fr}.ticket-section-title{flex-direction:column;align-items:flex-start;gap:.75rem}.booking-summary{position:static}}.admin-dashboard{background:var(--color-neutral-50);grid-template-columns:15rem minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{gap:var(--space-xl);height:100vh;padding:var(--space-xl) var(--space-md);color:#fff;background:var(--cat-bus-secondary);flex-direction:column;display:flex;position:sticky;top:0}.dashboard-brand{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);display:block}.admin-sidebar small{color:var(--color-neutral-400)}.admin-sidebar nav{gap:var(--space-2xs);display:grid}.admin-sidebar nav button,.sign-out{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-neutral-300);text-align:left;text-transform:capitalize;cursor:pointer;background:0 0;border:0}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{color:#fff;background:#ffffff1a}.sign-out{color:var(--color-neutral-400);margin-top:auto}.admin-content{min-width:0;padding:var(--space-xl)}.dashboard-header{margin-bottom:var(--space-xl)}.dashboard-header h1{margin:0 0 var(--space-xs);font-size:var(--font-size-3xl)}.dashboard-header p,.section-heading p{color:var(--text-secondary);margin:0}.admin-section{gap:var(--space-lg);padding:var(--space-xl);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;display:grid}.section-heading h2{margin:0 0 var(--space-2xs)}.resource-form{gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-neutral-50);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.resource-form .form-actions,.resource-form .form-message{grid-column:1/-1}.form-actions{gap:var(--space-sm);display:flex}.btn-secondary{min-height:3rem;padding:var(--padding-button-md);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;background:#fff}.table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{padding:var(--padding-table-cell);border-bottom:1px solid var(--table-border-color);text-align:left;white-space:nowrap}.admin-table th{color:var(--text-secondary);background:var(--table-bg-head);font-size:var(--font-size-xs)}.table-actions{gap:var(--space-xs);display:flex}.table-actions button{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);color:var(--action-update-text-dark);background:var(--action-update-subtle);cursor:pointer;border:0}.table-actions button.danger{color:var(--action-delete-text-dark);background:var(--action-delete-subtle)}.stacked-tabs{gap:var(--space-xl);display:grid}.route-stop-picker{max-width:30rem;padding:var(--space-md);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:#fff}.availability-filter{align-items:end;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-neutral-50);display:flex}select.form-input{appearance:auto}@media (width<=900px){.admin-dashboard{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-sidebar nav{grid-template-columns:repeat(3,1fr)}.sign-out{margin-top:0}.resource-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.admin-content{padding:var(--space-md)}.admin-sidebar nav,.resource-form{grid-template-columns:1fr}.availability-filter{flex-direction:column;align-items:stretch}.dashboard-header h1{font-size:var(--font-size-2xl)}}.employee-dashboard{background:#f4f7f6;min-height:100vh}.employee-sidebar{z-index:5;color:#dfe9e6;background:#102923;flex-direction:column;width:15rem;padding:1.5rem 1rem;display:flex;position:fixed;inset:0 auto 0 0}.employee-brand{align-items:center;gap:.75rem;padding:0 .5rem 2rem;display:flex}.employee-brand>span{color:#102923;background:#7ee2b8;border-radius:.7rem;place-items:center;width:2.4rem;height:2.4rem;font-weight:800;display:grid}.employee-brand div{display:grid}.employee-brand strong{color:#fff;font-size:1.1rem}.employee-brand small{color:#8da9a1;text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.employee-sidebar nav{gap:.35rem;display:grid}.employee-sidebar nav button,.employee-signout{color:#9bb2ac;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.65rem;align-items:center;gap:.75rem;width:100%;padding:.8rem .9rem;display:flex}.employee-sidebar nav button span{background:#1a3a32;border-radius:.45rem;place-items:center;width:1.7rem;height:1.7rem;font-size:.72rem;font-weight:800;display:grid}.employee-sidebar nav button:hover,.employee-sidebar nav button.active{color:#fff;background:#1a3a32}.employee-sidebar nav button.active span{color:#102923;background:#7ee2b8}.employee-signout{margin-top:auto}.employee-content{min-height:100vh;margin-left:15rem;padding:0 clamp(1.25rem,4vw,4rem) 3rem}.employee-topbar{border-bottom:1px solid #dce5e2;justify-content:flex-end;align-items:center;gap:.75rem;min-height:5rem;display:flex}.employee-topbar div{text-align:right;display:grid}.employee-topbar small{color:#71827e}.employee-topbar strong{text-transform:capitalize}.employee-topbar button{color:#fff;cursor:pointer;background:#d97706;border:0;border-radius:50%;width:2.55rem;height:2.55rem;font-weight:800}.overview-panel,.employee-panel{max-width:75rem;margin:0 auto;padding-top:2.5rem}.welcome-card{color:#fff;background:linear-gradient(125deg,#163c32,#0e271f);border-radius:1.2rem;justify-content:space-between;align-items:flex-end;gap:2rem;padding:2rem;display:flex;box-shadow:0 18px 45px #1029232e}.section-kicker,.card-label{color:#d97706;letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:800}.welcome-card .section-kicker{color:#7ee2b8}.welcome-card h1{margin:.4rem 0;font-size:clamp(1.8rem,4vw,2.7rem)}.welcome-card p{color:#adbfba;margin:0}.shift-control{background:#ffffff0f;border:1px solid #3d5750;border-radius:.85rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-width:19rem;padding:.8rem;display:grid}.shift-dot{background:#879994;border-radius:50%;width:.7rem;height:.7rem}.shift-control.on .shift-dot{background:#41d88c;box-shadow:0 0 0 5px #41d88c1f}.shift-control div{display:grid}.shift-control small{color:#9db0aa}.shift-control button{color:#15372e;cursor:pointer;background:#7ee2b8;border:0;border-radius:.55rem;padding:.6rem .8rem;font-weight:700}.overview-grid{grid-template-columns:1.7fr 1fr;gap:1.25rem;margin-top:1.25rem;display:grid}.today-route,.quick-card,.bus-card,.route-card,.profile-layout{background:#fff;border:1px solid #dce5e2;border-radius:1rem;box-shadow:0 5px 18px #1a372f0d}.today-route,.quick-card{padding:1.5rem}.route-points{grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem;margin:2.2rem 0;display:grid}.route-points div{display:grid}.route-points div:last-child{text-align:right}.route-points small,.overview-meta small{color:#7a8985}.route-points strong{margin-top:.25rem;font-size:1.25rem}.route-points b{color:#d97706}.overview-meta{border-top:1px solid #e4ebe9;grid-template-columns:repeat(3,1fr);padding-top:1rem;display:grid}.overview-meta span{gap:.2rem;display:grid}.vehicle-icon,.bus-illustration{color:#a45b05;background:#fff2dd;place-items:center;font-size:.75rem;font-weight:900;display:grid}.vehicle-icon{border-radius:1rem;width:4.3rem;height:4.3rem;margin:1.4rem 0}.quick-card h3{margin:0}.quick-card p{color:#697a75;margin:.3rem 0 1rem}.capacity,.status-chip{color:#246448;background:#e3f6ed;border-radius:1rem;padding:.35rem .6rem;font-size:.75rem;font-weight:700}.employee-panel>header{margin-bottom:1.5rem}.employee-panel h2{margin:.35rem 0;font-size:2rem}.employee-panel header p{color:#6f7f7b;margin:0}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.bus-card{padding:1.4rem}.bus-card-top{justify-content:space-between;display:flex}.bus-illustration{border-radius:.8rem;width:3.3rem;height:3.3rem}.bus-card h3{margin:1.1rem 0 .2rem}.registration{color:#697a75}.detail-grid{grid-template-columns:1fr 1fr;gap:1rem;margin:1.3rem 0;display:grid}.detail-grid div{display:grid}.detail-grid dt{color:#7d8c88;font-size:.75rem}.detail-grid dd{margin:.15rem 0 0;font-weight:700}.schedule-strip{background:#f1f6f4;border-radius:.7rem;justify-content:space-between;padding:.9rem;display:flex}.schedule-strip span{color:#72817d;font-size:.72rem;display:grid}.schedule-strip strong{color:#163c32;font-size:1rem}.assignment-history{background:#f8fbfa;border:1px solid #dce7e3;border-radius:.9rem;margin-top:1.5rem}.assignment-history summary{color:#294c43;cursor:pointer;padding:1rem 1.2rem;font-weight:700}.assignment-history summary span{color:#64748b;background:#e2e8f0;border-radius:99px;margin-left:.4rem;padding:.15rem .5rem;font-size:.72rem}.assignment-history .assignment-grid{padding:0 1rem 1rem}.route-card{margin-bottom:1rem;padding:1.5rem}.route-title{border-bottom:1px solid #e1e8e6;justify-content:space-between;gap:1rem;padding-bottom:1.3rem;display:flex}.route-title span{color:#d97706;font-size:.75rem;font-weight:700}.route-title h3{margin:.3rem 0 0}.route-title b{color:#a2afac}.route-time{text-align:right;display:grid}.route-time strong{font-size:1.35rem}.route-time small{color:#75837f}.stop-list{padding:1.3rem .3rem 0}.stop{grid-template-columns:1rem 1fr;gap:.8rem;min-height:4.2rem;display:grid;position:relative}.stop:not(:last-child):before{content:"";background:#c7ded6;width:2px;position:absolute;top:.8rem;bottom:-.2rem;left:.34rem}.stop i{z-index:1;background:#fff;border:2px solid #16815f;border-radius:50%;width:.75rem;height:.75rem}.stop div{align-content:start;display:grid}.stop small,.stop span{color:#788783}.stop strong{margin:.1rem 0}.profile-layout{grid-template-columns:minmax(14rem,.7fr) 1.5fr;display:grid;overflow:hidden}.profile-summary{text-align:center;background:#f0f6f4;padding:2rem}.avatar{color:#fff;background:#d97706;border-radius:50%;place-items:center;width:5rem;height:5rem;margin:0 auto 1rem;font-size:1.8rem;font-weight:800;display:grid}.profile-summary h3{margin:0}.profile-summary>p{color:#71817d}.profile-summary dl{text-align:left;margin-top:2rem}.profile-summary dl div{border-top:1px solid #d8e4e0;padding:.8rem 0}.profile-summary dt{color:#7a8985;font-size:.72rem}.profile-summary dd{margin:.15rem 0 0;font-weight:700}.profile-form{padding:2rem}.profile-fields{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.employee-field{gap:.4rem;display:grid}.employee-field span{font-size:.8rem;font-weight:700}.employee-field input{border:1px solid #cfdad7;border-radius:.6rem;outline:none;width:100%;padding:.8rem}.employee-field input:focus{border-color:#16815f;box-shadow:0 0 0 3px #16815f1a}.employee-field small{color:#7a8985}.employee-primary{color:#fff;cursor:pointer;background:#176b52;border:0;border-radius:.6rem;margin-top:1.2rem;padding:.8rem 1.2rem;font-weight:700}.employee-empty,.employee-state{text-align:center;align-content:center;place-items:center;min-height:18rem;display:grid}.employee-empty span{color:#d97706;font-weight:900}.employee-empty h3{margin:.8rem 0 .2rem}.employee-empty p,.employee-state p,.muted{color:#75847f}.employee-loader{border:3px solid #dce5e2;border-top-color:#16815f;border-radius:50%;width:2.4rem;height:2.4rem;animation:.7s linear infinite spin}.employee-mobile-nav{display:none}@media (width<=760px){.employee-sidebar{display:none}.employee-content{margin-left:0;padding:0 1rem 6rem}.employee-topbar{min-height:4.25rem}.welcome-card{flex-direction:column;align-items:stretch;padding:1.3rem}.shift-control{min-width:0}.overview-grid,.profile-layout,.profile-fields{grid-template-columns:1fr}.employee-mobile-nav{z-index:10;background:#102923;border:1px solid #315047;border-radius:1rem;grid-template-columns:repeat(4,1fr);padding:.45rem;display:grid;position:fixed;bottom:.8rem;left:.8rem;right:.8rem;box-shadow:0 12px 30px #00000038}.employee-mobile-nav button{color:#93aaa4;background:0 0;border:0;border-radius:.6rem;place-items:center;gap:.15rem;padding:.45rem;display:grid}.employee-mobile-nav button.active{color:#7ee2b8;background:#1a3a32}.employee-mobile-nav span{font-weight:900}.employee-mobile-nav small{font-size:.65rem}.route-title{align-items:flex-start}.route-title h3{font-size:1rem}}.registration-section{gap:var(--space-md);padding:var(--space-md);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-neutral-50);margin:0;display:grid}.registration-section h2{color:var(--text-primary);font-size:var(--font-size-md);margin:0}:root{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, Monaco, monospace;--font-size-3xs:.625rem;--font-size-2xs:.75rem;--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.625;--space-0:0px;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--space-4xl:4rem;--padding-button-sm:var(--space-xs) var(--space-sm);--padding-button-md:var(--space-sm) var(--space-md);--padding-button-lg:var(--space-md) var(--space-lg);--padding-card:var(--space-md) var(--space-lg);--padding-modal:var(--space-xl);--padding-table-cell:var(--space-sm) var(--space-md);--margin-section:var(--space-2xl);--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:3px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-glow-cinema:0 0 20px #ec489959;--color-neutral-0:#fff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-neutral-950:#020617;--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-600);--text-tertiary:var(--color-neutral-400);--text-disabled:var(--color-neutral-300);--text-inverse:var(--color-neutral-0);--action-create-bg:#10b981;--action-create-hover:#059669;--action-create-active:#047857;--action-create-subtle:#ecfdf5;--action-create-border:#a7f3d0;--action-create-text:#fff;--action-create-text-dark:#065f46;--action-read-bg:#0284c7;--action-read-hover:#0369a1;--action-read-active:#075985;--action-read-subtle:#f0f9ff;--action-read-border:#bae6fd;--action-read-text:#fff;--action-read-text-dark:#0c4a6e;--action-update-bg:#6366f1;--action-update-hover:#4f46e5;--action-update-active:#4338ca;--action-update-subtle:#eef2ff;--action-update-border:#c7d2fe;--action-update-text:#fff;--action-update-text-dark:#3730a3;--action-delete-bg:#ef4444;--action-delete-hover:#dc2626;--action-delete-active:#b91c1c;--action-delete-subtle:#fef2f2;--action-delete-border:#fecaca;--action-delete-text:#fff;--action-delete-text-dark:#991b1b;--action-filter-bg:var(--color-neutral-100);--action-filter-hover:var(--color-neutral-200);--action-filter-active:var(--color-neutral-300);--action-filter-border:var(--color-neutral-300);--action-filter-text:var(--color-neutral-800);--action-export-bg:#0d9488;--action-export-hover:#0f766e;--action-export-subtle:#f0fdfa;--action-export-border:#99f6e4;--action-export-text:#fff;--action-export-text-dark:#115e59;--action-batch-bg:#8b5cf6;--action-batch-hover:#7c3aed;--action-batch-subtle:#f5f3ff;--action-batch-border:#ddd6fe;--action-batch-text:#fff;--cat-bus-primary:#0284c7;--cat-bus-secondary:#0f172a;--cat-bus-accent:#38bdf8;--cat-bus-surface:#f0f9ff;--cat-bus-border:#bae6fd;--cat-cinema-primary:#ec4899;--cat-cinema-dark-bg:#090a0f;--cat-cinema-surface:#13151e;--cat-cinema-accent:#f43f5e;--cat-cinema-glow:#ec489966;--cat-driver-primary:#d97706;--cat-driver-surface:#fffbeb;--cat-driver-border:#fef3c7;--cat-driver-active:#16a34a;--cat-driver-offduty:#64748b;--cat-route-primary:#0d9488;--cat-route-surface:#f0fdfa;--cat-route-line:#14b8a6;--cat-stop-node:#0f766e;--seat-available-bg:var(--color-neutral-0);--seat-available-border:var(--color-neutral-400);--seat-available-text:var(--color-neutral-700);--seat-selected-bg:#2563eb;--seat-selected-border:#1d4ed8;--seat-selected-text:#fff;--seat-selected-glow:0 0 12px #2563eb80;--seat-booked-bg:#64748b;--seat-booked-border:#475569;--seat-booked-text:#94a3b8;--seat-pending-bg:#f59e0b;--seat-pending-border:#d97706;--seat-pending-text:#fff;--seat-vip-bg:#8b5cf6;--seat-vip-border:#7c3aed;--seat-vip-text:#fff;--seat-blocked-bg:#1e293b;--seat-blocked-border:#0f172a;--seat-blocked-text:#475569;--table-bg-head:var(--color-neutral-100);--table-bg-hover:var(--color-neutral-50);--table-border-color:var(--color-neutral-200);--table-padding-y:var(--space-sm);--table-padding-x:var(--space-md);--input-bg:var(--color-neutral-0);--input-border:var(--color-neutral-300);--input-border-focus:var(--action-read-bg);--input-padding:var(--space-sm) var(--space-md);--input-radius:var(--radius-md);--card-bg:var(--color-neutral-0);--card-border:var(--color-neutral-200);--card-radius:var(--radius-lg);--card-shadow:var(--shadow-md);--modal-overlay-bg:#0f172aa6;--modal-bg:var(--color-neutral-0);--modal-radius:var(--radius-xl);--modal-shadow:var(--shadow-xl)}*{box-sizing:border-box}html{background:var(--color-neutral-50);min-width:320px}body{margin:var(--space-0);min-width:320px;min-height:100vh;color:var(--text-primary);background:var(--color-neutral-50);font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);text-rendering:optimizelegibility}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.auth-page{background:var(--color-neutral-0);grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr);min-height:100vh;display:grid}.auth-showcase{min-height:100vh;padding:var(--space-2xl) clamp(var(--space-xl), 5vw, var(--space-4xl));color:var(--text-inverse);background:radial-gradient(circle at 90% 12%, #38bdf83d, transparent 32%), radial-gradient(circle at 14% 88%, #0d948838, transparent 35%), var(--cat-bus-secondary);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth-showcase:after{border-radius:var(--radius-full);content:"";border:1px solid #ffffff1a;width:17rem;height:17rem;position:absolute;bottom:12%;right:-7rem;box-shadow:0 0 0 3.5rem #ffffff06,0 0 0 7rem #ffffff05}.brand,.mobile-brand{z-index:1;align-items:center;gap:var(--space-sm);width:fit-content;color:inherit;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.025em;text-decoration:none;display:inline-flex}.brand-mark{border-radius:var(--radius-md);width:2.25rem;height:2.25rem;color:var(--cat-bus-secondary);background:var(--cat-bus-accent);font-size:var(--font-size-md);box-shadow:var(--shadow-lg);place-items:center;display:grid}.showcase-copy{z-index:1;max-width:34rem}.eyebrow{margin-bottom:var(--space-sm);color:var(--cat-bus-primary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase;display:block}.eyebrow-light{color:var(--cat-bus-accent)}.showcase-copy h2{margin:var(--space-0) 0 var(--space-lg);font-size:clamp(var(--font-size-3xl), 4vw, 3.5rem);letter-spacing:-.045em;line-height:1.08}.showcase-copy p{max-width:30rem;margin:var(--space-0);color:var(--color-neutral-300);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.route-preview{z-index:1;align-items:center;gap:var(--space-sm);max-width:31rem;padding:var(--space-lg);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff1f;grid-template-columns:auto 1fr auto;display:grid}.route-node{border:2px solid var(--cat-bus-accent);border-radius:50%;width:.75rem;height:.75rem}.route-node-active{background:var(--cat-bus-accent);box-shadow:0 0 0 5px #38bdf824}.route-line{background:linear-gradient(90deg, var(--cat-bus-accent), #38bdf838);height:1px}.route-preview div{gap:var(--space-3xs);flex-direction:column;grid-row:2;display:flex}.route-preview div:last-child{text-align:right;grid-column:3}.route-preview strong{font-size:var(--font-size-xs)}.route-preview span{color:var(--color-neutral-400);font-size:var(--font-size-2xs)}.showcase-note{z-index:1;margin:var(--space-0);color:var(--color-neutral-400);font-size:var(--font-size-2xs)}.auth-panel{min-height:100vh;padding:var(--space-xl);background:var(--color-neutral-50);place-items:center;display:grid}.mobile-brand{color:var(--cat-bus-secondary);display:none}.auth-card{width:min(100%,35rem);padding:var(--space-xl)}.auth-title{margin:var(--space-0) 0 var(--space-xs);font-size:clamp(var(--font-size-2xl), 3vw, var(--font-size-3xl));line-height:var(--line-height-tight);letter-spacing:-.035em}.auth-subtitle{margin:var(--space-0) 0 var(--space-xl);color:var(--text-secondary);font-size:var(--font-size-md)}.auth-form{gap:var(--space-md);display:grid}.form-row{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-group{gap:var(--space-xs);min-width:0;display:grid}.label-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.form-label{color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.field-hint{color:var(--text-tertiary);font-size:var(--font-size-2xs)}.form-input{width:100%;min-height:3rem;padding:var(--input-padding);border:var(--border-width-thin) solid var(--input-border);border-radius:var(--input-radius);color:var(--text-primary);background:var(--input-bg);outline:none;transition:border-color .16s,box-shadow .16s}.form-input::placeholder{color:var(--text-tertiary)}.form-input:hover{border-color:var(--color-neutral-400)}.form-input:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px #0284c721}.input-wrapper{position:relative}.input-wrapper .form-input{padding-right:4.5rem}.input-action{top:50%;right:var(--space-sm);padding:var(--space-2xs) var(--space-xs);color:var(--action-read-bg);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;position:absolute;transform:translateY(-50%)}.form-message{padding:var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);border:1px solid}.form-error{border-color:var(--action-delete-border);color:var(--action-delete-text-dark);background:var(--action-delete-subtle)}.form-success{margin-bottom:var(--space-md);border-color:var(--action-create-border);color:var(--action-create-text-dark);background:var(--action-create-subtle)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-xs);min-height:3rem;padding:var(--padding-button-md);border-radius:var(--radius-md);color:var(--action-read-text);background:var(--cat-bus-primary);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-sm);border:0;transition:background .16s,transform .16s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--action-read-hover);transform:translateY(-1px)}.btn-primary:disabled{cursor:wait;opacity:.7}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}.auth-footer{margin-top:var(--space-xl);color:var(--text-secondary);text-align:center}.auth-link{color:var(--action-read-bg);font-weight:var(--font-weight-semibold);text-decoration:none}.auth-link:hover{text-decoration:underline}.terms-note{margin:var(--space-0);color:var(--text-tertiary);font-size:var(--font-size-2xs);text-align:center}.landing-page{min-height:100vh;padding:var(--space-xl);background:var(--cat-bus-surface);place-items:center;display:grid}.landing-card{padding:var(--padding-modal);border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.landing-title{margin:0 0 var(--space-xs)}.landing-subtitle{color:var(--text-secondary);margin:0}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=820px){.auth-page{background:var(--color-neutral-50);grid-template-columns:1fr}.auth-showcase{display:none}.auth-panel{padding:var(--space-lg);align-content:start}.mobile-brand{margin-bottom:var(--space-2xl);justify-self:start;display:inline-flex}.auth-card{padding:var(--space-0)}}@media (width<=520px){.auth-panel{padding:var(--space-lg) var(--space-md)}.form-row{grid-template-columns:1fr}.auth-title{font-size:var(--font-size-2xl)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}.auth-page-simple{padding:var(--space-lg);background:var(--color-neutral-50);grid-template-columns:1fr;place-items:center;display:grid}.auth-panel-simple{background:0 0;width:100%;min-height:auto;padding:0}.auth-panel-simple .auth-card{padding:var(--space-xl);border:1px solid var(--card-border);border-radius:var(--radius-xl);background:var(--card-bg);box-shadow:var(--shadow-lg)}.booknix-logo{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);color:var(--cat-bus-secondary);text-decoration:none;display:inline-flex}.booknix-logo-mark{border-radius:var(--radius-lg);color:#fff;background:var(--cat-bus-primary);place-items:center;width:2.75rem;height:2.75rem;display:grid;position:relative;overflow:hidden;box-shadow:0 7px 18px #0284c738}.booknix-logo-mark span{z-index:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.booknix-logo-mark i{border:4px solid #ffffff47;border-radius:50%;width:1.7rem;height:1.7rem;position:absolute;bottom:-.65rem;right:-.65rem}.booknix-wordmark{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.04em}.role-selector{gap:var(--space-xs);border:0;grid-template-columns:1fr 1fr;margin:0;padding:0;display:grid}.role-selector legend{margin-bottom:var(--space-3xs);grid-column:1/-1}.role-option{border:1px solid var(--input-border);border-radius:var(--radius-md);min-height:2.75rem;color:var(--text-secondary);background:var(--color-neutral-0);cursor:pointer}.role-option:hover{border-color:var(--cat-bus-primary)}.role-option.selected{border-color:var(--cat-bus-primary);color:var(--action-read-text-dark);background:var(--action-read-subtle);box-shadow:0 0 0 1px var(--cat-bus-primary);font-weight:var(--font-weight-semibold)}.organization-list{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--color-neutral-0);max-height:10rem;display:grid;overflow-y:auto}.organization-option{padding:var(--space-sm);border:0;border-bottom:1px solid var(--card-border);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;display:flex}.organization-option:last-child{border-bottom:0}.organization-option:hover,.organization-option.selected{color:var(--action-read-text-dark);background:var(--action-read-subtle)}.organization-option small{color:var(--text-tertiary)}.organization-note{padding:var(--space-sm);color:var(--text-secondary);font-size:var(--font-size-xs)}
