:root{--bg:#0f1115;--panel:#171a21;--panel-2:#1e222b;--border:#2a2f3a;--text:#e6e8ee;--muted:#8a90a0;--accent:#ff8c1a;--accent-ink:#1a1204;--good:#3ec48a;--bad:#ef6461;--line:#ff8c1a;--best:#6aa8ff;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:14px/1.45 Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}h1,h2{margin:0}h2{margin-bottom:12px;font-size:15px;font-weight:600}input,select{background:var(--panel-2);border:1px solid var(--border);border-radius:7px;min-width:0;padding:8px 10px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}input.invalid{border-color:var(--bad)}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--bad)}.flash{color:var(--good);margin:8px 0 0}.label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;display:block}.btn{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn--ghost{background:0 0}.btn.small{padding:5px 10px}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 7px}.icon-btn:hover{border-color:var(--border);color:var(--text)}.icon-btn.danger:hover{color:var(--bad)}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{background:var(--panel-2);cursor:pointer;color:var(--muted);border:none;padding:8px 18px}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.segmented.small button{padding:6px 10px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;color:var(--muted);border-radius:999px;padding:5px 12px}.chip.active{border-color:var(--accent);color:var(--accent)}.auth-screen{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;gap:12px;width:min(360px,100%);padding:28px;display:flex}.auth-box p{margin:0}.topbar{border-bottom:1px solid var(--border);background:var(--panel);z-index:10;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.topbar h1{flex:1;font-size:17px}.logo{color:var(--accent)}.hub-btn{color:var(--muted);border:1px solid var(--border);border-radius:7px;padding:4px 10px;text-decoration:none}.topbar-right{align-items:center;gap:10px;display:flex}.layout{grid-template-columns:340px minmax(0,1fr);gap:20px;max-width:1600px;margin:0 auto;padding:20px;display:grid}.layout aside{align-self:start;position:sticky;top:76px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.panel-head h2{margin:0}.row{align-items:flex-end;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1}.field{flex-direction:column;gap:4px;min-width:0;margin-bottom:12px;display:flex}.row .field{margin-bottom:0}.entry .row{margin-bottom:12px}.entry .row .field input{width:100%}.entry .row label.field:first-child:not(.grow){width:80px}.topbar h1 .small{font-weight:400}.statusline{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px 18px;padding:6px 20px;display:flex}.layout{grid-template-columns:300px minmax(0,1fr)}.layout aside{top:16px}.content{min-width:0}.stack,.flight{flex-direction:column;gap:14px;display:flex}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.journal-pill{border:1px solid var(--border);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:420px;padding:4px 12px;font-size:12px;overflow:hidden}.journal-pill.ok{color:var(--good)}.journal-pill.warn{color:#f2c94c}.journal-pill.bad{color:var(--bad)}.badge{background:var(--panel-2);color:var(--muted);vertical-align:middle;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.ok{color:var(--good);background:#1d3b2c}.badge.bad{color:var(--bad);background:#3b1d1d}.good{color:var(--good)}.bad{color:var(--bad)}.warn-text{color:#f2c94c}.right{text-align:right}.sidebar{flex-direction:column;gap:16px;display:flex}.sidebar-group{flex-direction:column;gap:6px;display:flex}.site-entry{text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.site-entry:hover{border-color:var(--muted)}.site-entry.active{border-color:var(--accent)}.site-entry.mine{border-left:3px solid var(--accent)}.site-entry-head{justify-content:space-between;gap:8px;font-weight:600;display:flex}.site-pct{color:var(--accent);font-variant-numeric:tabular-nums}.mini-bar,.progress{background:#0b0d10;border-radius:3px;height:5px;overflow:hidden}.mini-bar>div,.progress>div{background:var(--accent);height:100%;transition:width .4s}.progress{height:10px;margin:14px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:6px 8px}th:first-child,td:first-child{text-align:left;white-space:normal}th{color:var(--muted);font-size:12px;font-weight:500}td.open{color:var(--accent);font-weight:600}tr.done td{color:#4d535e;font-weight:400}tfoot td{border-bottom:0;padding-top:10px;font-weight:600}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpis b{font-variant-numeric:tabular-nums;font-size:18px}.site-heading{margin-bottom:2px;font-size:18px}.stop-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.stop-card.big{border-color:var(--accent);padding:18px 20px}.stop-card.docked{box-shadow:0 0 0 1px var(--good) inset}.stop-card.target{border-style:dashed}.stop-head{justify-content:space-between;gap:10px;display:flex}.stop-station{font-size:15px;font-weight:600}.stop-card.big .stop-station{font-size:22px}.stop-system{color:var(--muted)}.stop-card.big .stop-system{font-size:16px}.buy-list{flex-direction:column;gap:4px;margin:10px 0 0;padding:0;list-style:none;display:flex}.buy-list li{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:flex}.stop-card.big .buy-list li{font-size:17px}.check{color:var(--muted)}.icon-btn.copy{padding:0 5px}.trip-stops{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.market-table td{vertical-align:top}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;display:grid}.field.checkbox{flex-direction:row;align-items:center;gap:8px}ul.plain{margin:0;padding:0;list-style:none}.notices{z-index:50;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.notice{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:10px 14px;box-shadow:0 6px 24px #0006}.notice.ok{border-left-color:var(--good)}.notice.warn{border-left-color:#f2c94c}.app.compact{max-width:900px;margin:0 auto;padding:16px;font-size:17px}.compact-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.app.compact .stop-card.big .stop-station{font-size:30px}.app.compact .stop-card.big .buy-list li{font-size:22px}@media (width<=900px){.layout{grid-template-columns:minmax(0,1fr);padding:12px}.layout aside{position:static}.kpis,.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-wrap:wrap;padding:10px 12px}}
