.toast-enter-from[data-v-ee8d4a25],.toast-leave-to[data-v-ee8d4a25]{opacity:0;transform:translateY(8px)}.toast-enter-active[data-v-ee8d4a25],.toast-leave-active[data-v-ee8d4a25]{transition:all .25s}.dev-badge[data-v-09fc0d5a]{position:fixed;top:8px;right:8px;z-index:999;background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border);border-radius:6px;padding:3px 8px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.06em;display:flex;align-items:center;gap:4px;pointer-events:auto}.dev-badge i[data-v-09fc0d5a]{font-size:11px}:root{--bg: #0a0a0a;--surface: #141414;--surface2: #1c1c1c;--surface3: #222222;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.13);--border3: rgba(255,255,255,.2);--accent: #e8f45a;--accent-dim: rgba(232,244,90,.1);--accent-dim2: rgba(232,244,90,.05);--accent-text: #2a2e0a;--text: #f0f0ee;--muted: #888884;--muted2: #555552;--muted3: #3a3a38;--success: #4ae6a0;--success-bg: rgba(74,230,160,.08);--success-border: rgba(74,230,160,.2);--danger: #ff5c5c;--danger-bg: rgba(255,92,92,.08);--danger-border: rgba(255,92,92,.2);--warning: #f0a030;--warning-bg: rgba(240,160,48,.08);--warning-border: rgba(240,160,48,.2);--info: #60a8f0;--info-bg: rgba(96,168,240,.08);--info-border: rgba(96,168,240,.2);--purple: #9f8fef;--purple-bg: rgba(159,143,239,.08);--purple-border: rgba(159,143,239,.2);--mono: "DM Mono", ui-monospace, Menlo, monospace;--display: "Syne", system-ui, sans-serif;--body: "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--body);font-weight:400;line-height:1.5;font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit}input,select,textarea{font-family:var(--body);color:var(--text)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--muted3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted2)}::selection{background:var(--accent-dim);color:var(--text)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-title{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.02em}.page-sub{font-size:12px;color:var(--muted);margin-top:3px;font-family:var(--mono);letter-spacing:.03em}.header-actions{display:flex;gap:8px;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;font-family:var(--body);padding:8px 16px;border-radius:8px;border:1px solid var(--border2);background:transparent;color:var(--text);transition:all .12s;white-space:nowrap;font-weight:400}.btn:hover{background:var(--surface2);border-color:var(--border3)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn i{font-size:15px}.btn-accent{background:var(--accent);border-color:#c8d44a;color:var(--accent-text);font-weight:500}.btn-accent:hover{background:#d4e050;color:var(--accent-text)}.btn-ghost{border-color:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--text);background:var(--surface2)}.btn-sm{padding:5px 10px;font-size:11px}.btn-sm i{font-size:13px}.btn-success{border-color:var(--success-border);color:var(--success)}.btn-success:hover{background:var(--success-bg)}.btn-danger{border-color:var(--danger-border);color:var(--danger)}.btn-danger:hover{background:var(--danger-bg)}.btn-info{border-color:var(--info-border);color:var(--info)}.btn-info:hover{background:var(--info-bg)}.btn-warning{border-color:var(--warning-border);color:var(--warning)}.btn-warning:hover{background:var(--warning-bg)}.metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.metric-label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.metric-val{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1}.metric-sub{font-size:11px;color:var(--muted);margin-top:5px;font-family:var(--mono)}.metric-up{color:var(--success)}.metric-warn{color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px}.card-header{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--border);background:var(--surface2)}.card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}.card-title i{font-size:16px;color:var(--muted)}.card-body{padding:16px 18px}table{width:100%;border-collapse:collapse}thead th{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--muted);text-align:left;padding:10px 16px;background:var(--surface2);border-bottom:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}tbody td{padding:11px 16px;border-bottom:1px solid var(--border);font-size:12px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface2);transition:background .1s}td .route-main{font-weight:500;font-size:13px}td .route-sub{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:2px}td .price-main{font-family:var(--display);font-size:15px;font-weight:700;color:var(--accent)}td .price-old{font-family:var(--mono);font-size:10px;color:var(--muted2);text-decoration:line-through;margin-top:1px}.pill{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;font-weight:500;padding:3px 9px;border-radius:20px;border:1px solid;letter-spacing:.03em;white-space:nowrap}.pill-new{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.pill-pub{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.pill-skip{background:#ffffff0a;color:var(--muted);border-color:var(--border2)}.pill-exp{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.pill-hot{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.pill-free{background:#ffffff0a;color:var(--muted);border-color:var(--border2)}.pill-pro{background:var(--accent-dim);color:var(--accent);border-color:#e8f45a40}.pill-prog{background:var(--purple-bg);color:var(--purple);border-color:var(--purple-border)}.score-wrap{display:flex;align-items:center;gap:8px}.score-bg{flex:1;height:4px;border-radius:2px;background:var(--surface3)}.score-fill{height:4px;border-radius:2px}.fill-a{background:var(--success)}.fill-b{background:var(--warning)}.fill-c{background:var(--danger)}.score-num{font-family:var(--mono);font-size:11px;font-weight:500;min-width:24px;text-align:right}.score-a{color:var(--success)}.score-b{color:var(--warning)}.score-c{color:var(--danger)}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:500;flex-shrink:0}.av-blue{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.av-amber{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.av-green{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.av-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.av-accent{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(232,244,90,.2)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);display:inline-block;animation:fd-blink 1.6s ease-in-out infinite;flex-shrink:0}@keyframes fd-blink{0%,to{opacity:1}50%{opacity:.25}}.bar-chart{padding:16px 18px}.bar-row{margin-bottom:12px}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.bar-label .dest-name{font-weight:500}.bar-label .dest-count{font-family:var(--mono);font-size:10px;color:var(--muted)}.bar-bg{height:5px;border-radius:3px;background:var(--surface3)}.bar-fill{height:5px;border-radius:3px;transition:width .4s ease}.bar-fill-1{background:var(--accent)}.bar-fill-2{background:var(--purple)}.bar-fill-3{background:var(--info)}.form-group{margin-bottom:14px}.form-label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;display:block}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;padding:9px 12px;background:var(--surface2);border:1px solid var(--border2);border-radius:8px;font-size:13px;color:var(--text);font-family:var(--body);outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:#e8f45a59}input::placeholder,textarea::placeholder{color:var(--muted2)}textarea{min-height:80px;resize:vertical}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888884' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.filters-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.filters-row select{width:auto}.filter-sep{font-family:var(--mono);font-size:10px;color:var(--muted2);padding:0 4px}.filter-count{font-family:var(--mono);font-size:10px;color:var(--muted)}.toast{position:fixed;bottom:24px;right:24px;background:var(--surface);border:1px solid var(--border2);border-radius:10px;padding:12px 18px;font-size:13px;font-weight:500;color:var(--text);box-shadow:0 8px 32px #0006;opacity:0;transform:translateY(8px);transition:all .25s;z-index:9999;display:flex;align-items:center;gap:8px;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.toast i{color:var(--success);font-size:16px}.toast.toast-error i{color:var(--danger)}.check-list{display:flex;flex-direction:column;gap:8px}.check-item{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.check-item i{color:var(--success);font-size:14px;flex-shrink:0}.urgency-indicator{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--danger);letter-spacing:.03em}.urgency-indicator:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--danger);display:inline-block;animation:fd-blink 1.2s ease-in-out infinite}
