.flight-nav{display:flex;gap:6px;overflow:auto;padding:6px;background:var(--surface,#fff);border:1px solid var(--line,#e4e5e9);border-radius:16px;margin-bottom:24px;scrollbar-width:none}.flight-nav a{flex:1;white-space:nowrap;text-align:center;text-decoration:none;padding:10px 15px;border-radius:11px;font-size:13px;color:var(--muted,#6e7079)}.flight-nav a.selected{background:var(--ink,#202124);color:var(--surface,#fff)}.flight-group{margin:24px 0}.flight-group h2{font-size:17px;margin:0 0 12px}.flight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.flight-card{margin:0!important;padding:22px!important;min-width:0}.flight-card header{display:flex;align-items:center;gap:12px}.flight-card header>div:nth-child(2){flex:1;min-width:0}.flight-card h3{font-size:16px;margin:0 0 5px}.flight-card small,.flight-task small{color:var(--muted,#6e7079);font-size:12px}.flight-card p{line-height:1.6;font-size:13px;color:var(--muted,#6e7079);margin:16px 0 8px}.flight-card-icon{width:40px;height:40px;flex:none;border-radius:12px;background:var(--bg,#f5f5f7);display:grid;place-items:center;color:var(--ink,#202124);font-weight:650}.flight-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.flight-toolbar p{font-size:13px;color:var(--muted,#6e7079);margin:0}.flight-toolbar>div:last-child{display:flex;gap:8px}.flight-toolbar>div:first-child{display:block}.flight-toolbar h2{font-size:18px;margin:0 0 8px}.flight-task{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line,#e4e5e9);font-size:13px}.flight-task strong{font-size:13px;overflow-wrap:anywhere}.flight-task small{display:block;margin-top:6px}.flight-task>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.flight-task .button{padding:7px 10px;font-size:12px;min-height:34px}.flight-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.flight-form label{display:flex;flex-direction:column;align-items:stretch;gap:8px;font-size:13px;min-width:0}.flight-form input,.flight-form select,.flight-form textarea{width:100%;max-width:100%;box-sizing:border-box;font-size:15px}.flight-form .flight-check,.flight-check{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}.flight-check input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:#1477df}.flight-form fieldset{margin:0;padding:18px;border:1px solid var(--line,#e4e5e9);border-radius:14px;display:grid;gap:16px;min-width:0}.flight-form legend{padding:0 7px;font-size:14px;font-weight:650}.flight-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.flight-form-actions{display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:-24px;padding:16px 0;background:var(--surface,#fff);border-top:1px solid var(--line,#e4e5e9)}.flight-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.flight-metrics div{padding:14px;background:var(--bg,#f5f5f7);border-radius:14px;min-width:0}.flight-metrics small{font-size:12px;color:var(--muted,#6e7079)}.flight-metrics strong{display:block;margin-top:8px;font-size:24px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.flight-qr{text-align:center}.flight-qr img{display:block;max-width:280px;width:100%;height:auto;margin:12px auto;background:white}.flight-qr p{font-size:13px;color:var(--muted,#6e7079)}.flight-code{display:block;font-size:36px;letter-spacing:.2em;font-weight:700;padding:24px;text-align:center}.flight-live-status{border-top:1px solid var(--line,#e4e5e9);padding-top:18px;margin-top:22px}.flight-live-status h3{font-size:15px}.flight-login{text-align:center;padding:40px!important}.flight-form textarea{resize:vertical;min-height:85px}#flight-algo-results{display:flex;flex-wrap:wrap;gap:6px}#flight-content>.panel{margin-bottom:18px}body[data-page=flight] #modal{max-width:850px}body[data-page=flight] #modal .data-table td{white-space:nowrap}.flight-card .danger,.flight-task .danger{color:#b72e37}@media(max-width:650px){.flight-grid{grid-template-columns:1fr;gap:12px}.flight-card{padding:18px!important}.flight-nav{margin:0 -4px 18px;border-radius:14px}.flight-nav a{padding:11px 13px;flex:none}.flight-fields{gap:12px}.flight-form fieldset{padding:14px}.flight-task{flex-wrap:wrap}.flight-metrics{gap:7px}.flight-metrics div{padding:11px}.flight-metrics strong{font-size:20px}.flight-toolbar .button{font-size:12px;padding:8px 10px}.flight-form-actions .button{min-height:42px}.flight-form input,.flight-form textarea,.flight-form select{font-size:16px}body[data-page=flight] .page-subtitle{max-width:245px}}@media(prefers-reduced-motion:reduce){.flight-nav,.flight-card{transition:none}}
.flight-message{white-space:pre-wrap;min-width:180px;max-width:500px;overflow-wrap:anywhere;line-height:1.65}

.flight-odds-changed{border-color:#d09836!important;background:#fff4d8!important;color:#382605!important}
.flight-login-methods{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg);border-radius:12px;margin:0 0 24px}.flight-login-methods button{padding:10px;border:0;background:transparent;border-radius:9px;font-size:14px;color:var(--muted);min-height:44px}.flight-login-methods button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px #00000012;font-weight:600}.flight-login-steps{max-width:310px;margin:22px auto;padding-left:24px;line-height:2.1;color:var(--muted);font-size:13px}.flight-login-hint{font-size:12px;line-height:1.7;color:var(--muted);text-align:center;min-height:21px}.flight-login-submit{width:100%;min-height:45px;font-size:14px}.flight-phone-number{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}.flight-login-form{gap:20px;padding:6px 0}.flight-login-description{font-size:14px;color:var(--muted);line-height:1.7}.flight-qr-placeholder{height:280px;max-width:280px;margin:0 auto;display:grid;place-items:center;background:var(--bg);border-radius:16px;color:var(--muted);font-size:13px}.flight-login-dialog .modal-head{margin-bottom:20px}.flight-login-dialog:has(.flight-login-methods){max-width:490px!important}@media(max-width:420px){.flight-phone-number{grid-template-columns:130px minmax(0,1fr)}.flight-login-form input,.flight-login-form select{min-width:0}.flight-login-steps{font-size:12px}.flight-qr img{max-width:250px}.flight-qr-placeholder{height:250px}}

.flight-account-tabs{display:flex;gap:6px;overflow:auto;align-items:center;margin:0 0 20px;padding:3px;scrollbar-width:none}.flight-account-tabs button,.flight-account-tabs a{white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;padding:11px 14px;min-height:44px;text-decoration:none;font-size:13px}.flight-account-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--ink);font-weight:600}.flight-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 20px}.flight-filter input{flex:1;min-width:180px;max-width:320px}.flight-filter .selected{background:var(--ink);color:var(--surface)}.flight-card[hidden],.flight-group[hidden],.flight-card-body[hidden]{display:none!important}.flight-card header{flex-wrap:wrap}.flight-card header .button{font-size:12px;padding:7px 10px;min-height:36px}.flight-card-body .flight-task>div:first-child{min-width:0;flex:1}@media(max-width:650px){.flight-filter .button{min-height:40px;padding:8px 11px}.flight-filter input{min-width:0;width:100%;max-width:none;flex-basis:100%}.flight-card header .button{min-height:40px}}

