:root{--bg:#eef1f0;--bg-alt:#e3e9e8;--surface:#fff;--surface-2:#f7f9f8;--border:#0f192021;--border-strong:#0f19203d;--ink:#10151b;--ink-2:#4c5a63;--ink-3:#83919a;--accent:#17475f;--accent-ink:#fff;--accent-soft:#dce8ed;--accent-soft-ink:#0f3245;--vfr:#2f80a8;--vfr-bg:#dcebf2;--vfr-ink:#123e52;--ifr:#3a4170;--ifr-bg:#e3e4f0;--ifr-ink:#1e2340;--both:#2a7a6b;--both-bg:#dceee9;--both-ink:#0f4238;--ok:#2f7d3b;--ok-bg:#e1efde;--ok-ink:#1d4b24;--warn:#b4740e;--warn-bg:#fbebd2;--warn-ink:#6b4308;--bad:#b23a2e;--bad-bg:#f8e1dd;--bad-ink:#6e241c;--font-sans:-apple-system, "Segoe UI", "Segoe UI Variable", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SF Mono", Consolas, "Roboto Mono", monospace}@media (prefers-color-scheme:dark){:root:not([data-mode=day]){--bg:#0f1116;--bg-alt:#14171d;--surface:#171a21;--surface-2:#1d2129;--border:#ffffff14;--border-strong:#ffffff29;--ink:#f2f3f5;--ink-2:#9198a8;--ink-3:#6b7280;--accent:#4f8fe8;--accent-ink:#fff;--accent-soft:#4f8fe82e;--accent-soft-ink:#9dbef5;--vfr:#38bdf8;--vfr-bg:#38bdf82e;--vfr-ink:#8fd9fb;--ifr:#8b6cf7;--ifr-bg:#8b6cf72e;--ifr-ink:#bba6fb;--both:#22b8cf;--both-bg:#22b8cf2e;--both-ink:#7edce8;--ok:#4caf50;--ok-bg:#4caf502e;--ok-ink:#8fd592;--warn:#f5a623;--warn-bg:#f5a6232e;--warn-ink:#e8a23e;--bad:#e5484d;--bad-bg:#e5484d2e;--bad-ink:#f19195}}:root[data-mode=night]{--bg:#0f1116;--bg-alt:#14171d;--surface:#171a21;--surface-2:#1d2129;--border:#ffffff14;--border-strong:#ffffff29;--ink:#f2f3f5;--ink-2:#9198a8;--ink-3:#6b7280;--accent:#4f8fe8;--accent-ink:#fff;--accent-soft:#4f8fe82e;--accent-soft-ink:#9dbef5;--vfr:#38bdf8;--vfr-bg:#38bdf82e;--vfr-ink:#8fd9fb;--ifr:#8b6cf7;--ifr-bg:#8b6cf72e;--ifr-ink:#bba6fb;--both:#22b8cf;--both-bg:#22b8cf2e;--both-ink:#7edce8;--ok:#4caf50;--ok-bg:#4caf502e;--ok-ink:#8fd592;--warn:#f5a623;--warn-bg:#f5a6232e;--warn-ink:#e8a23e;--bad:#e5484d;--bad-bg:#e5484d2e;--bad-ink:#f19195}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);margin:0}h1,h2,h3{text-wrap:balance;margin:0;font-weight:600}p{margin:0}button{cursor:pointer;font-family:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.login-wrap{flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100vh;padding:40px 20px;display:flex;position:relative}.login-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;display:flex;position:absolute;top:0;left:0;right:0}.wordmark{letter-spacing:.2px;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.wordmark .mk{background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:6px;justify-content:center;align-items:center;display:flex}.utcclock{font-family:var(--font-mono);color:var(--ink-2);border:.5px solid var(--border-strong);background:var(--surface);border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;display:flex}.utcclock .v{color:var(--ink);font-weight:500}.themeswitch{border:.5px solid var(--border-strong);background:var(--surface);border-radius:20px;align-items:center;gap:6px;padding:3px;display:flex}.themeswitch button{color:var(--ink-3);background:0 0;border:none;border-radius:16px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;display:flex}.themeswitch button.active{background:var(--accent);color:var(--accent-ink)}.login-card{background:var(--surface);border:.5px solid var(--border);border-radius:12px;width:100%;max-width:340px;padding:26px 24px}.login-card h2{margin-bottom:4px;font-size:17px}.login-card .sub{color:var(--ink-2);margin-bottom:18px;font-size:13px}.field{margin-bottom:12px}.field label{color:var(--ink-2);margin-bottom:5px;font-size:12px;display:block}.field input{border:.5px solid var(--border-strong);background:var(--surface-2);width:100%;height:36px;color:var(--ink);border-radius:7px;padding:0 10px;font-family:inherit;font-size:13px}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.field-error{color:var(--bad);margin-top:5px;font-size:12px}.btn-primary{background:var(--accent);width:100%;height:38px;color:var(--accent-ink);border:none;border-radius:7px;margin-top:6px;font-size:13px;font-weight:500}.btn-primary:disabled{opacity:.6;cursor:default}.oauth-divider{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);align-items:center;gap:10px;margin:16px 0;font-size:11px;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--border-strong);flex:1;height:.5px}.btn-google{border:.5px solid var(--border-strong);background:var(--surface);width:100%;height:38px;color:var(--ink);border-radius:7px;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.btn-google:hover{background:var(--surface-2)}.btn-secondary{border:.5px solid var(--border-strong);background:var(--surface);height:38px;color:var(--ink);border-radius:7px;flex:1;font-size:13px}.btn-ghost{border:.5px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:7px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;display:inline-flex}.login-foot{text-align:center;color:var(--ink-2);margin-top:14px;font-size:12px}.login-foot a{color:var(--accent);text-decoration:none}.demo-zone{text-align:center;border-top:.5px dashed var(--border-strong);width:100%;max-width:340px;padding-top:6px}.demo-zone .lbl{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);margin:14px 0 8px;font-size:11px}.demo-cap{color:var(--ink-3);margin-top:7px;font-size:11px}.stage{background:var(--bg-alt);min-height:100vh;padding:22px;display:flex}.shell{background:var(--bg);border:.5px solid var(--border-strong);border-radius:12px;flex:1;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:.5px solid var(--border);flex-direction:column;flex:none;gap:2px;width:186px;padding:16px 10px;display:flex}.sidebar .wordmark{padding:4px 8px 16px}.navitem{color:var(--ink-2);border-radius:7px;align-items:center;gap:9px;padding:9px 10px;font-size:13px;text-decoration:none;display:flex}.navitem svg{opacity:.85;flex:none}.navitem.active{background:var(--accent-soft);color:var(--accent-soft-ink);font-weight:500}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:.5px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 22px;display:flex}.topbar h1{font-size:16px}.content{padding:20px 22px 30px;overflow-x:auto}.mobiletabs{display:none}.mobiletabs a{color:var(--ink-3);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px;font-size:10px;text-decoration:none;display:flex}.mobiletabs a.active{color:var(--accent)}@media (width<=720px){.sidebar{display:none}.stage{background:var(--bg);padding:0}.shell{border:none;border-radius:0}.content{padding-bottom:78px}.mobiletabs{border-top:.5px solid var(--border);background:var(--surface);z-index:50;display:flex;position:fixed;bottom:0;left:0;right:0}}.sectiontitle{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);margin:22px 0 9px;font-size:12px}.sectiontitle:first-child{margin-top:0}.fieldhint{color:var(--ink-3);margin-top:5px;font-size:11px}.fgrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fwide{grid-column:1/-1}.field select{border:.5px solid var(--border-strong);background:var(--surface-2);width:100%;height:36px;color:var(--ink);border-radius:7px;padding:0 8px;font-family:inherit;font-size:13px}.field select:focus{outline:2px solid var(--accent);outline-offset:1px}.field textarea{border:.5px solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--ink);resize:vertical;border-radius:7px;padding:8px 10px;font-family:inherit;font-size:13px}.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.cond-field label{color:var(--warn-ink)}.cond-field input{border-color:var(--warn);background:var(--warn-bg)}.twocol{grid-template-columns:1fr 1fr;gap:16px;display:grid}.loaded{background:var(--surface-2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:12px;display:flex}.loaded .lchip{background:var(--surface);border:.5px solid var(--border);font-family:var(--font-mono);border-radius:6px;padding:4px 9px}.filebtns{gap:8px;margin-top:14px;display:flex}.filebtns .btn-primary{margin-top:0}.pill{white-space:nowrap;border-radius:20px;flex:none;padding:3px 8px;font-size:10.5px;font-weight:500}.pill.st-warn{background:var(--warn-bg);color:var(--warn-ink)}.pill.st-bad{background:var(--bad-bg);color:var(--bad-ink)}.pill.st-ok{background:var(--ok-bg);color:var(--ok-ink)}.pill.st-filed{background:var(--accent-soft);color:var(--accent-soft-ink)}.pill.st-active{background:var(--ok-bg);color:var(--ok-ink)}.pill.rule-VFR{background:var(--vfr-bg);color:var(--vfr-ink)}.pill.rule-IFR{background:var(--ifr-bg);color:var(--ifr-ink)}.pill.rule-BOTH{background:var(--both-bg);color:var(--both-ink)}.filterchip{border:.5px solid var(--border-strong);background:var(--surface);color:var(--ink-2);border-radius:20px;padding:6px 13px;font-size:12px}.filterchip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.filterrow{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.routegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.routecard{background:var(--surface);border:.5px solid var(--border);border-radius:9px;padding:13px 14px}.routecard .rt-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.routecard .rt-code{font-family:var(--font-mono);font-size:13.5px;font-weight:600}.routecard .rt-desc{color:var(--ink-2);margin-bottom:10px;font-size:12px;line-height:1.5}.routecard .rt-meta{color:var(--ink-3);gap:12px;margin-bottom:10px;font-size:11px;display:flex}.routecard .rt-actions{gap:8px;display:flex}.routecard .filebtn{border:.5px solid var(--border-strong);background:var(--surface-2);height:32px;color:var(--ink);border-radius:6px;flex:1;font-size:12px}.editbtn,.deletebtn{border:.5px solid var(--border-strong);width:32px;height:32px;color:var(--ink-2);background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:16px;display:flex}.emptystate{text-align:center;color:var(--ink-3);border:.5px dashed var(--border-strong);border-radius:9px;grid-column:1/-1;padding:32px 16px;font-size:13px}.modal-overlay{z-index:80;background:#00000080;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.show{display:flex}.modal-card{background:var(--surface);border:.5px solid var(--border-strong);border-radius:12px;width:100%;max-width:340px;padding:20px}.modal-card h3{margin-bottom:8px;font-size:15px}.modal-body{color:var(--ink-2);margin-bottom:16px;font-size:12.5px;line-height:1.55}.modal-actions{gap:8px;display:flex}.valpanel{background:var(--surface);border:.5px solid var(--border);border-radius:9px;padding:13px 14px}.valrow{border-bottom:.5px solid var(--border);align-items:flex-start;gap:8px;padding:7px 0;font-size:12px;display:flex}.valrow:last-child{border-bottom:none}.valrow.ok{color:var(--ok)}.valrow.warn{color:var(--warn)}.valrow span{color:var(--ink)}.alertline{background:var(--surface);border:.5px solid var(--border);border-radius:7px;align-items:center;gap:9px;margin-bottom:6px;padding:8px 10px;font-size:12.5px;display:flex}.alertline .dot{border-radius:50%;flex:none;width:7px;height:7px}.alertline .who{color:var(--ink-2);font-family:var(--font-mono);flex:none}.alertline .msg{flex:1}.alertline .when{color:var(--ink-3);flex:none;font-size:11px}.statrow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.stat{background:var(--surface-2);border-radius:9px;padding:12px 14px}.stat .n{font-size:21px;font-weight:600}.stat .l{color:var(--ink-2);margin-top:2px;font-size:11.5px}.strip{background:var(--surface);border:.5px solid var(--border);border-left:3px solid var(--vfr);border-radius:7px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:7px;padding:10px 14px;font-size:12.5px;display:flex}.strip[data-rule=IFR]{border-left-color:var(--ifr)}.strip[data-rule=BOTH]{border-left-color:var(--both)}.strip .reg{font-family:var(--font-mono);flex:none;width:66px;font-weight:600}.strip .rt{font-family:var(--font-mono);color:var(--ink-2);flex:1;min-width:120px}.strip .meta{color:var(--ink-2);flex:none;font-size:11.5px}.strip .actbtn{border:.5px solid var(--border-strong);color:var(--ink);background:0 0;border-radius:6px;flex:none;padding:5px 10px;font-size:11.5px}.strip .actbtn.danger{border-color:var(--bad);background:var(--bad-bg);color:var(--bad-ink);font-weight:500}.btn-danger{background:var(--bad);color:#fff;border:none;border-radius:7px;flex:1;height:38px;font-size:13px;font-weight:500}.filecols{grid-template-columns:1.3fr 1fr;gap:20px;display:grid}@media (width<=720px){.filecols,.routegrid{grid-template-columns:1fr}}.aclayout{grid-template-columns:200px minmax(0,1fr);gap:16px;display:grid}.aclist{flex-direction:column;gap:6px;display:flex}.acitem{border:.5px solid var(--border);background:var(--surface);text-align:left;color:var(--ink);border-radius:8px;padding:9px 11px}.acitem.on{border-color:var(--accent);background:var(--accent-soft)}.acitem .reg{font-family:var(--font-mono);color:var(--ink);font-size:13px;font-weight:600}.acitem.on .reg{color:var(--accent-soft-ink)}.acitem .ty{color:var(--ink-2);font-size:11px}.acpanel{background:var(--surface);border:.5px solid var(--border);border-radius:10px;padding:16px 18px}.avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-soft-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.inforow{border-bottom:.5px solid var(--border);justify-content:space-between;gap:10px;padding:8px 0;font-size:12.5px;display:flex}.inforow:last-child{border-bottom:none}.inforow .k{color:var(--ink-2)}.inforow .v{font-family:var(--font-mono);text-align:right}.acphoto{aspect-ratio:16/9;background:var(--surface-2);border:.5px solid var(--border);border-radius:8px;justify-content:center;align-items:center;margin-bottom:14px;display:flex;position:relative;overflow:hidden}.acphoto .photocap{color:var(--ink-3);background:var(--surface-2);border-radius:4px;padding:2px 7px;font-size:10.5px;position:absolute;bottom:7px;left:8px}.acphotorow{align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.acphotorow .acphoto{margin-bottom:0}.acphotocol{flex:0 0 220px}.accolorcol{flex:1;min-width:0}.swcol{flex-direction:column;gap:8px;margin-top:8px;display:flex}.swcol .swatch{box-sizing:border-box;width:100%}.swrow{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.swatch{border:.5px solid var(--border-strong);border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:11.5px;display:flex}.swatch .sq{border:.5px solid var(--border-strong);border-radius:4px;width:16px;height:16px}.eqhead{justify-content:space-between;align-items:center;margin:16px 0 8px;display:flex}.eqpreview{font-family:var(--font-mono);background:var(--surface-2);border-radius:6px;margin-top:10px;padding:8px 11px;font-size:12.5px}.doclist{flex-direction:column;gap:6px;margin-top:8px;display:flex}.docrow{background:var(--surface-2);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.docrow .dn{flex-direction:column;display:flex}.docrow .dd{color:var(--ink-3);font-size:10.5px}.combo-list{background:var(--surface);border:.5px solid var(--border-strong);z-index:30;border-radius:7px;max-height:220px;margin-top:4px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 14px #0000001f}.combo-list.show{display:block}.combo-item{cursor:pointer;padding:7px 10px;font-size:12.5px}.combo-item:hover,.combo-item.active{background:var(--accent-soft);color:var(--accent-soft-ink)}.docedit-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.docedit-row input{height:36px}.docedit-row .dname{flex:2}.docedit-row .ddate{flex:1;min-width:0}.docedit-row .docremovebtn,.coloredit-row .docremovebtn{border:.5px solid var(--border-strong);width:32px;height:32px;color:var(--ink-2);background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.coloredit-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.coloredit-row .sq{border-radius:6px;flex:none;width:36px;height:36px}.coloredit-row input[type=text]{flex:1}.color-add-select{border:.5px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:7px;align-items:center;gap:6px;margin-top:4px;padding:9px 16px;font-family:inherit;font-size:13px;display:inline-flex}.ckrow{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 4px;font-size:12.5px;display:flex}.ckrow:hover{background:var(--surface-2)}.ckrow input{accent-color:var(--accent);flex:none;width:15px;height:15px;margin:0}.ckcode{width:26px;color:var(--ink);flex:none;font-weight:600}.cklabel{color:var(--ink-2)}.ckgroup{flex-direction:column;gap:1px;max-height:320px;display:flex;overflow-y:auto}.ckgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 16px;display:grid}@media (width<=720px){.aclayout,.twocol,.fgrid{grid-template-columns:1fr}.aclist{flex-direction:row;overflow-x:auto}}
