.os-progress{display:flex;gap:6px;justify-content:center;margin:0 0 12px}.os-dot{width:26px;height:5px;padding:0;border:0;border-radius:3px;cursor:pointer;background:var(--gray-200, #e5e7eb);transition:background .2s ease,width .2s ease}.os-dot.active{background:var(--primary);width:40px}.os-dot:hover{background:var(--primary);opacity:.75}.os-dot:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.os-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.os-step{font-size:12px;color:var(--text-muted, var(--gray-500, #6b7280));font-variant-numeric:tabular-nums}.os-q{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.04em}.os-h1{margin:0 0 16px;font-size:24px;line-height:1.2;letter-spacing:-.01em;color:var(--text, var(--gray-900, #111827))}@media (min-width: 640px){.os-h1{font-size:30px}}.os-art{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:18px 12px;margin-bottom:16px;border-radius:10px;background:var(--gray-50, #f9fafb);border:1px solid var(--gray-100, #f3f4f6)}.os-node{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);font-size:13px;font-weight:600;color:var(--text, #111827);box-shadow:0 1px 2px #0000000a;animation:os-rise .45s ease both}.os-node svg{color:var(--gray-500, #6b7280);flex:none}.os-node-you{border-color:var(--primary);color:var(--primary)}.os-node-you svg{color:var(--primary)}.os-node-split{border-color:var(--gray-300, #d1d5db)}.os-wire{height:2px;width:0;min-width:18px;background:var(--gray-300, #d1d5db);border-radius:2px;animation:os-wire .5s ease forwards}.os-wire-good{background:var(--success, #16a34a)}.os-wire-a{animation-delay:.35s}.os-wire-b{animation-delay:.75s}.os-wire-c{animation-delay:1.15s}.os-node-bank{border-style:dashed;color:var(--text-muted, var(--gray-600, #4b5563))}.os-node-bank svg{color:var(--gray-400, #9ca3af)}.os-badge{position:absolute;top:8px;right:10px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--success, #16a34a);background:var(--success-50, #f0fdf4);animation:os-pulse 2.2s ease-in-out infinite}.os-art-money .os-node-you{position:relative}.os-art-money .os-node-you:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:10px;border:2px solid var(--success, #16a34a);opacity:0;animation:os-ring 1.8s ease-out 1.1s infinite}.os-art-team{flex-direction:column;gap:10px}.os-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.os-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);color:var(--text, #111827);animation:os-rise .4s ease both}.os-chip svg{color:var(--primary);flex:none}.os-row:nth-child(2) .os-chip{animation-delay:.15s}.os-points{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:11px}.os-points li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}.os-point-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--primary-50, #eef2ff);color:var(--primary)}.os-nav{display:flex;gap:10px;justify-content:space-between}.os-cta{margin-top:16px;text-align:center}.os-cta-line{margin:0 0 10px;font-weight:600}.os-cta>div{justify-content:center}.os-fine{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-muted, var(--gray-500, #6b7280))}@keyframes os-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes os-wire{0%{width:0;opacity:0}to{width:34px;opacity:1}}@keyframes os-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes os-ring{0%{opacity:.7;transform:scale(1)}70%{opacity:0;transform:scale(1.14)}to{opacity:0;transform:scale(1.14)}}@media (prefers-reduced-motion: reduce){.os-node,.os-chip,.os-wire,.os-badge,.os-art-money .os-node-you:after{animation:none!important;opacity:1;transform:none}.os-wire{width:34px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: var(--brand-600);--primary-dark: var(--brand-700);--primary-soft: var(--bg);--on-primary: #1F1B16;--ink: #1F1B16;--bg: #F7F3EC;--card: #ffffff;--text: #211D18;--text-muted: #6B6156;--border: #E9E1D5;--success: var(--ok-600);--danger: var(--bad-600);--warning: var(--warn-600);--dur-tap: 90ms;--dur-quick: .15s;--dur-base: .22s;--dur-slow: .38s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--brand-50: #FFF9EC;--brand-100: #FFEFCF;--brand-200: #FFDD96;--brand-300: #FFC653;--brand-400: #FBA81A;--brand-500: #EE8A05;--brand-600: #E8890B;--brand-700: #B45309;--brand-800: #7A3D06;--brand-900: #4A2704;--ok-50: #E8F6EC;--ok-100: #C9E9D3;--ok-600: #15803D;--ok-700: #106534;--warn-50: #FEF3E2;--warn-100: #FCE5C2;--warn-600: #B45309;--warn-700: #8A3F07;--bad-50: #FDECEC;--bad-100: #F8D3D3;--bad-600: #B91C1C;--bad-700: #911616;--info-50: #E8F1FB;--info-100: #CFE2F5;--info-600: #1D5FA8;--info-700: #164A85;--clay-50: #FDF1EA;--clay-100: #FADBCB;--clay-600: #C2410C;--clay-700: #9A3412;--role-operator: var(--brand-600);--role-operator-soft: var(--bg);--role-officer: var(--info-600);--role-officer-soft: var(--info-50);--role-driver: var(--clay-600);--role-driver-soft: var(--clay-50);--role-admin: var(--brand-800);--role-admin-soft: var(--border-strong);--surface-0: #ffffff;--surface-1: #FCFAF5;--surface-2: var(--bg);--border-strong: #D8CDBB;--elev-1: 0 1px 2px rgba(54, 39, 20, .06);--elev-2: 0 2px 6px rgba(54, 39, 20, .07), 0 12px 32px rgba(54, 39, 20, .07);--elev-3: 0 4px 10px rgba(54, 39, 20, .08), 0 24px 48px rgba(54, 39, 20, .12);--radius: 12px;--radius-lg: 16px;--ring: 0 0 0 3px rgba(232, 137, 11, .28);--shadow-sm: 0 1px 2px rgba(54, 39, 20, .06);--shadow-md: 0 2px 6px rgba(54, 39, 20, .07), 0 12px 32px rgba(54, 39, 20, .07);--shadow-lg: 0 4px 10px rgba(54, 39, 20, .08), 0 24px 48px rgba(54, 39, 20, .12);--header-bg: rgba(255, 253, 248, .88);--header-ink: var(--text);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 20px;--text-xl: 26px;--text-2xl: 32px;--text-3xl: 44px;--skeleton-from: #edf2f7;--skeleton-to: #dbe4ee;--barcode-ink: #000000;--barcode-paper: #ffffff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:radial-gradient(1200px 480px at 50% -220px,rgba(232,137,11,.12),transparent 70%),var(--bg);background-attachment:fixed;color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.container{max-width:480px;margin:0 auto;padding:16px;min-height:100vh}.card{background:var(--card);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border:1px solid rgba(16,34,51,.05);margin-bottom:16px}.btn{display:block;width:100%;min-height:46px;padding:12px 20px;border:none;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .12s ease}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn-primary{background:linear-gradient(180deg,var(--primary),var(--primary-dark));color:var(--on-primary);box-shadow:0 1px 2px #4a270459,inset 0 1px #ffffff4d}.btn-primary:hover{background:linear-gradient(180deg,var(--brand-500),var(--primary-dark));color:var(--on-primary);box-shadow:0 2px 8px #4a270466,inset 0 1px #ffffff4d}.btn-primary:active{transform:translateY(1px) scale(.99)}.btn-primary:disabled{background:var(--border);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary-dark)}.btn-pill{border-radius:999px;padding-left:22px;padding-right:22px}.btn-circle{border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}a.btn-circle,.actions .btn-circle,.row .btn-circle{width:44px}input,select{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:16px;background:var(--card);color:var(--text);margin-bottom:12px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}input::placeholder{color:var(--text-muted)}label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-muted)}.header{background:var(--header-bg);color:var(--header-ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(16,34,51,.08);padding:12px 0;font-size:20px;font-weight:700;position:sticky;top:0;z-index:100}.trip-card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.trip-card:hover{border-color:var(--primary)}.trip-card.selected{border-color:var(--primary);background:var(--primary-soft)}.trip-route{font-size:18px;font-weight:700;margin-bottom:8px}.trip-time{color:var(--text-muted);font-size:14px}.trip-price{font-size:20px;font-weight:700;color:var(--primary)}.trip-seats{font-size:13px;color:var(--text-muted)}.seat{width:44px;height:46px;border-radius:10px 10px 8px 8px;display:flex;position:relative;align-items:center;justify-content:center;font-size:15px;font-weight:800;cursor:pointer;border:1.5px solid var(--border-strong);background:var(--surface-0);box-shadow:inset 0 2px #ffffffe6,var(--shadow-sm);transition:all .18s cubic-bezier(.16,1,.3,1)}.seat-num{line-height:1}.seat.available{background:var(--surface-0);color:var(--text);border-color:var(--border-strong)}.seat.available:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--brand-900);transform:translateY(-2px);box-shadow:0 4px 8px #e8890b2e}.seat.selected{background:var(--primary);color:var(--on-primary);border-color:var(--primary-dark);transform:translateY(-2px) scale(1.04);box-shadow:0 4px 12px #e8890b61}.seat.booked{background:var(--clay-50);color:var(--clay-700);cursor:not-allowed;border-color:var(--clay-600);text-decoration:line-through;opacity:.85}.seat-check{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:12px;height:12px;background:#ffffff4d;border-radius:50%}.driver-wheel{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark)}.btn-sm{padding:4px 12px;font-size:12px;font-weight:600}.seat-grid{margin:16px 0;padding:16px;background:var(--card);border-radius:var(--radius);border:1px solid var(--border)}.seat-grid-driver{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 10px;margin-bottom:14px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:linear-gradient(90deg,var(--surface-1),var(--bg));border:1px solid var(--border);border-top-left-radius:40px;border-top-right-radius:40px;border-bottom:2px dashed var(--border-strong)}.seat-grid-rows{display:flex;flex-direction:column;gap:12px}.seat-row{display:flex;align-items:flex-start;justify-content:center;gap:8px}.seat-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;width:52px;flex:0 0 auto}.seat-grid-aisle{width:26px;align-self:stretch;flex:0 0 auto;border-left:2px dashed var(--border-strong);border-right:2px dashed var(--border-strong);background:repeating-linear-gradient(180deg,var(--surface-2) 0 6px,var(--surface-1) 6px 12px);border-radius:4px}.seat-grid-legend{display:flex;gap:16px;justify-content:center;margin-bottom:12px;font-size:12px;color:var(--text-muted)}.sg-legend-item{display:flex;align-items:center;gap:4px}.sg-dot{display:inline-block;width:12px;height:12px;border-radius:3px;border:1.5px solid var(--border-strong);background:var(--surface-0)}.sg-dot.selected{background:var(--primary);border-color:var(--primary-dark)}.sg-dot.taken{background:var(--clay-100);border-color:var(--clay-600)}.showroom-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.showroom-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand-300)}.showroom-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--brand-900);background:linear-gradient(160deg,var(--brand-200),var(--bg));border:1.5px solid var(--brand-300)}.showroom-main{flex:1 1 auto;min-width:0}.showroom-name{font-weight:700;font-size:15px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.showroom-meta{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ok-600);margin-top:2px}.showroom-cta{width:auto;flex:0 0 auto;min-height:38px;padding:8px 16px;font-size:13px;white-space:nowrap}.showroom-pending{font-size:12px;flex:0 0 auto}.storefront-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(120deg,var(--bg),var(--surface-1));border:1px solid var(--brand-200);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.storefront-bar-main{flex:1 1 200px;min-width:0}.storefront-bar-info{display:flex;align-items:center;gap:4px;width:100%;font-size:12px;font-weight:600;color:var(--ok-600)}@media (max-width: 420px){.showroom-card{flex-wrap:wrap}.showroom-cta{width:100%;justify-content:center}}.sg-tag-sample{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.03em}.sg-filter{border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text-muted);padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.sg-filter:hover{border-color:var(--primary);color:var(--primary-dark)}.sg-filter.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.seat-grid .seat.dimmed{opacity:.35;border-style:dashed}.seat-cat-tag{font-size:9px;color:var(--text-muted);letter-spacing:.03em;margin-top:2px}.seat-name-tag{font-size:8px;line-height:1.1;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);margin-top:2px;text-align:center}.page-title{margin-bottom:12px}.storefront-link{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:var(--on-primary);padding:12px 16px;border-radius:10px;font-weight:600;font-size:16px;text-decoration:none;margin-bottom:16px}.storefront-link:hover{background:var(--primary-dark)}.storefront-preview{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;word-break:break-all;font-family:SF Mono,Consolas,monospace;font-size:14px;color:var(--primary-dark)}.list-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.list-item-icon{color:var(--primary);flex-shrink:0;margin-top:2px}.customer-care{background:linear-gradient(135deg,#f0fdfa,#e7f4f1);border:1px solid #a7f0da;border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:12px}.phone-link{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;text-decoration:none;color:var(--on-primary);background:linear-gradient(180deg,var(--brand-400),var(--brand-600));border:1px solid var(--brand-700);border-radius:999px;font-weight:700;font-size:15px;box-shadow:0 1px 2px #4a27044d,inset 0 1px #ffffff59;transition:transform .12s ease,box-shadow .18s ease,background .18s ease}.phone-link:hover{background:linear-gradient(180deg,var(--brand-300),var(--brand-500));box-shadow:0 3px 10px #e8890b66;transform:translateY(-1px)}.phone-link:active{transform:translateY(1px)}.phone-link:hover{color:var(--primary)}.customer-care .mono{font-family:SF Mono,Consolas,monospace}.customer-care .muted{color:var(--text-muted);font-weight:400}.storefront-url-card{background:var(--primary-soft);border:1px solid #b9e8e2;border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}.storefront-url-card .url{font-family:SF Mono,Consolas,monospace;font-size:14px;color:var(--primary-dark);word-break:break-all}.bus-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:12px}.bus-card .bus-photo{width:56px;height:56px;border-radius:8px;object-fit:cover;background:#e2e8f0}.bus-card .info{flex:1}.bus-card .info .model{font-weight:600;color:var(--text)}.bus-card .info .reg,.bus-card .seats{font-size:13px;color:var(--text-muted)}.cargo-badge{display:inline-flex;align-items:center;gap:4px;background:#fef3c7;color:#92400e;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:6px}.role-card{background:var(--card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.role-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.role-card .icon{font-size:28px;margin-bottom:8px}.role-card h3{font-size:16px;font-weight:600;margin-bottom:4px}.role-card p{font-size:13px;color:var(--text-muted)}.sg-selected-label{text-align:center;margin-top:12px;font-size:14px;font-weight:600;color:var(--primary-dark)}.date-strip{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px;align-items:stretch}.date-chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.date-chip:hover{border-color:var(--primary);color:var(--primary-dark)}.date-chip.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.date-chip-num{font-size:16px;font-weight:800}.calendar-chip{justify-content:center}.calendar-chip-wrap{position:relative;display:inline-flex}.date-input-hidden{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;opacity:0;pointer-events:none}.clear-chip{justify-content:center;color:#dc2626;border-color:#fca5a5}.rc-pill.date{background:var(--primary-soft);color:var(--primary-dark);font-weight:700}.result-card{display:flex;gap:16px;padding:16px;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow .2s;cursor:pointer}.result-card:hover{box-shadow:var(--shadow-md)}.bus-thumb{width:80px;height:80px;border-radius:var(--radius);object-fit:cover;background:var(--primary-soft);flex-shrink:0;display:flex;align-items:center;justify-content:center}.bus-thumb-placeholder{font-size:32px;color:var(--primary)}.rc-bus-photo{width:80px;height:80px;border-radius:var(--radius);object-fit:cover;background:var(--primary-soft);flex-shrink:0;border:1px solid var(--border)}.rc-main{flex:1;min-width:0}.rc-operator{margin-bottom:4px}.rc-name{font-weight:700;font-size:15px}.rc-route{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:8px;flex-wrap:wrap}.rc-time{font-weight:600;color:var(--text)}.rc-meta{display:flex;gap:8px;flex-wrap:wrap}.rc-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:500}.rc-pill.warn{background:#fef3c7;color:var(--warning)}.rc-pill.plate{background:#e0f2fe;color:#0369a1}.rc-pill.pickup{background:#f0fdf4;color:#15803d}.rc-cta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;flex-shrink:0}.rc-price{font-size:18px;font-weight:800;color:var(--primary)}.rc-price-sub{font-size:11px;color:var(--text-muted)}.bus-card{display:flex;gap:12px;padding:12px;background:var(--primary-soft);border-radius:var(--radius);margin:12px 0;align-items:center}.bus-photo{width:64px;height:64px;border-radius:8px;object-fit:cover}.bus-info{flex:1}.bus-plate{font-weight:700;font-size:16px;color:var(--primary-dark)}.bus-model{font-size:13px;color:var(--text-muted)}.bus-pickup{font-size:12px;color:var(--success);margin-top:2px}.ticket{background:#fff;border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center}.ticket-brand{display:flex;align-items:center;justify-content:center;gap:10px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--border);text-align:left}.ticket-brand-logo{width:40px;height:40px;border-radius:8px;object-fit:contain;background:#fff;flex:0 0 auto}.ticket-brand-text{min-width:0}.ticket-brand-name{font-weight:800;font-size:15px;color:var(--ink)}.ticket-brand-phone{font-size:12px;color:var(--text-muted)}.ticket-code{font-size:32px;font-weight:800;letter-spacing:4px;color:var(--primary);margin:16px 0}.ticket-detail{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.ticket-detail:last-child{border-bottom:none}.ticket-detail-label{color:var(--text-muted);font-size:14px}.ticket-detail-value{font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-confirmed{background:#dcfce7;color:var(--success)}.status-pending{background:#fef3c7;color:var(--warning)}.error{background:#fee2e2;color:var(--danger);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.success{background:#dcfce7;color:var(--success);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.loading,.empty{text-align:center;padding:40px;color:var(--text-muted)}.tab{flex:1;padding:12px;text-align:center;cursor:pointer;font-weight:500;color:var(--text-muted);border-bottom:3px solid transparent}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.manifest-row{display:grid;grid-template-columns:50px 1fr 80px 60px;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px;align-items:center}.page{min-height:100vh}.header-inner{max-width:480px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:12px}.brand{background:none;border:none;color:var(--header-ink);font-size:20px;font-weight:800;letter-spacing:-.02em;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:8px}.brand-logo{width:30px;height:30px;border-radius:9px;background:var(--surface-0);object-fit:contain;padding:2px;flex:0 0 auto}.brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(160deg,var(--primary),var(--ink));color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #4a270459;flex:0 0 auto}.header-sub{font-size:13px;opacity:.85}.header-right{margin-left:auto}.card-title{font-size:18px;font-weight:700;margin-bottom:12px}.row{display:flex;align-items:center}.field{display:block;margin-bottom:12px}.field-label{display:block;font-size:14px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.field-hint{display:block;font-size:12px;color:var(--text-muted);margin-top:4px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.badge-ok{background:#dcfce7;color:#15803d}.badge-warn{background:#fef3c7;color:#b45309}.badge-danger{background:#fee2e2;color:#b91c1c}.badge-neutral{background:#e2e8f0;color:#475569}.stat{flex:1;text-align:center;padding:14px 8px}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.stat-value{font-size:26px;font-weight:800;color:var(--text);margin-top:2px}.stat-sub{font-size:12px;color:var(--text-muted)}.btn-secondary:hover{background:var(--border)}.btn-ghost{background:transparent;color:var(--primary);box-shadow:none}.btn-ghost:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.muted{color:var(--text-muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.weight-700{font-weight:700}.found-ticket{border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px}.found-code{font-size:26px;font-weight:800;letter-spacing:3px;color:var(--primary)}.found-route{font-size:16px;font-weight:700}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.role-card{transition:transform .2s ease,box-shadow .2s ease;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.role-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.role-card:active{transform:translateY(-2px)}.role-icon{width:56px;height:56px;border-radius:16px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.role-go{color:var(--primary);font-weight:600;display:inline-flex;align-items:center;gap:4px}.role-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.role-head .role-icon{margin-bottom:0}.role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.role-badge.public{background:#dcfce7;color:#15803d}.role-badge.staff{background:var(--primary-soft);color:var(--primary-dark)}.role-secondary{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px}.role-link{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.role-link:hover{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft)}@media (max-width: 480px){.role-grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.fade-in{animation:fadeIn .35s ease both}.slide-in{animation:slideIn .3s ease both}.seat.available{transition:background .12s ease,border-color .12s ease}.seat.available:hover{background:var(--primary-soft);border-color:var(--primary)}.seat.selected{animation:pulse 1.2s ease infinite}.btn-primary,.btn-secondary{transition:background .15s ease,transform .1s ease}.btn-primary:active,.btn-secondary:active{transform:scale(.97)}.card{transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md)}.list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;flex-wrap:wrap}.list-item:last-child{border-bottom:none}.actions{display:flex;gap:8px}.actions .btn{width:auto;padding:8px 12px;font-size:13px;border-radius:8px}.field-error{border-color:var(--danger)!important}.manifest-header{font-weight:700;color:var(--text-muted);font-size:12px;text-transform:uppercase}.revenue-stat{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.revenue-stat:last-child{border-bottom:none}.revenue-stat-value{font-weight:700;font-size:18px}.stepper{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3);flex-wrap:wrap}.stepper .step{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--border);color:var(--text-muted)}.stepper .step.active{background:var(--primary);color:var(--on-primary)}.stepper .step.done{background:var(--success);color:#fff}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);max-width:420px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001f;padding:12px 16px;z-index:200}.toast.success{border-color:var(--success)}.toast.error{border-color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.modal{background:#fff;border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;max-width:480px;width:100%;padding:var(--space-5)}.skeleton{background:linear-gradient(90deg,var(--skeleton-from),var(--skeleton-to),var(--skeleton-from));background-size:200% 100%;border-radius:var(--radius);height:40px}.skeleton.line{height:14px;border-radius:4px}.skeleton.card{height:64px}.empty-state{padding:var(--space-5);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-muted)}.empty-state-title{font-size:var(--text-lg);font-weight:600;color:var(--text)}.empty-state-hint{font-size:var(--text-sm)}.empty-state-cta{margin-top:var(--space-3)}.tabbar{display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tabbar button{flex:0 0 auto;scroll-snap-align:center;border:none;background:transparent;padding:12px 16px;min-height:44px;border-radius:8px;font-weight:600;font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease}.tabbar button:hover:not(.active){background:var(--surface-1);color:var(--text)}.tabbar button.active{background:var(--primary);color:var(--barcode-paper);box-shadow:0 2px 8px -2px #e8890b73}.btn{transition:background .18s ease,transform .12s ease,box-shadow .18s ease,border-color .18s ease}.btn-primary:not(:disabled):active{transform:scale(.985)}.btn:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.card{transition:box-shadow .18s ease,transform .12s ease;border:1px solid var(--border)}.card:hover{box-shadow:0 8px 20px #00000014;transform:translateY(-1px)}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:2px}.list-item{transition:transform .12s ease}.list-item:hover{transform:translate(3px)}@media print{body *{visibility:hidden}#ticket-print,#ticket-print *{visibility:visible}#ticket-print{position:absolute;left:0;top:0;width:100%;border:none;box-shadow:none;padding:16px}.print-hide{display:none!important}}:root.dark{--bg: #0f172a;--card: #1e293b;--text: #e2e8f0;--text-muted: #94a3b8;--border: #334154;--skeleton-from: #334154;--skeleton-to: #475569;--surface-0: #1e293b;--ink: #e2e8f0;--brand-50: #2a2118;--brand-100: #3a2d1f;--brand-200: #4a3a26;--ok-50: #10281a;--ok-100: #1c4430;--warn-50: #2e2410;--warn-100: #4a3a17;--bad-50: #2e1416;--bad-100: #4d1f22;--info-50: #10203a;--info-100: #1b3454;--clay-50: #2c1a12;--clay-100: #4a2a1b;--primary-soft: rgba(232, 137, 11, .22);--ok-700: #6ee7a8;--warn-700: #fbbf6a;--bad-700: #f8a3a3;--info-700: #93c5fd;--clay-700: #f0a882}.hero-subtitle{font-size:var(--text-lg);font-weight:600;color:var(--text);margin:0 0 var(--space-3);text-align:center}.result-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.dark-toggle{background:none;border:1px solid var(--border);border-radius:8px;width:34px;height:34px;cursor:pointer;font-size:18px;color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,transform .12s ease}.dark-toggle:active{transform:scale(.95)}.dark-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.container,.header-inner{width:100%}@media (min-width: 480px){.container,.header-inner{max-width:520px}}@media (min-width: 768px){.container,.header-inner{max-width:760px;padding-left:24px;padding-right:24px}}.page--wide .container--wide,.page--wide .header-inner{max-width:100%}@media (min-width: 1024px){.page--wide .container--wide,.page--wide .header-inner{max-width:1280px}}@media (min-width: 1024px){.page--wide .card p,.page--wide .card li,.page--wide .card .muted{max-width:68ch}.page--wide .card{padding:20px 22px}.page--wide .list-item{padding:12px 6px}.page--wide .actions .btn{padding:9px 14px}}@media (hover: none),(pointer: coarse){.card:hover{transform:none;box-shadow:0 1px 3px #00000014}.list-item:hover{transform:none}.btn,input,select,textarea{min-height:44px}.tabbar button{min-height:40px}}@media (prefers-reduced-motion: reduce){.btn,.card,.list-item,.dark-toggle{transition:none!important;transform:none!important}}.seat-chip{min-width:40px;height:40px;border-radius:8px;border:2px solid var(--border);background:#fff;font-weight:600;font-size:13px;cursor:pointer;transition:transform .12s ease,background .12s ease}.seat-chip:hover:not(:disabled){border-color:var(--primary);transform:translateY(-1px)}.seat-chip-selected{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.seat-chip-taken{background:var(--border);color:var(--text-muted);cursor:not-allowed;text-decoration:line-through}.bus-card{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;background:var(--card)}.bus-card-photo{width:72px;height:72px;border-radius:8px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;overflow:hidden}.bus-card-photo img{width:100%;height:100%;object-fit:cover}.bus-card-info{flex:1;min-width:0}.bus-card-plate{font-weight:700;font-size:15px;color:var(--ink)}.bus-card-meta{font-size:13px;color:var(--text-muted);margin-top:2px}.bus-card-pickup{font-size:12px;color:var(--primary);margin-top:4px;display:flex;align-items:center;gap:4px}.ticket-bus{display:flex;gap:12px;align-items:center;padding:12px;background:var(--primary-soft);border-radius:var(--radius);margin:12px 0}.ticket-bus-photo{width:56px;height:56px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;overflow:hidden}.ticket-bus-photo img{width:100%;height:100%;object-fit:cover}.ticket-bus-info{flex:1;min-width:0}.ticket-bus-plate{font-weight:700;font-size:14px}.ticket-bus-meta{font-size:12px;color:var(--text-muted)}.ticket-payment-cash{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;background:#fef3c7;color:var(--warning)}.ticket-payment-online{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;background:#dcfce7;color:var(--success)}.ticket-wrapper{max-width:480px;margin:0 auto 32px}.ticket-pass{background:#fff;border-radius:16px;box-shadow:0 10px 25px -5px #00000014,0 8px 10px -6px #0000000a;border:1px solid var(--border);overflow:hidden;position:relative}.ticket-pass-header{background:linear-gradient(135deg,var(--brand-900) 0%,var(--brand-700) 100%);color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.ticket-brand{display:flex;align-items:center;gap:12px}.ticket-brand-logo{width:44px;height:44px;border-radius:10px;object-fit:cover;background:#fff;padding:2px}.ticket-brand-mark{width:44px;height:44px;border-radius:10px;background:#ffffff26;display:flex;align-items:center;justify-content:center;color:#fff}.ticket-brand-text{display:flex;flex-direction:column}.ticket-brand-name{font-size:16px;font-weight:700;letter-spacing:-.01em}.ticket-brand-phone{font-size:12px;opacity:.85}.ticket-hero-route{padding:20px 24px 16px;background:var(--bg);border-bottom:1px solid var(--border-strong)}.ticket-route-badge{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ticket-route-h1{font-size:24px;font-weight:800;color:var(--brand-900);display:flex;align-items:center;gap:10px;margin:0}.ticket-route-time{font-size:14px;color:var(--brand-800);font-weight:600;margin-top:4px;display:flex;align-items:center;gap:6px}.ticket-pass-body{padding:20px 24px}.ticket-grid-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:20px}.ticket-detail-item{display:flex;flex-direction:column}.ticket-detail-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:2px}.ticket-detail-val{font-size:15px;font-weight:700;color:var(--text)}.ticket-bus-strip{display:flex;align-items:center;gap:12px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:20px}.ticket-bus-strip-photo{width:48px;height:48px;border-radius:6px;object-fit:cover}.ticket-bus-strip-info{display:flex;flex-direction:column}.ticket-perforation{position:relative;height:20px;margin:0 -24px 20px;display:flex;align-items:center}.ticket-perforation:before,.ticket-perforation:after{content:"";position:absolute;top:0;width:20px;height:20px;background:var(--bg);border-radius:50%;box-shadow:inset 0 1px 3px #00000014}.ticket-perforation:before{left:-10px}.ticket-perforation:after{right:-10px}.ticket-perforation-line{width:100%;height:1px;border-top:2px dashed var(--border-strong)}.ticket-qr-zone{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--surface-0);border-radius:12px;padding:16px;border:1px dashed var(--border-strong)}.ticket-code-display{font-family:monospace;font-size:38px;font-weight:900;letter-spacing:6px;color:var(--brand-900);background:var(--bg);border:1px solid var(--brand-200);padding:6px 20px;border-radius:10px;margin:10px 0 6px}.ticket-qr-simulated{width:140px;height:140px;background:#fff;border:2px solid var(--text);border-radius:8px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:12px}.ticket-actions-bar{display:flex;flex-direction:column;gap:10px;margin-top:20px}.ticket-share-btn-wa{background:#25d366;color:#fff;border:none;font-weight:700}.ticket-share-btn-wa:hover{background:#1eb956;color:#fff}.checkout-trust-badge{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--brand-200);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--brand-900);margin-bottom:14px}.payment-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.payment-option-btn{display:flex;flex-direction:column;align-items:flex-start;padding:10px 14px;border-radius:10px;border:1.5px solid var(--border);background:#fff;cursor:pointer;text-align:left;transition:all .15s ease}.payment-option-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.payment-option-btn.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}.payment-option-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}.payment-option-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.fee-agree-box{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:12px 0;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text)}.shift-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.shift-metric{display:flex;flex-direction:column;line-height:1.2}.shift-metric-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.shift-metric-value{font-size:16px;font-weight:800;color:var(--text)}.drawer-tally{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-1)}.drawer-tally-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.drawer-tally-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px 12px}.drawer-tally-row{display:flex;align-items:center;gap:8px;margin:0}.drawer-tally-denom{flex:0 0 44px;font-weight:700;font-size:13px;color:var(--text)}.drawer-tally-row input{width:100%;min-height:38px;margin:0}.mismatch-ok,.mismatch-bad{border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.mismatch-ok{background:var(--ok-50);border:1px solid var(--ok-100);color:var(--ok-700)}.mismatch-bad{background:var(--warn-50);border:1px solid var(--warn-100);color:var(--warn-700)}.pos-total-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border:1px solid var(--brand-200);border-radius:10px;padding:10px 14px;margin-top:14px}.pos-total-meta{display:flex;flex-direction:column;line-height:1.3;min-width:0}.pos-total-amount{font-size:22px;font-weight:800;color:var(--brand-900);white-space:nowrap}.pos-total-bar+.actions .btn,.shift-bar .btn{min-height:44px}.driver-card .card-title{font-size:18px;font-weight:800}.driver-hint{font-size:15px;line-height:1.45;color:var(--text);font-weight:500}.driver-input{min-height:56px;font-size:20px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.driver-validate-btn{width:100%;min-height:60px;font-size:19px;letter-spacing:.01em}.btn-rank{min-height:54px;font-size:17px;font-weight:700}.btn-admin{min-height:36px;padding:6px 16px;font-size:13px}.btn-lg{min-height:52px;font-size:17px;font-weight:700;padding:0 20px;gap:8px;display:inline-flex;align-items:center;justify-content:center}.driver-result{background:var(--ok-50);border:1px solid var(--ok-100);color:var(--ok-700);font-weight:700;font-size:16px}.driver-scan{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.driver-scan-stage{position:relative;width:100%;border-radius:12px;overflow:hidden;background:var(--brand-900);aspect-ratio:4 / 3}.driver-scan-video{width:100%;height:100%;object-fit:cover;display:block}.driver-scan-frame{position:absolute;top:18%;right:12%;bottom:18%;left:12%;border:3px dashed var(--barcode-paper);border-radius:10px;box-shadow:0 0 0 9999px #00000047;pointer-events:none}.driver-trip{border-top:2px solid var(--border);padding-top:12px;margin-top:4px}.driver-check-row{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:600;color:var(--text);min-height:48px;margin:0;cursor:pointer}.driver-check-row input[type=checkbox]{width:26px;height:26px;flex:0 0 auto;margin:0}.manifest-row{display:grid;grid-template-columns:70px 1fr 110px 92px;gap:8px;align-items:center;min-height:48px;font-size:15px;padding:6px 4px;border-bottom:1px solid var(--border)}@media (max-width: 420px){.manifest-row{grid-template-columns:60px 1fr 80px;font-size:14px}.manifest-row>:last-child{display:none}}.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.quick-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}.quick-tile-value{font-size:24px;font-weight:800;color:var(--text);line-height:1.1}.invite-code{font-size:24px;letter-spacing:3px;margin:0}.tenant-row{align-items:flex-start;gap:12px;flex-wrap:wrap}.tenant-main{flex:1 1 320px;min-width:0}@media (max-width: 480px){.container.ticket-wrapper{padding-left:10px;padding-right:10px}.ticket-pass-body{padding:16px 14px}.ticket-grid-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.ticket-detail-val{font-size:14px;overflow-wrap:anywhere}.ticket-route-h1{font-size:19px;gap:7px}.ticket-route-time{font-size:13px}.ticket-code-display{font-size:30px;letter-spacing:4px;padding:6px 12px}.ticket-qr-simulated{width:100%;max-width:190px;height:auto;aspect-ratio:1}.ticket-perforation{margin-bottom:14px}}@media (max-width: 360px){.ticket-grid-details{grid-template-columns:1fr}.card.debt-open{background:var(--warn-50);border-color:var(--warn-100);border-left:4px solid var(--warn-600)}.debt-amount{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--warn-700)}.debt-note{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:var(--text);max-width:62ch}.offline-banner{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:12px 14px;border-radius:10px;background:var(--warn-50);border:1px solid var(--warn-100);color:var(--warn-700)}.offline-banner-head{display:flex;align-items:center;gap:8px}.offline-banner-head svg{color:var(--warn-600);flex:none}.offline-banner-title{font-size:14.5px;font-weight:700}.offline-banner-body{margin:0;font-size:13px;line-height:1.5;color:var(--text)}.offline-banner-body strong{color:var(--warn-700)}.mbf-empty-action{display:inline-flex;margin-top:14px}@media (prefers-reduced-motion: reduce){.issued-confirm,.driver-verdict{animation:none!important;opacity:1!important;transform:none!important}}.issued-confirm{display:flex;flex-direction:column;align-items:center;gap:2px;margin:4px 0 12px;animation:mbf-confirm var(--dur-base) var(--ease-standard) both}.issued-confirm-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.issued-confirm-code{text-align:center}.issued-confirm-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 4px;padding:10px 12px;border-radius:8px;background:var(--warn-50);border:1px solid var(--warn-100);color:var(--warn-700);font-size:13px;line-height:1.45}.issued-confirm-note svg{flex:none;margin-top:1px;color:var(--warn-600)}@media (prefers-reduced-motion: reduce){.issued-confirm{animation:none!important;opacity:1!important;transform:none!important}}.driver-verdict{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:16px;border-radius:12px;border:2px solid transparent;animation:mbf-confirm var(--dur-base) var(--ease-standard) both}.driver-verdict.is-ok{background:var(--ok-50);border-color:var(--ok-600);color:var(--ok-700)}.driver-verdict.is-bad{background:var(--bad-50);border-color:var(--bad-600);color:var(--bad-700)}.driver-verdict-head{display:flex;align-items:center;gap:12px}.driver-verdict-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:999px;background:currentColor}.driver-verdict-icon svg{color:#fff}.driver-verdict-title{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.1}.driver-verdict-name{font-size:17px;font-weight:700;margin-top:2px}.driver-verdict-msg{font-size:14px;line-height:1.45}.driver-verdict-code{font-size:15px;font-weight:700;letter-spacing:.12em}@media (prefers-reduced-motion: reduce){.driver-verdict{animation:none!important;opacity:1!important;transform:none!important}}@keyframes mbf-pop{0%{transform:scale(1)}45%{transform:scale(.97)}to{transform:scale(1)}}@keyframes mbf-confirm{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@keyframes mbf-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes mbf-shimmer{0%{background-position:-220px 0}to{background-position:220px 0}}.mbf-pop{animation:mbf-pop var(--dur-tap) var(--ease-standard);will-change:transform}.mbf-confirm{animation:mbf-confirm var(--dur-base) var(--ease-standard) both}.mbf-enter{animation:mbf-enter var(--dur-base) var(--ease-standard) both}.mbf-skeleton{border-radius:6px;background:linear-gradient(90deg,var(--bg) 0%,var(--border-strong) 40%,var(--bg) 80%);background-size:440px 100%;animation:mbf-shimmer 1.4s linear infinite}.mbf-skeleton--text{height:12px}.mbf-skeleton--title{height:18px;width:55%}.mbf-skeleton--block{height:68px;border-radius:10px}.mbf-skeleton--chip{height:26px;width:90px;border-radius:999px}.btn:active,.mbf-pressable:active,.date-chip:active,.seat:active,.trip-card:active{animation:mbf-pop var(--dur-tap) var(--ease-standard)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.mbf-enter,.mbf-confirm,.fade-in,.slide-in{opacity:1!important;transform:none!important}.mbf-skeleton{animation:none!important;background:var(--bg)!important}}}.dark{--header-bg: rgba(15, 23, 42, .85);--header-ink: #E6EDF3;--primary-soft: rgba(232, 137, 11, .22);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 2px 6px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .35);--shadow-lg: 0 4px 10px rgba(0, 0, 0, .4), 0 24px 48px rgba(0, 0, 0, .5)}.dark .btn-secondary{background:#ffffff0a}.hero{background:radial-gradient(720px 320px at 85% -80%,rgba(255,255,255,.16),transparent 60%),linear-gradient(150deg,var(--ink) 0%,var(--primary-dark) 55%,var(--primary) 100%);border-radius:20px;color:#fff;padding:calc(var(--space-6) + 4px) var(--space-5) var(--space-7);margin-bottom:calc(-1 * var(--space-6) + 6px);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:22px 22px;opacity:.25;pointer-events:none}.hero-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:var(--space-2)}.hero-title{font-size:clamp(26px,4.5vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 var(--space-2)}.hero-sub{font-size:var(--text-sm);opacity:.92;max-width:40ch;margin:0}.hero-card{position:relative;z-index:1;margin-top:calc(-1 * var(--space-6));box-shadow:var(--shadow-lg)}.result-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.result-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#e8890b73}.rc-main{flex:1 1 auto;min-width:0}.rc-operator{display:flex;align-items:center;gap:8px;min-width:0}.rc-operator .rc-name{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-route{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px;margin-top:2px}.rc-route .rc-time{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.rc-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.rc-pill{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text-muted)}.rc-pill.warn{background:var(--warn-50);border-color:var(--warn-100);color:var(--warn-700)}.rc-cta{flex:0 0 auto;text-align:right}.rc-price{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--primary-dark);font-variant-numeric:tabular-nums}.rc-price-sub{font-size:11px;color:var(--text-muted);font-weight:600;margin-bottom:8px}.rc-cta .btn{min-height:40px;padding:8px 16px;font-size:14px;width:auto}@media (prefers-reduced-motion: reduce){.result-card,.result-card:hover{transition:none;transform:none}}.avatar{width:40px;height:40px;border-radius:12px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--primary),var(--ink));color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff24}.avatar img{width:100%;height:100%;object-fit:cover}.spinner{width:28px;height:28px;margin:var(--space-6) auto;border-radius:50%;border:3px solid var(--primary-soft);border-top-color:var(--primary);animation:mbf-spin .8s linear infinite}@keyframes mbf-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2.4s}}.empty{text-align:center;padding:var(--space-7) var(--space-5);color:var(--text-muted)}.empty-icon{width:52px;height:52px;margin:0 auto var(--space-3);border-radius:16px;background:var(--primary-soft);color:var(--primary-dark);display:flex;align-items:center;justify-content:center}.footer{background:var(--ink);color:#ffffffc7;border-top:none;margin-top:var(--space-7);padding:var(--space-6) 0 calc(var(--space-5) + env(safe-area-inset-bottom,0px));font-size:13px}.footer-grid{max-width:1100px;margin:0 auto;padding:0 var(--space-4);display:grid;grid-template-columns:1fr;gap:var(--space-5)}.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:16px;letter-spacing:-.01em}.footer-brand .brand-mark{width:26px;height:26px;border-radius:8px}.footer-tag{margin-top:6px;max-width:34ch;opacity:.75}.footer-title{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;margin-bottom:10px}.footer-col{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.footer-link{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 14px;color:#ffffffdb;text-decoration:none;background:#ffffff12;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:13px;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .12s ease}.footer-link:hover{color:var(--brand-200);background:#e8890b33;border-color:var(--brand-400);transform:translateY(-1px);text-decoration:none}.footer-link:active{transform:translateY(0)}.footer-bottom{max-width:1100px;margin:var(--space-5) auto 0;padding:var(--space-4) var(--space-4) 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;opacity:.85}@media (min-width: 768px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.dark .footer{background:#00000059;border-top:1px solid rgba(255,255,255,.08)}.dark .footer-link{color:#ffffffc7}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}.header-inner{min-height:44px}.footer .dark-toggle{border-color:#ffffff59;color:#fff;background:#ffffff0f}.footer .dark-toggle:hover{background:#ffffff24}.sf-hero{background:linear-gradient(135deg,var(--brand-700) 0%,var(--brand-500) 100%);color:#fff;border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);box-shadow:var(--elev-2);margin-bottom:var(--space-4)}.sf-hero-top{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.sf-hero-logo{width:56px;height:56px;border-radius:12px;background:#ffffff24;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.sf-hero-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.sf-hero-name{font-size:22px;font-weight:700;line-height:1.2}.sf-hero-tag{font-size:13px;opacity:.86;margin-top:2px}.sf-hero-caret{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#fff;text-decoration:none;background:#ffffff29;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 14px;transition:background .15s ease}.sf-hero-caret:hover{background:#ffffff42}.sf-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-4)}@media (max-width: 560px){.sf-trust{grid-template-columns:1fr}}.sf-trust-item{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.35;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:9px 10px}.sf-how{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:0 var(--space-4);margin-bottom:var(--space-4)}.sf-help{background:var(--brand-50);border-color:var(--brand-200)}.sf-help[open]{padding-bottom:var(--space-4)}.sf-help-call{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-3)}.sf-help-call-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-800)}.sf-help-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0}.sf-help-q strong{display:block;font-size:14px;color:var(--text);margin-bottom:2px}.sf-help-q p{margin:0;font-size:13px;line-height:1.55;color:var(--text-muted)}.sf-how>summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:14px;list-style:none;display:flex;align-items:center;gap:8px}.sf-how>summary::-webkit-details-marker{display:none}.sf-how-steps{display:flex;flex-direction:column;gap:10px;padding:0 0 16px}.sf-how-step{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-muted)}.sf-how-num{width:22px;height:22px;border-radius:50%;background:var(--brand-100);color:var(--brand-800);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sf-fees{font-size:12.5px;color:var(--text-muted);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--radius);padding:10px 12px;margin:12px 0}.sf-fees strong{color:var(--brand-800)}.sf-empty{text-align:center;padding:var(--space-6) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--text-muted)}