@media(max-width:480px){.flight-metrics{grid-template-columns:1fr}.flight-metrics div{display:flex;align-items:center;justify-content:space-between;gap:12px}.flight-metrics small{min-width:0}.flight-metrics strong{margin:0;flex:none;white-space:nowrap;overflow-wrap:normal}}

.flight-form fieldset[hidden],.flight-form label[hidden]{display:none!important}

.flight-page-alerts{margin-bottom:20px;padding:20px!important;min-width:0}.flight-alert-header,.flight-alert-subtitle,.flight-alert-title,.flight-alert-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.flight-alert-header h2{font-size:17px;margin:0}.flight-alert-header .flight-check{min-height:44px;font-size:12px}.flight-alert-subtitle{font-size:12px;color:var(--muted);margin-bottom:14px}.flight-alert-subtitle .text-button{font-size:12px;min-height:36px}.flight-alert-card{border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:14px;padding:16px;background:var(--surface);min-width:0}.flight-alert-card.win{border-left-color:#238258}.flight-alert-card.loss{border-left-color:#c33e45}.flight-alert-card.push{border-left-color:#4b78a5}.flight-alert-title>div{display:flex;gap:10px;align-items:center}.flight-alert-title strong{font-size:14px;font-variant-numeric:tabular-nums}.flight-alert-mode{font-size:11px;color:var(--muted);background:var(--bg);border-radius:6px;padding:4px 7px}.flight-alert-outcome{font-size:13px;font-weight:650;padding:5px 10px;border-radius:8px;color:var(--ink);background:var(--bg)}.win .flight-alert-outcome{color:#237149;background:#23825814}.loss .flight-alert-outcome{color:#b63b42;background:#c33e4514}.push .flight-alert-outcome{color:#356b9e;background:#4b78a514}.flight-alert-name{font-size:14px;font-weight:600;margin:12px 0;overflow-wrap:anywhere}.flight-alert-name small{font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}.flight-alert-stats{display:flex;gap:10px 18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.flight-alert-stats b{color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}.flight-alert-draw{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0;overflow-wrap:anywhere}.flight-alert-meta{font-size:11px;color:var(--muted);padding-top:10px;border-top:1px solid var(--line)}.flight-alert-error{font-size:12px;color:#c33e45;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}.flight-alert-history>summary{cursor:pointer;min-height:44px;align-content:center;margin-top:8px;font-size:12px;color:var(--muted)}.flight-alert-list{display:grid;gap:10px;margin-top:8px}html[data-theme=dark] .flight-alert-outcome{color:var(--ink)}@media(max-width:480px){.flight-page-alerts{padding:16px!important}.flight-alert-card{padding:14px}.flight-alert-header{gap:4px}.flight-alert-meta{align-items:flex-start}.flight-alert-stats{gap:10px 14px}}

.flight-form [hidden]{display:none!important}.flight-money-preview{margin:14px 0 0;padding:12px 14px;border-left:3px solid var(--teal);background:var(--surface-soft);border-radius:0 8px 8px 0;color:var(--ink);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.flight-form [data-lane] legend{font-weight:650}.flight-form [data-lane-fields]{margin-top:12px}

.flight-plan{display:grid;gap:12px;min-width:0}.flight-plan>strong{font-size:13px;font-weight:600}.flight-plan>p{margin:0}.flight-plan [data-plan-rows]{display:grid;gap:12px}.flight-plan-row{display:flex;gap:10px;align-items:end}.flight-plan-row label{flex:1;min-width:0}.flight-plan>button{justify-self:start}.flight-plan-row>button{min-height:44px;flex:none}.flight-plan input{min-width:0}@media(max-width:480px){.flight-form .flight-fields{grid-template-columns:1fr}.flight-plan-row{flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.flight-plan-row label{flex:1 1 80px}.flight-plan-row>button{padding:10px}}

/* Setup guide: the four steps to a first run with the next one highlighted; a status bar while a session runs. */
.flight-guide{padding:16px}
.flight-guide-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.flight-guide-head h2{margin:0;font-size:18px}
.flight-guide-head span{font-size:12px;color:var(--muted)}
.flight-guide ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.flight-guide li{min-width:0}
.flight-guide li a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;height:100%;box-sizing:border-box;padding:12px;border-radius:14px;background:var(--surface-soft);color:var(--ink);text-decoration:none;font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.flight-guide li b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--muted);font-size:13px}
.flight-guide li.done b{background:#16a85d;color:#fff}
.flight-guide li.done span{color:var(--muted)}
.flight-guide li.next a{background:var(--teal-soft,#eaf0ff);box-shadow:inset 0 0 0 1.5px var(--blue,#2f6bff)}
.flight-guide li.next b{background:var(--blue,#2f6bff);color:#fff}
.flight-guide li em{font-style:normal;font-size:12px;color:var(--blue,#2f6bff)}
.flight-guide .data-note{margin:10px 2px 0}
.flight-guide.running{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.flight-guide.running p{margin:0;flex:1;min-width:0;font-size:13px}
.flight-guide.running a{font-weight:700;color:var(--blue,#2f6bff);text-decoration:none}
@media (max-width:740px){.flight-guide ol{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Strategies: the user's own list first, a compact catalogue, rarely used tools folded away. */
.flight-mine{padding:16px}
.flight-mine .flight-task:first-of-type{border-top:0}
.flight-search{width:100%;margin:0 0 16px}
.flight-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.flight-card .flight-card-desc{margin:10px 0 0}
.flight-more,.flight-advanced{margin:16px 0;border-radius:14px;background:var(--surface,#fff)}
.flight-more{padding:14px 16px}
.flight-more>div{display:flex;gap:8px;flex-wrap:wrap}
.flight-more summary,.flight-advanced summary{cursor:pointer;font-weight:700;color:var(--muted,#6e7079);min-height:28px;display:flex;align-items:center}
.flight-advanced{padding:4px 0}
.flight-advanced[open] summary{margin-bottom:4px}
@media(max-width:740px){
  .flight-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-bottom:12px}
  .flight-filter::-webkit-scrollbar{display:none}
  .flight-filter .button{flex:none}
  .flight-card{padding:14px!important}
  .flight-card header{gap:10px}
  .flight-card header .button{padding:7px 12px;min-height:38px}
}
/* Run numbers sit in a compact two-column grid on phones instead of six full-width rows. */
@media(max-width:480px){
  .flight-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flight-metrics div{display:block}
  .flight-metrics strong{font-size:18px;margin-top:4px}
}

/* Betting windows: each bot is a card of its own, the main one outlined, states as coloured badges. */
.flight-windows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.flight-window{padding:14px;border-radius:16px;background:var(--surface,#fff);box-shadow:inset 0 0 0 1px var(--line,#e4e5e9)}
.flight-window.main{box-shadow:inset 0 0 0 2px var(--blue,#2f6bff),0 8px 20px -12px rgba(47,107,255,.6)}
.flight-window.off{opacity:.7}
.flight-window-head{display:flex;align-items:center;gap:12px}
.flight-window-head>div{flex:1;min-width:0}
.flight-window-head strong{display:block;font-size:16px;font-weight:800;overflow-wrap:anywhere}
.flight-window-head small{display:block;margin-top:2px;font-size:12px;color:var(--muted,#6e7079);overflow-wrap:anywhere}
.flight-window-icon{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;background:linear-gradient(150deg,#6a97ff,#2459f0 60%,#1a44c9)}
.flight-window-main{flex:none;padding:4px 10px;border-radius:99px;background:var(--blue,#2f6bff);color:#fff;font-size:12px;font-weight:800}
.flight-window-badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.flight-window-badges span{padding:3px 9px;border-radius:8px;background:var(--surface-soft,#f2f4f9);color:var(--muted,#6e7079);font-size:12px;font-weight:700}
.flight-window-badges .ok{background:#e3f7ed;color:#138049}
.flight-window-badges .warn{background:#fff3e0;color:#b45c00}
.flight-window-actions{display:flex;gap:8px;flex-wrap:wrap}
.flight-window-actions .button{min-height:38px;padding:7px 12px}
/* The start page's bot connection is where a live run is launched, so it gets the same outline. */
.flight-live-status{margin-top:16px;padding:14px;border-radius:16px;box-shadow:inset 0 0 0 2px var(--blue,#2f6bff);background:var(--teal-soft,#eaf0ff)}
@media(max-width:740px){.flight-windows{grid-template-columns:1fr}}
