:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh;margin:0}a{-webkit-text-decoration:inherit;text-decoration:inherit}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(at 30% 40%,#00325059 0%,#0000 60%),#040912f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface,#0a1826);text-align:center;border:1px solid #00c3b833;border-radius:16px;flex-direction:column;align-items:center;width:90%;max-width:380px;padding:3rem 2.5rem;animation:.4s forwards fadeUp;display:flex;box-shadow:0 24px 80px #0009,0 0 40px #00c3b80f}.modal-content h2{color:var(--text-primary,#d5eaf8);letter-spacing:.08em;text-transform:uppercase;width:100%;margin-top:0;margin-bottom:.5rem;font-family:Syne,sans-serif;font-size:1.5rem;font-weight:800}.modal-content p{color:var(--text-secondary,#4e7a9a);width:100%;margin-bottom:2.5rem;font-size:.875rem;line-height:1.6}#googleSignInButton{justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}#googleSignInButton>*{max-width:100%}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root{--bg-base:#060f1b;--bg-surface:#0a1826;--bg-card:#0d1e30;--bg-elevated:#12263c;--bg-hover:#162e46;--border:#0c284be6;--border-bright:#00c3b838;--border-focus:#00c3b899;--accent:#00c3b8;--accent-dim:#00c3b81a;--accent-glow:#00c3b84d;--text-primary:#d5eaf8;--text-secondary:#4e7a9a;--text-muted:#2c4f6a;--status-bought:#4ade80;--status-booked:#60a5fa;--status-available:#00c3b8;--status-active:#64748b;--danger:#f87171;--danger-dim:#f871711a}[data-mantine-color-scheme=dark]{--mantine-color-body:var(--bg-base)}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 8% 20%,#002d4b38 0%,#0000 55%),radial-gradient(at 92% 82%,#000f3240 0%,#0000 50%),linear-gradient(#00466e09 1px,#0000 1px),linear-gradient(90deg,#00466e09 1px,#0000 1px);background-size:100% 100%,100% 100%,48px 48px,48px 48px;background-attachment:fixed;margin:0;font-family:Outfit,sans-serif}#root{text-align:left;max-width:none;margin:0;padding:0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:#00c3b838;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00c3b86b}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #00c3b840}50%{box-shadow:0 0 14px #00c3b88c}}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-in{animation:.3s forwards fadeUp}.bs-loading{background:var(--bg-base);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.bs-loading-ring{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:38px;height:38px;animation:.75s linear infinite spinRing}.bs-loading-text{color:var(--accent);letter-spacing:.25em;text-transform:uppercase;opacity:.7;font-family:Syne,sans-serif;font-size:.75rem;font-weight:700}.bs-brand{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;font-family:Syne,sans-serif;font-size:1.05rem;font-weight:800;text-decoration:none;transition:opacity .15s;display:flex}.bs-brand:hover{opacity:.85;color:var(--accent)}.bs-brand-icon{opacity:.75}.bs-page{max-width:860px;margin:0 auto;padding:36px 24px 60px;animation:.35s forwards fadeUp}.bs-page-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 28px;font-family:Syne,sans-serif;font-size:1.35rem;font-weight:700}.bs-group{margin-bottom:20px}.bs-group-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.bs-group-label{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;flex-shrink:0;font-family:Syne,sans-serif;font-size:.65rem;font-weight:700}.bs-group-line{background:linear-gradient(90deg,#00c3b833,#0000);flex:1;height:1px}.bs-group-rows{flex-direction:column;gap:6px;display:flex}.bs-ticket-row{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;transition:border-color .2s;position:relative;overflow:hidden}.bs-ticket-ferry-bg{opacity:.1;pointer-events:none;width:45%;height:80%;position:absolute;top:50%;right:0;transform:translateY(-50%)}.bs-ticket-row:hover{border-color:var(--border-bright)}.bs-ticket-row.booked{border-color:#fbbf2466;box-shadow:0 0 12px #fbbf241f}.bs-ticket-row.bought{border-color:#4ade802e}.bs-ticket-inner{flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;display:flex}.bs-route{flex-direction:column;flex:1;min-width:0;display:flex}.bs-route-ports{color:var(--text-primary);align-items:center;gap:7px;font-size:.88rem;font-weight:600;line-height:1.3;display:flex}.bs-route-from,.bs-route-to{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bs-route-arrow{color:var(--accent);opacity:.7;flex-shrink:0;font-size:.75rem}.bs-route-code{color:var(--text-muted);letter-spacing:.12em;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.65rem}.bs-time-block{text-align:right;flex-shrink:0}.bs-time-main{color:var(--text-primary);letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:1.08rem;font-weight:500;line-height:1.2}.bs-time-date{color:var(--text-secondary);letter-spacing:.01em;margin-top:2px;font-size:.72rem}.bs-status{letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:20px;flex-shrink:0;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:500}.bs-status.bought{color:var(--status-bought);background:#4ade8014;border-color:#4ade8040;animation:3s ease-in-out infinite glowPulse}.bs-status.booked{color:var(--status-booked);background:#60a5fa14;border-color:#60a5fa38}.bs-status.available{color:var(--status-available);background:var(--accent-dim);border-color:#00c3b838}.bs-status.active{color:var(--status-active);background:#64748b0f;border-color:#64748b26}.bs-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:color .18s,border-color .18s,background .18s;display:flex}.bs-icon-btn:hover{color:var(--danger);background:var(--danger-dim);border-color:#f8717140}.bs-payment-zone{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px 14px}.bs-log-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.bs-log-title{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;font-family:Syne,sans-serif;font-size:.72rem;font-weight:700}.bs-log-list{flex-direction:column;display:flex}.bs-log-entry{cursor:pointer;border-radius:6px;align-items:flex-start;gap:14px;padding:7px 10px;transition:background .15s;display:flex}.bs-log-entry:hover{background:#ffffff08}.bs-log-time{color:var(--text-muted);letter-spacing:.02em;flex-shrink:0;min-width:80px;padding-top:1px;font-family:JetBrains Mono,monospace;font-size:.7rem}.bs-log-msg{color:var(--text-secondary);flex:1;font-size:.8rem;line-height:1.5}.bs-log-empty{color:var(--text-muted);text-align:center;padding:24px 10px;font-size:.82rem}.bs-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;transition:border-color .2s;overflow:hidden}.bs-card:hover{border-color:var(--border-bright)}.bs-card-pad{padding:18px 20px}.bs-select-card{border:1px solid var(--border);cursor:pointer;background:var(--bg-card);text-align:center;-webkit-user-select:none;user-select:none;border-radius:9px;padding:5px 8px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative;overflow:hidden}.bs-event-ferry-bg{opacity:.15;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bs-select-card:hover{border-color:var(--border-bright);background:var(--bg-elevated)}.bs-select-card.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 14px var(--accent-glow)}.bs-select-card-label{color:var(--text-primary);font-size:.9rem;font-weight:600;line-height:1.35}.bs-event-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.bs-event-time{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.15rem;font-weight:500}.bs-event-ship{color:var(--text-secondary);white-space:nowrap;text-align:right;margin:0;padding:0;font-size:.72rem}.bs-event-caps{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.bs-event-cap{color:var(--text-muted);align-items:center;gap:2px;font-size:.7rem;display:inline-flex}.bs-empty{color:var(--text-muted);text-align:center;padding:52px 24px;font-size:.88rem;line-height:1.6}.bs-empty-icon{opacity:.3;margin-bottom:12px;font-size:2rem;display:block}.bs-error{color:var(--danger);padding:6px 0;font-size:.8rem}[data-mantine-color-scheme=dark] .mantine-AppShell-root,[data-mantine-color-scheme=dark] .mantine-AppShell-main{background:0 0!important}[data-mantine-color-scheme=dark] .mantine-Modal-content{background:var(--bg-surface)!important;border:1px solid var(--border-bright)!important}[data-mantine-color-scheme=dark] .mantine-Modal-header{background:var(--bg-surface)!important;border-bottom:1px solid var(--border)!important}[data-mantine-color-scheme=dark] .mantine-Modal-close{color:var(--text-secondary)!important}[data-mantine-color-scheme=dark] .mantine-Modal-title{letter-spacing:.04em;color:var(--accent)!important;font-family:Syne,sans-serif!important;font-weight:700!important}[data-mantine-color-scheme=dark] .mantine-Input-input{background:var(--bg-elevated)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-mantine-color-scheme=dark] .mantine-Input-input:focus,[data-mantine-color-scheme=dark] .mantine-Input-input[data-focused]{border-color:var(--accent)!important}[data-mantine-color-scheme=dark] .mantine-Input-input::placeholder{color:var(--text-muted)!important}[data-mantine-color-scheme=dark] .mantine-Select-dropdown,[data-mantine-color-scheme=dark] .mantine-DatePicker-dropdown,[data-mantine-color-scheme=dark] .mantine-Popover-dropdown{background:var(--bg-elevated)!important;border-color:var(--border-bright)!important}[data-mantine-color-scheme=dark] .mantine-Select-option:hover{background:var(--bg-hover)!important}[data-mantine-color-scheme=dark] .mantine-Select-option[data-selected]{background:var(--accent-dim)!important;color:var(--accent)!important}[data-mantine-color-scheme=dark] .mantine-Tabs-tab{letter-spacing:.02em;color:var(--text-muted)!important;font-size:.85rem!important;font-weight:500!important}[data-mantine-color-scheme=dark] .mantine-Tabs-tab:hover{color:var(--text-primary)!important;background:var(--bg-elevated)!important}[data-mantine-color-scheme=dark] .mantine-Tabs-tab[data-active]{color:var(--accent)!important;border-bottom-color:var(--accent)!important}[data-mantine-color-scheme=dark] .mantine-Tabs-list{border-bottom-color:var(--border)!important}[data-mantine-color-scheme=dark] .mantine-Checkbox-input{background:var(--bg-elevated)!important;border-color:var(--border-bright)!important}[data-mantine-color-scheme=dark] .mantine-Checkbox-input:checked{background:var(--accent)!important;border-color:var(--accent)!important}[data-mantine-color-scheme=dark] .mantine-Table-table{color:var(--text-secondary)!important;--table-striped-color:#00c3b80d!important}[data-mantine-color-scheme=dark] .mantine-Table-thead th{background:var(--bg-elevated)!important;color:var(--text-muted)!important;letter-spacing:.1em!important;text-transform:uppercase!important;border-color:var(--border)!important;font-size:.72rem!important;font-weight:600!important}[data-mantine-color-scheme=dark] .mantine-Table-td,[data-mantine-color-scheme=dark] .mantine-Table-th{border-color:var(--border)!important}[data-mantine-color-scheme=dark] .mantine-Badge-root{letter-spacing:.06em!important;font-size:.67rem!important}[data-mantine-color-scheme=dark] .mantine-ActionIcon-root{background:0 0;transition:border-color .15s,color .15s,background .15s;border-color:var(--border)!important;color:var(--text-secondary)!important}[data-mantine-color-scheme=dark] .mantine-ActionIcon-root:hover{background:var(--bg-elevated)!important;border-color:var(--border-bright)!important}[data-mantine-color-scheme=dark] .mantine-Divider-root{border-color:var(--border)!important}[data-mantine-color-scheme=dark] .mantine-Loader-root{color:var(--accent)!important}[data-mantine-color-scheme=dark] .mantine-NumberInput-controls button{border-color:var(--border)!important;color:var(--text-secondary)!important;background:0 0!important}[data-mantine-color-scheme=dark] .mantine-NumberInput-controls button:hover{background:var(--bg-hover)!important}
