:root{--primary:#1e3a5f;--primary-soft:#1e3a5f0f;--primary-surface:#1e3a5f0a;--accent:#14b8a6;--accent-hover:#0d9488;--accent-soft:#14b8a614;--bg:#f8fafc;--surface:#fff;--surface-strong:#fff;--surface-dark:#0f172af0;--ink:#0f172a;--muted:#64748b;--muted-strong:#334155;--line:#0f172a0f;--line-strong:#0f172a1a;--success:#14b8a6;--success-soft:#ccfbf1;--warn:#b45309;--warn-soft:#fef3c7;--danger:#b91c1c;--danger-soft:#fee2e2;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f;--shadow-md:0 4px 12px #0f172a0f;--shadow-lg:0 8px 24px #0f172a14;--shadow-xl:0 16px 40px #0f172a1a;--radius-xl:28px;--radius-lg:24px;--radius-md:18px;--radius-sm:14px}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;margin:0;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}button,input,textarea,select{font:inherit}button{transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}button:hover{transform:translateY(-1px)}button:disabled{opacity:.7;cursor:wait;transform:none}.app-container{width:100vw;height:100dvh;position:relative;overflow:hidden}.map-container{z-index:0;position:absolute;inset:0}.map-gradient-overlay{pointer-events:none;z-index:1;background:linear-gradient(#0f172a05 0%,#0f172a24 100%),radial-gradient(circle at 0 0,#ffffff2e,#0000 34%);position:absolute;inset:0}.map-cultural-layer{z-index:2;pointer-events:none;--map-heart:#dc2626;--map-star:#2563eb;--map-cultural-glass:#ffffffb8;position:fixed;inset:0;overflow:hidden}.map-cultural-layer.theme-G{--map-heart:#ef2b2d;--map-star:#2563eb2e}.map-cultural-layer.theme-C{--map-heart:#dc26262e;--map-star:#1d4ed8}.map-cultural-particles{position:absolute;inset:0}.map-cultural-particle{top:-42px;left:var(--particle-left);width:var(--particle-size);height:var(--particle-size);font-size:var(--particle-size);opacity:0;filter:drop-shadow(0 8px 12px #0f172a1f);animation:5.8s linear infinite map-particle-fall;animation-delay:var(--particle-delay);place-items:center;line-height:1;display:grid;position:absolute}.map-cultural-particle.heart{color:var(--map-heart)}.map-cultural-particle.star{color:var(--map-star)}@keyframes map-particle-fall{0%{opacity:0;transform:translateY(-12px)scale(.72)rotate(-8deg)}10%{opacity:.72}52%{opacity:.5;transform:translate3d(var(--particle-drift), 26vh, 0) scale(1) rotate(12deg)}78%{opacity:0;transform:translate3d(calc(var(--particle-drift) * -1), 35vh, 0) scale(.82) rotate(28deg)}to{opacity:0;transform:translate3d(calc(var(--particle-drift) * -1), 38vh, 0) scale(.72) rotate(32deg)}}.map-cultural-badge{background:linear-gradient(135deg, #dc262614, #2563eb14), var(--map-cultural-glass);max-width:260px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffffb3;border-radius:20px;align-items:center;gap:12px;padding:12px 14px;display:flex;position:fixed;top:88px;right:18px}.map-cultural-badge strong,.map-cultural-badge small{display:block}.map-cultural-badge strong{color:var(--ink);font-size:13px}.map-cultural-badge small{color:var(--muted);margin-top:2px;font-size:11px}.abstract-boi-mark{background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--map-heart), #fff, var(--map-star)) border-box;border:2px solid #0000;border-radius:999px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;position:relative}.abstract-boi-mark:before,.abstract-boi-mark:after{content:"";color:#111827c7;border-top:2px solid;width:14px;height:12px;position:absolute;top:8px}.abstract-boi-mark:before{border-left:2px solid;border-radius:14px 0 0;left:5px;transform:rotate(-26deg)}.abstract-boi-mark:after{border-right:2px solid;border-radius:0 14px 0 0;right:5px;transform:rotate(26deg)}.abstract-boi-mark i{background:linear-gradient(135deg,#dc2626eb,#2563ebeb);border-radius:999px 999px 10px 10px;width:18px;height:14px;display:block;box-shadow:inset 0 -5px #ffffff57}.top-status-bar,.live-map-note,.session-prompt-card,.landing-shell,.menu-btn,.hud-top-island,.hud-bottom-island{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-status-bar{z-index:30;box-shadow:var(--shadow-lg);background:#ffffffd1;border:1px solid #ffffffb3;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;display:flex;position:fixed;top:18px;left:18px;right:18px}.top-status-bar strong,.live-map-note strong,.session-prompt-card strong{font-size:14px;font-weight:800;display:block}.top-status-bar span,.live-map-note span,.session-prompt-card span{color:var(--muted);font-size:12px}.top-login-btn{min-width:108px}.landing-shell{z-index:20;width:min(640px,100vw - 48px);box-shadow:var(--shadow-xl);background:#ffffffc7;border:1px solid #ffffffbd;border-radius:30px;padding:30px;position:fixed;bottom:24px;left:24px}.landing-badge,.eyebrow,.soft-badge,.role-badge,.status-pill{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.landing-badge,.eyebrow,.soft-badge,.role-badge{background:var(--accent-soft);color:var(--ink)}.soft-badge.subtle{color:var(--muted-strong);background:#1118270d}.role-badge{background:var(--ink);color:#fff;margin-top:10px}.landing-shell h1,.auth-showcase h2,.auth-card-head h3,.admin-header h2,.passenger-hero-card h3,.tickets-header h3,.trip-detail-copy h3,.scanner-stage h3,.section-header-inline h3,.classic-header h3{letter-spacing:-.04em;color:var(--ink);margin:14px 0 8px;line-height:1.02}.landing-shell h1{max-width:11ch;font-size:clamp(36px,5vw,56px)}.landing-shell p,.auth-showcase p,.auth-card-head p,.passenger-hero-card p,.tickets-header p,.trip-detail-copy p,.scanner-stage p,.section-caption,.next-trip-copy,.empty-state-card p,.stat-card p,.data-row span,.info-strip span{color:var(--muted);line-height:1.6}.landing-metrics,.stats-grid,.tickets-grid,.trip-list-grid,.manifest-grid,.panel-grid-two,.classic-grid{gap:16px;display:grid}.landing-metrics,.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-metric-card,.stat-card,.surface-card,.ticket-card-pro,.trip-card,.empty-state-card,.manifest-column,.passenger-hero-card,.detail-modal-classic,.admin-card,.slider-container,.ticket-qr,.info-strip,.data-row,.p-row{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg)}.landing-metric-card,.stat-card,.surface-card,.ticket-card-pro,.trip-card,.empty-state-card,.manifest-column,.passenger-hero-card,.info-strip,.data-row,.p-row{border-radius:var(--radius-lg)}.landing-metric-card,.stat-card,.surface-card,.ticket-card-pro,.trip-card,.empty-state-card,.passenger-hero-card,.manifest-column,.classic-body,.command-list-view,.trip-detail-view,.passenger-panel-content,.admin-panel-content{padding:22px}.landing-metric-card strong,.stat-card strong,.section-header-inline h3,.data-row strong,.ticket-preview-copy strong,.p-name{display:block}.landing-actions{align-items:center;gap:14px;margin-top:24px;display:flex}.landing-note{color:var(--muted);font-size:13px}.menu-btn{z-index:1200;width:50px;height:50px;box-shadow:var(--shadow-lg);cursor:pointer;background:#ffffffe6;border:1px solid #ffffffb8;border-radius:18px;place-items:center;display:grid;position:fixed;top:88px;left:18px;overflow:hidden}.menu-btn-home{background:#f4fffaf5;border-color:#6ee7b76b;border-radius:24px;width:58px;height:58px;top:34px;left:22px;box-shadow:0 20px 38px #10b98129}.menu-btn-live{top:22px}.menu-nav-icon{gap:4px;width:18px;display:grid}.menu-nav-icon span{background:var(--ink);border-radius:999px;width:100%;height:2px;display:block}.menu-btn:hover .menu-nav-icon span{animation:1s ease-in-out infinite nav-pulse}@keyframes nav-pulse{0%,to{transform:scaleX(1)}50%{transform:scaleX(.8)}}.live-map-note,.session-prompt-card{z-index:20;max-width:280px;box-shadow:var(--shadow-lg);background:#ffffffd1;border:1px solid #ffffffb3;border-radius:18px;padding:14px 16px;position:fixed;right:18px}.live-map-note{bottom:18px}.session-prompt-card{gap:4px;display:grid;top:88px}.passenger-home-topbar,.passenger-home-shell,.passenger-home-shortcuts-dock{z-index:26;width:min(760px,100vw - 28px);position:fixed;left:50%;transform:translate(-50%)}.passenger-home-topbar{align-items:center;gap:14px;padding:0 14px 0 84px;display:flex;top:22px}.passenger-home-title{align-items:center;gap:12px;display:flex}.passenger-home-avatar{color:#065f46;background:linear-gradient(135deg,#d1fae5,#86efac);border-radius:999px;place-items:center;width:52px;height:52px;font-size:22px;font-weight:900;display:grid;box-shadow:0 16px 30px #10b98138}.passenger-home-title strong{color:#111827;letter-spacing:-.05em;font-size:clamp(24px,4vw,36px);line-height:1;display:block}.passenger-home-shell{gap:18px;display:grid;top:112px}.home-announcement-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;background:radial-gradient(circle at 100% 0,#6ee7b72e,#0000 38%),linear-gradient(145deg,#fffffff0,#f0fdf8f0);border:1px solid #a7f3d0b8;border-radius:22px;gap:6px;width:min(320px,100vw - 44px);margin:0 auto;padding:10px 12px;transition:transform .22s,box-shadow .22s;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 34px #0f172a17,inset 0 1px #ffffffb8}.home-announcement-card:hover{transform:translateY(-1px);box-shadow:0 22px 36px #0f172a1a,inset 0 1px #ffffffb8}.home-announcement-card:focus-visible{outline-offset:2px;outline:2px solid #10b98173}.home-announcement-card.banner-mode{border-radius:24px;width:min(380px,100vw - 34px);padding:10px}.home-announcement-card.banner-mode .home-announcement-head{z-index:3;pointer-events:none;position:absolute;top:18px;left:18px;right:18px}.home-announcement-card.banner-mode .home-announcement-head .soft-badge,.home-announcement-card.banner-mode .home-announcement-dots{pointer-events:auto}.home-announcement-card.banner-mode .home-announcement-head .soft-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;box-shadow:0 8px 20px #0f172a14}.home-announcement-card.banner-mode .home-announcement-dots{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border-radius:999px;padding:8px 10px;box-shadow:0 8px 20px #0f172a14}.home-announcement-head,.home-announcement-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-announcement-dots{align-items:center;gap:8px;display:flex}.home-announcement-dots button{cursor:pointer;background:#0f172a2e;border:0;border-radius:999px;width:9px;height:9px;padding:0}.home-announcement-dots button.active{background:linear-gradient(90deg, var(--accent), #5eead4);width:24px}.home-announcement-body{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:12px;display:grid}.home-announcement-image{object-fit:cover;background:#0f172a14;border-radius:18px;width:100%;height:140px;min-height:140px}.home-announcement-card.banner-mode .home-announcement-body{grid-template-columns:minmax(0,1fr);gap:0}.home-announcement-card.banner-mode .home-announcement-image{border-radius:22px;height:228px;min-height:228px}.home-announcement-copy{align-content:center;gap:8px;min-width:0;display:grid}.home-announcement-copy strong{color:var(--ink);letter-spacing:-.04em;font-size:clamp(16px,2.3vw,21px);line-height:1.05}.home-announcement-copy p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.home-announcement-card .landing-announcement-meta{gap:6px}.home-announcement-card .landing-announcement-meta span{padding:5px 8px;font-size:10px}.home-announcement-actions .btn-primary,.home-announcement-actions .btn-secondary{border-radius:14px;min-height:40px;padding:0 14px;font-size:13px}.passenger-home-quick-section{gap:8px;display:grid}.passenger-home-section-head{gap:4px;display:grid}.passenger-home-section-head strong{color:#111827;letter-spacing:-.06em;font-size:clamp(28px,5vw,44px);line-height:.95}.passenger-home-shortcuts-dock{width:min(450px,100vw - 100px);bottom:18px}.passenger-home-shortcuts{flex-direction:column;gap:7px;padding:0;display:flex}.passenger-home-shortcut{color:#1d1b20;text-align:left;background:#fffbfff2;border:1px solid #79747e2e;border-radius:24px;align-items:center;gap:12px;min-height:48px;padding:0 15px;transition:background .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #1d1b200f}.passenger-home-shortcut:hover{border-color:#006b5f47}.passenger-home-shortcut-icon{background-color:#9ff2dfb3;background-position:50%;background-repeat:no-repeat;background-size:12px 12px;border-radius:7px;flex-shrink:0;width:20px;height:20px}.passenger-home-shortcut-icon.icon-ticket{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 8.5A1.5 1.5 0 0 1 6.5 7H17a2 2 0 0 0 2 2v6a2 2 0 0 0-2 2H6.5A1.5 1.5 0 0 1 5 15.5v-7Z'/%3E%3Cpath d='M9 9.5v5'/%3E%3Cpath d='M15 9.5v5'/%3E%3C/svg%3E")}.passenger-home-shortcut-icon.icon-wallet{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4' y='7' width='16' height='10' rx='3'/%3E%3Cpath d='M14.5 12h3'/%3E%3Ccircle cx='12' cy='12' r='0.8' fill='%231e3a5f'/%3E%3C/svg%3E")}.passenger-home-shortcut-icon.icon-user{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8.5' r='3'/%3E%3Cpath d='M6.5 18a5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3E")}.passenger-home-shortcut.primary{background:#9ff2df8c;border-color:#006b5f38;font-weight:700}.passenger-home-shortcut span{color:#1d1b2099;font-size:10px;font-weight:500;line-height:1.2}.passenger-home-shortcut strong{color:#1d1b20;letter-spacing:-.02em;font-size:13px;font-weight:700;line-height:1.2}.passenger-home-shortcut.primary strong{color:#00382f}.passenger-home-shortcut-text{flex-direction:column;gap:2px;min-width:0;display:flex}.session-logout-btn{justify-content:center;width:100%;margin-top:10px}.hud-top-island,.hud-bottom-island{z-index:999;position:fixed;left:50%;transform:translate(-50%)}.hud-top-island{color:#fff;min-width:320px;box-shadow:var(--shadow-xl);background:#111827e0;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:12px;padding:12px 18px;display:flex;top:86px}.hud-bottom-island{align-items:center;gap:12px;display:flex;bottom:24px}.hud-live-indicator{background:#ef4444;border-radius:999px;width:11px;height:11px;animation:1.5s infinite pulse-dot;box-shadow:0 0 #ef444499}@keyframes pulse-dot{0%{box-shadow:0 0 #ef444499}70%{box-shadow:0 0 0 12px #ef444400}to{box-shadow:0 0 #ef444400}}.hud-info-group{text-align:center;display:grid}.hud-boat-name{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800}.hud-route{color:#ffffffb8;font-size:12px}.hud-timer-capsule{box-shadow:var(--shadow-xl);background:#111827e0;border:1px solid #ffffff14;border-radius:999px;padding:12px 24px}.hud-timer-text{color:#fff;letter-spacing:.12em;font-family:Courier New,Courier,monospace;font-size:24px;font-weight:700}.hud-gps-status{color:#ffffffb8;text-align:center;max-width:280px;margin-top:4px;font-size:11px;display:block}.hud-control-group{align-items:center;gap:10px;display:flex}.hud-share-btn{color:#fff;cursor:pointer;min-height:54px;box-shadow:var(--shadow-xl);border:none;border-radius:999px;padding:0 18px;font-weight:800}.hud-share-btn.pause{background:#0f766e}.hud-share-btn.resume{background:#2563eb}.hud-stop-btn-round{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:999px;width:54px;height:54px;font-size:20px;box-shadow:0 16px 28px #ef444442}.hud-notify-strip{justify-content:center;gap:8px;margin-top:10px;display:flex}.hud-notify-btn{color:#ffffffd9;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111827cc;border:1px solid #fff3;border-radius:999px;min-height:36px;padding:0 14px;font-size:12px;font-weight:700}.hud-notify-btn:hover{background:#111827f2;border-color:#fff6}.hud-notify-btn-warn:hover{background:#ef444426;border-color:#ef4444}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1118277a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-overlay-soft{background:#1118273d}.lazy-panel-loader{min-width:240px;box-shadow:var(--shadow-lg);text-align:center;background:#ffffffeb;border:1px solid #ffffffc2;border-radius:22px;gap:10px;padding:24px;display:grid}.lazy-panel-loader strong{font-size:16px}.terms-overlay{z-index:3200;background:#0f172a94;padding:18px}.terms-card{width:min(680px,100%);max-height:min(760px,100dvh - 36px);box-shadow:var(--shadow-xl);background:radial-gradient(circle at 100% 0,#0e749014,#0000 28%),radial-gradient(circle at 0 100%,#0f172a0f,#0000 30%),#fffffffa;border:1px solid #ffffffb8;border-radius:28px;grid-template-rows:auto minmax(220px,1fr) auto;display:grid;overflow:hidden}.terms-header{border-bottom:1px solid var(--line);padding:24px 24px 16px}.terms-header h2{color:var(--ink);letter-spacing:-.05em;margin:10px 0 8px;font-size:clamp(26px,4vw,38px);line-height:1}.terms-header p,.terms-footer small{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.terms-scroll-box{color:var(--muted-strong);scrollbar-width:thin;padding:20px 24px;overflow-y:auto}.terms-scroll-box h3{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin:18px 0 8px;font-size:13px;font-weight:900}.terms-scroll-box h3:first-child{margin-top:0}.terms-scroll-box p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.terms-footer{border-top:1px solid var(--line);background:#f8fafce0;gap:12px;padding:16px 24px 22px;display:grid}.terms-check{color:var(--ink);align-items:flex-start;gap:10px;font-size:13px;font-weight:800;line-height:1.4;display:flex}.terms-check.disabled{color:var(--muted)}.terms-check input{width:18px;height:18px;accent-color:var(--ink);margin-top:1px}.terms-footer .btn-primary{width:100%}.auth-overlay{background:#11182794}.login-shell{width:min(1040px,100%);min-height:680px;box-shadow:var(--shadow-xl);background:#f8fafc;border-radius:30px;grid-template-columns:1fr 1fr;display:grid;position:relative;overflow:hidden}.login-shell>.icon-close{z-index:4;position:absolute;top:18px;right:18px}.auth-showcase,.login-card{padding:48px}.auth-showcase{background:linear-gradient(135deg,#0f172af2,#1f2937e6);flex-direction:column;justify-content:center;display:flex}.auth-showcase h2,.auth-showcase p,.auth-feature-card strong,.auth-feature-card span,.classic-header h3,.classic-header small{color:#fff}.auth-showcase p,.auth-feature-card span,.classic-header small{color:#ffffffc2}.auth-feature-list,.form-grid,.redeem-form,.scanner-form,.menu-stack,.data-list{gap:12px;display:grid}.auth-feature-card{background:#ffffff0f;border:1px solid #ffffff14;border-radius:18px;padding:16px 18px}.login-media-slot{background:radial-gradient(circle at 18% 18%,#0f766e29,#0000 32%),linear-gradient(135deg,#1118270f,#11182705);border:1px dashed #11182729;border-radius:24px;place-items:center;width:100%;min-height:138px;margin:22px 0;display:grid;position:relative;overflow:hidden}.login-media-slot-dark{background:radial-gradient(circle at 82% 18%,#ffffff2e,#0000 30%),#ffffff0f;border-color:#ffffff29;min-height:160px}.login-media-slot img{object-fit:cover;width:100%;height:100%}.login-media-placeholder{text-align:center;gap:6px;display:grid}.login-media-placeholder strong{color:var(--ink);font-size:14px}.login-media-placeholder span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.login-media-slot-dark .login-media-placeholder strong,.login-media-slot-dark .login-media-placeholder span{color:#ffffffdb}.auth-card-pro{background:#fffffff0;flex-direction:column;justify-content:center;display:flex}.auth-form{gap:14px;margin-top:28px;display:grid}.field-block{gap:8px;display:grid}.field-block.compact-field{gap:6px}.form-grid-span-2{grid-column:1/-1}.compact-helper-text{color:var(--muted);font-size:13px;line-height:1.5}.trip-price-builder{border:1px solid var(--line);background:#ffffffb8;border-radius:18px;gap:12px;padding:14px;display:grid}.trip-price-grid{grid-template-columns:1fr;gap:12px;display:grid}.trip-price-row{background:#f8fafceb;border:1px solid #11182714;border-radius:16px;padding:12px}.trip-price-row-fields{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,1fr);gap:10px;display:grid}.field-block span{color:var(--muted-strong);font-size:13px;font-weight:700}.field-block input,.modern-input,.auth-form input,.role-select{border:1px solid var(--line-strong);width:100%;min-height:50px;color:var(--ink);background:#fffffff5;border-radius:14px;outline:none;padding:14px 16px}.field-block input:focus,.modern-input:focus,.auth-form input:focus,.role-select:focus{border-color:#11182740;box-shadow:0 0 0 4px #1118270f}.btn-primary,.btn-secondary,.link-btn,.ghost-nav-btn,.icon-close,.scanner-back-btn,.menu-item{cursor:pointer}.btn-primary,.btn-secondary,.ghost-nav-btn,.menu-item,.link-btn,.icon-close,.btn-checkin-classic,.btn-close-classic{border-radius:14px}.btn-primary{background:var(--accent);color:#fff;border:none;min-height:50px;padding:12px 18px;font-weight:700;box-shadow:0 14px 26px #11182729}.btn-secondary,.ghost-nav-btn,.btn-close-classic{border:1px solid var(--line-strong);min-height:48px;color:var(--ink);background:#ffffffeb;padding:12px 16px;font-weight:700}.link-btn{color:var(--ink);background:0 0;border:none;font-weight:700}.icon-close{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#ffffffe6}.auth-switch{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:20px;display:flex}.auth-switch span{color:var(--muted);font-size:14px}.drawer{z-index:2100;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(#fafffcfa,#f4fff9f5);border-right:1px solid #a7f3d080;border-top-right-radius:42px;border-bottom-right-radius:42px;flex-direction:column;width:332px;height:100%;transition:transform .32s cubic-bezier(.22,1,.36,1),visibility .32s;display:flex;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 22px 62px #0f172a1f}.drawer.open{visibility:visible;pointer-events:auto;transform:translate(0)}.overlay{z-index:2099;opacity:0;visibility:hidden;pointer-events:none;background:#11182752;transition:opacity .24s,visibility .24s;position:fixed;inset:0}.overlay.open{opacity:1;visibility:visible;pointer-events:auto}.drawer-header{border-bottom-right-radius:28px;border-bottom-left-radius:28px;border-top-right-radius:inherit;background:linear-gradient(135deg,#ecfdf5fa,#dcfce7f2),#d1fae5;border-bottom:1px solid #0f172a14;margin-top:0;padding:14px 18px 12px}.drawer-header h3{margin:6px 0 2px;font-size:21px;line-height:1}.drawer-close-btn{z-index:3;color:#065f46;cursor:pointer;background:#ffffffa6;border:0;border-radius:999px;width:40px;height:40px;font-size:18px;position:absolute;top:18px;right:18px}.drawer-profile-shell{grid-template-columns:60px minmax(0,1fr);align-items:center;gap:12px;display:grid}.drawer-avatar{color:#065f46;background:#fffffff5;border:3px solid #fffffff0;border-radius:999px;place-items:center;width:60px;height:60px;font-size:20px;font-weight:900;display:grid;box-shadow:0 12px 24px #10b9811f}.drawer-profile-copy{gap:2px;display:grid}.drawer-profile-email{color:#111827cc;font-size:12px;line-height:1.3}.menu-stack{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#0f172a38 transparent;flex:1;align-content:start;min-height:0;padding:14px 14px 6px;overflow-y:auto}.menu-stack::-webkit-scrollbar{width:6px}.menu-stack::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:999px}.drawer.open .menu-stack>div{animation:.36s both menu-item-rise}.drawer.open .menu-stack>div:nth-child(2){animation-delay:40ms}.drawer.open .menu-stack>div:nth-child(3){animation-delay:80ms}.drawer.open .menu-stack>div:nth-child(4){animation-delay:.12s}@keyframes menu-item-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.menu-loading-card{color:var(--ink);background:#1118270d;border-radius:16px;gap:6px;padding:14px;display:grid}.menu-loading-card span{color:var(--muted);font-size:13px;line-height:1.4}.menu-section-title{color:#0f172a61;letter-spacing:.14em;text-transform:uppercase;margin:14px 0 8px;font-size:10px;font-weight:800}.menu-section-block+.menu-section-block{margin-top:6px}.menu-tile{text-align:center;background:linear-gradient(145deg,#fffffffc,#f8fffbf7);border:1px solid #a7f3d03d;border-radius:30px;align-content:center;justify-items:center;gap:10px;min-height:118px;padding:14px 12px;display:grid;box-shadow:0 8px 18px #0f172a09,inset 0 1px #ffffffd1}.menu-tile:hover{transform:translateY(-1px)}.menu-tile-accent{background:radial-gradient(circle at 100% 0,#6ee7b72e,#0000 38%),linear-gradient(145deg,#fffffffc,#ecfdf5f7)}.menu-tile-copy{gap:2px;display:grid}.menu-tile-copy strong{color:var(--ink);font-size:13px;line-height:1.08}.menu-tile-icon{background-color:#dcfce7eb;background-position:50%;background-repeat:no-repeat;background-size:22px 22px;border-radius:16px;width:42px;height:42px;box-shadow:inset 0 1px #ffffffb8}.menu-tile-icon.icon-map{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21s6-4.35 6-10a6 6 0 1 0-12 0c0 5.65 6 10 6 10Z'/%3E%3Ccircle cx='12' cy='11' r='2.5'/%3E%3C/svg%3E")}.menu-tile-icon.icon-ticket{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 8.5A1.5 1.5 0 0 1 6.5 7H17a2 2 0 0 0 2 2v6a2 2 0 0 0-2 2H6.5A1.5 1.5 0 0 1 5 15.5v-7Z'/%3E%3Cpath d='M9 9.5v5'/%3E%3Cpath d='M15 9.5v5'/%3E%3C/svg%3E")}.menu-tile-icon.icon-wallet{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4' y='7' width='16' height='10' rx='3'/%3E%3Cpath d='M14.5 12h3'/%3E%3Ccircle cx='12' cy='12' r='0.8' fill='%231e3a5f'/%3E%3C/svg%3E")}.menu-tile-icon.icon-user{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8.5' r='3'/%3E%3Cpath d='M6.5 18a5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3E")}.menu-tile-icon.icon-route{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='6' r='2'/%3E%3Cpath d='M8 18h3a5 5 0 0 0 5-5V6'/%3E%3C/svg%3E")}.menu-tile-icon.icon-history{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 12a8 8 0 1 0 2.3-5.7'/%3E%3Cpath d='M4 4v4h4'/%3E%3Cpath d='M12 8v4l2.5 1.5'/%3E%3C/svg%3E")}.menu-tile-icon.icon-scan{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 4H5a1 1 0 0 0-1 1v2'/%3E%3Cpath d='M17 4h2a1 1 0 0 1 1 1v2'/%3E%3Cpath d='M20 17v2a1 1 0 0 1-1 1h-2'/%3E%3Cpath d='M4 17v2a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E")}.menu-tile-icon.icon-chart{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 19V9'/%3E%3Cpath d='M12 19V5'/%3E%3Cpath d='M19 19v-7'/%3E%3C/svg%3E")}.menu-tile-icon.icon-admin{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='5' y='5' width='14' height='14' rx='3'/%3E%3Cpath d='M9 9h6'/%3E%3Cpath d='M9 12h6'/%3E%3Cpath d='M9 15h3'/%3E%3C/svg%3E")}.menu-item{width:100%;min-height:48px;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;padding:12px 14px;font-weight:700}.menu-item-accent{background:linear-gradient(#fff7ccf2,#fffceafa),#fffffffa}.menu-item-danger{color:var(--danger);background:var(--danger-soft)}.menu-link-card{background:linear-gradient(145deg,#fffffffa,#f4fff9f5);border:1px solid #a7f3d042;border-radius:32px;grid-template-columns:52px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:74px;margin-bottom:7px;padding:11px 12px;display:grid;box-shadow:0 8px 18px #0f172a09,inset 0 1px #ffffffd1}.menu-link-card:hover{background:#fff;transform:translateY(-1px)}.menu-link-icon{color:#065f46;letter-spacing:.06em;background:linear-gradient(145deg,#dcfce7e6,#ecfdf5f0);border-radius:999px;place-items:center;width:40px;height:40px;font-size:10px;font-weight:900;display:grid}.menu-link-copy{gap:3px;display:grid}.menu-link-copy strong{color:var(--ink);font-size:13px;line-height:1.1}.menu-link-copy small{color:var(--muted);font-size:10px;line-height:1.35}.menu-link-arrow{color:#0596696b;text-align:right;font-size:14px;font-weight:900}.menu-logout{margin:0 18px 18px}.admin-card{background:#f9fafbfa;border-radius:30px;flex-direction:column;width:min(1240px,100%);height:min(92vh,940px);display:flex;overflow:hidden}.app-panel-header{border-bottom:1px solid var(--line);background:#ffffffc2;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 28px;display:flex}.panel-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.panel-logout-btn{background:var(--danger-soft);min-height:42px;color:var(--danger);border-color:#b91c1c2e}.panel-close-btn{position:static}.admin-header h2{font-size:clamp(26px,3vw,36px)}.admin-header small{max-width:64ch;color:var(--muted);line-height:1.6;display:block}.panel-content{background:linear-gradient(#f8fafc 0%,#eef2f7 100%);flex:1;overflow:auto}.panel-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.panel-grid-stretch{align-items:stretch}.section-header-inline,.tickets-header,.trip-detail-header,.command-topbar,.ticket-card-top,.ticket-meta-grid,.trip-card-head,.trip-card-footer,.data-row,.inline-actions,.detail-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.section-header-inline{margin-bottom:16px}.trip-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.notify-actions{justify-content:flex-start;margin-top:8px}.btn-notify{color:#49454f;background:#fffbffe6;border:1px solid #79747e38;border-radius:12px;padding:6px 12px;font-size:12px;font-weight:600}.btn-notify:hover{color:#00382f;border-color:#006b5f52}.btn-notify-ok{color:#00382f;background:#9ff2df73;border-color:#006b5f2e}.command-report-btn{color:#9a3412;background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fb923c6b;box-shadow:0 12px 26px #fb923c1f}.command-report-btn:disabled{cursor:progress;opacity:.62}.section-header-inline h3{font-size:28px}.section-caption{font-size:12px}.compact-list .data-row{padding:14px 16px}.data-row{padding:16px 18px}.data-row strong{margin-bottom:4px;font-size:15px}.data-row span,.data-row-meta span,.ticket-preview-copy span,.ticket-preview-copy small,.info-strip span,.p-sub-info,.ticket-meta-grid span,.ticket-footer span{font-size:13px}.data-row-meta,.align-right{justify-items:end;gap:4px;display:grid}.inline-actions.compact-actions{align-items:center}.toggle-row{color:var(--muted-strong);align-items:center;gap:10px;padding:6px 2px;display:flex}.top-divider{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.empty-inline{border-radius:var(--radius-md);color:var(--muted);text-align:center;background:#1118270a;padding:18px}.stat-label,.classic-grid label,.slider-text{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.stat-card strong{margin-top:10px;font-size:clamp(26px,3vw,34px);line-height:1}.stat-card-highlight{background:#111827eb}.stat-card-highlight .stat-label,.stat-card-highlight strong,.stat-card-highlight p{color:#fff}.stat-card-highlight p{color:#ffffffbd}.admin-shell{width:min(1480px,100vw - 36px)}.admin-shell .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-kpi-card{position:relative;overflow:hidden}.admin-kpi-card:after{content:"";background:#1118270b;border-radius:999px;width:130px;height:130px;position:absolute;top:-42px;right:-28px}.admin-kpi-density{background:radial-gradient(circle at 92% 0,#0f766e1f,#0000 30%),#ffffffeb}.admin-command-center{grid-template-columns:minmax(320px,1.1fr) minmax(260px,.8fr) minmax(260px,.8fr);gap:16px;display:grid}.admin-command-hero,.admin-chart-card,.admin-search-console,.admin-timeline-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.admin-command-hero{color:#fff;background:radial-gradient(circle at 86% 18%,#ffffff29,#0000 24%),linear-gradient(135deg,#111827f5,#1f2937eb);padding:26px;position:relative;overflow:hidden}.admin-command-hero:after{content:"";background:#ffffff14;border-radius:999px;width:260px;height:260px;position:absolute;inset:auto -80px -90px auto}.admin-command-hero .eyebrow,.admin-command-hero p,.admin-command-hero span{color:#ffffffb8}.admin-command-hero h3{z-index:1;color:#fff;letter-spacing:-.06em;max-width:10ch;margin:12px 0 10px;font-size:clamp(34px,4vw,56px);line-height:.94;position:relative}.admin-command-hero p{z-index:1;max-width:560px;margin:0;line-height:1.65;position:relative}.admin-health-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px;display:grid;position:relative}.admin-health-grid div{background:#ffffff12;border:1px solid #ffffff1a;border-radius:18px;padding:14px}.admin-health-grid span,.admin-health-grid strong{display:block}.admin-health-grid span{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.admin-health-grid strong{color:#fff;margin-top:6px;font-size:26px;line-height:1}.admin-chart-card{align-content:start;gap:16px;padding:20px;display:grid;overflow:hidden}.admin-bar-chart{gap:13px;display:grid}.admin-bar-row{grid-template-columns:88px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.admin-bar-row span,.admin-bar-row strong,.admin-status-pill span,.admin-status-pill strong{font-size:12px;font-weight:850}.admin-bar-row span{color:var(--muted)}.admin-bar-row div{background:#1118270f;border-radius:999px;height:12px;overflow:hidden}.admin-bar-row i{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--accent));min-width:8px;height:100%;animation:.65s both admin-bar-grow;display:block}.admin-status-chart{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px;min-height:156px;display:grid}.admin-status-pill{text-align:center;background:#1118270a;border-radius:18px;align-content:end;gap:8px;min-height:138px;padding:10px;display:grid;position:relative;overflow:hidden}.admin-status-pill i{z-index:0;background:linear-gradient(#0f766e4d,#11182729);border-radius:999px 999px 12px 12px;animation:.72s both admin-column-rise;position:absolute;inset:auto 10px 10px}.admin-status-pill span,.admin-status-pill strong{z-index:1;position:relative}.admin-status-pill span{color:var(--muted);text-transform:capitalize}.admin-status-pill strong{color:var(--ink);font-size:22px}.admin-search-console{grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr) minmax(180px,.35fr);align-items:center;gap:14px;padding:18px;display:grid}.admin-search-console h3{color:var(--ink);letter-spacing:-.04em;margin:8px 0 0;font-size:22px}.admin-timeline{gap:10px;margin-top:16px;display:grid}.admin-timeline article{background:#11182709;border-radius:18px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.admin-timeline article>span{background:#0f766e;border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 6px #0f766e1f}.admin-timeline strong,.admin-timeline small{display:block}.admin-timeline strong{color:var(--ink);font-size:14px}.admin-timeline small{color:var(--muted);margin-top:3px}.admin-timeline b{color:var(--muted-strong);text-transform:uppercase;background:#11182714;border-radius:999px;padding:7px 10px;font-size:11px}.admin-dashboard-frame{box-shadow:var(--shadow-lg);background:#f8fafc;border:1px solid #1118271a;border-radius:24px;grid-template-columns:190px minmax(0,1fr);display:grid;overflow:hidden}.admin-dash-sidebar{background:#fff;border-right:1px solid #11182714;align-content:start;gap:8px;padding:20px 14px;display:grid}.admin-dash-sidebar strong{color:#0f766e;letter-spacing:-.05em;margin:0 8px 16px;font-size:24px}.admin-dash-sidebar button{width:100%;color:var(--muted-strong);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:11px 12px;font-size:14px;font-weight:750;transition:transform .2s,background .2s,color .2s,box-shadow .2s}.admin-dash-sidebar button:hover{background:#0284c70f;transform:translate(3px)}.admin-dash-sidebar button.active{color:#0369a1;background:#0284c71a;box-shadow:inset 3px 0 #0284c7}.admin-dash-sidebar button span,.admin-dash-sidebar button small{display:block}.admin-dash-sidebar button small{color:#475569b8;margin-top:4px;font-size:11px;font-weight:700}.admin-dash-main{gap:12px;padding:16px;display:grid}.admin-desktop-stage{gap:14px;padding-top:4px;animation:.32s both dashboard-card-pop;display:grid}.admin-mobile-nav,.admin-mobile-stage{display:none}.compact-filter-block{margin-bottom:12px}.admin-section-title{background:linear-gradient(135deg,#0087ad1a,#fffffff2),#fff;border:1px solid #11182714;border-radius:18px;padding:16px 18px}.admin-section-title h3{color:var(--ink);letter-spacing:-.05em;margin:8px 0 0;font-size:clamp(22px,2.2vw,30px)}@media (width>=981px){.admin-panel-content>.admin-command-center,.admin-panel-content>.admin-search-console,.admin-panel-content>.panel-grid-two,.admin-panel-content>.admin-timeline-card,.admin-panel-content>.surface-card{display:none}}.admin-dash-topbar{grid-template-columns:minmax(230px,.8fr) minmax(280px,1fr) 190px;align-items:center;gap:12px;display:grid}.admin-dash-topbar h3{color:var(--ink);letter-spacing:-.05em;margin:8px 0 0;font-size:26px}.admin-metric-ribbon{background:#fff;border:1px solid #11182714;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:16px;display:grid}.admin-metric-ribbon article{color:#fff;background:#0087ad;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:14px 16px;animation:.42s both dashboard-card-pop;display:flex}.admin-metric-ribbon article:nth-child(2){background:#007da0}.admin-metric-ribbon article:nth-child(3){background:#008caf}.admin-metric-ribbon article:nth-child(4){background:#007295}.admin-metric-ribbon strong,.admin-metric-ribbon span{display:block}.admin-metric-ribbon strong{font-size:clamp(22px,2.4vw,30px);font-weight:850;line-height:1}.admin-metric-ribbon span{color:#ffffffe0;margin-top:6px;font-size:12px}.admin-metric-ribbon b{filter:drop-shadow(0 8px 16px #00000029);font-size:28px}.admin-analytics-grid{grid-template-columns:1.1fr .9fr .9fr;gap:12px;display:grid}.admin-graph-card{background:#fff;border:1px solid #1118271a;border-radius:8px;align-content:start;gap:14px;min-height:240px;padding:18px;display:grid}.admin-graph-wide{grid-column:span 1}.admin-month-bars{border-bottom:1px solid #11182738;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:8px;height:178px;padding-top:16px;display:grid}.admin-month-bars div{place-items:end center;gap:6px;height:100%;display:grid}.admin-month-bars i{background:linear-gradient(#00668a,#23c4e8);border-radius:4px 4px 0 0;width:100%;min-height:3px;animation:.7s both admin-column-rise}.admin-month-bars span{color:var(--muted);font-size:10px}.admin-line-chart{width:100%;height:170px;overflow:visible}.admin-line-chart polyline{fill:none;stroke:#d8d31b;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 10px 14px #d8d31b40);stroke-dasharray:520;stroke-dashoffset:520px;animation:1s forwards admin-line-draw}.admin-donut-panel{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:16px;display:grid}.admin-donut{background:conic-gradient(#009ce4 0 var(--validas), #20c997 var(--validas) calc(var(--validas) + var(--checkin)), #ffb703 calc(var(--validas) + var(--checkin)) 78%, #4c1d95 78% 100%);border-radius:999px;width:142px;height:142px;position:relative}.admin-donut:after{content:"";border-radius:inherit;background:#fff;position:absolute;inset:28px}.admin-donut-panel span{color:var(--muted-strong);text-transform:capitalize;align-items:center;gap:8px;margin:8px 0;font-size:12px;display:flex}.admin-donut-panel b{background:#009ce4;border-radius:999px;width:10px;height:10px}.admin-donut-panel span:nth-child(2) b{background:#20c997}.admin-donut-panel span:nth-child(3) b{background:#ffb703}.admin-donut-panel span:nth-child(4) b{background:#4c1d95}.admin-seller-ranking{gap:8px;display:grid}.admin-seller-ranking article{background:#1118270a;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;display:grid}.admin-seller-ranking span{color:#fff;background:#0087ad;border-radius:999px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:grid}.admin-seller-ranking strong,.admin-seller-ranking small{display:block}.admin-seller-ranking strong{color:var(--ink);font-size:14px}.admin-seller-ranking small{color:var(--muted)}.admin-seller-ranking b{color:#007295;font-size:14px}.route-filter-card{background:linear-gradient(135deg,#0087ad1f,#fffffff2),#fff;border:1px solid #0f172a17;border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(220px,.3fr) minmax(260px,.48fr);align-items:center;gap:16px;padding:18px;display:grid;box-shadow:0 18px 42px #0f172a14}.route-filter-card h3{color:var(--ink);letter-spacing:-.04em;margin:8px 0 4px;font-size:clamp(20px,2vw,26px)}.route-filter-card p{color:var(--muted);margin:0;font-size:13px}.route-filter-card-compact{box-shadow:none;margin-bottom:14px}.route-date-filter{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.route-date-filter label{gap:6px;display:grid}.route-date-filter span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.route-clear-filter{grid-column:1/-1;min-height:38px;padding:8px 12px}.route-flow-card{margin-bottom:18px}.route-flow-list{gap:12px;display:grid}.route-flow-list article{background:#f8fafce0;border:1px solid #0f172a14;border-radius:18px;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);gap:12px;padding:14px;display:grid}.route-flow-stop-card{position:relative;overflow:hidden}.route-flow-stop{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.route-flow-stop-title{align-items:center;gap:10px;display:flex}.route-flow-stop span{color:#fff;background:#0f766e;border-radius:999px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:900;display:grid}.route-flow-stop strong{color:var(--ink);font-size:15px}.route-flow-stop-metrics{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.route-flow-kpi{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.route-flow-kpi.board{color:#0f766e;background:#0f766e1f}.route-flow-kpi.leave{color:#b91c1c;background:#b91c1c1a}.route-flow-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.route-flow-columns.single-movement{grid-template-columns:1fr}.route-flow-columns div{background:#fff;border-radius:14px;align-content:start;gap:6px;padding:10px;display:grid}.route-flow-movement.board{background:linear-gradient(#0f766e14,#fffffffa),#fff}.route-flow-movement.leave{background:linear-gradient(#b91c1c14,#fffffffa),#fff}.route-flow-movement-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.route-flow-movement-head span{min-width:26px;height:26px;color:var(--ink);background:#0f172a0f;border-radius:999px;place-items:center;font-size:11px;font-weight:900;display:inline-grid}.route-flow-columns small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.route-flow-columns button,.route-flow-columns em{color:#0f766e;text-align:left;background:#0f766e14;border:0;border-radius:11px;width:100%;padding:8px 10px;font-size:12px;font-weight:800}.route-flow-columns em{color:var(--muted);background:#64748b14;font-style:normal}@keyframes dashboard-card-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes admin-line-draw{to{stroke-dashoffset:0}}@keyframes admin-bar-grow{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes admin-column-rise{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.passenger-hero-card{grid-template-columns:1fr 320px;margin-top:20px}.next-trip-card{margin-top:18px}.tickets-section{margin-top:20px}.tickets-grid,.trip-list-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:18px}.ticket-card-pro,.trip-card{transition:transform .18s,box-shadow .18s}.ticket-card-pro:hover,.trip-card:hover,.p-row:hover,.data-row:hover{transform:translateY(-2px)}.ticket-card-top{align-items:flex-start}.ticket-card-top h4,.trip-card h4{margin:10px 0 8px;font-size:22px}.ticket-qr{background:#fffffffa;flex-shrink:0;justify-content:center;align-items:center;min-width:116px;min-height:116px;display:flex}.ticket-qr-large{min-width:180px;min-height:180px}.ticket-meta-grid{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.ticket-meta-grid div,.classic-grid div,.ticket-preview-copy,.p-col-main{gap:6px;display:grid}.ticket-footer,.trip-card-footer{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.ticket-footer strong,.ticket-meta-grid strong,.classic-grid strong{color:var(--ink)}.boarding-pass-card{color:#111;background:linear-gradient(#fffdf7 0%,#fff 54%,#f8fafc 100%);border:1px solid #11111129;border-radius:24px;font-family:Courier New,Courier,monospace;overflow:hidden;box-shadow:0 18px 34px #0f172a17}.boarding-pass-head{text-align:center;text-transform:uppercase;gap:4px;padding:18px 22px 10px;display:grid}.boarding-pass-head strong{color:#1111116b;letter-spacing:.08em;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:900}.boarding-pass-head span{color:#1116;letter-spacing:.36em;font-size:13px}.boarding-pass-body{padding:12px 22px 18px}.boarding-pass-row,.boarding-status-row,.boarding-pass-code{grid-template-columns:1fr auto;align-items:end;gap:18px;display:grid}.boarding-pass-card span{color:#1111119e;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.boarding-pass-card strong{color:#111;letter-spacing:.04em;text-transform:uppercase;word-break:break-word;margin-top:4px;font-size:17px;font-weight:900;display:block}.boarding-pass-dash{border-top:2px dashed #1111112e;margin:12px 0 18px}.boarding-route-box{background:#fffc;border:1px solid #11111124;border-radius:18px;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;gap:8px;margin-top:16px;padding:12px 14px;display:grid}.boarding-route-box div{min-width:0}.boarding-route-box b{color:#111;text-align:center;font-size:18px}.boarding-route-box strong{font-size:clamp(13px,3.5vw,16px);line-height:1.1}.boarding-status-row{border-top:1px solid #1111111f;margin-top:14px;padding-top:14px}.boarding-status-row span:last-child{text-align:right}.boarding-pass-code{text-align:center;border-top:1px dashed #1113;grid-template-columns:1fr;place-items:center;gap:12px;padding:18px 22px 22px;position:relative}.boarding-qr{background:#fff;border:1px solid #11111114;border-radius:22px;place-items:center;width:min(252px,78vw);height:min(252px,78vw);padding:8px;display:grid;box-shadow:0 12px 26px #0f172a14}.boarding-qr svg{width:100%;height:100%;display:block}.boarding-reserve-copy{text-align:center;justify-items:center;display:grid}.boarding-reserve-copy span{letter-spacing:.14em;font-size:11px}.boarding-reserve-copy strong{letter-spacing:.08em;margin-top:4px;font-size:28px}.boarding-reserve-copy p{color:#111;max-width:260px;margin:6px 0 0;font-size:12px;line-height:1.35}.boarding-pass-cutline{border-top:2px dashed #1111114d;margin:0 26px 10px}.seller-ticket-preview{gap:14px;display:grid}.boarding-pass-card-compact .boarding-pass-head{padding:18px 20px 12px}.boarding-pass-card-compact .boarding-pass-head strong{font-size:18px}.boarding-pass-card-compact .boarding-pass-head span{letter-spacing:.22em;font-size:11px}.boarding-pass-card-compact .boarding-pass-body{padding:14px 20px 20px}.boarding-pass-card-compact .boarding-pass-code{padding:20px}.boarding-pass-card-compact .boarding-pass-card strong,.boarding-pass-card-compact strong{font-size:14px}.boarding-pass-card-compact .boarding-route-box{margin-top:18px}.boarding-pass-card-compact .boarding-qr{width:min(236px,74vw);height:min(236px,74vw)}.boarding-pass-card-compact .boarding-reserve-copy strong{font-size:27px}.boarding-pass-card-compact .boarding-reserve-copy p{font-size:13px}.ticket-share-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ticket-share-actions .btn-primary,.ticket-share-actions .btn-secondary{width:100%}.trip-card.active{background:#111827eb}.trip-card.active h4,.trip-card.active strong,.trip-card.active span,.trip-card.active p{color:#fff}.trip-card.active p,.trip-card.active .trip-card-footer span,.trip-card.active .soft-badge{color:#ffffffb8}.trip-card-history{opacity:.92}.command-topbar{padding:18px 24px 0}.command-tabs{background:#1118270d;border-radius:16px;gap:8px;padding:6px;display:flex}.command-tabs button{min-height:44px;color:var(--muted-strong);background:0 0;border:none;border-radius:12px;padding:0 16px;font-weight:700}.command-tabs button.active{color:var(--ink);background:#fffffffa;box-shadow:0 10px 18px #0f172a14}.quick-scan-btn{min-width:168px}.command-scanner-card{justify-content:space-between;align-items:center;gap:18px;display:flex}.command-upcoming-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-top:18px;display:grid}.command-next-trip-hero{color:#fff;cursor:pointer;isolation:isolate;background:radial-gradient(circle at 78% 16%,#ffffff29,#0000 26%),radial-gradient(circle at 12% 100%,#7eefb22e,#0000 28%),linear-gradient(135deg,#0f3d36 0%,#114b42 42%,#06231f 100%);border:1px solid #ffffff29;border-radius:34px;grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);align-items:stretch;min-height:238px;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #06231f47}.command-next-trip-hero:hover{border-color:#bef2d070;transform:translateY(-3px);box-shadow:0 34px 86px #06231f57}.command-next-trip-hero.active{background:radial-gradient(circle at 78% 16%,#ffffff2e,#0000 26%),radial-gradient(circle at 12% 100%,#fbbf2433,#0000 28%),linear-gradient(135deg,#0b1017 0%,#182230 44%,#081019 100%)}.command-next-trip-overlay{z-index:-1;background:linear-gradient(90deg,#07110fb3 0%,#07110f2e 48%,#0000 100%),repeating-linear-gradient(135deg,#ffffff12 0 1px,#0000 1px 18px);position:absolute;inset:0}.command-next-trip-copy{z-index:2;align-content:space-between;gap:10px;max-width:440px;display:grid;position:relative}.command-next-trip-copy small{color:#f0fdf4c7;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.command-next-trip-copy h3{color:#fff;letter-spacing:-.06em;text-transform:uppercase;margin:0;font-size:clamp(27px,3vw,40px);font-weight:950;line-height:.95}.command-next-trip-copy h3 b{color:#bef264;font-weight:950}.command-next-trip-copy p{color:#f0fdf4d6;margin:0;font-size:14px;font-weight:700}.command-next-trip-meta{flex-wrap:wrap;gap:8px;display:flex}.command-next-trip-meta span,.command-next-trip-stops span,.command-next-trip-action strong{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:11px;font-weight:900;display:inline-flex}.command-next-trip-meta span{color:#fff;background:#ffffff1f}.command-next-trip-stops{flex-wrap:wrap;gap:8px;display:flex}.command-next-trip-stops span{color:#dcfce7;background:#bef2d024}.command-next-trip-action{padding-top:4px}.command-next-trip-action strong{color:#052e2b;background:#fffffff0}.command-next-trip-boat{z-index:1;object-fit:contain;filter:drop-shadow(0 24px 24px #00000057);width:min(44vw,420px);max-height:210px;position:absolute;bottom:8px;right:-8px}.command-queue-card{gap:14px;display:grid}.command-queue-list{gap:10px;display:grid}.command-queue-item{border:1px solid var(--line);text-align:left;background:#ffffffe0;border-radius:16px;gap:4px;padding:14px 16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.command-queue-item:hover{box-shadow:var(--shadow-lg);border-color:#11182724;transform:translateY(-2px)}.command-queue-item strong{color:var(--ink);font-size:15px}.command-queue-item span,.command-queue-item small{color:var(--muted)}.command-sellers-card{gap:16px;display:grid}.command-sellers-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.command-sellers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.seller-city-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffe0;border-radius:20px;gap:14px;padding:18px;display:grid}.seller-city-head,.seller-city-metrics{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.seller-city-head strong{color:var(--ink);font-size:16px}.seller-city-head small,.seller-city-metrics span,.seller-city-row small{color:var(--muted)}.seller-city-metrics strong{color:var(--ink);margin-top:4px;font-size:18px;display:block}.seller-city-breakdown{gap:8px;display:grid}.seller-city-row{border-top:1px dashed #1118271f;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.seller-city-row span{color:var(--ink);font-weight:700}.manifest-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px;padding-bottom:106px}.manifest-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;font-weight:800;display:flex}.manifest-title.warn{color:var(--warn)}.manifest-title.success{color:var(--success)}.manifest-empty{color:var(--muted);line-height:1.6}.p-row.pendente{border-left:4px solid var(--warn)}.p-row.ok{border-left:4px solid var(--success)}.status-pill.pill-warn{background:var(--warn-soft);color:var(--warn)}.status-pill.pill-success{background:var(--success-soft);color:var(--success)}.gps-slider-wrapper{position:absolute;bottom:24px;left:24px;right:24px}.slider-container{cursor:pointer;border-radius:999px;min-height:70px;padding:10px}.slider-knob{background:var(--ink);color:#fff;border-radius:999px;place-items:center;width:50px;height:50px;font-weight:800;display:grid}.hold-start-button{width:100%;min-height:76px;color:var(--ink);box-shadow:var(--shadow-lg);cursor:pointer;touch-action:none;background:#fffffff5;border:1px solid #1118271a;border-radius:999px;align-items:center;gap:14px;padding:10px 18px 10px 10px;display:flex;position:relative;overflow:hidden}.hold-start-progress{z-index:0;transform-origin:0;background:linear-gradient(90deg,#0f766e2e,#0f766e57);transition:transform 80ms linear;position:absolute;inset:0}.hold-start-knob,.hold-start-copy{z-index:1;position:relative}.hold-start-knob{background:var(--ink);color:#fff;border-radius:999px;flex:0 0 56px;place-items:center;width:56px;height:56px;font-weight:900;display:grid}.hold-start-copy{text-align:left;gap:3px;display:grid}.hold-start-copy strong{font-size:14px}.hold-start-copy small{color:var(--muted);font-size:12px;line-height:1.35}.hold-start-button.holding .hold-start-knob,.hold-start-button.starting .hold-start-knob{background:var(--success)}.hold-start-button.starting{cursor:wait}.scanner-stage{color:#fff;background:#111827f5;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:32px;display:flex}.scanner-stage-copy{text-align:center;max-width:580px}.scanner-stage h3,.scanner-stage p{color:#fff}.scanner-stage p{color:#ffffffb8}.scanner-box{background:#000;border:2px solid #ffffff24;border-radius:30px;width:min(360px,90vw);height:min(360px,90vw);position:relative;overflow:hidden;box-shadow:0 26px 54px #00000057}.scanner-box video{object-fit:cover;width:100%;height:100%}.fast-scanner-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.fast-scanner-canvas{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.scanner-focus-frame{aspect-ratio:1;pointer-events:none;border-radius:26px;width:min(260px,72%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #02061757,inset 0 0 0 1px #ffffff2e,0 0 34px #34d3992e}.scanner-focus-frame:after{content:"Aponte o QR aqui";color:#ffffffdb;letter-spacing:.08em;text-transform:uppercase;background:#0f172ac2;border-radius:999px;width:max-content;max-width:220px;padding:7px 12px;font-size:11px;font-weight:800;position:absolute;bottom:-38px;left:50%;transform:translate(-50%)}.scanner-corner{filter:drop-shadow(0 0 10px #34d399b3);border-color:#34d399;width:42px;height:42px;position:absolute}.scanner-corner.top-left{border-top:5px solid;border-left:5px solid;border-top-left-radius:22px;top:0;left:0}.scanner-corner.top-right{border-top:5px solid;border-right:5px solid;border-top-right-radius:22px;top:0;right:0}.scanner-corner.bottom-left{border-bottom:5px solid;border-left:5px solid;border-bottom-left-radius:22px;bottom:0;left:0}.scanner-corner.bottom-right{border-bottom:5px solid;border-right:5px solid;border-bottom-right-radius:22px;bottom:0;right:0}.scanner-line{pointer-events:none;background:linear-gradient(90deg,#0000,#34d399,#0000);width:min(232px,64%);height:3px;animation:1.45s linear infinite scan-down;position:absolute;top:50%;left:50%;transform:translate(-50%);box-shadow:0 0 22px #34d399d6}@keyframes scan-down{0%{top:calc(50% - min(116px,32%))}to{top:calc(50% + min(116px,32%))}}.camera-permission-card,.scanner-error-card{color:#fff;text-align:center;gap:12px;display:grid}.camera-permission-card{background:radial-gradient(circle at top,#34d39924,#0000 38%),#050505;place-content:center;height:100%;padding:26px}.camera-permission-card strong{font-size:18px;line-height:1.25}.camera-permission-card p{color:#ffffffb3;margin:0;font-size:13px;line-height:1.55}.scanner-error-card{color:#fecaca;background:#fee2e21f;border:1px solid #fee2e233;border-radius:16px;width:min(420px,100%);padding:12px 14px;font-size:13px}.scanner-form{width:min(420px,100%)}.scanner-submit,.scanner-back-btn{width:100%}.detail-modal-classic{background:#fff;width:min(520px,100%);overflow:hidden}.classic-header{text-align:center;background:linear-gradient(#1d4ed8,#2563eb);padding:28px 24px}.qr-box-classic{background:#eff6ff;border:1px dashed #2563eb47;border-radius:20px;justify-content:center;align-items:center;padding:24px;display:flex}.classic-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.btn-checkin-classic{background:var(--success);color:#fff;border:none;width:100%;min-height:50px;font-weight:800}.btn-checkin-done{color:#166534;background:#dcfce7;border:1px solid #86efac}.detail-actions{margin-top:22px}.ticket-modal-overlay{z-index:3000;background:#1118279e}.receipt-ticket-modal{width:min(430px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-xl);background:#f7f7f4;border:1px solid #ffffffbf;border-radius:28px;flex-direction:column;display:flex;position:relative;overflow:hidden}.receipt-close-button{z-index:2;width:42px;height:42px;color:var(--ink);cursor:pointer;background:#ffffffe6;border:1px solid #1118271a;border-radius:999px;place-items:center;font-weight:900;display:grid;position:absolute;top:14px;right:14px}.receipt-ticket-top{color:#fff;background:#111827;padding:24px 58px 18px 22px;position:relative;overflow:hidden}.receipt-ticket-top>:not(.receipt-boat-ghost){z-index:1;position:relative}.receipt-boat-ghost{object-fit:contain;opacity:.22;pointer-events:none;filter:drop-shadow(0 16px 18px #0f172a3d);width:240px;max-height:120px;animation:.72s cubic-bezier(.16,1,.3,1) both receipt-boat-arrive;position:absolute;top:16px;right:6px}@keyframes receipt-boat-arrive{0%{opacity:0;transform:translate(58px)translateY(8px)}to{opacity:.22;transform:translate(0)translateY(0)}}.receipt-ticket-top h3{color:#fff;letter-spacing:-.04em;margin:12px 0 6px;font-size:28px;line-height:1.02}.receipt-ticket-top small{color:#ffffffb8}.receipt-paper{background:linear-gradient(90deg,#0000 0 12px,#fff 12px calc(100% - 12px),#0000 calc(100% - 12px)) 0 0/100% 100% no-repeat,radial-gradient(circle at 0 14px,#0000 0 7px,#fff 7px) 0 0/14px 22px repeat-y,radial-gradient(circle at right 14px,#0000 0 7px,#fff 7px) 100% 0/14px 22px repeat-y;border-radius:18px;margin:18px;padding:22px 18px;position:relative;overflow-y:auto;box-shadow:inset 0 0 0 1px #1118270f}.receipt-brand{text-align:center;gap:4px;margin-bottom:18px;display:grid}.receipt-brand strong{letter-spacing:.08em;font-family:Courier New,Courier,monospace;font-size:18px}.receipt-brand span{color:var(--muted);font-size:12px}.receipt-qr-box{background:#fff;border:1px dashed #11182738;border-radius:16px;place-items:center;width:164px;height:164px;margin:0 auto 18px;padding:0;display:grid}.receipt-qr-box svg,.scanner-result-mini-qr svg{background:#fff;display:block}.receipt-divider{color:var(--muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;border-top:1px dashed #11182733;border-bottom:1px dashed #11182733;margin:10px 0 12px;padding:8px 0;font-family:Courier New,Courier,monospace;font-size:11px;font-weight:800}.receipt-rows{gap:10px;display:grid}.receipt-row{border-bottom:1px dotted #11182724;justify-content:space-between;gap:14px;padding-bottom:10px;font-family:Courier New,Courier,monospace;display:flex}.receipt-row span{color:var(--muted);text-transform:uppercase;font-size:12px}.receipt-row strong{max-width:58%;color:var(--ink);text-align:right;word-break:break-word;font-size:13px}.receipt-actions{gap:10px;padding:0 18px 18px;display:grid}.seller-panel-tabs{background:#ffffffc2;border:1px solid #0f172a14;border-radius:999px;gap:8px;width:fit-content;max-width:100%;padding:6px;display:flex;box-shadow:0 14px 34px #0f172a14}.seller-panel-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:900;transition:transform .18s,background .18s,color .18s}.seller-panel-tabs button:hover{color:var(--ink);transform:translateY(-1px)}.seller-panel-tabs button.active{color:#fff;background:#111827;box-shadow:0 10px 22px #0f172a29}.app-update-overlay{z-index:5000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0307129e}.app-update-card{background:radial-gradient(circle at 92% 8%,#0ea5e929,#0000 30%),linear-gradient(#fffffffa,#f8fafcf5);border:1px solid #ffffffb8;border-radius:28px;gap:14px;width:min(440px,100vw - 28px);padding:24px;display:grid;box-shadow:0 34px 90px #0f172a52}.app-update-card h2{color:var(--ink);letter-spacing:-.05em;margin:0;font-size:30px;line-height:1}.app-update-card p,.app-update-card small{color:var(--muted);margin:0;line-height:1.5}.app-update-version-row{color:var(--muted);background:#1118270d;border-radius:16px;justify-content:space-between;gap:12px;padding:12px;font-size:13px;display:flex}.app-update-version-row strong{color:var(--ink)}.app-update-actions{justify-content:flex-end;gap:10px;display:flex}.app-update-progress-block{background:#0f172a0d;border-radius:18px;gap:8px;padding:14px;display:grid}.app-update-progress-head{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.app-update-progress-head strong{color:var(--ink)}.app-update-progress-bar{background:#94a3b838;border-radius:999px;width:100%;height:10px;overflow:hidden}.app-update-progress-bar i{border-radius:inherit;background:linear-gradient(90deg,#0ea5e9,#2563eb);height:100%;transition:width .35s;display:block}.landing-announcement-hero{background:linear-gradient(135deg,#080f1ee0,#12233fb8),#0f172aad;border:1px solid #ffffff29;border-radius:28px;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:16px;margin-bottom:18px;padding:16px;display:grid;box-shadow:0 20px 44px #02061747}.landing-announcement-image{object-fit:cover;background:#ffffff14;border-radius:22px;width:100%;height:100%;min-height:180px}.landing-announcement-copy{align-content:start;gap:10px;display:grid}.landing-announcement-copy strong{color:#fff;letter-spacing:-.05em;font-size:clamp(22px,3vw,30px)}.landing-announcement-copy p{color:#e2e8f0e0;margin:0}.landing-announcement-meta{color:#bfdbfed6;flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.landing-announcement-btn{justify-self:flex-start}.landing-announcement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.landing-announcement-card{color:#e2e8f0eb;background:#070c189e;border:1px solid #ffffff1f;border-radius:22px;gap:10px;padding:16px;display:grid}.landing-announcement-card strong{color:#fff;font-size:16px}.landing-announcement-card p{margin:0;font-size:14px;line-height:1.5}.ghost-link-button{color:#93c5fd;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.announcement-row-meta{align-items:flex-end}.announcement-spotlight-overlay{z-index:4300;-webkit-backdrop-filter:blur(22px)saturate(1.12);backdrop-filter:blur(22px)saturate(1.12);background:radial-gradient(circle at 18% 12%,#0ea5e942,#0000 34%),radial-gradient(circle at 82% 18%,#fbbf244d,#0000 30%),linear-gradient(135deg,#f0f9ff99,#fefce894);padding:22px}.announcement-spotlight-card{background:radial-gradient(circle at 32% 18%,#fffc,#0000 24%),linear-gradient(135deg,#ffffffb8,#f8fafc94),#fff;border:1px solid #0f172a17;border-radius:38px;grid-template-columns:minmax(300px,1fr) minmax(320px,.9fr);align-items:center;gap:clamp(18px,3vw,32px);width:min(880px,100vw - 28px);min-height:430px;max-height:min(760px,100dvh - 34px);padding:clamp(14px,2.4vw,22px);animation:.26s both announcementCardIn;display:grid;position:relative;overflow:visible;box-shadow:0 34px 100px #0f172a42}.announcement-spotlight-card:before{content:"";-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:-1;background:#ffffff70;border-radius:30px;position:absolute;inset:14px;box-shadow:inset 0 1px #ffffffb8}.announcement-spotlight-ribbon{z-index:2;background:linear-gradient(#facc15,#0ea5e9 52%,#0369a1);width:9px;position:absolute;inset:0 auto 0 0}.announcement-spotlight-close{color:#0f172a;width:42px;height:42px;font:inherit;cursor:pointer;z-index:5;background:#ffffffdb;border:0;border-radius:999px;font-size:24px;line-height:1;position:absolute;top:16px;right:16px;box-shadow:0 14px 28px #0f172a29}.announcement-spotlight-media{z-index:1;background:radial-gradient(circle at 34% 26%,#ffffff70,#0000 22%),linear-gradient(150deg,#e0f2fe,#fff7ed 48%,#fde68a);border-radius:30px;height:100%;min-height:390px;position:relative;overflow:hidden;transform:translate(-8px)rotate(-1deg);box-shadow:0 22px 54px #0f172a2e}.announcement-spotlight-image{object-fit:cover;object-position:center;width:100%;height:100%;min-height:390px;display:block;transform:scale(1.03)}.announcement-spotlight-placeholder{color:#075985;background:radial-gradient(circle at 70% 20%,#0ea5e93d,#0000 24%),linear-gradient(145deg,#fef3c7,#e0f2fe);place-items:center;height:100%;min-height:360px;display:grid}.announcement-spotlight-placeholder span{letter-spacing:.14em;text-transform:uppercase;background:#ffffffb3;border:1px solid #0f172a1a;border-radius:999px;padding:12px 18px;font-weight:900}.announcement-spotlight-copy{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#0f172a;z-index:2;background:#ffffffc7;border:1px solid #0f172a14;border-radius:30px;align-content:center;justify-items:start;gap:16px;padding:clamp(24px,4vw,40px);display:grid;position:relative;transform:translate(-18px);box-shadow:0 20px 52px #0f172a24}.announcement-spotlight-badge{color:#713f12;letter-spacing:.12em;text-transform:uppercase;background:#fef08a;border-radius:999px;width:fit-content;padding:8px 12px;font-size:11px;font-weight:900;box-shadow:inset 0 0 0 1px #713f1214}.announcement-spotlight-copy strong{color:#0f172a;letter-spacing:-.05em;font-size:clamp(28px,5vw,46px);line-height:.96}.announcement-spotlight-copy p{color:#475569;margin:0;font-size:15px;line-height:1.6}.announcement-spotlight-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px;display:flex}.announcement-spotlight-cta,.announcement-spotlight-secondary{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:900;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.announcement-spotlight-cta{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0369a1);border:1px solid #0369a11a;box-shadow:0 16px 32px #0ea5e94d}.announcement-spotlight-secondary{color:#334155;background:#f1f5f9e6;border:1px solid #0f172a1a}.announcement-spotlight-cta:hover,.announcement-spotlight-secondary:hover{transform:translateY(-1px)}@keyframes announcementCardIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.announcement-preview-card{background:#0f172a0a;border-radius:20px;gap:12px;padding:14px;display:grid}.announcement-preview-image{object-fit:cover;background:#0f172a0f;border-radius:18px;width:min(100%,360px);max-height:220px}.danger-soft-btn{color:#991b1b;background:#fee2e2eb;border-color:#ef444440}.danger-confirm-card{border-color:#ef44442e;gap:18px;width:min(560px,100vw - 24px);display:grid;box-shadow:0 24px 60px #0f172a38}.danger-confirm-copy{gap:8px;display:grid}.danger-confirm-copy p{color:#0f172ab8;margin:0;line-height:1.6}.danger-confirm-code{color:#991b1b;letter-spacing:.22em;background:#fee2e2b3;border:1px dashed #dc262673;border-radius:16px;justify-content:center;align-items:center;min-height:48px;padding:10px 14px;font-size:1.2rem;font-weight:800;display:inline-flex}.danger-feedback{color:#991b1b;background:#fef2f2f5;border:1px solid #dc262633;border-radius:16px;padding:12px 14px;font-weight:600}.scanner-result-modal{background:#f9faf7;width:min(520px,100%)}.scanner-result-valid{--scanner-accent:#16a34a;--scanner-accent-strong:#0f7a35;--scanner-bg:linear-gradient(135deg, #052e1a 0%, #15803d 48%, #bbf7d0 150%)}.scanner-result-invalid{--scanner-accent:#dc2626;--scanner-accent-strong:#991b1b;--scanner-bg:linear-gradient(135deg, #3b0710 0%, #b91c1c 52%, #fecaca 150%)}.scanner-result-hero{background:var(--scanner-bg);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;min-height:188px;padding:26px 22px 22px;display:grid}.scanner-result-hero:after{content:"";opacity:.72;background:radial-gradient(closest-side at 12% 40%,#ffffff47,#0000 70%),radial-gradient(closest-side at 36% 60%,#ffffff2e,#0000 72%),radial-gradient(closest-side at 62% 42%,#ffffff38,#0000 70%),radial-gradient(closest-side at 84% 58%,#ffffff2e,#0000 72%);height:82px;animation:2.8s ease-in-out infinite alternate scanner-wave-slide;position:absolute;bottom:-34px;left:-18%;right:-18%}.scanner-result-hero .receipt-boat-ghost{opacity:.36;transform-origin:50%;width:310px;max-height:142px;animation:1.05s cubic-bezier(.16,1,.3,1) both scanner-result-boat-arrive;top:34px;right:-18px}.scanner-result-wave{opacity:.08;pointer-events:none;filter:blur(1px);width:260px;position:absolute;bottom:-10px;right:-60px}.scanner-result-status{z-index:2;gap:7px;display:grid;position:relative}.scanner-result-status span{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#ffffff2e;border-radius:999px;width:fit-content;padding:7px 10px;font-size:11px;font-weight:900}.scanner-result-status strong{color:#fff;letter-spacing:-.06em;max-width:270px;font-size:clamp(28px,7vw,42px);line-height:.95}.scanner-result-status small{color:#ffffffc7;max-width:290px;font-size:13px;line-height:1.35}.scanner-result-mini-qr{z-index:2;background:#fffffff0;border-radius:18px;place-items:center;width:96px;height:96px;padding:0;display:grid;position:relative;box-shadow:0 18px 30px #0f172a33}.scanner-result-modal .receipt-paper{border-top:5px solid var(--scanner-accent)}.scanner-result-modal .receipt-brand strong{color:var(--scanner-accent-strong);letter-spacing:-.03em;font-family:inherit}.scanner-result-modal .receipt-divider{color:var(--scanner-accent-strong)}.btn-checkin-denied{color:#991b1b;cursor:not-allowed;background:#fee2e2;border-color:#dc26262e}@keyframes scanner-result-boat-arrive{0%{opacity:0;transform:translate(-140px)translateY(16px)scale(.92)}70%{opacity:.42;transform:translate(8px)translateY(0)scale(1.02)}to{opacity:.36;transform:translate(0)translateY(0)scale(1)}}@keyframes scanner-wave-slide{0%{transform:translate(-14px)}to{transform:translate(14px)}}.marker-nav{cursor:pointer;border-radius:999px;place-items:center;width:36px;height:36px;display:grid;position:relative;transform:translateZ(0)}.marker-nav-pulse{border-radius:inherit;background:#0e749033;animation:1.9s ease-out infinite pulse-marker;position:absolute;inset:3px}.marker-boat-icon{z-index:1;object-fit:contain;background:#ffffffeb;border:2px solid #fffffff5;border-radius:999px;width:34px;height:34px;display:block;position:relative;box-shadow:0 10px 22px #0f172a42,0 0 0 4px #2563eb1f}@keyframes pulse-marker{0%{opacity:.7;transform:scale(.62)}72%{opacity:0;transform:scale(1.75)}to{opacity:0;transform:scale(1.75)}}.boat-popup .maplibregl-popup-content,.boat-popup .mapboxgl-popup-content{box-shadow:none;background:0 0;border-radius:22px;padding:0}.boat-popup-card{min-width:198px;color:var(--ink);background:linear-gradient(145deg,#fffffffa,#f4fff8f5);border:1px solid #a7f3d070;border-radius:22px;gap:6px;padding:14px 14px 12px;display:grid;box-shadow:0 16px 34px #0f172a1f}.boat-popup-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.boat-popup-status{color:#15803d;letter-spacing:.1em;background:#22c55e1f;border-radius:999px;justify-self:start;min-height:24px;padding:4px 10px;font-size:10px;font-weight:900}.boat-popup-close{width:26px;height:26px;color:var(--muted-strong);cursor:pointer;background:#0f172a0f;border:0;border-radius:999px;place-items:center;padding:0;font-size:13px;font-weight:900;display:grid}.boat-popup-title-row{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;display:grid}.boat-popup-mini-icon{object-fit:contain;background:#fffffff5;border:1px solid #a7f3d052;border-radius:18px;width:52px;height:52px;display:block;box-shadow:0 10px 18px #0f172a14}.boat-popup-title{letter-spacing:-.03em;font-size:16px;line-height:1.05;display:block}.boat-popup-route{color:var(--muted);font-size:12px;line-height:1.45}.boat-popup-meta{color:var(--muted);font-size:11px;line-height:1.4}.boat-popup-meta b{color:var(--ink);font-weight:800}@media (width<=1100px){.panel-grid-two,.passenger-hero-card,.landing-metrics,.landing-announcement-grid,.stats-grid,.manifest-grid,.classic-grid,.command-upcoming-layout,.command-sellers-grid,.command-sellers-toolbar,.landing-announcement-hero{grid-template-columns:1fr}.announcement-spotlight-card{grid-template-columns:1fr;gap:0;max-height:calc(100dvh - 32px);overflow-y:auto}.announcement-spotlight-media{transform:none}.announcement-spotlight-copy{margin:0 clamp(12px,4vw,24px) -4px;transform:translateY(-24px)}.home-announcement-body{grid-template-columns:1fr}.command-next-trip-hero{grid-template-columns:1fr;min-height:280px}.command-next-trip-copy{max-width:100%}.command-next-trip-boat{width:min(56vw,340px);max-height:190px;bottom:-8px;right:-14px}.passenger-home-shortcuts{flex-direction:column;gap:6px;display:flex}.passenger-panel-shell .tickets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-shell{width:auto;bottom:16px;left:16px;right:16px}.session-prompt-card{display:none}}@media (width<=760px){body{overflow:hidden}button:hover{transform:none}.app-container{min-height:100dvh}.map-gradient-overlay{background:linear-gradient(#f8fafc2e,#f8fafc5c)}.top-status-bar{border-radius:16px;padding:12px 14px;top:12px;left:12px;right:12px}.menu-btn{top:78px;left:12px}.menu-btn-home{width:52px;height:52px;top:22px;left:12px}.passenger-home-topbar,.passenger-home-shell,.passenger-home-shortcuts-dock{width:calc(100vw - 24px)}.passenger-home-topbar{padding:0 0 0 64px;top:18px}.passenger-home-title strong{font-size:24px}.passenger-home-avatar{width:46px;height:46px}.passenger-home-shell{gap:14px;top:88px}.passenger-home-search-card,.home-announcement-card{border-radius:20px;gap:6px;padding:10px}.home-announcement-head,.home-announcement-actions{flex-flow:wrap;justify-content:space-between;align-items:center}.home-announcement-body{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px}.home-announcement-image{border-radius:16px;height:112px;min-height:112px}.home-announcement-card.banner-mode{border-radius:22px;width:min(300px,100vw - 30px);padding:8px}.home-announcement-card.banner-mode .home-announcement-head{top:14px;left:14px;right:14px}.home-announcement-card.banner-mode .home-announcement-image{border-radius:18px;height:164px;min-height:164px}.passenger-home-search-card strong{font-size:26px}.passenger-home-search-btn{border-radius:20px;min-height:70px;padding:0 16px}.passenger-home-search-btn span:last-child{font-size:14px}.home-announcement-copy strong{font-size:17px}.home-announcement-copy p{-webkit-line-clamp:2;font-size:12px}.home-announcement-card .landing-announcement-meta span{padding:4px 7px;font-size:9px}.passenger-home-shortcuts-dock{width:min(260px,100vw - 60px);bottom:18px}.passenger-home-shortcuts{flex-direction:column;gap:5px;padding:0;display:flex}.passenger-home-shortcut{border-radius:21px;min-height:42px;padding:0 12px}.passenger-home-shortcut-icon{background-size:11px 11px;border-radius:6px;width:18px;height:18px}.passenger-home-shortcut strong{font-size:12px}.passenger-home-shortcut span{font-size:9px}.modal-overlay{-webkit-overflow-scrolling:touch;justify-content:stretch;align-items:stretch;padding:0;overflow-y:auto}.announcement-spotlight-overlay{-webkit-backdrop-filter:blur(24px)saturate(1.15);backdrop-filter:blur(24px)saturate(1.15);background:radial-gradient(circle at 24% 10%,#0ea5e957,#0000 34%),radial-gradient(circle at 78% 22%,#facc1557,#0000 32%),#f1f5f985;justify-content:center;align-items:center;padding:14px}.announcement-spotlight-card{text-align:center;border-radius:30px;align-items:start;width:min(100%,430px);min-height:auto;max-height:calc(100dvh - 28px);padding:10px}.announcement-spotlight-media,.announcement-spotlight-image,.announcement-spotlight-placeholder{border-radius:24px;min-height:260px;max-height:330px}.announcement-spotlight-copy{background:#ffffffdb;border-radius:24px;justify-items:center;gap:12px;width:auto;margin:-38px 10px 0;padding:22px 18px 18px;box-shadow:0 18px 48px #0f172a2e}.announcement-spotlight-copy strong{font-size:clamp(25px,8vw,34px)}.announcement-spotlight-copy p{font-size:14px}.announcement-spotlight-actions{grid-template-columns:1fr;width:100%;display:grid}.announcement-spotlight-cta,.announcement-spotlight-secondary{width:100%}.admin-card,.login-shell{border-radius:0;width:100%;height:100dvh;min-height:100dvh}.login-shell{-webkit-overflow-scrolling:touch;background:#fff;display:block;overflow-y:auto}.auth-showcase{display:none}.login-shell>.icon-close{top:calc(env(safe-area-inset-top,0px) + 12px);position:fixed;right:14px}.auth-card-pro{min-height:100dvh;padding-top:calc(env(safe-area-inset-top,0px) + 76px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 28px);justify-content:flex-start}.auth-card-head h3{font-size:30px}.auth-card-head p{font-size:15px}.auth-form{gap:12px;margin-top:22px}.field-block input,.modern-input,.auth-form input,.role-select{min-height:48px;font-size:16px}.auth-switch{flex-direction:column;align-items:flex-start}.login-media-slot{display:none}.auth-showcase,.login-card,.app-panel-header,.command-list-view,.trip-detail-view,.passenger-panel-content,.admin-panel-content,.classic-body{padding:18px}.login-card{padding-left:22px;padding-right:22px}.icon-close{top:calc(env(safe-area-inset-top,0px) + 12px);z-index:3001;position:fixed;right:14px}.top-status-bar,.live-map-note{left:12px;right:12px}.top-status-bar,.landing-actions,.tickets-header,.trip-detail-header,.command-topbar,.ticket-card-top,.ticket-meta-grid,.trip-card-head,.trip-card-footer,.detail-actions,.section-header-inline,.data-row,.inline-actions{flex-direction:column;align-items:flex-start}.top-status-bar{top:calc(env(safe-area-inset-top,0px) + 10px);border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:14px;display:grid}.top-status-bar strong{font-size:14px}.top-status-bar span{display:none}.top-status-bar .top-role,.top-status-bar .top-login-btn{display:inline-flex}.top-login-btn{min-width:92px;min-height:42px;padding:10px 14px}.landing-shell{top:calc(env(safe-area-inset-top,0px) + 88px);left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);-webkit-overflow-scrolling:touch;border-radius:24px;width:auto;max-height:none;padding:18px;overflow-y:auto}.landing-shell h1{letter-spacing:-.03em;max-width:100%;font-size:clamp(27px,8vw,34px)}.landing-shell p{font-size:14px;line-height:1.45}.landing-badge,.eyebrow,.soft-badge,.role-badge,.status-pill{letter-spacing:.05em;min-height:24px;padding:5px 8px;font-size:10px}.landing-metrics{gap:10px;margin-top:16px}.landing-metric-card{border-radius:18px;padding:16px}.landing-metric-card strong{font-size:15px}.landing-metric-card span{margin-top:4px;font-size:13px;line-height:1.35;display:block}.command-next-trip-hero{border-radius:26px;min-height:300px;padding:18px}.command-next-trip-copy{gap:8px}.command-next-trip-copy h3{font-size:28px}.command-next-trip-meta,.command-next-trip-stops{gap:6px}.command-next-trip-boat{width:78vw;max-height:180px;bottom:-12px;right:-28px}.landing-actions{gap:8px;width:100%;margin-top:16px}.landing-cta,.landing-actions .btn-primary{width:100%;min-height:50px}.landing-note{font-size:12px}.live-map-note{display:none}.menu-btn{top:calc(env(safe-area-inset-top,0px) + 76px);width:48px;height:48px;left:12px}.menu-btn-live{top:calc(env(safe-area-inset-top,0px) + 12px)}.map-cultural-badge{top:calc(env(safe-area-inset-top,0px) + 76px);border-radius:16px;max-width:190px;padding:10px;right:12px}.abstract-boi-mark{flex-basis:34px;width:34px;height:34px}.map-cultural-badge strong{font-size:12px}.map-cultural-badge small{display:none}.map-cultural-particle{animation-duration:6.8s}.hud-top-island,.hud-bottom-island{width:calc(100vw - 24px)}.hud-top-island{min-width:auto;top:84px}.hud-bottom-island{justify-content:center}.hud-control-group{justify-content:center;width:100%}.drawer{width:min(80vw,332px);padding-top:0;padding-bottom:env(safe-area-inset-bottom,0px);border-top-right-radius:34px;border-bottom-right-radius:34px}.drawer-header{padding:max(10px, env(safe-area-inset-top,0px)) 16px 12px}.drawer-header h3{word-break:break-word;font-size:20px}.menu-stack{-webkit-overflow-scrolling:touch;overflow-y:auto}.gps-slider-wrapper{bottom:16px;left:16px;right:16px}.app-panel-header{z-index:4;padding-top:calc(env(safe-area-inset-top,0px) + 16px);position:sticky;top:0}.panel-header-actions{grid-template-columns:1fr 44px;gap:10px;width:100%;display:grid}.panel-logout-btn{justify-content:center;width:100%;min-height:44px}.panel-close-btn{width:44px;height:44px;position:static}.admin-header h2,.passenger-hero-card h3,.tickets-header h3,.trip-detail-copy h3,.scanner-stage h3,.section-header-inline h3{letter-spacing:-.03em;font-size:24px}.admin-header small{font-size:13px}.panel-content{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.stats-grid,.tickets-grid,.trip-list-grid,.panel-grid-two,.manifest-grid,.classic-grid,.trip-price-grid{gap:12px}.stat-card,.surface-card,.ticket-card-pro,.trip-card,.empty-state-card,.passenger-hero-card,.manifest-column{border-radius:18px;padding:16px}.stat-card strong{font-size:28px}.ticket-qr{min-width:104px;min-height:104px}.boarding-pass-head{padding:16px 16px 8px}.boarding-pass-head strong{font-size:18px}.boarding-pass-head span{letter-spacing:.22em;font-size:11px}.boarding-pass-body,.boarding-pass-code{padding-left:16px;padding-right:16px}.boarding-pass-row{grid-template-columns:1fr}.boarding-pass-row .align-right,.boarding-reserve-copy{text-align:left;justify-items:start}.boarding-route-box{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px;padding:10px}.boarding-route-box b{font-size:14px;transform:none}.boarding-qr{width:min(268px,82vw);height:min(268px,82vw)}.boarding-reserve-copy strong{font-size:26px}.ticket-share-actions{grid-template-columns:1fr}.data-row-meta,.align-right{justify-items:start}.scanner-stage{min-height:100dvh;padding-top:calc(env(safe-area-inset-top,0px) + 72px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 20px);justify-content:flex-start;overflow-y:auto}.scanner-box{border-radius:24px;width:min(300px,82vw);height:min(300px,82vw)}.receipt-ticket-modal{border-radius:0;width:100%;max-height:100dvh}.receipt-ticket-top{padding-top:calc(env(safe-area-inset-top,0px) + 20px)}.receipt-boat-ghost{right:4px;top:calc(env(safe-area-inset-top,0px) + 24px);width:230px;max-height:116px}.receipt-close-button{top:calc(env(safe-area-inset-top,0px) + 12px)}.receipt-paper{flex:1;min-height:0;margin:14px}.receipt-actions{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}.hold-start-button{min-height:72px;padding-right:14px}.hold-start-knob{flex-basis:52px;width:52px;height:52px}.hold-start-copy strong{font-size:13px}.hold-start-copy small{font-size:11px}}@media (width<=390px){.landing-shell{top:calc(env(safe-area-inset-top,0px) + 82px);padding:16px}.landing-shell h1{font-size:26px}.landing-shell p{font-size:13px}.landing-metric-card{padding:14px}.auth-card-head h3{font-size:28px}}.passenger-panel-shell{--passenger-accent:var(--accent);--passenger-accent-strong:var(--accent-strong);--passenger-accent-soft:var(--accent-soft);--passenger-symbol:"ET";--passenger-pattern:radial-gradient(circle at 18% 18%, #1f6feb1a, transparent 24%)}.passenger-panel-shell.passenger-theme-garantido{--passenger-accent:#c92727;--passenger-accent-strong:#8f1515;--passenger-accent-soft:#c927271a;--passenger-symbol:"CO";--passenger-pattern:radial-gradient(circle at 14% 16%, #c9272724, transparent 25%), radial-gradient(circle at 88% 8%, #c9272714, transparent 20%)}.passenger-panel-shell.passenger-theme-caprichoso{--passenger-accent:#1559c7;--passenger-accent-strong:#0d3478;--passenger-accent-soft:#1559c71a;--passenger-symbol:"ES";--passenger-pattern:radial-gradient(circle at 18% 18%, #1559c726, transparent 24%), linear-gradient(135deg, transparent 0 48%, #1559c70e 48% 52%, transparent 52%)}.passenger-panel-shell .passenger-header,.passenger-panel-shell .passenger-panel-content{position:relative}.passenger-panel-shell .passenger-header:after{content:var(--passenger-symbol);background:var(--passenger-accent-soft);width:42px;height:42px;color:var(--passenger-accent-strong);letter-spacing:.12em;border-radius:999px;place-items:center;font-size:11px;font-weight:900;display:grid;position:absolute;top:24px;right:86px}.passenger-panel-shell .passenger-panel-content:before{content:"";pointer-events:none;background:var(--passenger-pattern);opacity:.9;position:absolute;inset:0}.passenger-panel-shell .passenger-panel-content>*{position:relative}.passenger-panel-shell .eyebrow,.passenger-panel-shell .soft-badge{background:var(--passenger-accent-soft);color:var(--passenger-accent-strong)}.passenger-panel-shell .btn-primary{background:linear-gradient(135deg, var(--passenger-accent-strong), var(--passenger-accent));box-shadow:0 18px 34px color-mix(in srgb, var(--passenger-accent) 24%, transparent)}.passenger-panel-shell .stat-card-highlight{background:linear-gradient(135deg, var(--passenger-accent-strong), var(--passenger-accent))}.passenger-panel-shell .passenger-hero-card,.passenger-panel-shell .next-trip-card,.passenger-panel-shell .boarding-pass-card,.passenger-panel-shell .stat-card{border-color:color-mix(in srgb, var(--passenger-accent) 24%, transparent)}.passenger-panel-shell .boarding-pass-card{background:linear-gradient(180deg, #fffffffa, #fffffff0), var(--passenger-pattern)}.passenger-panel-shell .boarding-pass-head{border-bottom-color:color-mix(in srgb, var(--passenger-accent) 22%, transparent)}.passenger-panel-shell .boarding-pass-head span,.passenger-panel-shell .boarding-reserve-copy strong,.passenger-panel-shell .boarding-route-box b{color:var(--passenger-accent-strong)}.passenger-panel-shell .tickets-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.passenger-theme-switcher{border:1px solid color-mix(in srgb, var(--passenger-accent) 18%, transparent);box-shadow:var(--shadow-sm);background:#ffffffd1;border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;margin-bottom:20px;padding:18px;display:grid}.passenger-theme-switcher h3{color:var(--text);margin:12px 0 8px;font-size:24px}.passenger-theme-switcher p{max-width:58ch;color:var(--muted);margin:0;line-height:1.55}.theme-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.theme-choice-card{min-height:126px;color:var(--text);text-align:left;background:#fff;border:1px solid #11182714;border-radius:18px;justify-items:start;gap:8px;padding:14px;transition:transform .18s,border-color .18s,background .18s;display:grid}.theme-choice-card:hover,.theme-choice-card.active{border-color:var(--passenger-accent);background:var(--passenger-accent-soft);transform:translateY(-2px)}.theme-choice-card:disabled{cursor:wait;opacity:.72}.theme-choice-mark{background:var(--passenger-accent-soft);width:34px;height:34px;color:var(--passenger-accent-strong);letter-spacing:.12em;border-radius:999px;place-items:center;font-size:10px;font-weight:900;display:grid}.theme-choice-card strong{font-size:14px}.theme-choice-card small{color:var(--muted);line-height:1.35}@media (width<=900px){.passenger-theme-switcher,.theme-choice-grid{grid-template-columns:1fr}.passenger-panel-shell .passenger-header:after{display:none}}.passenger-profile-shell{--profile-red:#16a34a;--profile-blue:#059669;--profile-ink:#111827;background:linear-gradient(#fffffffa,#f7fffbf5)}.passenger-profile-header{position:relative;overflow:hidden}.passenger-profile-header:before{display:none}.passenger-profile-content{gap:14px;display:grid}.profile-social-cover{min-height:auto;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:1fr;place-items:center;padding:0;display:grid;position:relative;overflow:visible}.profile-social-cover:after{display:none}.profile-avatar-card,.profile-cover-copy{z-index:2;position:relative}.profile-avatar-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#fffffffc,#f4fff8f5);border:1px solid #a7f3d06b;border-radius:28px;align-items:center;gap:14px;width:min(100%,320px);max-width:100%;padding:14px 16px;display:flex;box-shadow:0 12px 28px #0f172a12}.profile-river-scene{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.profile-river-boat{z-index:2;object-fit:contain;filter:drop-shadow(0 24px 24px #0f172a38);opacity:0;width:min(58vw,520px);max-height:190px;animation:1.45s cubic-bezier(.16,1,.3,1) .18s forwards profile-boat-arrive;position:absolute;bottom:8px;right:clamp(10px,7vw,82px);transform:translate(-78%)scaleX(-1)}.profile-river-wave{z-index:1;object-fit:contain;opacity:0;filter:drop-shadow(0 14px 18px #0f172a1f);position:absolute}.profile-river-wave-back{width:min(50vw,430px);animation:1.5s cubic-bezier(.16,1,.3,1) .24s forwards profile-wave-arrive,4.8s ease-in-out 1.7s infinite profile-wave-drift;bottom:30px;right:-40px;transform:translate(80px)}.profile-river-wave-front{width:min(62vw,560px);animation:1.55s cubic-bezier(.16,1,.3,1) .3s forwards profile-wave-arrive,5.4s ease-in-out 1.85s infinite reverse profile-wave-drift;bottom:-22px;left:-32px;transform:translate(-90px)}@keyframes profile-boat-arrive{68%{opacity:1;transform:translate(10px)scaleX(-1)}to{opacity:1;transform:translate(0)scaleX(-1)}}@keyframes profile-wave-arrive{to{opacity:.82;transform:translate(0)}}@keyframes profile-wave-drift{0%,to{transform:translate(0,0)}50%{transform:translate(18px,-5px)}}.profile-avatar-glow{color:#065f46;letter-spacing:-.04em;background:linear-gradient(135deg,#d1fae5,#86efac);border:0;border-radius:999px;flex:0 0 68px;place-items:center;width:68px;height:68px;font-size:22px;font-weight:900;display:grid;box-shadow:0 10px 22px #10b9812e}.profile-avatar-card h3{max-width:260px;color:var(--ink);letter-spacing:-.04em;margin:6px 0 2px;font-size:clamp(20px,2.3vw,26px);line-height:1.05}.profile-avatar-card p,.profile-theme-card p{color:var(--muted);margin:0;line-height:1.45}.profile-cover-copy{color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#11182794;border-radius:24px;justify-self:end;gap:8px;max-width:310px;padding:18px;display:grid}.profile-cover-copy strong{font-size:18px}.profile-cover-copy span{color:#ffffffc7;font-size:13px;line-height:1.55}.profile-edit-grid{grid-template-columns:1fr;gap:14px;display:grid}.profile-edit-card,.profile-theme-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-radius:24px;padding:22px}.profile-edit-card{border-top:3px solid color-mix(in srgb, var(--profile-red) 42%, var(--profile-blue))}.profile-info-list{gap:10px;display:grid}.profile-info-row{background:#ffffffc7;border:1px solid #11182714;border-radius:18px;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px;min-height:70px;padding:12px 12px 12px 16px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.profile-info-row.editing{background:#fff;border-color:#2563eb38;box-shadow:0 14px 32px #2563eb14}.profile-info-row.locked{background:#11182709;grid-template-columns:1fr}.profile-info-copy{gap:5px;min-width:0;display:grid}.profile-info-copy span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800}.profile-info-copy strong{color:var(--ink);text-overflow:ellipsis;font-size:16px;font-weight:750;overflow:hidden}.profile-info-copy input{width:100%;min-height:38px;color:var(--ink);background:0 0;border:none;outline:none;padding:0;font-size:16px;font-weight:750}.profile-pencil-btn{background:#1118270e;border:none;border-radius:999px;place-items:center;width:42px;height:42px;display:grid}.profile-pencil-btn:hover{background:#1118271a}.profile-pencil-btn span{width:16px;height:16px;display:block;position:relative}.profile-pencil-btn span:before{content:"";background:var(--ink);border-radius:4px;width:5px;height:15px;position:absolute;top:1px;left:6px;transform:rotate(38deg)}.profile-pencil-btn span:after{content:"";background:var(--ink);border-radius:999px;width:8px;height:2px;position:absolute;bottom:1px;left:1px;transform:rotate(-8deg)}.profile-theme-card{border-top:3px solid color-mix(in srgb, var(--profile-blue) 58%, var(--profile-red));background:radial-gradient(circle at 100% 0,#1559c714,#0000 28%),radial-gradient(circle at 0 100%,#c9272712,#0000 30%),#ffffffe6;align-content:start;gap:18px;display:grid}.profile-edit-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.full-field{grid-column:1/-1}.profile-theme-grid{grid-template-columns:1fr}.profile-theme-card .theme-choice-card:nth-child(2).active,.profile-theme-card .theme-choice-card:nth-child(2):hover{border-color:var(--profile-red);background:#c9272714}.profile-theme-card .theme-choice-card:nth-child(2) .theme-choice-mark{color:var(--profile-red);background:#c927271a}.profile-theme-card .theme-choice-card:nth-child(2) .theme-choice-mark:before{content:"♥"}.profile-theme-card .theme-choice-card:nth-child(3).active,.profile-theme-card .theme-choice-card:nth-child(3):hover{border-color:var(--profile-blue);background:#1559c714}.profile-theme-card .theme-choice-card:nth-child(3) .theme-choice-mark{color:var(--profile-blue);background:#1559c71a}.profile-theme-card .theme-choice-card:nth-child(3) .theme-choice-mark:before{content:"★"}.profile-theme-card .theme-choice-card:nth-child(2) .theme-choice-mark,.profile-theme-card .theme-choice-card:nth-child(3) .theme-choice-mark{font-size:0}.profile-theme-card .theme-choice-card:nth-child(2) .theme-choice-mark:before,.profile-theme-card .theme-choice-card:nth-child(3) .theme-choice-mark:before{font-size:18px;line-height:1;animation:2.8s ease-in-out infinite theme-mark-pulse}@keyframes theme-mark-pulse{0%,to{opacity:.86;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.profile-actions-bar{box-shadow:none;background:0 0;border:none;border-radius:0;grid-column:1/-1;justify-content:flex-end;gap:12px;padding:6px 0 0;display:flex}.profile-actions-bar .btn-primary,.profile-actions-bar .btn-secondary{border-radius:14px;width:auto;min-height:42px;padding:0 16px}.operador-shell{background:radial-gradient(circle at 100% 0,#0ea5e91f,#0000 34%),linear-gradient(#fffffffa,#f8fafcfa)}.operador-header{background:linear-gradient(135deg,#0ea5e914,#fffffff5),#fff}.operador-header h2{color:var(--ink);letter-spacing:-.05em;margin:8px 0 4px;font-size:clamp(24px,2.4vw,32px)}.operador-header p{max-width:720px;color:var(--muted);margin:0}.operador-header-actions{justify-items:end;gap:10px;display:grid}.operador-panel-content{align-content:start;gap:12px;padding:16px;display:grid}.operador-hero-card{grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);align-items:center;gap:16px;display:grid}.operador-hero-card h3{color:var(--ink);letter-spacing:-.05em;margin:10px 0 6px;font-size:26px}.operador-hero-card p{color:var(--muted);margin:0}.operador-split-preview{background:linear-gradient(135deg,#10b98117,#fffffffa);border:1px solid #10b98126;border-radius:22px;padding:18px}.operador-split-preview span,.operador-split-preview strong,.operador-split-preview small{display:block}.operador-split-preview span,.operador-split-preview small{color:var(--muted)}.operador-split-preview strong{color:#047857;letter-spacing:-.05em;margin:8px 0 6px;font-size:clamp(24px,3vw,32px)}.operator-alert{color:#92400e;background:linear-gradient(135deg,#f59e0b14,#fffffffa);border-color:#f59e0b33}.operator-success{color:#047857;background:linear-gradient(135deg,#10b9811a,#fffffffa);border-color:#05966933}.compact-alert{border-radius:16px;margin-top:14px;padding:12px 14px;font-size:13px;line-height:1.5}.operador-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.operador-money-grid{grid-template-columns:minmax(0,1fr);max-width:460px}.operador-tabbar{background:#ffffffb8;border:1px solid #0f172a14;border-radius:14px;flex-wrap:wrap;align-content:center;align-items:center;gap:6px;min-height:50px;max-height:none;padding:6px;display:flex}.operador-tabbar button{width:auto;min-width:88px;min-height:36px;max-height:36px;color:var(--muted-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex:none;padding:0 12px;font-size:12px;font-weight:900;transition:border-color .14s,background .14s,color .14s;height:36px!important;transform:none!important}.operador-tabbar button:hover{background:#0f172a0a;border-color:#0f172a0f;transform:none}.operador-tabbar button.active{color:#082f49;box-shadow:none;background:#f8fafc;border-color:#082f4929}.operator-finance-layout,.operator-gateway-clean-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.74fr);align-items:start;gap:12px;display:grid}.operator-finance-summary{border-top:4px solid #0ea5e9}.operator-finance-summary,.operator-finance-status-card{padding:clamp(14px,1.7vw,20px)}.operator-net-card{background:radial-gradient(circle at 100% 0,#0ea5e91a,#0000 34%),linear-gradient(135deg,#fff,#f8fafc);border:1px solid #0ea5e924;border-radius:18px;gap:8px;min-height:118px;padding:18px;display:grid;box-shadow:0 14px 32px #0f172a14}.operator-net-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.operator-net-card strong{color:#082f49;letter-spacing:-.06em;font-size:clamp(30px,4vw,46px);line-height:.95}.operator-net-card small{color:var(--muted);line-height:1.45}.operator-finance-status-card{align-content:start}.operator-receipt-checklist{gap:8px;margin-top:12px;display:grid}.operator-receipt-checklist span{min-height:38px;color:var(--muted-strong);background:#f8fafce0;border:1px solid #0f172a14;border-radius:12px;align-items:center;gap:10px;padding:0 14px;font-size:12px;font-weight:900;display:flex}.operator-receipt-checklist span:before{content:"";background:#f59e0b;border-radius:999px;width:9px;height:9px}.operator-receipt-checklist span.ok{color:#047857;background:#ecfdf5e6;border-color:#05966929}.operator-receipt-checklist span.ok:before{background:#10b981}.operator-payment-filter{background:#f8fafcc7;border:1px solid #0f172a14;border-radius:18px;grid-template-columns:minmax(160px,1fr) repeat(2,minmax(150px,.7fr)) auto;align-items:end;gap:10px;margin:16px 0 10px;padding:12px;display:grid}.operator-payment-filter label{gap:6px;display:grid}.operator-payment-filter label span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:900}.operator-payment-filter select,.operator-payment-filter input{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #0f172a14;border-radius:12px;outline:none;padding:0 12px;font-weight:800}.operator-payment-note{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.5}.checkbox-card{min-height:52px;color:var(--muted-strong);background:#ffffffe0;border:1px solid #0f172a14;border-radius:18px;align-items:center;gap:12px;padding:14px 16px;font-size:13px;font-weight:700;display:flex}.checkbox-card input{accent-color:#059669;width:18px;height:18px}.operator-form-actions{justify-content:flex-end;align-items:center;display:flex}.operator-checklist{gap:10px;display:grid}.operator-checklist p{color:var(--muted-strong);margin:0;line-height:1.5}.operator-checklist code{background:#0f172a14;border-radius:999px;padding:2px 8px}.operador-mini-metrics,.operator-gateway-status-grid{gap:10px;display:grid}.operador-mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.operador-mini-metrics span{color:var(--muted-strong);background:#ffffffd6;border:1px solid #0f172a14;border-radius:14px;padding:12px 14px;font-size:13px;font-weight:800}.operador-gateway-main{gap:16px;display:grid}.mp-connect-card{background:radial-gradient(circle at 86% 10%,#009ee338,#0000 27%),radial-gradient(circle at 4% 92%,#ffffffb3,#0000 32%),linear-gradient(135deg,#ffe600 0%,#fff3a6 52%,#fff 100%);border:1px solid #f5c4008a;border-radius:22px;gap:14px;padding:clamp(16px,2.2vw,22px);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 48px #80670029}.mp-connect-topline,.mp-connect-actions,.mp-proof-strip,.mp-mini-steps{align-items:center;gap:10px;display:flex}.mp-connect-topline{justify-content:space-between}.mp-brand-mark{background:linear-gradient(135deg,#009ee3,#007eb5);border-radius:999px;place-items:center;width:54px;height:36px;display:inline-grid;position:relative;box-shadow:inset 0 -8px 16px #003b5c2e}.mp-brand-mark:before,.mp-brand-mark:after,.mp-brand-mark span{content:"";border:2px solid #fff;border-radius:999px;position:absolute}.mp-brand-mark:before{width:26px;height:13px;left:10px;transform:rotate(-10deg)}.mp-brand-mark:after{width:26px;height:13px;right:10px;transform:rotate(10deg)}.mp-brand-mark span{border-top:0;width:18px;height:8px;bottom:9px}.mp-badge{color:#006ba6;background:#009ee31a;border-color:#009ee338;width:fit-content}.mp-connect-copy{gap:10px;max-width:680px;display:grid}.mp-connect-copy h3{color:#082f49;letter-spacing:-.06em;margin:0;font-size:clamp(25px,3.4vw,38px);line-height:.96}.mp-connect-copy p{color:#36596b;max-width:54ch;margin:0;line-height:1.5}.mp-connect-actions{flex-wrap:wrap}.mp-connect-button{cursor:pointer;background:linear-gradient(135deg,#009ee3,#007eb5);border:0;border-radius:999px;min-height:46px;padding:0 22px;font-size:14px;font-weight:900;box-shadow:0 14px 28px #007eb53d;color:#fff!important}.mp-connect-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.mp-mini-steps,.mp-proof-strip{flex-wrap:wrap}.mp-mini-steps span,.mp-proof-strip span{color:#075985;background:#ffffffb8;border-radius:999px;align-items:center;min-height:34px;padding:7px 12px;font-size:12px;font-weight:900;display:inline-flex}.mp-proof-strip{margin-bottom:14px}.mp-proof-strip span{color:#006ba6;background:#009ee317}.mp-debug-panel{background:#f0f9ffbd;border:1px solid #009ee329;border-radius:18px;gap:12px;padding:14px;display:grid}.mp-debug-panel summary,.gateway-debug-card summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-weight:900;display:flex}.mp-debug-panel summary::-webkit-details-marker{display:none}.gateway-debug-card summary::-webkit-details-marker{display:none}.mp-debug-panel summary span,.gateway-debug-card summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.operator-gateway-pill{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid #0f172a1a;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:7px 12px;font-size:12px;font-weight:900;display:inline-flex}.operator-gateway-pill.connected{color:#047857;background:#10b9811a;border-color:#05966933}.operator-gateway-pill.pending{color:#92400e;background:#f59e0b1a;border-color:#f59e0b3d}.operator-gateway-pill.error{color:#b91c1c;background:#fee2e2c7;border-color:#dc262633}.operator-gateway-cta{background:linear-gradient(135deg,#ecfdf5e6,#fffffff5);border:1px solid #05966924;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.operator-gateway-cta strong,.operator-gateway-cta span{display:block}.operator-gateway-cta strong{color:var(--ink);font-size:18px}.operator-gateway-cta span{color:var(--muted);margin-top:4px;line-height:1.5}.operator-gateway-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.operator-gateway-status-grid div{background:#ffffffe0;border:1px solid #0f172a12;border-radius:16px;gap:4px;min-height:78px;padding:13px 14px;display:grid}.operator-gateway-status-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:900}.operator-gateway-status-grid strong{color:var(--ink);font-size:15px;line-height:1.35}.operator-advanced-toggle{justify-self:start}.operador-gateway-advanced{border-top:1px solid #0f172a14;margin-top:2px;padding-top:16px}.operator-gateway-guidance{border-left:4px solid #0f766e66;margin-top:1rem;padding-left:1rem}.gateway-proof-card{background:linear-gradient(135deg,#fffffffa,#f8fafcf5);border:1px solid #0f172a14;border-radius:22px;gap:12px;margin-top:14px;padding:14px;display:grid}.gateway-proof-card.connected{background:linear-gradient(135deg,#ecfdf5f5,#fffffffa);border-color:#0596692e}.gateway-proof-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.gateway-proof-head h4{color:var(--ink);letter-spacing:-.04em;margin:8px 0 0;font-size:22px}.gateway-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gateway-proof-grid div{background:#ffffffe0;border:1px solid #0f172a0f;border-radius:14px;gap:4px;padding:10px 12px;display:grid}.gateway-proof-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.gateway-proof-grid strong{color:var(--ink);font-size:14px;line-height:1.4}.gateway-proof-live{color:#047857;background:#10b9811a;border-color:#0596692e}.gateway-proof-note{color:var(--muted);margin:0;line-height:1.5}.gateway-debug-card{background:linear-gradient(135deg,#fef2f2eb,#fff7edb8);border:1px solid #b91c1c29;border-radius:18px;gap:12px;padding:14px;display:grid}.checkout-redirect-card{background:radial-gradient(circle at 100% 0,#ffe60038,#0000 32%),linear-gradient(135deg,#009ee31a,#fffffff5);border:1px solid #009ee329;border-radius:22px;gap:16px;padding:18px;display:grid}.checkout-redirect-card strong,.checkout-redirect-card span{display:block}.checkout-redirect-card strong{color:#07324a;font-size:18px}.checkout-redirect-card span{color:var(--muted-strong);margin-top:4px;line-height:1.5}.gateway-debug-card h5{color:#7f1d1d;margin:8px 0 0;font-size:16px}.gateway-debug-json{white-space:pre-wrap;word-break:break-word;color:#7f1d1d;background:#ffffffd1;border:1px solid #7f1d1d24;border-radius:14px;max-height:220px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}.field-hint{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.4;display:block}.field-hint-warn{color:#dc2626;font-weight:600}.banner-mode-note{background:#ecfdf5c7;border:1px solid #10b98129;border-radius:18px;gap:8px;padding:14px 16px;display:grid}.banner-mode-note p{color:var(--muted);margin:0;line-height:1.5}.announcement-preview-card.banner-preview .announcement-preview-image{aspect-ratio:5/3;object-fit:cover;width:100%}@media (width<=980px){.admin-dash-topbar,.admin-metric-ribbon,.admin-analytics-grid,.route-filter-card,.route-date-filter,.route-flow-list article,.route-flow-columns,.gateway-proof-grid,.operador-shell .panel-grid-two,.operator-finance-layout,.operator-gateway-clean-layout,.operador-hero-card,.operator-gateway-cta,.operator-gateway-status-grid,.operador-mini-metrics,.operador-stats-grid,.operador-money-grid,.operator-payment-filter{grid-template-columns:1fr}.operador-tabbar{flex-wrap:nowrap;padding-bottom:8px;display:flex;overflow-x:auto}.operador-tabbar button{min-width:92px}.operador-header-actions{justify-items:stretch;width:100%}.operator-gateway-cta .inline-actions{justify-content:stretch}.operator-gateway-cta .inline-actions .btn-primary,.operator-gateway-cta .inline-actions .btn-secondary{width:100%}.mp-connect-card{border-radius:22px;padding:18px}.mp-connect-actions,.checkout-redirect-card .pix-actions-row{flex-direction:column;align-items:stretch}.mp-connect-actions .mp-connect-button,.mp-connect-actions .btn-secondary,.checkout-redirect-card .btn-primary,.checkout-redirect-card .btn-secondary{width:100%}.admin-dashboard-frame,.admin-panel-content>:not(.admin-mobile-nav):not(.admin-mobile-stage):not(.admin-dashboard-frame){display:none}.admin-mobile-nav{flex-wrap:wrap;gap:10px;display:flex}.admin-mobile-nav button{color:var(--muted-strong);background:#ffffffeb;border:1px solid #0f172a14;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:800}.admin-mobile-nav button.active{color:#0369a1;background:#0284c71a;border-color:#0284c73d}.admin-mobile-stage{gap:14px;display:grid}.admin-dash-sidebar,.admin-desktop-stage{display:none}.admin-shell .stats-grid,.admin-command-center,.admin-search-console,.route-flow-stop{grid-template-columns:1fr}.route-flow-stop-metrics{justify-content:flex-start}.admin-health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-social-cover,.profile-edit-grid,.profile-edit-card .form-grid{grid-template-columns:1fr}.profile-avatar-card{flex-direction:column;align-items:flex-start}.profile-cover-copy{justify-self:start}.profile-actions-bar{flex-flow:wrap;justify-content:flex-end}.operador-hero-card,.operador-money-grid,.operador-stats-grid{grid-template-columns:1fr}.operador-header-actions{justify-items:stretch}}.drawer{overflow:hidden}.drawer:before{content:"";pointer-events:none;opacity:.9;background-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-opacity='.08' stroke-width='1.8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-opacity='.075' stroke-width='1.8' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 3 2.6 5.5 6 .8-4.3 4.2 1 6-5.3-2.9-5.3 2.9 1-6L3.4 9.3l6-.8L12 3Z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-opacity='.07' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M7 8h10'/%3E%3Cpath d='M5 16c2 3 5 5 7 5s5-2 7-5'/%3E%3Cpath d='M9 5a3 3 0 1 0 6 0 3 3 0 0 0-6 0Z'/%3E%3C/svg%3E");background-position:28px 120px,232px 210px,42px 360px;background-repeat:no-repeat;background-size:18px 18px,18px 18px,20px 20px;position:absolute;inset:0}.drawer:after{content:"";pointer-events:none;background:radial-gradient(circle at 18% 24%,#11182709,#0000 18%),radial-gradient(circle at 86% 8%,#11182707,#0000 14%),linear-gradient(#0000 0%,#11182705 100%);position:absolute;inset:0}.drawer>*{z-index:1;position:relative}.menu-logout{width:auto;min-height:54px;margin:10px 18px calc(env(safe-area-inset-bottom,0px) + 18px);color:#991b1b;text-align:center;white-space:normal;word-break:normal;background:linear-gradient(#fef2f2e6,#ffffffe0);border:1px solid #b91c1c24;border-radius:20px;flex:none;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-size:14px;font-weight:900;line-height:1.15;display:flex;box-shadow:0 14px 30px #b91c1c14}.menu-logout:hover{background:#fee2e2f2}@media (width<=760px){.admin-health-grid,.admin-status-chart{grid-template-columns:1fr}.admin-status-pill{min-height:76px}.admin-status-pill i{inset:auto 10px 10px;height:12px!important}.admin-timeline article{grid-template-columns:14px minmax(0,1fr)}.admin-timeline b{grid-column:2;justify-self:start}.top-status-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff6b;border-color:#ffffff70;box-shadow:0 12px 34px #0f172a14}.landing-shell{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);max-height:calc(100dvh - 110px);box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#fff0 0% 28%,#ffffff9e 46%,#ffffffe6 100%);border-color:#ffffff61}.landing-shell .landing-badge,.landing-shell h1{opacity:.88}.landing-metric-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8}.live-map-note{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff8f}.passenger-profile-content{gap:14px;padding:0 16px 18px}.passenger-profile-header{text-align:center;padding:calc(env(safe-area-inset-top,0px) + 18px) 64px 16px;background:#fffffff0;justify-items:center;display:grid}.passenger-profile-header:before{right:50%;top:calc(env(safe-area-inset-top,0px) + 16px);opacity:.7;width:120px;height:46px;transform:translate(50%)}.passenger-profile-header .panel-close-btn{top:calc(env(safe-area-inset-top,0px) + 14px);width:44px;height:44px;position:fixed;right:16px}.profile-social-cover{border-radius:0;grid-template-columns:1fr;place-items:center;min-height:auto;margin:6px 0 0;padding:0}.profile-avatar-card{text-align:center;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;width:min(100%,300px);padding:16px 14px}.profile-avatar-glow{flex-basis:74px;width:74px;height:74px;font-size:24px}.profile-avatar-card h3{max-width:220px;font-size:22px}.profile-cover-copy{text-align:center;color:#fff;background:#ffffff38;border:1px solid #ffffff3d;justify-self:center;max-width:340px}.profile-cover-copy span{color:#ffffffd1}.profile-river-boat{width:105vw;max-height:190px;bottom:2px;right:-34px}.profile-river-wave-back{width:92vw;bottom:42px;right:-74px}.profile-river-wave-front{width:112vw;bottom:-12px;left:-58px}.profile-edit-grid{grid-template-columns:1fr;gap:14px;display:grid}.profile-edit-card,.profile-theme-card{border-radius:26px;padding:18px}.profile-edit-card .section-header-inline,.profile-theme-card>div:first-child{text-align:center;justify-items:center}.profile-edit-card .form-grid{grid-template-columns:1fr;gap:14px}.profile-theme-grid{gap:12px}.theme-choice-card{border-radius:22px;min-height:98px}.profile-actions-bar{z-index:auto;padding:6px 0 calc(env(safe-area-inset-bottom,0px) + 6px);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;margin:0;position:static;bottom:auto}.drawer{background:linear-gradient(#fffffffa,#f8fafcf5),radial-gradient(circle at 12% 18%,#1118270d,#0000 20%)}.drawer:before{background-position:26px 136px,calc(100% - 48px) 246px,38px 430px;background-size:17px 17px,18px 18px,20px 20px}.menu-logout{min-height:56px;margin-inline:14px;margin-bottom:calc(env(safe-area-inset-bottom,0px) + 14px);border-radius:18px}}@media (width<=390px){.profile-social-cover{border-radius:28px;min-height:310px}.profile-avatar-card{padding:18px 14px}.profile-avatar-glow{flex-basis:92px;width:92px;height:92px}}.passenger-profile-shell .profile-social-cover{grid-template-columns:1fr;place-items:center}.passenger-profile-shell .profile-social-cover:after{display:none}.passenger-profile-shell .profile-avatar-card{text-align:center;justify-content:center;width:min(100%,320px)}.passenger-profile-shell .profile-avatar-card h3,.passenger-profile-shell .profile-avatar-card p,.passenger-profile-shell .profile-avatar-card .eyebrow{color:var(--ink);text-shadow:none}.passenger-profile-shell .profile-avatar-card p{color:var(--muted)}.passenger-profile-shell .profile-edit-grid{grid-template-columns:1fr}.profile-theme-row.editing{align-items:start}.inline-theme-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.inline-theme-option{min-height:46px;color:var(--ink);background:#ffffffb8;border:1px solid #11182714;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:850;display:flex}.inline-theme-option span{width:24px;height:24px;color:var(--ink);letter-spacing:-.04em;background:#1118270f;border-radius:999px;place-items:center;font-size:10px;display:grid}.inline-theme-option.active{border-color:color-mix(in srgb, var(--profile-red) 44%, var(--profile-blue));background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#c927273d,#1559c738) border-box;box-shadow:0 12px 26px #0f172a14}.passenger-header .panel-header-actions{grid-template-columns:44px;justify-content:end;width:auto}.ticket-wallet-item{gap:12px;display:grid}.ticket-summary-card{width:100%;color:var(--ink);text-align:left;background:radial-gradient(circle at 0 0,#c9272714,#0000 28%),radial-gradient(circle at 100% 100%,#1559c714,#0000 30%),#ffffffe6;border:1px solid #11182714;border-radius:22px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 16px 34px #0f172a14}.ticket-summary-card:hover,.ticket-summary-card.active{border-color:#11182729;transform:translateY(-2px);box-shadow:0 22px 46px #0f172a1f}.ticket-boat-card{isolation:isolate;color:#fff;background:radial-gradient(circle at 90% 0,#ffffff38,#0000 28%),radial-gradient(circle at 10% 100%,#ffd08a38,#0000 24%),linear-gradient(135deg,#c01824 0%,#76111f 48%,#310711 100%);border:1px solid #fff3;border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(170px,42%);gap:10px;min-height:148px;padding:18px;position:relative;overflow:hidden;box-shadow:0 24px 58px #3d07123d}.ticket-boat-card:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#17050a9e,#17050a1f 52%,#0000),repeating-linear-gradient(135deg,#ffffff14 0 1px,#0000 1px 18px);position:absolute;inset:0}.ticket-boat-bg{z-index:0;filter:blur(4px);background:#ffd08a33;border-radius:999px;width:230px;height:230px;position:absolute;top:-88px;right:-58px}.ticket-boat-copy,.ticket-boat-footer{z-index:4;position:relative}.ticket-boat-copy{align-self:start;gap:6px;min-width:0;display:grid}.ticket-boat-copy small,.ticket-boat-copy em,.ticket-boat-footer small{color:#fff7eac7;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-style:normal;font-weight:850}.ticket-boat-copy strong{color:#fff;letter-spacing:-.06em;text-overflow:ellipsis;text-transform:uppercase;max-width:16ch;font-size:clamp(24px,3vw,34px);font-weight:950;line-height:.95;overflow:hidden}.ticket-boat-copy em{max-width:26ch;line-height:1.35}.ticket-boat-image{z-index:3;opacity:.98;visibility:visible;object-fit:contain;filter:drop-shadow(0 22px 24px #0000004d);pointer-events:none;width:min(46vw,360px);max-height:132px;display:block;position:absolute;bottom:4px;right:4px}.ticket-boat-footer{grid-column:1/-1;justify-content:space-between;align-self:end;align-items:center;gap:12px;margin-top:42px;display:flex}.ticket-boat-footer b{color:var(--buy-gold,#ffd08a);letter-spacing:-.04em;font-size:24px;font-weight:950}.ticket-boat-footer small{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff29;border-radius:999px;padding:7px 10px}.ticket-boat-card.ticket-expired{background:radial-gradient(circle at 90% 0,#ffffff1f,#0000 28%),radial-gradient(circle at 10% 100%,#d6d6d624,#0000 24%),linear-gradient(135deg,#6b7280 0%,#475569 46%,#1f2937 100%);box-shadow:0 18px 34px #1f29372e}.ticket-boat-card.ticket-expired .ticket-boat-bg{background:#ffffff1f}.ticket-boat-card.ticket-expired .ticket-boat-image{filter:grayscale()opacity(.9)drop-shadow(0 18px 22px #0000003d)}.ticket-expired-card{background:linear-gradient(#f8fafcfa,#e5e7ebf0),linear-gradient(135deg,#94a3b824,#0000)}.ticket-summary-icon{background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--passenger-accent), var(--passenger-accent-2)) border-box;width:54px;height:54px;color:var(--passenger-accent);letter-spacing:-.04em;border:2px solid #0000;border-radius:18px;place-items:center;font-size:14px;font-weight:950;display:grid}.ticket-summary-copy,.ticket-summary-meta{gap:4px;min-width:0;display:grid}.ticket-summary-copy strong,.ticket-summary-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:850;overflow:hidden}.ticket-summary-copy small,.ticket-summary-meta small{color:var(--muted);text-overflow:ellipsis;font-size:12px;font-weight:700;line-height:1.35;overflow:hidden}.ticket-summary-meta{text-align:right;justify-items:end}.boarding-pass-reveal{animation:.24s both ticket-reveal}@keyframes ticket-reveal{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=760px){.passenger-header .panel-header-actions{justify-self:end;width:auto}.passenger-profile-shell .profile-avatar-card{width:min(100%,360px);padding:0}.inline-theme-picker{grid-template-columns:1fr}.ticket-summary-card{grid-template-columns:48px minmax(0,1fr)}.ticket-boat-card{grid-template-columns:minmax(0,1fr);min-height:142px;padding:16px}.ticket-boat-image{width:68vw;max-height:124px;bottom:0;right:0}.ticket-boat-copy strong{max-width:13ch;font-size:25px}.ticket-boat-copy em{max-width:18ch}.command-scanner-card,.seller-city-head,.seller-city-metrics,.seller-city-row{flex-direction:column;align-items:flex-start}.trip-price-grid,.passenger-panel-shell .tickets-grid{grid-template-columns:1fr}.ticket-boat-footer{margin-top:34px}.ticket-summary-icon{border-radius:16px;width:48px;height:48px}.ticket-summary-meta{text-align:left;grid-column:2;justify-items:start}}.passenger-buy-shell{--buy-red:#c01824;--buy-wine:#3d0712;--buy-gold:#ffd08a;--buy-cream:#fff7ea}.passenger-buy-header{background:radial-gradient(circle at 94% 18%,#c018241f,#0000 22%),linear-gradient(#fffffff5,#ffffffdb)}.passenger-buy-content{gap:14px;padding:0 clamp(16px,3vw,26px) 24px;display:grid}.passenger-booking-hero{color:#fff;isolation:isolate;background:#05070b;border:1px solid #fff3;border-radius:34px;place-items:center;gap:16px;min-height:330px;padding:clamp(20px,4vw,42px);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 90px #0f172a3d}.passenger-booking-hero:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 48%,#ffffff14,#0000 34%),linear-gradient(90deg,#030712c7,#0307123d 36%,#03071238 62%,#030712d6),linear-gradient(#03071238,#030712c2);position:absolute;inset:0}.passenger-booking-hero:before{content:"";z-index:2;mix-blend-mode:screen;opacity:.68;pointer-events:none;background:linear-gradient(120deg,#ffffff14 0 1px,#0000 1px 92px),radial-gradient(circle at 18% 18%,#0ea5e938,#0000 26%),radial-gradient(circle at 82% 16%,#ef444433,#0000 24%);position:absolute;inset:0}.booking-scenery-stage{z-index:0;opacity:1;position:absolute;inset:0}.booking-scenery-track{will-change:transform;align-items:stretch;gap:0;width:max-content;height:100%;padding:0;animation:58s linear infinite booking-scenery-pan;display:flex}.booking-scenery-card{filter:saturate(1.08)contrast(1.04);background-position:50%;background-size:cover;border-radius:0;flex:0 0 clamp(620px,76vw,1080px);min-height:100%;margin:0;position:relative;overflow:hidden;transform:scale(1.01)}.booking-scenery-card:after{content:"";background:linear-gradient(90deg,#05070b2e,#0000 22% 78%,#05070b2e);position:absolute;inset:0}.booking-scenery-card figcaption{z-index:1;color:#ffffffdb;letter-spacing:.12em;text-transform:uppercase;background:#02061757;border:1px solid #ffffff2e;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;position:absolute;bottom:22px;left:24px}.booking-hero-copy{z-index:2;text-shadow:0 14px 40px #0000005c;gap:8px;max-width:720px;display:none;position:relative}.booking-kicker{color:#fffc;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;width:max-content;padding:8px 12px;font-size:11px;font-weight:950}.booking-hero-copy h3{color:#fff;letter-spacing:-.075em;margin:0;font-size:clamp(32px,5.2vw,64px);font-weight:950;line-height:.9}.booking-hero-copy p{color:#ffffffc2;max-width:590px;margin:0;font-size:15px;line-height:1.55}.booking-search-panel{z-index:4;-webkit-backdrop-filter:blur(18px)saturate(1.22);backdrop-filter:blur(18px)saturate(1.22);background:linear-gradient(135deg,#080d18e0,#130a0dc7),#070504c7;border:1px solid #ffffff1f;border-radius:20px;grid-template-columns:minmax(180px,.78fr) minmax(150px,1fr) minmax(150px,1fr) minmax(140px,.72fr) auto;align-items:end;gap:12px;width:min(980px,100%);padding:16px;display:grid;position:relative;box-shadow:0 24px 70px #00000052}.seller-booking-search-panel{grid-template-columns:minmax(180px,.78fr) minmax(150px,1fr) minmax(150px,1fr) minmax(140px,.72fr) auto}.seller-booking-hero{margin-bottom:10px}.seller-issue-layout{grid-template-columns:minmax(0,1fr);width:min(100%,1040px);margin-inline:auto}.seller-issue-layout .seller-trip-picker{width:100%}.seller-issue-layout .passenger-booking-hero{min-height:250px;padding:clamp(16px,3vw,28px)}.seller-issue-layout .seller-booking-search-panel{grid-template-columns:minmax(130px,.72fr) minmax(160px,1fr) minmax(160px,1fr) minmax(150px,.8fr) auto;width:min(100%,940px)}.seller-issue-layout .booking-search-title strong{white-space:normal;font-size:clamp(16px,1.6vw,22px)}.seller-issue-layout .booking-search-title{grid-column:1/-1}.seller-issue-layout .booking-search-field select,.seller-issue-layout .booking-search-field input{min-width:0}.seller-last-ticket-card{width:min(100%,760px);margin-inline:auto}@media (width<=1180px){.seller-issue-layout .seller-booking-search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-issue-layout .booking-search-title,.seller-issue-layout .booking-search-actions{grid-column:1/-1}.seller-issue-layout .booking-search-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.stat-card-action{cursor:pointer;transition:transform .22s,box-shadow .22s}.stat-card-action:hover,.stat-card-action:focus-visible{transform:translateY(-2px);box-shadow:0 18px 36px #11182724}.seller-self-summary{gap:14px;display:grid}.booking-search-title{align-self:center;gap:2px;display:grid}.booking-search-title span{color:#ffffff9e;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-search-title strong{color:#fff;letter-spacing:-.05em;white-space:nowrap;font-size:clamp(18px,2vw,24px);font-weight:950}.booking-search-field{gap:7px;display:grid}.booking-search-field span{color:#ffffffb8;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-search-field small{color:#ffffff94;font-size:11px;font-weight:700;line-height:1.35}.booking-search-field select,.booking-search-field input{color:#111827;background:#f8fafc;border:1px solid #ffffff14;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 14px;font-size:14px;font-weight:800}.booking-search-field select:focus,.booking-search-field input:focus{border-color:#3b82f6b3;box-shadow:0 0 0 4px #3b82f629}.booking-search-actions{align-items:center;gap:8px;display:flex}.booking-search-submit,.booking-search-clear{cursor:pointer;border:0;border-radius:12px;min-height:48px;padding:0 22px;font-weight:950}.booking-search-submit{color:#fff;background:linear-gradient(135deg,#0876d7,#0f9af2);box-shadow:0 16px 34px #0e74d452}.booking-search-clear{color:#ffffffd6;background:#ffffff0f;border:1px solid #ffffff1f}.booking-city-suggestions{grid-column:1/-1;gap:8px;max-width:720px;padding:2px 0 0;display:grid}.booking-city-suggestions>span{color:#ffffff8f;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:950}.booking-city-suggestions>div{flex-wrap:wrap;gap:7px;display:flex}.booking-city-suggestions button{color:#ffffffd6;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;min-height:32px;padding:0 11px;font-size:12px;font-weight:850}.muted-suggestions{opacity:.72}.booking-city-suggestions button.active,.booking-city-suggestions button:hover{color:#fff;background:#0ea5e92e;border-color:#0ea5e961}.destination-suggestions button.active,.destination-suggestions button:hover{background:#facc1529;border-color:#facc1566}.buy-trip-list{gap:6px;display:grid}.buy-trip-wrap{opacity:0;animation:.58s cubic-bezier(.19,1,.22,1) forwards buy-card-rise;animation-delay:var(--trip-delay);gap:8px;display:grid;transform:translateY(18px)}.buy-trip-card{color:#fff;text-align:left;isolation:isolate;cursor:pointer;background:radial-gradient(circle at 78% 0,#ffffff2e,#0000 22%),radial-gradient(circle at 12% 100%,#ffd08a3d,#0000 24%),linear-gradient(135deg,#cc1f2f 0%,#7b1020 44%,#330610 100%);border:1px solid #ffffff24;border-radius:34px;height:126px;min-height:0;transition:height .24s,transform .2s,box-shadow .2s,border-color .2s;display:block;position:relative;overflow:hidden;box-shadow:0 28px 70px #3d071247}.buy-trip-card.boat-to-right{--boat-from:-138%;--boat-flip:-1;--boat-settle:10px;--wave-from:92px;--wave-settle:-8px;--boat-side-right:-34px;--boat-side-left:auto;--wave-side-right:-42px;--wave-side-left:auto;--copy-left:clamp(22px, 5vw, 42px);--copy-right:auto;--copy-align:left;--boat-mobile-x:28%}.buy-trip-card.boat-to-left{--boat-from:138%;--boat-flip:1;--boat-settle:-10px;--wave-from:-92px;--wave-settle:8px;--boat-side-right:auto;--boat-side-left:-34px;--wave-side-right:auto;--wave-side-left:-42px;--copy-left:auto;--copy-right:clamp(22px, 5vw, 42px);--copy-align:right;--boat-mobile-x:-88%}.buy-trip-card:hover,.buy-trip-wrap.selected .buy-trip-card{border-color:#ffd08a8c;transform:translateY(-3px);box-shadow:0 34px 80px #3d07125c}.buy-trip-wrap.selected .buy-trip-card{height:168px}.buy-trip-card:after{content:"";z-index:-1;background:linear-gradient(90deg,#150509a8 0%,#15050933 46%,#0000 100%),repeating-linear-gradient(135deg,#ffffff14 0 1px,#0000 1px 18px);position:absolute;inset:0}.buy-card-glow{filter:blur(6px);background:#ffd08a38;border-radius:999px;width:260px;height:260px;position:absolute;top:-90px;right:-80px}.buy-card-boat{z-index:2;right:var(--boat-side-right);left:var(--boat-side-left);object-fit:contain;filter:drop-shadow(0 24px 24px #0000005c);width:min(55vw,495px);max-height:138px;transform:translateX(var(--boat-from)) scaleX(var(--boat-flip));opacity:0;animation:1.35s cubic-bezier(.16,1,.3,1) forwards buy-boat-arrive;animation-delay:calc(var(--trip-delay) + .22s);position:absolute;bottom:6px}.buy-card-wave{z-index:1;right:var(--wave-side-right);left:var(--wave-side-left);opacity:0;filter:drop-shadow(0 16px 18px #00000038);width:min(44vw,328px);transform:translateX(var(--wave-from));animation:1.42s cubic-bezier(.16,1,.3,1) forwards buy-wave-arrive;animation-delay:calc(var(--trip-delay) + .26s);position:absolute;bottom:0}.buy-card-copy{z-index:3;left:var(--copy-left);right:var(--copy-right);max-width:min(48%,360px);text-align:var(--copy-align);opacity:0;animation:.52s forwards buy-copy-fade;animation-delay:calc(var(--trip-delay) + .64s);gap:8px;display:grid;position:absolute;top:19px;transform:translateY(10px)}.buy-card-copy small,.buy-card-copy em,.buy-card-meta small{color:#fff7eac7;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-style:normal;font-weight:850}.buy-card-copy strong{color:#fff;letter-spacing:-.07em;text-transform:uppercase;gap:0;font-size:clamp(26px,3.5vw,42px);font-weight:950;line-height:.88;display:grid}.buy-trip-card.boat-to-left .buy-card-copy strong{justify-items:end}.buy-card-copy strong b{color:var(--buy-gold);font-style:normal}.buy-card-meta{z-index:3;opacity:0;animation:.52s forwards buy-copy-fade;animation-delay:calc(var(--trip-delay) + .72s);gap:4px;display:grid;position:absolute;bottom:16px;left:clamp(22px,5vw,42px);transform:translateY(10px)}.buy-card-meta strong{color:#fff;font-size:22px;font-weight:950}.buy-trip-details-panel,.buy-form-panel{background:radial-gradient(circle at 100% 0,#c0182414,#0000 26%),#fffffff0;border:1px solid #3d071214;border-radius:20px;padding:14px;animation:.28s both buy-form-reveal;overflow:hidden;box-shadow:0 12px 30px #0f172a17}.buy-trip-details-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px;display:grid}.buy-trip-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.buy-trip-detail-grid div{background:#ffffffa8;border:1px solid #1118270e;border-radius:14px;gap:4px;min-width:0;padding:10px;display:grid}.buy-trip-detail-grid span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.buy-trip-detail-grid strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850;overflow:hidden}.buy-route-strip{background:linear-gradient(90deg,#ecfdf5b3,#ffffffd1),#ffffffc2;border:1px solid #0e749014;border-radius:16px;grid-column:1/-1;gap:8px;padding:10px 12px;display:grid}.buy-route-strip>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.buy-route-cities{scrollbar-width:none;align-items:center;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.buy-route-cities::-webkit-scrollbar{display:none}.buy-route-cities b{color:#334155;white-space:nowrap;flex:none;font-size:12px;font-weight:850}.buy-route-cities b.active{color:#047857}.buy-route-cities i{background:linear-gradient(90deg,#0f172a29,#0f172a0a);flex:none;width:22px;height:1px}.buy-open-form-btn{min-width:180px;min-height:48px}.buy-form-summary{gap:6px;margin-bottom:16px;display:grid}.buy-form-summary strong{color:var(--ink);letter-spacing:-.04em;font-size:22px}.buy-form-summary small{color:var(--muted)}.buy-ticket-form{align-items:end}.buy-confirm-card{background:linear-gradient(135deg,#c0182414,#ffffffe6),#fff;border:1px solid #11182714;border-radius:18px;gap:3px;min-height:74px;padding:14px 16px;display:grid}.buy-confirm-card span,.buy-confirm-card small{color:var(--muted);font-size:12px;font-weight:800}.buy-confirm-card strong{color:var(--buy-wine);font-size:24px;font-weight:950}.buy-submit-btn{min-height:54px}.passenger-buy-ticket-result{animation:.32s both buy-form-reveal}.pix-payment-card{background:radial-gradient(circle at 12% 10%,#22c55e2e,#0000 32%),radial-gradient(circle at 86% 4%,#0ea5e938,#0000 28%),linear-gradient(145deg,#f0fdfafa,#fffffff5 44%,#fffbebeb);border:1px solid #04785729;align-content:center;min-height:auto;margin-top:0;padding:clamp(14px,3vw,28px);animation:.32s both buy-form-reveal;display:grid;position:relative;overflow:hidden}.passenger-buy-header.payment-focus-hidden{display:none}.passenger-buy-shell:has(.pix-payment-card){max-width:min(940px,96vw)}.passenger-buy-shell:has(.pix-payment-card) .passenger-buy-content{padding-top:16px}.pix-river-glow{pointer-events:none;opacity:.72;background:linear-gradient(90deg,#0000,#0ea5e91f,#0000),repeating-linear-gradient(-7deg,#0369a11a 0 8px,#0000 8px 20px);height:126px;position:absolute;inset:auto -12% -44px;transform:rotate(-1deg)}.pix-payment-topline{z-index:1;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:10px;display:flex;position:relative}.pix-brand-pill{color:#0369a1;letter-spacing:.08em;text-transform:uppercase;background:#009ee31a;border:1px solid #009ee32e;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;font-size:12px;font-weight:950;display:inline-flex}.pix-brand-pill:before{content:"";background:#22c55e;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #22c55e1f}.pix-total-block{text-align:right;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff8a;border:1px solid #0478571f;border-radius:18px;gap:2px;width:fit-content;margin-left:auto;padding:10px 14px;display:grid}.pix-total-block span{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:950}.pix-total-block strong{color:#064e3b;font-size:clamp(20px,4.4vw,32px);font-weight:950}.pix-payment-stage{z-index:1;text-align:center;grid-template-columns:minmax(210px,.82fr) minmax(240px,1fr);align-items:center;gap:clamp(14px,3vw,22px);margin-top:8px;display:grid;position:relative}.pix-title-block{grid-column:1/-1;max-width:560px;margin:0 auto 2px}.pix-title-block span{color:#047857;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:950}.pix-title-block h3{color:#07324a;letter-spacing:-.04em;margin:8px 0 6px;font-size:clamp(22px,4.8vw,34px);line-height:1}.pix-title-block p{color:var(--muted-strong);margin:0;line-height:1.5}.pix-qrcode-box{background:linear-gradient(#fff,#fff) padding-box padding-box,conic-gradient(from 140deg,#22c55e,#0ea5e9,#facc15,#22c55e) border-box;border:1px solid #064e3b1f;border-radius:34px;place-items:center;width:min(68vw,292px);min-height:min(68vw,292px);margin:0 auto;padding:22px;display:grid;position:relative;box-shadow:0 28px 70px #082f4929,inset 0 0 0 10px #f0fdfab8}.pix-qrcode-box img{object-fit:contain;border-radius:18px;width:min(52vw,218px);height:min(52vw,218px)}.pix-qrcode-box svg{width:min(52vw,218px);height:min(52vw,218px)}.pix-qrcode-box small{color:#047857;letter-spacing:.22em;text-transform:uppercase;margin-top:12px;font-size:11px;font-weight:950}.pix-corner{opacity:.8;border-color:#0ea5e9;width:42px;height:42px;position:absolute}.pix-corner-a{border-top:3px solid;border-left:3px solid;border-radius:13px 0 0;top:14px;left:14px}.pix-corner-b{border-bottom:3px solid;border-right:3px solid;border-radius:0 0 13px;bottom:14px;right:14px}.pix-copy-box{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left;background:#ffffffc7;border:1px solid #0f172a14;border-radius:24px;gap:12px;width:min(100%,560px);margin:0 auto;padding:14px;display:grid;box-shadow:0 18px 44px #0f172a14}.pix-copy-box span{color:#07324a;letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:950}.pix-copy-box small{color:var(--muted);line-height:1.5}.pix-copy-box textarea{resize:none;color:#0f172a;background:#f8fafceb;border:1px solid #0369a11f;border-radius:18px;outline:none;width:100%;min-height:78px;padding:14px;font-family:Courier New,monospace;font-size:13px;line-height:1.45}.pix-actions-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pix-copy-button{color:#fff;background:linear-gradient(135deg,#009ee3,#0369a1);box-shadow:0 16px 34px #0369a13d}.pix-check-button{background:#ffffffdb}.pix-cancel-button{color:#991b1b;background:#ffffffeb;border-color:#ef44442e}.buy-ticket-result-grid{gap:12px;margin-top:16px;display:grid}.passenger-issued-ticket{gap:12px;display:grid}.passenger-buy-ticket-result .boarding-pass-card{max-width:760px;margin:0 auto}.buy-ticket-issued{border:1px solid #11182714}.buy-ticket-qr{background:#fff;border-radius:18px;place-items:center;width:82px;height:82px;display:grid}@keyframes buy-card-rise{to{opacity:1;transform:translateY(0)}}@keyframes buy-boat-arrive{68%{opacity:1;transform:translateX(var(--boat-settle)) scaleX(var(--boat-flip))}to{opacity:1;transform:translateX(0) scaleX(var(--boat-flip))}}@keyframes buy-wave-arrive{68%{opacity:.88;transform:translateX(var(--wave-settle))}to{opacity:.9;transform:translate(0)}}@keyframes buy-copy-fade{to{opacity:1;transform:translateY(0)}}@keyframes buy-form-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes booking-scenery-pan{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=760px){.passenger-buy-content{padding:0 14px 18px}.passenger-booking-hero{border-radius:24px;place-items:center;gap:18px;min-height:360px;padding:18px}.booking-scenery-stage{opacity:.95;display:block}.booking-scenery-track{gap:0;padding:0;animation-duration:42s}.booking-scenery-card{background-position:50%;border-radius:0;flex-basis:100vw}.booking-scenery-card figcaption,.booking-hero-copy{display:none}.booking-search-panel{background:linear-gradient(135deg,#080d18e6,#130a0dc7),#070504c2;border-radius:18px;grid-template-columns:1fr;padding:12px}.seller-booking-search-panel{grid-template-columns:1fr}.booking-search-title strong{white-space:normal}.booking-search-actions{grid-template-columns:1fr;display:grid}.booking-city-suggestions>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.booking-city-suggestions button{text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:36px;padding:0 10px;overflow:hidden}.destination-suggestions>div{grid-template-columns:1fr}.buy-trip-card{border-radius:26px;height:142px;min-height:0}.buy-trip-wrap.selected .buy-trip-card{height:168px}.buy-card-copy{max-width:min(48%,250px);top:18px}.buy-card-copy strong{max-width:250px;font-size:26px}.buy-card-copy small{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.buy-card-boat{right:var(--boat-side-right);left:var(--boat-side-left);width:62vw;max-height:170px;bottom:20px}.buy-card-wave{right:var(--wave-side-right);left:var(--wave-side-left);width:46vw;bottom:8px}.buy-card-meta{bottom:14px;left:22px;right:22px}.buy-ticket-form{grid-template-columns:1fr}.buy-trip-details-panel{grid-template-columns:1fr;padding:14px}.buy-route-strip{grid-column:auto}.buy-trip-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.buy-open-form-btn{width:100%}.buy-ticket-issued{grid-template-columns:48px minmax(0,1fr)}.passenger-buy-ticket-result{padding:14px}.pix-payment-grid{grid-template-columns:1fr}.pix-payment-card{border-radius:24px;min-height:auto;padding:12px}.passenger-buy-shell:has(.pix-payment-card){width:min(100%,430px);max-width:100%}.passenger-buy-shell:has(.pix-payment-card) .passenger-buy-content{padding:10px}.pix-payment-topline{justify-content:center;margin-bottom:8px}.pix-total-block{text-align:center;background:#ffffffc2;border-radius:18px;width:100%;margin:0 auto;padding:10px 12px}.pix-total-block span{font-size:9px}.pix-total-block strong{color:#064e3b;font-size:clamp(28px,9vw,38px);line-height:1;display:block}.pix-payment-stage{grid-template-columns:1fr;gap:10px;margin-top:4px}.pix-title-block{max-width:100%}.pix-title-block span{letter-spacing:.1em;font-size:10px}.pix-title-block h3{margin:5px 0 4px;font-size:24px;line-height:1.02}.pix-title-block p{font-size:13px}.pix-qrcode-box{border-radius:26px;width:min(74vw,250px);min-height:min(74vw,250px);padding:16px;box-shadow:0 18px 48px #082f4924}.pix-qrcode-box img,.pix-qrcode-box svg{width:min(58vw,190px);height:min(58vw,190px)}.pix-qrcode-box small{margin-top:8px;font-size:9px}.pix-copy-box{border-radius:20px;gap:9px;padding:11px}.pix-copy-box span{font-size:11px}.pix-copy-box textarea{border-radius:14px;min-height:62px;padding:10px;font-size:11px;line-height:1.35}.pix-actions-row{grid-template-columns:1fr;gap:8px;display:grid}.pix-actions-row button{width:100%;min-height:44px}.passenger-buy-ticket-result .boarding-pass-card{width:100%}.buy-ticket-qr{grid-column:1/-1;justify-self:center}}.passenger-buy-shell .buy-trip-card{height:126px;min-height:0}.passenger-buy-shell .buy-trip-wrap.selected .buy-trip-card{height:168px}.passenger-buy-shell .buy-card-boat{right:var(--boat-side-right);left:var(--boat-side-left);width:min(60vw,598px);max-height:152px;bottom:-2px}.passenger-buy-shell .buy-card-wave{right:var(--wave-side-right);left:var(--wave-side-left);width:min(48vw,380px);bottom:-10px}@media (width<=760px){.passenger-buy-shell .passenger-buy-content{gap:8px;padding:0 14px 14px}.passenger-buy-shell .passenger-buy-header{padding-bottom:12px}.passenger-buy-shell .passenger-buy-header h2{margin-bottom:6px;font-size:30px;line-height:1.02}.passenger-buy-shell .passenger-buy-header small{max-width:320px;line-height:1.45}.passenger-buy-shell .buy-trip-list{align-content:start;gap:8px}.passenger-buy-shell .buy-trip-wrap{gap:6px;margin:0}.passenger-buy-shell .buy-trip-card{border-radius:9px;height:126px;min-height:0}.passenger-buy-shell .buy-trip-wrap.selected .buy-trip-card{height:148px}.passenger-buy-shell .buy-card-boat{left:var(--boat-mobile-x);width:82vw;max-height:82px;bottom:0;right:auto}.passenger-buy-shell .buy-card-wave{left:var(--boat-mobile-x);width:38vw;bottom:-4px;right:auto}.passenger-buy-shell .buy-trip-card.boat-to-left .buy-card-wave{left:-10%}.passenger-buy-shell .buy-trip-card.boat-to-left .buy-card-boat{max-height:82px;bottom:0;left:-10%}.passenger-buy-shell .buy-trip-card.boat-to-right .buy-card-boat{width:58vw;max-height:82px;left:36%}.passenger-buy-shell .buy-trip-card.boat-to-right .buy-card-wave{width:52vw;left:50%}.passenger-buy-shell .buy-card-copy{gap:6px;max-width:46%;top:18px}.passenger-buy-shell .buy-card-copy strong{font-size:25px;line-height:.9}.passenger-buy-shell .buy-card-copy small,.passenger-buy-shell .buy-card-copy em{letter-spacing:.1em;font-size:10px}}.drawer{padding-top:0!important}.drawer .drawer-header{border-top-right-radius:24px!important;margin-top:0!important;padding:8px 14px 10px!important}.drawer .drawer-avatar{width:52px;height:52px;font-size:18px}.drawer .drawer-profile-copy{gap:1px}.drawer .drawer-profile-copy .eyebrow{min-height:0;padding:6px 10px;line-height:1}.drawer .drawer-profile-copy h3{margin:5px 0 1px}@media (width<=760px){.trip-detail-actions,.trip-detail-actions .btn-primary,.trip-detail-actions .btn-secondary{width:100%}.drawer .drawer-header{padding-top:0!important}}:root{--md-primary:#006b5f;--md-on-primary:#fff;--md-primary-container:#9ff2df;--md-on-primary-container:#00382f;--md-surface:#fffbff;--md-surface-container:#f3edf7;--md-surface-container-high:#ece6f0;--md-on-surface:#1d1b20;--md-on-surface-variant:#49454f;--md-outline:#79747e}.passenger-home-shortcuts-dock{-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 22% 78%,#0000 100%);width:min(330px,100vw - 28px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 16px)!important;border:1px solid color-mix(in srgb, var(--md-outline) 18%, transparent)!important;background:color-mix(in srgb, var(--md-surface) 92%, transparent)!important;border-radius:32px!important;padding:6px!important;box-shadow:0 10px 28px #1d1b2024!important}.passenger-home-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;padding:0!important;display:grid!important}.passenger-home-shortcut{grid-template-rows:38px auto;align-content:center;justify-items:center;min-height:74px!important;box-shadow:none!important;color:var(--md-on-surface-variant)!important;text-align:center!important;background:0 0!important;border:0!important;border-radius:22px!important;gap:4px!important;padding:5px 3px!important;display:grid!important;transform:none!important}.passenger-home-shortcut:hover,.passenger-home-shortcut:focus-visible{background:color-mix(in srgb, var(--md-surface-container-high) 78%, transparent)!important;transform:none!important}.passenger-home-shortcut.primary{background:var(--md-primary-container)!important;color:var(--md-on-primary-container)!important}.passenger-home-shortcut-icon{background-color:color-mix(in srgb, var(--md-surface-container-high) 82%, transparent)!important;width:50px!important;height:36px!important;box-shadow:none!important;background-size:20px 20px!important;border-radius:999px!important}.passenger-home-shortcut.primary .passenger-home-shortcut-icon{background-color:color-mix(in srgb, var(--md-on-primary-container) 10%, transparent)!important}.passenger-home-shortcut-text{align-items:center!important;gap:1px!important}.passenger-home-shortcut span{color:color-mix(in srgb, var(--md-on-surface-variant) 82%, transparent)!important;letter-spacing:.02em!important;font-size:10px!important;font-weight:800!important;line-height:1!important}.passenger-home-shortcut.primary span{color:color-mix(in srgb, var(--md-on-primary-container) 72%, transparent)!important}.passenger-home-shortcut strong{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden;color:inherit!important;letter-spacing:0!important;font-size:12px!important;font-weight:900!important;line-height:1.08!important}.drawer{border-right:1px solid color-mix(in srgb, var(--md-outline) 18%, transparent)!important;background:radial-gradient(circle at 0 0, color-mix(in srgb, var(--md-primary-container) 45%, transparent), transparent 30%), var(--md-surface)!important;border-top-right-radius:28px!important;border-bottom-right-radius:28px!important;width:min(360px,100vw - 18px)!important;box-shadow:0 16px 42px #1d1b202e!important}.drawer:before,.drawer:after{display:none!important}.drawer .drawer-header{background:var(--md-primary-container)!important;border:0!important;border-radius:24px!important;margin:8px 8px 0!important;padding:14px!important}.drawer .drawer-profile-shell{grid-template-columns:52px minmax(0,1fr)!important;gap:10px!important}.drawer .drawer-avatar{background:color-mix(in srgb, var(--md-on-primary-container) 9%, white)!important;width:52px!important;height:52px!important;color:var(--md-on-primary-container)!important;box-shadow:none!important;border:0!important}.drawer .drawer-profile-copy h3{color:var(--md-on-primary-container)!important;font-size:20px!important;line-height:1.05!important}.drawer .drawer-profile-email{color:color-mix(in srgb, var(--md-on-primary-container) 72%, transparent)!important}.drawer .role-badge,.drawer .drawer-profile-copy .eyebrow{background:color-mix(in srgb, var(--md-on-primary-container) 10%, transparent)!important;width:fit-content!important;color:var(--md-on-primary-container)!important;border:0!important;border-radius:999px!important}.menu-stack{padding:12px 10px 6px!important}.menu-section-title{color:var(--md-on-surface-variant)!important;letter-spacing:.08em!important;margin:16px 14px 8px!important;font-size:11px!important;font-weight:900!important}.menu-tile-grid{grid-template-columns:1fr!important;gap:4px!important;display:grid!important}.menu-tile{grid-template-columns:40px minmax(0,1fr);min-height:56px!important;box-shadow:none!important;color:var(--md-on-surface)!important;text-align:left!important;background:0 0!important;border:0!important;border-radius:28px!important;align-content:center!important;place-items:center start!important;gap:12px!important;padding:8px 14px!important;display:grid!important;transform:none!important}.menu-tile:hover,.menu-tile:focus-visible{background:var(--md-surface-container-high)!important;transform:none!important}.menu-tile-accent{background:var(--md-primary-container)!important;color:var(--md-on-primary-container)!important}.menu-tile-icon{background-color:color-mix(in srgb, var(--md-primary-container) 52%, transparent)!important;width:40px!important;height:40px!important;box-shadow:none!important;background-size:20px 20px!important;border-radius:999px!important}.menu-tile-accent .menu-tile-icon{background-color:color-mix(in srgb, var(--md-on-primary-container) 10%, transparent)!important}.menu-tile-copy{min-width:0;gap:1px!important}.menu-tile-copy strong{color:inherit!important;font-size:14px!important;font-weight:900!important;line-height:1.15!important}.menu-tile-copy small{color:var(--md-on-surface-variant)!important;font-size:11px!important;line-height:1.2!important}.menu-tile-accent .menu-tile-copy strong,.menu-tile-accent .menu-tile-copy small{color:var(--md-on-primary-container)!important}.menu-logout{min-height:48px!important;margin:10px 12px calc(env(safe-area-inset-bottom,0px) + 14px)!important;box-shadow:none!important;border-radius:24px!important}.notification-center-shell{background:radial-gradient(circle at 12% 0%, #9ff2df7a, transparent 34%), var(--md-surface);border-radius:32px;width:min(620px,100vw - 24px);max-height:min(760px,100vh - 28px);overflow:hidden}.notification-center-header{border-bottom:1px solid color-mix(in srgb, var(--md-outline) 14%, transparent);align-items:center}.notification-center-list{gap:10px;max-height:calc(100vh - 220px);padding:16px;display:grid;overflow:auto}.notification-center-item{border:1px solid color-mix(in srgb, var(--md-outline) 13%, transparent);background:color-mix(in srgb, var(--md-surface-container) 48%, white);border-radius:24px;grid-template-columns:10px minmax(0,1fr);gap:12px;padding:16px;display:grid;box-shadow:0 10px 28px #1d1b200f}.notification-center-dot{background:var(--md-primary);width:10px;height:10px;box-shadow:0 0 0 5px color-mix(in srgb, var(--md-primary-container) 70%, transparent);border-radius:999px;margin-top:5px}.notification-center-item strong{color:var(--md-on-surface);font-size:15px;font-weight:900;display:block}.notification-center-item p{color:var(--md-on-surface-variant);margin:5px 0 8px;font-size:13px;line-height:1.45}.notification-center-item small{color:color-mix(in srgb, var(--md-on-surface-variant) 76%, transparent);font-size:11px;font-weight:800}@media (width<=760px){.passenger-home-shortcuts-dock{width:calc(100vw - 28px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 12px)!important;border-radius:30px!important}.passenger-home-shortcut{min-height:70px!important;padding-inline:6px!important}.passenger-home-shortcut strong{font-size:11px!important}}body{background:var(--bg);color:var(--ink)}.drawer{background:var(--surface-strong);box-shadow:0 0 0 1px var(--line), var(--shadow-xl);border-right:none}.drawer .drawer-header{background:linear-gradient(160deg, var(--primary) 0%, #0c2540 100%);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);margin:0;padding:14px 18px 16px}.drawer .drawer-header h3{color:#fff;letter-spacing:-.01em;font-size:18px;font-weight:800}.drawer-avatar{background:var(--accent);color:#fff;font-size:20px;font-weight:900;box-shadow:0 6px 20px #14b8a647}.menu-tile{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:all .2s}.menu-tile:active{box-shadow:var(--shadow-md);transform:scale(.97)}.menu-tile-accent{background:linear-gradient(160deg, var(--primary-soft), var(--accent-soft));border-color:#14b8a62e}.menu-tile-icon{color:var(--primary)}.menu-tile-copy strong{color:var(--ink);font-size:14px;font-weight:700}.menu-tile-copy span{color:var(--muted);font-size:12px;line-height:1.5}.menu-logout{color:var(--danger);opacity:.8}.top-status-bar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffdb}.menu-btn{background:var(--surface-strong);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);transition:all .2s}.menu-btn:active{box-shadow:var(--shadow-md);transform:scale(.94)}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-weight:700;transition:all .2s;box-shadow:0 4px 14px #14b8a63d}.btn-primary:active{background:var(--accent-hover);transform:scale(.97);box-shadow:0 2px 6px #14b8a624}.btn-secondary{background:var(--surface-strong);border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--radius-sm);transition:all .2s}.btn-secondary:active{background:var(--bg);transform:scale(.97)}.landing-metric-card,.stat-card,.surface-card,.ticket-card-pro,.trip-card,.empty-state-card,.manifest-column,.passenger-hero-card,.detail-modal-classic,.admin-card,.data-row,.p-row,.info-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .25s}.landing-metric-card:active,.ticket-card-pro:active,.trip-card:active,.menu-link-card:active{box-shadow:var(--shadow-lg)}.field-block input,.modern-input,.auth-form input,.role-select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:50px;padding:14px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field-block input:focus,.modern-input:focus,.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #14b8a61f}.field-block span{color:var(--muted-strong);letter-spacing:.02em;margin-bottom:2px;font-size:13px;font-weight:700}.eyebrow,.soft-badge{background:var(--primary-soft);color:var(--primary)}.status-pill.pill-success{background:var(--success-soft);color:var(--success);font-weight:700}.auth-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a59}.login-shell{background:0 0;border-radius:30px;box-shadow:0 28px 70px #0f172a2e}.auth-showcase{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;background:linear-gradient(135deg,#0f172a3d,#1f293738)}.auth-card-pro{background:#fffffff0}.auth-showcase h2{color:#fff;text-shadow:0 1px 4px #0f172a4d;font-weight:900}.auth-showcase p{color:#ffffffd1;text-shadow:0 1px 3px #0f172a40}.auth-feature-card{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff24;border-radius:18px}.auth-feature-card strong{color:#fff;text-shadow:0 1px 3px #0f172a4d}.auth-feature-card span{color:#fffc;text-shadow:0 1px 2px #0f172a33}.auth-showcase .eyebrow{color:#fff;text-shadow:0 1px 3px #0f172a66;background:#ffffff2e}.hud-top-island{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);border:1px solid var(--line)!important;color:var(--ink)!important;background:#ffffff80!important}.hud-bottom-island{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);border:1px solid var(--line)!important;background:#ffffff80!important}.hud-notify-strip{z-index:999;justify-content:center;gap:8px;display:flex;position:fixed;top:140px;left:50%;transform:translate(-50%)}.hud-notify-btn{min-height:36px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff8c;border:1px solid #0f172a26;border-radius:999px;padding:0 14px;font-size:12px;font-weight:700;transition:background .2s}.hud-notify-btn:hover{background:#fffc}.hud-notify-btn-warn{color:var(--danger);border-color:#b91c1c40}.hud-boat-name{text-shadow:none;color:var(--ink)!important}.hud-route,.hud-gps-status{color:var(--muted)!important}.hud-stop-btn-round{background:var(--danger);box-shadow:0 8px 24px #b91c1c47}.passenger-home-topbar,.passenger-home-title strong{color:var(--ink)}.passenger-home-shortcut{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:all .2s}.passenger-home-shortcut:active{background:var(--accent-soft);border-color:#14b8a640;transform:scale(.96)}.passenger-home-shortcut strong{color:var(--primary)}.map-gradient-overlay{background:linear-gradient(#0f172a05 0%,#0f172a1a 100%)}.session-prompt-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.top-status-bar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff26;border:1px solid #ffffff47;box-shadow:0 4px 16px #0f172a0a}.drawer{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fafffc26!important;border-right:1px solid #ffffff47!important;box-shadow:0 22px 62px #0f172a14!important}.drawer .drawer-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff6!important;border-bottom:1px solid #ffffff40!important}.drawer .drawer-header h3{color:var(--ink)!important}.drawer .drawer-header .drawer-profile-email,.drawer .drawer-header span,.drawer .drawer-header p{color:var(--muted)!important}.drawer-avatar{background:var(--accent)!important;color:#fff!important}.drawer-close-btn{color:var(--ink)!important}.menu-tile{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc7!important;border:1px solid #ffffff80!important}.menu-tile:hover,.menu-tile:focus-visible{background:#ffffffeb!important}.landing-shell{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffff26;border:1px solid #ffffff47;border-radius:30px;box-shadow:0 28px 70px #0f172a0f}.admin-header h2,.admin-header h3{color:var(--ink);font-weight:800}.command-next-trip-hero{background:linear-gradient(160deg, var(--primary) 0%, #0c2540 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.command-next-trip-hero h3,.command-next-trip-copy span{color:#ffffffe0}.command-next-trip-hero strong{color:#fff}.scanner-stage{border-radius:var(--radius-lg);border:2px solid var(--line)}.scanner-corner{border-color:var(--accent)}.profile-social-cover{background:linear-gradient(160deg, var(--primary) 0%, #0c2540 100%)}.modal-overlay{background:#0f172a7a}.ticket-card-pro,.trip-card,.menu-tile,.passenger-home-shortcut,.btn-primary,.btn-secondary,.admin-card,.landing-metric-card{transition:transform .2s,box-shadow .25s,background .2s,border-color .2s}.passenger-home-shortcuts{z-index:26;flex-direction:column;gap:7px;width:min(450px,100vw - 100px);padding:0;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.passenger-home-shortcut{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e!important;border:1px solid #ffffff4d!important;border-radius:22px!important}.passenger-home-shortcut:hover{background:#ffffff52!important}.passenger-home-shortcut-icon{background-color:#14b8a640!important;background-size:22px 22px!important;border-radius:12px!important;width:40px!important;height:40px!important}@media (width>=761px){.booking-search-panel{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(140px,1fr) auto}.booking-search-title{grid-column:1/-1}}.booking-search-title strong{white-space:normal}.landing-metric-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff26;border:1px solid #ffffff47;padding:18px 20px;box-shadow:0 1px 3px #0f172a05}.landing-metric-card strong{color:var(--ink);letter-spacing:.02em;font-size:13px;font-weight:700}.landing-metric-card span{color:var(--muted);font-size:12px;line-height:1.5}.info-strip strong{color:var(--ink)}.info-strip span{color:var(--muted);line-height:1.5}.boarding-pass-card,.ticket-boat-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--line)}.command-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.stat-card-mini{padding:14px 16px!important}.stat-card-mini .stat-label{text-transform:uppercase;letter-spacing:.06em;font-size:12px}.stat-card-mini strong{margin-top:4px!important;font-size:clamp(22px,3.5vw,28px)!important}.route-flow-list{gap:8px!important}.route-flow-list article{border-radius:14px!important;gap:8px!important;padding:10px!important}.route-flow-stop span{width:26px!important;height:26px!important;font-size:11px!important}.route-flow-stop strong{font-size:13px!important}.route-flow-kpi{min-height:24px!important;padding:0 8px!important;font-size:10px!important}.route-flow-columns{gap:6px!important}.route-flow-columns div{border-radius:10px!important;gap:4px!important;padding:6px 8px!important}.route-flow-movement-head{gap:4px!important}.route-flow-movement-head span{display:none!important}.route-flow-columns small{font-size:10px!important}.route-flow-columns button,.route-flow-columns em{border-radius:8px!important;padding:5px 8px!important;font-size:11px!important}.manifest-grid{gap:10px!important;margin-top:14px!important}.manifest-column{border-radius:18px!important;padding:14px!important}.manifest-title{font-size:13px;margin-bottom:8px!important;padding-bottom:8px!important}.p-row{margin-bottom:6px!important;padding:10px 12px!important}.p-name{font-size:13px!important}.p-sub-info{font-size:11px!important}@media (width<=760px){.command-stats{gap:6px!important}.stat-card-mini{padding:10px 12px!important}.stat-card-mini strong{font-size:clamp(20px,5vw,24px)!important}.route-flow-list article{grid-template-columns:1fr!important;padding:8px!important}.route-flow-stop{flex-wrap:wrap}.route-flow-stop-title{flex:auto}.route-flow-stop-metrics{flex:none}.route-flow-columns{gap:4px!important}.route-flow-columns div{padding:4px 6px!important}.route-flow-columns button,.route-flow-columns em{padding:4px 6px!important;font-size:10px!important}.manifest-grid{grid-template-columns:1fr!important;gap:8px!important}.manifest-column{border-radius:14px!important;padding:10px!important}.p-row{margin-bottom:4px!important;padding:8px 10px!important}}.scanner-stage-copy{text-align:center;padding-bottom:6px!important}.scanner-stage-copy .eyebrow{color:var(--muted);text-transform:none;letter-spacing:0;font-size:12px}.scanner-stage-copy h3,.scanner-stage-copy p,.scanner-stage-copy small{display:none!important}.offline-pending-badge{color:#b45309;background:#f59e0b26;border-radius:999px;margin-top:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}@media (width<=760px){.seller-trip-picker{padding:14px!important}.seller-trip-picker .buy-trip-list{gap:10px!important}.seller-trip-picker .buy-trip-card{min-height:100px!important}.seller-booking-search-panel{gap:10px!important;padding:10px!important}.seller-booking-search-panel .booking-search-field select,.seller-booking-search-panel .booking-search-field input{min-height:44px!important;font-size:14px!important}.seller-issue-layout .passenger-booking-hero{min-height:180px!important;padding:14px!important}.command-list-view .surface-card h3,.command-list-view .surface-card h4{color:var(--ink)!important}.command-list-view .surface-card p,.command-list-view .surface-card small{color:var(--muted)!important}.command-scanner-card{flex-direction:column;align-items:flex-start!important;gap:10px!important;padding:16px!important}.command-upcoming-layout{grid-template-columns:1fr!important;gap:10px!important}.command-next-trip-hero{grid-template-columns:1fr!important;min-height:180px!important;padding:18px!important}.sales-shell{border-radius:18px!important;padding:10px!important}.sales-shell .panel-content{padding:8px 0!important}.sales-shell .panel-grid-two{gap:8px!important;margin-top:8px!important}.sales-shell .seller-issue-layout{grid-template-columns:1fr!important;gap:8px!important}.sales-shell .passenger-booking-hero{border-radius:18px!important;min-height:140px!important;padding:14px!important}.sales-shell .buy-trip-card{overflow:hidden;height:auto!important;min-height:100px!important;padding:12px!important}.sales-shell .buy-card-boat{width:min(46vw,280px)!important;max-height:80px!important;bottom:0!important}.sales-shell .buy-card-wave{width:min(36vw,220px)!important;bottom:-4px!important}.sales-shell .seller-last-ticket-card{padding:10px!important}.sales-shell .booking-search-field select,.sales-shell .booking-search-field input{min-height:42px!important;padding:8px 10px!important;font-size:14px!important}.command-shell{border-radius:18px!important;padding:10px!important}.command-shell .panel-content{padding:8px 0!important}.command-shell .command-list-view,.command-shell .trip-detail-view{padding:0!important}.command-shell .stats-grid{gap:6px!important}.command-shell .stat-card{padding:10px 12px!important}.command-shell .surface-card{border-radius:18px!important;padding:12px!important}.command-shell .route-flow-card,.command-shell .manifest-column{padding:10px!important}.command-shell .manifest-grid{gap:6px!important;margin-top:8px!important}.command-shell .command-scanner-card{padding:12px!important}}
