*{box-sizing:border-box}:root{--bg: #0e1117;--bg-card: #161b26;--bg-inset: #0d1320;--border: #2a3040;--text: #e6e9ef;--text-dim: #8b949e;--accent: #22d3ee;--accent-dim: #0e7490;--ok: #4ade80;--warn: #fbbf24;--err: #f87171}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}#root{min-height:100vh;display:flex;flex-direction:column}.shell{max-width:1200px;margin:0 auto;padding:0 24px 40px;width:100%;flex:1}.topbar{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:18px;flex-wrap:wrap}.topbar .logo{font-weight:700;font-size:17px;letter-spacing:.3px}.topbar .logo span{color:var(--accent)}.topbar .sub{color:var(--text-dim);font-size:13px}.topbar .spacer{flex:1}.topbar .pilot{color:var(--text-dim);font-size:13px}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tabs button{background:var(--bg-card);color:var(--text-dim);border:1px solid var(--border);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:14px}.tabs button.active{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:600}.tabs button:hover:not(.active){color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:16px}.card h2{margin:0 0 8px;font-size:17px}.card h3{margin:14px 0 6px;font-size:15px}.card p.dim,.dim{color:var(--text-dim)}.small{font-size:13px}button.primary{background:var(--accent);color:#06222a;border:none;font-weight:700;padding:10px 18px;border-radius:8px;cursor:pointer;font-size:15px}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13.5px}button.ghost:hover{color:var(--text)}button.danger{border-color:#7f1d1d;color:var(--err)}input[type=password],input[type=text]{background:var(--bg-inset);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:8px;font-size:15px;width:100%}input:focus{outline:1px solid var(--accent-dim)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid currentColor}table.list{width:100%;border-collapse:collapse;font-size:14px}table.list th{text-align:left;color:var(--text-dim);font-weight:600;font-size:12.5px;padding:6px 8px;border-bottom:1px solid var(--border)}table.list td{padding:8px;border-bottom:1px solid #1d2330;vertical-align:top}table.list tr.click{cursor:pointer}table.list tr.click:hover td{background:#1a2130}.ovh-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:2px}.ovh-count{color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums}.ovh-group{margin-top:22px}.ovh-group:first-of-type{margin-top:14px}.ovh-group-title{display:flex;align-items:center;gap:10px;padding-bottom:8px;margin-bottom:2px}table.grid{width:100%;border-collapse:collapse;font-size:14px}table.grid th{text-align:left;color:var(--text-dim);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:8px 14px;border-bottom:1px solid var(--border);white-space:nowrap}table.grid td{padding:11px 14px;border-bottom:1px solid #1c2230;vertical-align:middle}table.grid tbody tr{transition:background .12s ease}table.grid tbody tr:hover td{background:#1a2131}table.grid tbody tr:last-child td{border-bottom:none}.ac-name{font-weight:600;color:var(--text)}.ta-r{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.aircraft-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.aircraft-pick .plane{background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;text-align:left}.aircraft-pick .plane:hover{border-color:var(--accent-dim)}.aircraft-pick .plane .t{font-weight:600;margin-bottom:2px}.aircraft-pick .plane .c{color:var(--text-dim);font-size:12.5px}.filelist{max-height:300px;overflow:auto;background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin:10px 0}.filelist .row{display:flex;justify-content:space-between;gap:12px;padding:1.5px 0}.filelist .row .p{word-break:break-all}.filelist .row .s{color:var(--text-dim);white-space:nowrap}.notice{border-left:3px solid var(--accent-dim);background:var(--bg-inset);padding:10px 14px;border-radius:0 8px 8px 0;margin:10px 0;font-size:13.5px}.notice.warn{border-left-color:var(--warn)}.notice.err{border-left-color:var(--err)}.progress{height:8px;border-radius:4px;background:var(--bg-inset);border:1px solid var(--border);overflow:hidden;margin:8px 0}.progress>div{height:100%;background:var(--accent);transition:width .15s}.footer{border-top:1px solid var(--border);color:var(--text-dim);font-size:12.5px;padding:14px 16px 22px;text-align:center}.footer a{color:var(--text-dim)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:20;overflow:auto}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;max-width:760px;width:100%;padding:20px}.kv{display:grid;grid-template-columns:170px 1fr;gap:3px 12px;font-size:14px}.kv .k{color:var(--text-dim)}details.lvars{margin-top:8px}details.lvars summary{cursor:pointer;color:var(--accent);font-size:13.5px}@media(max-width:560px){.kv{grid-template-columns:1fr}.kv .k{margin-top:6px}}
