:root{--bg: #0b1220;--bg-card: #121c2f;--bg-card-solid: #121c2f;--bg-input: #18263e;--accent: #5b78ff;--accent-hover: #7089ff;--accent-glow: rgba(91, 120, 255, .2);--text: #f5f7fc;--text-muted: #adb8c8;--border: #304669;--border-strong: #405a82;--success: #c7f36a;--success-ink: #c7f36a;--success-soft: rgba(199, 243, 106, .12);--danger: #ff8787;--danger-soft: rgba(255, 135, 135, .12);--warning: #ffb454;--warning-soft: rgba(255, 180, 84, .12);--accent-soft: rgba(91, 120, 255, .14);--brand: #b11217;--badge-admin-text: #1a1e26;--brand-rail-secondary: #f6f5ef;--glass-blur: 0px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow: 0 8px 24px rgba(5, 8, 20, .16);--shadow-sm: 0 4px 12px rgba(5, 8, 20, .14);--shadow-glow: 0 0 40px var(--accent-glow);--transition: .22s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);color-scheme:dark}:root[data-theme=light]{--bg: #f6f5ef;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-input: #f2f3f7;--accent: #4454f4;--accent-hover: #3443dc;--accent-glow: rgba(68, 84, 244, .18);--text: #14182b;--text-muted: #697087;--border: #dde1ea;--border-strong: #c8ceda;--success: #c7f36a;--success-ink: #476900;--success-soft: rgba(199, 243, 106, .38);--danger: #d83f52;--danger-soft: rgba(216, 63, 82, .09);--warning: #ca8a04;--warning-soft: rgba(202, 138, 4, .08);--accent-soft: rgba(68, 84, 244, .09);--badge-admin-text: #1d2430;--brand-rail-secondary: #14182b;--shadow: 0 8px 24px rgba(20, 24, 43, .06);--shadow-sm: 0 4px 12px rgba(20, 24, 43, .05);--shadow-glow: 0 0 32px rgba(68, 84, 244, .1);color-scheme:light}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{overscroll-behavior-y:contain}body{font-family:Inter,Manrope,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}::selection{background:var(--accent);color:#fff}.app{max-width:780px;margin:0 auto;padding:28px 24px;animation:pageIn .45s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:32px;padding-bottom:18px;border-bottom:1px solid var(--border);position:relative}.app-header:after{content:"";position:absolute;left:0;bottom:-1px;width:72px;height:2px;background:var(--accent)}.header-brand{grid-column:1;justify-self:start;display:flex;align-items:center;gap:10px}.brand-logo{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px}.brand-logo svg{width:100%;height:100%}.brand-rail-primary{fill:var(--accent)}.brand-rail-secondary{fill:var(--brand-rail-secondary)}.brand-lockup{display:grid;line-height:1}.brand-wordmark{font-family:Manrope,Inter,sans-serif;font-size:.96rem;letter-spacing:.08em;color:var(--text);text-transform:uppercase;font-weight:800}.brand-descriptor{margin-top:4px;color:var(--text-muted);font-size:.48rem;font-weight:700;letter-spacing:.34em}.app-header h1{grid-column:2;justify-self:center;font-size:1.2rem;font-weight:700;color:var(--text);margin:0;letter-spacing:-.02em}.header-controls{grid-column:3;justify-self:end;display:flex;align-items:center;gap:10px}.btn-theme,.btn-lang{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-strong);padding:6px 12px;border-radius:8px;cursor:pointer;font-size:.72rem;font-weight:600;letter-spacing:.04em;transition:all var(--transition);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-theme:hover,.btn-lang:hover{color:var(--text);border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.user-bar{display:flex;gap:8px;align-items:center}.user-info{display:flex;align-items:center;gap:10px}.user-name{font-size:.88rem;font-weight:600}.user-username{font-weight:400;color:var(--text-muted);font-size:.78rem}.profile-wrapper{position:relative}.profile-avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--border-strong);background:var(--bg-input);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);padding:0}.profile-avatar:hover{border-color:var(--accent);transform:scale(1.08);box-shadow:0 0 0 4px var(--accent-soft)}.profile-emoji{font-size:1.2rem;line-height:1}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--bg-card-solid);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow),0 0 0 1px var(--border);z-index:100;overflow:hidden;animation:menuIn .2s ease-out}@keyframes menuIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-menu-user{display:flex;align-items:center;gap:12px;padding:16px}.profile-menu-emoji{font-size:1.8rem;line-height:1;flex-shrink:0}.profile-menu-name{font-size:.9rem;font-weight:600;line-height:1.3}.profile-menu-username{font-size:.78rem;color:var(--text-muted);margin-top:1px}.profile-menu-divider{height:1px;background:var(--border);margin:0}.profile-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;border:none;background:transparent;color:var(--text);font-size:.86rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--transition);text-align:left}.profile-menu-item:hover{background:var(--accent-soft)}.profile-menu-item--danger{color:var(--danger)}.profile-menu-item--danger:hover{background:var(--danger-soft)}.profile-menu-icon{font-size:1rem;width:22px;text-align:center;flex-shrink:0}.profile-menu-hint{margin-left:auto;font-size:.74rem;color:var(--text-muted);font-weight:400}.auth-card{max-width:420px;margin:40px auto 0;padding:36px 32px 32px;background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);animation:cardIn .5s ease-out}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-title{text-align:center;font-size:1.2rem;font-weight:700;margin-bottom:24px;letter-spacing:-.02em}.auth-field .form-input{height:48px;font-size:.92rem;border-radius:var(--radius);padding:0 16px}.auth-submit{width:100%;height:48px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition);box-shadow:0 4px 14px var(--accent-glow);letter-spacing:.01em;margin-bottom:20px}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-glow);filter:brightness(1.08)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none}.auth-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.auth-footer{text-align:center}.telegram-login-container{display:flex;justify-content:center;min-height:40px}.btn-telegram{background:#2aabee;color:#fff;font-size:.92rem;padding:14px 36px;border-radius:var(--radius);font-weight:600;border:none;cursor:pointer;transition:all var(--transition);box-shadow:0 4px 16px #2aabee4d}.btn-telegram:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2aabee59;filter:brightness(1.08)}.tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--border)}.tab{padding:11px 24px;background:transparent;color:var(--text-muted);border:none;cursor:pointer;font-size:.88rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition);letter-spacing:.01em;position:relative}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab:hover:not(.active){color:var(--text);background:var(--accent-soft);border-radius:8px 8px 0 0}.card{background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:14px;border:1px solid var(--border);box-shadow:var(--shadow);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.card-title{font-size:1.02rem;font-weight:700;letter-spacing:-.01em}.card-body{font-size:.84rem;color:var(--text-muted);line-height:1.7}.monitor-check-status{display:grid;gap:8px;margin-top:12px}.monitor-check-success,.monitor-check-error{padding:9px 11px;border-radius:10px;border:1px solid color-mix(in srgb,var(--success) 25%,transparent);background:var(--success-soft);line-height:1.45}.monitor-check-success.is-empty{border-color:var(--border);background:var(--bg-input)}.monitor-check-error{border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-soft)}.monitor-check-error.is-recovered{border-color:var(--border);background:var(--bg-input)}.monitor-check-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;color:var(--text)}.monitor-check-heading time{margin-left:auto;color:var(--text-muted);font-size:.75rem}.monitor-check-description,.monitor-check-logs-hint{margin-top:2px;font-size:.76rem}.monitor-check-error details{margin-top:4px}.monitor-check-error summary{width:fit-content;cursor:pointer;color:var(--danger);font-size:.76rem;font-weight:600}.monitor-check-error-message{margin-top:6px;overflow-wrap:anywhere;color:var(--text);font-family:ui-monospace,Cascadia Code,monospace;font-size:.74rem}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge-active{background:var(--success-soft);color:var(--success-ink);border:1px solid color-mix(in srgb,var(--success) 25%,transparent)}.badge-count{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-strong)}.badge-done{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border)}.badge-admin{background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);font-size:.66rem}.btn{padding:10px 20px;border:none;border-radius:var(--radius);cursor:pointer;font-size:.86rem;font-weight:500;transition:all var(--transition);letter-spacing:.01em}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px var(--accent-glow);filter:brightness(1.08)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.btn-danger{background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);padding:10px 20px;border-radius:var(--radius);cursor:pointer;font-size:.84rem;font-weight:500;transition:all var(--transition)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger);transform:translateY(-1px)}.btn-sm{padding:6px 14px;font-size:.78rem;border-radius:8px}.btn-link{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.86rem;font-weight:500;padding:6px 4px;transition:color var(--transition);text-decoration:none;position:relative}.btn-link:after{content:"";position:absolute;left:4px;right:4px;bottom:2px;height:1px;background:var(--text-muted);opacity:.3;transition:opacity var(--transition),background var(--transition)}.btn-link:hover{color:var(--accent)}.btn-link:hover:after{background:var(--accent);opacity:.6}.form-group label{display:block;margin-bottom:6px;font-size:.8rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.form-input{width:100%;padding:11px 16px;background:var(--bg-input);border:1.5px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-size:.88rem;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);outline:none}.form-input::placeholder{color:var(--text-muted);opacity:.7}.form-input:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-strong))}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),0 0 0 1px var(--accent);background:color-mix(in srgb,var(--bg-input) 90%,var(--accent) 5%)}.suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-card-solid);border:1px solid var(--border-strong);border-top:none;border-radius:0 0 var(--radius) var(--radius);max-height:220px;overflow-y:auto;z-index:10;box-shadow:0 12px 32px #0000003d}.suggestion-item{padding:10px 16px;cursor:pointer;font-size:.84rem;border-bottom:1px solid var(--border);transition:background var(--transition)}.suggestion-item:last-child{border-bottom:none}.station-field{position:relative}.train-row{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;transition:all var(--transition)}.train-row:hover{border-color:var(--accent);background:var(--accent-soft);transform:translate(3px);box-shadow:var(--shadow-sm)}.train-row.selected{border-color:var(--accent);background:var(--accent-soft)}.train-info{flex:1}.train-number{font-weight:700;font-size:1rem}.train-route{font-size:.78rem;color:var(--text-muted);margin-top:3px}.train-times{text-align:right;font-size:.84rem;font-variant-numeric:tabular-nums}.train-duration{font-size:.72rem;color:var(--text-muted);margin-top:2px}.car-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.car-chip{padding:12px 18px;background:var(--bg-input);border:1.5px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;font-size:.8rem;transition:all var(--transition);min-width:120px}.car-chip:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.car-chip.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.car-chip.sold-out{opacity:.55;border-style:dashed}.car-chip.sold-out .car-chip-name{text-decoration:line-through}.car-chip.available-blocked{opacity:.45;cursor:not-allowed;border-color:var(--success);border-style:solid}.car-chip-name{font-weight:600}.car-chip-info{color:var(--text-muted);font-size:.72rem;margin-top:3px}.loading,.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state p:first-child{font-size:.95rem;font-weight:500}.spinner{display:inline-block;width:30px;height:30px;border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.refresh-bar{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--text-muted);margin-bottom:14px;padding:10px 14px;background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius);border:1px solid var(--border)}.message{padding:14px 18px;border-radius:var(--radius);margin-bottom:14px;font-size:.85rem;font-weight:500;animation:msgIn .35s ease-out}.message-success{background:var(--success-soft);color:var(--success-ink);border:1px solid color-mix(in srgb,var(--success) 25%,transparent)}.message-error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.message-warning{background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent)}@keyframes msgIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.wizard-steps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;align-items:center;padding:14px 18px;background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius);border:1px solid var(--border)}.wizard-step-item{display:flex;align-items:center;gap:6px}.wizard-step{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--text-muted);transition:color var(--transition)}.wizard-step.active{color:var(--accent);font-weight:600}.wizard-step.done{color:var(--success-ink)}.wizard-step-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--border-strong);font-size:.68rem;font-weight:700;transition:all var(--transition-spring)}.wizard-step.active .wizard-step-num{background:var(--accent);color:#fff;box-shadow:0 3px 10px var(--accent-glow);transform:scale(1.1)}.wizard-step.done .wizard-step-num{background:var(--success);color:#14182b}.wizard-arrow{color:var(--border-strong);font-size:.65rem}.wizard-reset{margin-left:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-stats{font-size:.82rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.admin-filters{display:flex;gap:6px;margin-bottom:18px}.btn-filter{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-strong);padding:6px 16px;border-radius:8px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all var(--transition)}.btn-filter:hover{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.admin-subs-wrap{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.admin-subs-label{font-size:.72rem;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.admin-subscriber-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.admin-subscriber-pill{display:inline-flex;align-items:center;gap:6px;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:999px;padding:4px 12px;font-size:.72rem;color:var(--text);font-family:SF Mono,Menlo,monospace}.admin-subscriber-remove{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.82rem;line-height:1;padding:0;transition:color var(--transition)}.admin-subscriber-remove:hover{color:var(--danger)}.admin-subscriber-remove:disabled{opacity:.5;cursor:not-allowed}.admin-subscriber-add{display:flex;align-items:center;gap:8px}.admin-subscriber-input{max-width:220px;height:32px;font-size:.8rem}.admin-subs-error{margin-top:6px;color:var(--danger);font-size:.72rem}.card-completed{opacity:.55}.confirm-group{display:flex;align-items:center;gap:6px}.proxy-card{border-left:3px solid var(--accent);margin-bottom:20px}.proxy-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.82rem}.proxy-toggle input[type=checkbox]{width:40px;height:22px;-webkit-appearance:none;appearance:none;background:var(--border-strong);border-radius:999px;position:relative;cursor:pointer;transition:background var(--transition);outline:none;border:none;flex-shrink:0}.proxy-toggle input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:all var(--transition-spring)}.proxy-toggle input[type=checkbox]:checked{background:var(--success)}.proxy-toggle input[type=checkbox]:checked:after{left:21px;background:#fff}.proxy-toggle-label{font-weight:500;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.proxy-fields{margin-top:12px}.proxy-endpoint{display:grid;grid-template-columns:minmax(150px,.4fr) minmax(0,1fr);gap:12px}.proxy-credentials{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proxy-credentials .form-group{margin-bottom:10px}.proxy-password-wrap{position:relative;display:flex;align-items:center}.proxy-password-wrap .form-input{padding-right:40px}.proxy-password-toggle{position:absolute;right:8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-weight:600;padding:4px;transition:color var(--transition)}.proxy-password-toggle:hover{color:var(--text)}@media(max-width:720px){.app{padding:16px 14px}.app-header{grid-template-columns:1fr auto;padding-bottom:12px;gap:8px}.app-header h1{display:none}.header-controls{gap:4px}.btn-theme,.btn-lang{padding:5px 8px;font-size:.68rem}.tab{padding:10px 16px;white-space:nowrap;font-size:.82rem}.tabs{overflow-x:auto}.refresh-bar{flex-direction:column;align-items:flex-start;gap:4px}.admin-subscriber-add{flex-wrap:wrap}.admin-subscriber-input{max-width:100%;width:100%}.proxy-endpoint,.proxy-credentials{grid-template-columns:1fr;gap:0}.wizard-steps{padding:10px 12px}.card{padding:16px 18px}.train-row{padding:14px 16px}.auth-card{margin-top:24px;padding:28px 20px 24px;border-radius:var(--radius-lg)}.profile-menu{min-width:220px;right:-8px}}.miniapp{padding:10px}.miniapp .app-header{margin-bottom:16px;padding-bottom:10px}.miniapp .app-header h1{display:none}.miniapp .header-brand{display:flex}.miniapp .card{padding:12px 14px;border-radius:var(--radius)}.miniapp .user-bar{gap:6px}.miniapp .tabs{margin-bottom:16px}.pull-refresh{position:fixed;top:calc(env(safe-area-inset-top) + 8px);left:50%;z-index:1000;display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg-card-solid);color:var(--text-muted);box-shadow:var(--shadow-sm);font-size:.76rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease,transform .12s ease}.pull-refresh.is-visible{opacity:1}.pull-refresh.is-ready{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.pull-refresh-arrow{display:inline-block;color:var(--accent);transition:transform .15s ease}.pull-refresh.is-ready .pull-refresh-arrow{transform:rotate(180deg)}.pull-refresh-spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;color:transparent;font-size:0;animation:spin .7s linear infinite}.quick-unlock-card{width:min(100%,420px);margin:72px auto 0;padding:30px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:var(--shadow);text-align:center}.quick-unlock-card h2{margin:5px 0 8px;font-size:1.45rem}.quick-unlock-card>p{margin-bottom:22px;color:var(--text-muted);font-size:.9rem}.quick-unlock-card .message{text-align:left}.pin-input{text-align:center;font-size:1.28rem!important;font-weight:700;letter-spacing:.34em;font-variant-numeric:tabular-nums}.quick-unlock-submit{width:100%;min-height:46px;margin:14px 0 12px}.quick-unlock-status{display:flex;align-items:center;gap:9px;margin-top:18px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--success) 38%,transparent);border-radius:var(--radius);background:var(--success-soft);color:var(--success-ink);font-size:.85rem;font-weight:600}.quick-unlock-status span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--success);color:#14182b}.quick-unlock-form{margin-top:18px}.quick-unlock-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-unlock-fields label>span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.78rem;font-weight:500}.notification-settings{display:grid;gap:18px}.settings-heading h2{font-size:1.65rem;margin:4px 0 8px}.settings-heading p,.settings-card p{color:var(--text-muted)}.settings-eyebrow{font-size:.7rem;letter-spacing:.18em;color:var(--accent);font-weight:700}.settings-card{padding:22px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.settings-card h3{margin-bottom:10px}.settings-toggle{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:60px;padding:12px 0;cursor:pointer}.settings-toggle span{min-width:0}.settings-toggle small{display:block;font-size:.82rem;line-height:1.5;color:var(--text-muted);margin-top:4px}.settings-toggle input{appearance:none;flex:0 0 46px;width:46px;height:28px;padding:3px;margin:0;border:1px solid var(--border-strong);border-radius:20px;background:var(--bg-input);cursor:pointer}.settings-toggle input:before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:var(--text-muted);transition:transform .18s}.settings-toggle input:checked{background:var(--accent)}.settings-toggle input:checked:before{background:#fff;transform:translate(18px)}.settings-toggle input:disabled{opacity:.45;cursor:default}.settings-toggle input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.settings-channels{border:0;border-top:1px solid var(--border);margin-top:16px;padding-top:8px}.settings-channels legend{font-size:.78rem;color:var(--text-muted);padding-right:10px}.settings-channels:disabled{opacity:.6}.settings-note{font-size:.85rem;margin-top:10px}.settings-repeat{display:grid;gap:8px;margin-top:24px}.settings-repeat label{font-weight:600}.settings-repeat select{width:100%;min-width:0;min-height:48px;padding:8px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input);color:var(--text)}.settings-repeat select:disabled{opacity:.5;cursor:wait}.settings-repeat .settings-note{margin-top:0}.settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.settings-actions .btn{min-height:44px;white-space:normal}.push-devices{list-style:none;margin-top:18px}.push-devices li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border);padding:12px 0;font-size:.85rem}.push-devices li span{overflow-wrap:anywhere}.push-devices .btn{min-height:44px}.install-guide ol{padding-left:22px;color:var(--text-muted);font-size:.9rem}.install-guide li{margin-top:12px;padding-left:4px}@media(max-width:480px){.quick-unlock-card{margin-top:36px;padding:24px 20px}.quick-unlock-fields{grid-template-columns:1fr}.settings-card{padding:16px}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}input,select,textarea{font-size:16px}.tabs .tab{padding-left:8px;padding-right:8px;font-size:.82rem}}html{--app-inline-padding: 32px;--app-safe-top: env(safe-area-inset-top, 0px);--app-safe-bottom: env(safe-area-inset-bottom, 0px);--app-nav-gesture-space: 0px;--app-nav-bottom-space: max(var(--app-safe-bottom), var(--app-nav-gesture-space));--app-nav-row-height: 64px;--app-nav-height: calc(var(--app-nav-row-height) + 1px + var(--app-nav-bottom-space));background:var(--bg);scroll-padding-top:calc(96px + var(--app-safe-top));scroll-padding-bottom:calc(96px + var(--app-nav-bottom-space))}body{font-size:15px;line-height:22px;padding-top:0}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 62%,transparent);outline-offset:3px}.ui-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app{width:min(100%,960px);max-width:none;min-height:100dvh;padding:0 var(--app-inline-padding) 56px}.app-header{position:sticky;top:0;z-index:100;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);min-height:64px;margin-inline:calc(-1 * var(--app-inline-padding));margin-bottom:32px;padding:calc(16px + var(--app-safe-top)) var(--app-inline-padding) 16px;background:var(--bg);border-bottom-color:var(--border)}.app-header:after{display:none}.header-brand{appearance:none;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.brand-logo{width:48px;height:48px;flex-basis:48px}.brand-logo-surface{fill:var(--brand);stroke:transparent;stroke-width:2px}.brand-logo-word{fill:#fff}:root:not([data-theme=light]) .brand-logo-surface{fill:#10182a;stroke:#fff}.brand-lockup{gap:2px}.brand-wordmark{font:700 16px/20px Inter,sans-serif;letter-spacing:0;text-transform:none}.brand-descriptor{max-width:168px;margin:0;font:500 11px/14px Inter,sans-serif;letter-spacing:0;color:var(--text-muted)}.app-header h1{font-size:15px;line-height:22px;font-weight:600}.btn-theme,.btn-lang,.profile-avatar{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);backdrop-filter:none;-webkit-backdrop-filter:none}.btn-theme:hover,.btn-lang:hover,.profile-avatar:hover{transform:none;border-color:var(--accent);box-shadow:none;background:var(--accent-soft)}.profile-avatar{width:44px;height:44px;padding:0}.profile-initials,.profile-menu-avatar{display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;line-height:16px;font-weight:700}.profile-initials{width:34px;height:34px}.profile-menu-avatar{width:42px;height:42px;flex:0 0 42px}.profile-menu{min-width:272px;border-color:var(--border);border-radius:16px;box-shadow:var(--shadow)}.profile-menu-item{min-height:48px;padding:12px 16px}.profile-menu-icon{display:grid;place-items:center}.profile-menu-icon .ui-icon{width:20px;height:20px}.profile-menu-divider{background:var(--border)}.app-content{min-width:0}.page-heading,.settings-heading{margin-bottom:24px}.page-heading h2,.settings-heading h2{margin:4px 0 8px;font-size:30px;line-height:34px;font-weight:700;letter-spacing:-.025em}.page-heading>p:last-child,.settings-heading>p{max-width:620px;color:var(--text-muted)}.page-eyebrow,.settings-eyebrow{margin:0;color:var(--accent);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.tabs{gap:8px;margin-bottom:32px;padding:4px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}.tab{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:9px 16px;border:1px solid transparent;border-radius:12px;color:var(--text-muted);font-size:13px;line-height:18px;font-weight:500}.tab .ui-icon{width:19px;height:19px}.tab.active{border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:var(--accent-soft);color:var(--accent);font-weight:600}.tab:hover:not(.active){border-radius:12px;background:var(--bg-input);color:var(--text)}.card,.settings-card,.auth-card,.quick-unlock-card,.wizard-steps,.refresh-bar,.train-row{background:var(--bg-card);border:1px solid var(--border);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.card{margin-bottom:16px;padding:20px;border-radius:16px}.card:hover,.train-row:hover,.car-chip:hover{transform:none;box-shadow:none}.card:hover{border-color:var(--border-strong)}.card-header{gap:12px;align-items:flex-start;margin-bottom:12px}.card-title{font-size:16px;line-height:22px}.card-body{font-size:13px;line-height:20px}.card-caption{color:var(--text-muted);font-size:12px;line-height:16px}.badge{min-height:24px;padding:3px 9px;font-size:11px;line-height:16px;letter-spacing:0;text-transform:none}.badge-active{border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:var(--accent-soft);color:var(--accent)}.badge-count,.badge-done{border-color:var(--border);background:var(--bg-input);color:var(--text-muted)}.badge-admin{border-color:var(--border);background:var(--bg-input);color:var(--text)}.btn,.btn-danger,.auth-submit,.btn-telegram{min-height:44px;padding:10px 18px;border-radius:12px;font-size:14px;line-height:20px;font-weight:600;letter-spacing:0;box-shadow:none}.btn-primary,.auth-submit{border:1px solid var(--accent);background:var(--accent);color:#fff}.btn-primary:hover,.auth-submit:hover:not(:disabled){transform:none;filter:none;border-color:var(--accent-hover);background:var(--accent-hover);box-shadow:none}.btn-secondary,.btn-filter{border:1px solid var(--border);background:var(--bg-input);color:var(--text)}.btn-secondary:hover,.btn-filter:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ticket-purchase-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;margin-top:16px;color:var(--accent);text-decoration:none;white-space:normal}.ticket-link-unavailable{display:block;margin-top:16px;color:var(--text-muted);font-size:12px;line-height:16px}.btn-danger{border-color:color-mix(in srgb,var(--danger) 48%,transparent);background:transparent;color:var(--danger)}.btn-danger:hover{transform:none;border-color:var(--danger);background:var(--danger-soft)}.btn-sm{min-height:36px;padding:7px 12px;border-radius:10px;font-size:12px;line-height:16px}.btn:disabled,.btn-danger:disabled,.auth-submit:disabled,.btn-telegram:disabled{opacity:.45;cursor:not-allowed;transform:none}.auth-card{max-width:440px;margin-top:48px;padding:32px;border-radius:24px}.auth-title{margin-bottom:24px;font-size:22px;line-height:28px;font-weight:600}.auth-field{margin-bottom:16px}.auth-field label,.quick-unlock-label{display:block;margin-bottom:6px;color:var(--text);font-size:12px;line-height:16px;font-weight:500;text-align:left}.auth-field .form-input{height:48px;border-radius:12px}.auth-submit{height:48px}.btn-telegram{border:1px solid #229ed9;background:#229ed9}.form-group{margin-bottom:16px}.form-group label{margin-bottom:6px;color:var(--text);font-size:12px;line-height:16px}.form-input{min-height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input);color:var(--text);font-size:15px;line-height:22px}.form-input:hover{border-color:var(--border-strong)}.form-input:focus{border-color:var(--accent);background:var(--bg-input);box-shadow:0 0 0 3px var(--accent-soft)}.suggestions{top:calc(100% - 1px);border:1px solid var(--border);border-radius:0 0 12px 12px;box-shadow:var(--shadow)}.suggestion-item{display:block;width:100%;min-height:48px;padding:12px 14px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left}.suggestion-item:hover{background:var(--accent-soft)}.train-row{position:relative;width:100%;min-height:88px;margin-bottom:12px;padding:16px 44px 16px 16px;border-radius:16px;color:var(--text);text-align:left}.train-row:hover{border-color:var(--accent);background:var(--accent-soft)}.train-number{font-size:15px;line-height:22px}.train-route,.train-duration{color:var(--text-muted);font-size:12px;line-height:16px}.row-chevron{position:absolute;top:50%;right:16px;color:var(--text-muted);font-size:24px;transform:translateY(-50%)}.car-types{gap:8px}.car-chip{min-width:144px;min-height:64px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input);color:var(--text);text-align:left}.car-chip.selected{box-shadow:inset 0 0 0 1px var(--accent)}.car-chip.available-blocked{border-color:color-mix(in srgb,var(--success) 55%,var(--border));background:var(--success-soft)}.car-chip-info{font-size:12px;line-height:16px}.wizard-steps{display:block;margin-bottom:24px;padding:16px;border-radius:16px}.wizard-progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:12px;line-height:16px}.wizard-reset{margin:0}.wizard-progress-track{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:12px 0}.wizard-progress-track span{height:4px;border-radius:999px;background:var(--bg-input)}.wizard-current-step{display:block;font-size:15px;line-height:22px}.refresh-bar{margin-bottom:16px;padding:12px 16px;border-radius:12px;font-size:12px;line-height:16px}.monitor-check-status{gap:8px;margin-top:16px}.monitor-check-success,.monitor-check-error{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input)}.monitor-check-success.is-available{border-color:color-mix(in srgb,var(--success) 60%,var(--border));background:var(--success-soft);color:var(--success-ink)}.monitor-check-success.is-available .monitor-check-heading{color:var(--success-ink)}.monitor-check-error:not(.is-recovered){border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:var(--danger-soft)}.message{padding:12px 16px;border-radius:12px;font-size:13px;line-height:20px}.message-success{color:var(--success-ink)}:root[data-theme=light] .message-success{color:#365300}.empty-state{display:grid;justify-items:center;gap:12px;padding:48px 24px;border:1px solid var(--border);border-radius:24px;background:var(--bg-card)}.empty-state-icon{display:grid;width:56px;height:56px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:16px;background:var(--accent-soft);color:var(--accent);font-size:28px}.empty-state p:first-of-type{color:var(--text);font-size:22px;line-height:28px;font-weight:600}.empty-state p:not(:first-of-type){max-width:440px;margin:0;color:var(--text-muted)}.empty-state .btn{margin-top:8px}.notification-settings{gap:24px}.settings-heading{margin-bottom:0}.settings-card{padding:20px;border-radius:16px}.settings-card h3{font-size:18px;line-height:24px;font-weight:600}.settings-toggle{min-height:64px;padding:12px 0}.settings-toggle input:checked,.proxy-toggle input[type=checkbox]:checked{background:var(--accent)}.settings-note,.settings-toggle small,.install-guide ol{color:var(--text-muted);font-size:13px;line-height:20px}.quick-unlock-card{border-radius:24px}.quick-unlock-card h2{font-size:22px;line-height:28px}.quick-unlock-status{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);color:var(--accent)}.quick-unlock-status span{background:var(--accent);color:#fff}.proxy-card{border-left:1px solid var(--border)}.proxy-toggle input[type=checkbox]:checked:after{background:#fff}.admin-filters{flex-wrap:wrap}.admin-subscriber-pill{border-color:var(--border)}.card-completed{opacity:.72}@media(min-width:768px){.notification-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-heading,.notification-settings>.message,.notification-settings>.btn{grid-column:1 / -1}.settings-card{min-height:100%}}@media(max-width:767px){html{--app-inline-padding: 16px}body{padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}.app{width:100%;padding:0 var(--app-inline-padding) calc(96px + var(--app-safe-bottom))}.app-header{grid-template-columns:1fr auto;min-height:56px;margin-bottom:32px;padding-bottom:12px}.app-header h1{display:none}.brand-logo{width:44px;height:44px;flex-basis:44px}.brand-descriptor{max-width:148px;font-size:10px;line-height:13px}.page-heading h2,.settings-heading h2{font-size:30px;line-height:34px}.profile-menu{position:fixed;top:calc(72px + env(safe-area-inset-top));right:16px;left:16px;min-width:0}.train-row{display:grid;gap:8px}.train-times{text-align:left}.refresh-bar{align-items:flex-start}.card{padding:16px}}@media(max-width:389px){html{--app-inline-padding: 12px}.brand-descriptor,.btn-theme{display:none}.brand-lockup{display:block}.card-header{flex-wrap:wrap}.card-header>.btn-danger{width:100%}.car-chip{width:100%}.quick-unlock-fields,.proxy-endpoint,.proxy-credentials{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ui-icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand-logo img{width:100%;height:100%;display:block}.brand-dark{display:none!important}:root[data-theme=dark] .brand-light{display:none!important}:root[data-theme=dark] .brand-dark{display:block!important}button.header-brand{border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.header-controls{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px}.icon-button,.btn-lang,.text-button,.input-clear{border:0;color:var(--text-muted);background:transparent;cursor:pointer}.icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:50%;background:var(--bg-card)}.icon-button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.profile-avatar{color:var(--accent);background:var(--accent-soft)}.btn-lang{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:999px;font-weight:700}.text-button{padding:4px;color:var(--accent);font:inherit;font-weight:700}.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:10px 14px;border-radius:var(--radius);color:#fff;background:var(--accent);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-signed-in{max-width:960px}.app{animation:none}.app-content{outline:none}.app-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:32px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.app-nav .tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:var(--radius);transition:color var(--transition)}.app-nav .tab.active{color:var(--accent);background:var(--accent-soft);box-shadow:none}.app-nav .tab.active:after{display:none}.page-heading{display:grid;gap:8px;margin-bottom:24px}.page-heading h1{max-width:720px;font-size:clamp(30px,7vw,40px);line-height:1.1;letter-spacing:-.025em}.page-heading p{max-width:620px;color:var(--text-muted);font-size:15px;line-height:22px}.eyebrow{color:var(--accent);font-size:12px;line-height:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.back-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-bottom:16px;border:0;color:var(--text-muted);background:transparent;cursor:pointer}.back-button:hover{color:var(--accent)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.welcome{display:grid;gap:32px;max-width:680px;margin:clamp(24px,8vh,80px) auto 0}.welcome-copy{display:grid;gap:16px;text-align:center}.welcome-copy h1{font-size:clamp(36px,9vw,56px);line-height:1.05;letter-spacing:-.035em}.welcome-copy p{max-width:560px;margin:auto;color:var(--text-muted);font-size:17px;line-height:26px}.welcome-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none}.welcome-features li{display:grid;gap:16px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.welcome-features p{margin-top:6px;color:var(--text-muted);font-size:12px;line-height:16px}.feature-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.welcome-actions{display:grid;gap:8px;width:min(100%,360px);margin:auto}.auth-layout{max-width:520px;margin:0 auto}.settings-page,.settings-stack,.wizard-stack,.monitor-stack{display:grid;gap:16px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-tile{position:relative;display:grid;grid-template-columns:40px 1fr auto;grid-template-rows:auto auto;align-items:center;gap:4px 12px;min-height:120px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);background:var(--bg-card);text-align:left;cursor:pointer}.settings-tile>.ui-icon:first-child{grid-row:1 / 3;align-self:start;width:24px;height:24px;padding:8px;box-sizing:content-box;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.settings-tile strong{align-self:end;font-size:17px}.settings-tile span{align-self:start;color:var(--text-muted);font-size:12px;line-height:16px}.settings-tile .tile-chevron{grid-column:3;grid-row:1 / 3;width:18px;color:var(--text-muted);background:none;padding:0}.settings-tile:hover{border-color:var(--accent);transform:translateY(-1px)}.settings-card{padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.settings-card h2{font-size:22px;line-height:28px}.settings-card p,.settings-note{color:var(--text-muted)}.settings-card .btn{margin-top:16px}.settings-row{display:grid;grid-template-columns:24px 1fr 20px;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 0;border:0;border-bottom:1px solid var(--border);color:var(--text);background:transparent;text-align:left;cursor:pointer}.settings-row:last-child{border-bottom:0}.settings-row span{display:grid;gap:2px}.settings-row small{color:var(--text-muted)}.account-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:16px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input)}.segmented button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-radius:10px;color:var(--text-muted);background:transparent;cursor:pointer}.segmented button[aria-pressed=true]{color:var(--accent);background:var(--bg-card);box-shadow:var(--shadow-sm)}.profile-identity{display:flex;align-items:center;gap:16px;margin-bottom:16px}.profile-identity>div{min-width:0;overflow-wrap:anywhere}.profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-heading .page-heading{min-width:0}.profile-settings{flex:0 0 auto;width:auto;min-height:44px;padding:8px 12px}.profile-identity .brand-logo{width:56px;height:56px;flex-basis:56px}.logout-section{display:grid;gap:8px;margin-top:24px}.confirmation{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:16px;padding:20px;border:1px solid var(--danger);border-radius:var(--radius-lg);background:var(--danger-soft)}.confirmation .settings-actions{grid-column:1 / -1}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.install-guide{display:grid;gap:12px}.install-guide ol{display:grid;gap:8px;padding-left:22px;color:var(--text-muted)}.layout-diagnostics{min-width:0;border-top:1px solid var(--border);padding-top:16px}.layout-diagnostics summary{min-height:44px;cursor:pointer;color:var(--accent)}.layout-diagnostics-report{max-height:240px;overflow:auto;margin-top:16px;padding:12px;border-radius:var(--radius);background:var(--bg-input);color:var(--text-muted);font-size:12px;line-height:18px;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.wizard{display:grid;gap:16px;max-width:720px;margin:auto}.wizard-progress-header{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:12px;line-height:16px}.wizard-progress-track{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.wizard-progress-track span{height:4px;border-radius:999px;background:var(--border)}.wizard-progress-track span.active{background:var(--accent)}.wizard-heading{margin-top:8px}.wizard-card{position:relative;display:grid;gap:20px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.route-summary{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius);color:var(--text);background:var(--accent-soft)}.route-summary>.ui-icon{color:var(--accent)}.route-summary span{display:grid;gap:2px}.route-summary small{color:var(--text-muted)}.input-with-icon{position:relative}.input-with-icon>.ui-icon{position:absolute;z-index:1;top:50%;left:14px;color:var(--text-muted);transform:translateY(-50%)}.input-with-icon .form-input{padding-left:44px;padding-right:44px}.input-clear{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:40px;height:40px}.field-hint{margin-top:6px;color:var(--text-muted);font-size:12px;line-height:16px}.suggestions{position:absolute;z-index:20;top:calc(100% - 8px);right:20px;left:20px;max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow)}.suggestions button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 14px;border:0;border-bottom:1px solid var(--border);color:var(--text);background:transparent;cursor:pointer}.suggestions button:hover,.suggestions button.is-active{background:var(--accent-soft)}.suggestions small{color:var(--text-muted)}.train-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto 20px;align-items:center;gap:12px;width:100%;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);background:var(--bg-card);text-align:left;cursor:pointer}.train-row:hover{border-color:var(--accent)}.train-row>.ui-icon:first-child{color:var(--accent)}.train-number,.train-info,.train-times{display:grid;gap:3px}.train-number small,.train-route,.train-times small{color:var(--text-muted);font-size:12px;line-height:16px}.train-times{text-align:right}.car-types{display:grid;gap:8px}.car-chip{display:grid;gap:6px;width:100%;min-height:76px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--bg-card);text-align:left;cursor:pointer}.car-chip:hover,.car-chip.selected{border-color:var(--accent);background:var(--accent-soft)}.car-chip.has-seats:not(.selected){border-color:var(--success-ink)}.car-chip-name{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700}.car-chip-info{color:var(--text-muted);font-size:12px;line-height:16px}.passenger-hint{margin:8px 0 0;color:var(--text-muted);font-size:12px;line-height:16px}.chosen{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-size:12px}.monitor-list{display:grid;gap:16px}.monitor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.monitor-toolbar>div{display:grid;gap:3px}.monitor-toolbar small{color:var(--text-muted)}.monitor-card{display:grid;gap:16px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.monitor-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.monitor-train{display:flex;align-items:center;gap:10px}.monitor-train>.ui-icon{color:var(--accent)}.monitor-train span{display:grid}.monitor-train small{color:var(--text-muted)}.monitor-train strong{font-size:20px}.monitor-card h2{font-size:22px;line-height:28px}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:12px;line-height:16px;font-weight:700}.status-found{color:var(--success-ink);background:var(--success-soft)}.status-error{color:var(--danger);background:var(--danger-soft)}.monitor-facts{display:flex;flex-wrap:wrap;gap:8px}.monitor-facts span{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:12px;line-height:16px}.monitor-facts .ui-icon{width:14px;height:14px}.monitor-meta{display:grid;gap:4px;color:var(--text-muted);font-size:12px;line-height:16px}.monitor-details{border-top:1px solid var(--border);padding-top:12px}.monitor-details summary{color:var(--accent);cursor:pointer}.monitor-details dl{display:grid;gap:8px;margin-top:12px}.monitor-details dl div{display:grid;gap:2px}.monitor-details dt{color:var(--text-muted);font-size:12px}.monitor-details dd{overflow-wrap:anywhere}.monitor-stop{justify-self:start;margin:0!important}.stop-all{justify-self:start}.message-info{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.message-success{color:var(--success-ink);border-color:var(--success-ink);background:var(--success-soft)}.message{align-items:flex-start}.message .text-button{margin-left:auto}.offline-notice{margin-bottom:16px}.empty-state h2{font-size:22px;line-height:28px}@media(max-width:767px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){html{--app-inline-padding: 16px}html:has(.app-ios-installed){--app-nav-gesture-space: 32px}html:has(.app-signed-in),body:has(.app-signed-in){background:var(--bg-card)}body:has(.app-signed-in){padding:0}.app.app-signed-in{position:static;max-width:none;width:100%;padding:0;overflow:visible;background:var(--bg)}.app-signed-in .app-header{position:sticky;top:0;margin:0;padding-inline:max(var(--app-inline-padding),env(safe-area-inset-left,0px)) max(var(--app-inline-padding),env(safe-area-inset-right,0px))}.app-signed-in .app-content{min-width:0;overflow:visible;padding:32px max(var(--app-inline-padding),env(safe-area-inset-right,0px)) calc(24px + var(--app-nav-height)) max(var(--app-inline-padding),env(safe-area-inset-left,0px))}.station-picker .suggestions{position:static;margin-top:16px}.app-header{grid-template-columns:minmax(0,1fr) auto}.header-controls{grid-column:2}.app-nav{position:fixed;bottom:0;left:0;right:0;z-index:90;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0 env(safe-area-inset-right,0px) var(--app-nav-bottom-space) env(safe-area-inset-left,0px);border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none}.app-nav .tab{flex-direction:column;min-width:0;min-height:var(--app-nav-row-height);gap:4px;padding:8px 2px;border-radius:12px 12px 0 0;font-size:12px;line-height:16px;white-space:nowrap}.app-nav .tab .ui-icon{width:24px;height:24px}.app-nav .tab,.app-nav .tab.active,.app-nav .tab:hover:not(.active){border:0;border-radius:0;background:transparent;box-shadow:none}.welcome{margin-top:16px}.welcome-features{grid-template-columns:1fr}.welcome-features li{grid-template-columns:40px 1fr}.settings-grid{grid-template-columns:1fr}.settings-tile{min-height:104px}.train-row{grid-template-columns:22px 1fr 18px}.train-times{grid-column:2;text-align:left}.monitor-card-head{align-items:flex-start}}@media(max-height:500px)and (orientation:landscape)and (pointer:coarse){html{--app-nav-row-height: 48px}html:has(.app-ios-installed){--app-nav-gesture-space: 24px}.app-signed-in .app-header{padding-block:calc(8px + var(--app-safe-top)) 8px;min-height:0}.app-signed-in .brand-logo{width:40px;height:40px;flex-basis:40px}.app-signed-in .app-header h1{display:none}.app-signed-in .app-content{padding-top:16px}.app-nav .tab{flex-direction:row;gap:8px;min-height:48px}}@media(max-width:389px){.header-controls{gap:4px}.segmented{grid-template-columns:1fr}.account-row{grid-template-columns:24px 1fr}.account-row .badge{grid-column:2;justify-self:start}.monitor-card-head{display:grid}}@media(max-width:767px),(max-height:500px)and (orientation:landscape)and (pointer:coarse){input,select,textarea,.form-input{font-size:16px}}.admin-panel,.admin-section{display:grid;gap:24px}.admin-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.admin-tabs .tab{min-width:0;justify-content:center}.admin-header,.admin-card-heading,.admin-feedback,.admin-actions,.proxy-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-header h3{font-size:22px;line-height:28px}.admin-feedback{flex-wrap:wrap}.admin-filters{display:flex;gap:8px}.btn-filter.is-selected{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.admin-user-card,.proxy-card{display:grid;gap:16px}.admin-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.admin-card-identity{flex:1;min-width:0}.admin-card-heading{justify-content:flex-start}.admin-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.admin-badge-blocked{color:var(--danger);background:var(--danger-soft)}.admin-user-handle{color:var(--text-muted);overflow-wrap:anywhere}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-detail-grid div{display:grid;gap:2px}.admin-detail-grid dt{color:var(--text-muted);font-size:12px;line-height:16px}.admin-detail-grid dd{overflow-wrap:anywhere}.admin-card-actions{justify-content:flex-start;flex-wrap:wrap}.admin-confirmation{padding:16px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft)}.admin-temp-password{align-items:flex-start}.admin-subs-wrap{display:grid;gap:10px;margin-top:12px}.admin-subs-label{color:var(--text-muted);font-size:12px;line-height:16px}.admin-subscriber-list{display:flex;flex-wrap:wrap;gap:8px}.admin-subscriber-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border:1px solid var(--border);border-radius:999px}.admin-subscriber-remove,.proxy-password-toggle{display:grid;place-items:center;min-width:36px;min-height:36px;color:var(--text-muted)}.admin-subscriber-add{display:flex;gap:8px}.admin-subscriber-input{max-width:240px}.admin-subs-error{color:var(--danger);font-size:12px;line-height:16px}.confirm-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.confirm-copy{display:grid;max-width:280px;gap:2px}.confirm-copy small{color:var(--text-muted);font-size:12px;line-height:16px}.subscriber-confirm{display:inline-flex;gap:2px}.subscriber-confirm .admin-subscriber-remove{width:auto;padding:0 7px}.confirm-remove{color:var(--danger)}.proxy-fields{display:grid;gap:16px}.proxy-endpoint{display:grid;grid-template-columns:128px minmax(0,1fr);gap:12px}.proxy-credentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.proxy-password-wrap{position:relative}.proxy-password-wrap .form-input{padding-right:48px}.proxy-password-toggle{position:absolute;top:5px;right:5px}.proxy-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.proxy-test-result{display:grid;gap:8px;padding:16px;border:1px solid var(--border);border-radius:var(--radius)}.proxy-test-ok{border-color:var(--success-ink);background:var(--success-soft)}.proxy-test-fail{border-color:var(--danger);background:var(--danger-soft)}.proxy-test-detail{color:var(--text-muted);font-size:12px;line-height:16px}.proxy-test-break{overflow-wrap:anywhere}.proxy-clear{align-self:flex-start}.admin-proxy-loading{padding:12px}.card-header>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.confirm-label{color:var(--warning);font-size:12px;line-height:16px}@media(max-width:639px){.admin-tabs .tab{flex-direction:column;font-size:12px;line-height:16px}.admin-header{align-items:flex-start;flex-wrap:wrap}.admin-detail-grid,.proxy-endpoint,.proxy-credentials{grid-template-columns:1fr}.admin-subscriber-add{align-items:stretch;flex-direction:column}.admin-subscriber-input{max-width:none}}
