@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";
html,body{background:#0a1420;min-height:100vh;margin:0;padding:0}:root{--ff-bg:#0a1420;--ff-bg-2:#0f1d2d;--ff-panel:#122236;--ff-panel-hd:#0c1a2a;--ff-land:#1a2838;--ff-line:#243a52;--ff-line-soft:#1a2c40;--ff-text:#e8eef5;--ff-dim:#93a4ba;--ff-faint:#5a6e85;--ff-blue:#2d8fcc;--ff-cyan:#5ec1e6;--ff-amber:#e89a3a;--ff-yellow:#e8c93a;--ff-red:#d94545;--ff-magenta:#c945a8;--ff-green:#4ea860;--ff-teal:#3aa39a;--ff-purple:#9b6fd1;--ff-purple-bg:#9b6fd11f;--ff-panel-2:#16293f;--ff-line-hard:#2f4866;--ff-text-dim:#8aa0b8;--ff-text-dimmer:#5a708a;--ff-bg-elevated:#0e1a26;--font-ui:-apple-system, "SF Pro Text", "Inter", system-ui, sans-serif;--font-mono:"SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, monospace}.ff-root{background:var(--ff-bg);color:var(--ff-text);box-sizing:border-box;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;line-height:1.4}.ff-root *{box-sizing:border-box}.ff-mono{letter-spacing:.01em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.ff-accent{color:var(--ff-amber)}.ff-header{background:var(--ff-bg-2);border:1px solid var(--ff-line);border-radius:4px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ff-logo{color:var(--ff-amber);font-size:16px}.ff-h1{letter-spacing:.18em;color:var(--ff-text);font-size:14px;font-weight:700}.ff-h-sub{color:var(--ff-dim);margin-left:4px;font-size:12px}.ff-h-meta{color:var(--ff-dim);align-items:center;gap:12px;font-size:12px;display:flex}.ff-divider{background:var(--ff-line);width:1px;height:14px}.ff-btn{appearance:none;background:var(--ff-panel);color:var(--ff-text);border:1px solid var(--ff-line);font:inherit;cursor:pointer;border-radius:3px;padding:5px 10px;font-size:12px}.ff-btn:hover{border-color:var(--ff-blue);color:var(--ff-cyan)}.ff-btn-primary{background:var(--ff-blue);border-color:var(--ff-blue);color:#fff}.ff-btn-primary:hover{color:#fff;background:#3aa1de;border-color:#3aa1de}.ff-panel{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.ff-panel-hd{background:var(--ff-panel-hd);border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.ff-panel-title{letter-spacing:.16em;color:var(--ff-text);font-size:11px;font-weight:600}.ff-panel-sub{color:var(--ff-dim);font-size:11px}.ff-panel-body{flex:1;padding:12px 14px}.ff-table{border-collapse:collapse;width:100%;font-size:12.5px}.ff-table th,.ff-table td{text-align:left;vertical-align:middle;padding:7px 10px;line-height:1.2}.ff-table th{letter-spacing:.12em;text-transform:uppercase;color:var(--ff-dim);background:var(--ff-panel-hd);border-bottom:1px solid var(--ff-line);font-size:10.5px;font-weight:600}.ff-table tbody tr{border-bottom:1px solid var(--ff-line-soft)}.ff-table tbody tr:last-child{border-bottom:none}.ff-table tbody tr:hover{background:#2d8fcc0f}.ff-table.ff-tfr-grouped .ff-tfr-row.is-open{background:#2d8fcc14;border-bottom-color:#0000}.ff-table.ff-tfr-grouped .ff-tfr-chevron{text-align:center;color:var(--ff-faint);-webkit-user-select:none;user-select:none;font-size:10px}.ff-table.ff-tfr-grouped .ff-tfr-row.is-open .ff-tfr-chevron{color:var(--ff-cyan)}.ff-table.ff-tfr-grouped .ff-tfr-subrow{background:#2d8fcc08;border-bottom:1px solid #0000}.ff-table.ff-tfr-grouped .ff-tfr-subrow:hover{background:#2d8fcc0f}.ff-table.ff-tfr-grouped .ff-tfr-subrow td{padding-top:6px;padding-bottom:6px;font-size:11.5px}.ff-icao{color:var(--ff-text);letter-spacing:.04em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;font-weight:600}.ff-risk{color:var(--ff-text);font-size:12px}.ff-cat{letter-spacing:.06em;background:#ffffff05;border:1px solid;border-radius:2px;justify-content:center;align-items:center;min-width:50px;padding:2px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:600;display:inline-flex}.ff-cat-vfr{color:var(--ff-green);background:#4ea8601a;border-color:#4ea86080}.ff-cat-mvfr{color:var(--ff-cyan);background:#5ec1e61a;border-color:#5ec1e680}.ff-cat-ifr{color:var(--ff-red);background:#d945451f;border-color:#d9454599}.ff-cat-lifr{color:var(--ff-magenta);background:#c945a81f;border-color:#c945a899}.ff-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.ff-dot-high{background:var(--ff-red);box-shadow:0 0 6px #d9454580}.ff-dot-med{background:var(--ff-amber);box-shadow:0 0 6px #e89a3a66}.ff-dot-low{background:var(--ff-faint)}.ff-tfr{color:var(--ff-amber);background:#e89a3a14;border:1px solid #e89a3a80;border-radius:2px;padding:1px 6px;font-size:11px;display:inline-block}.ff-stat-val{font-family:JetBrains Mono,ui-monospace,monospace;font-size:28px;font-weight:600;line-height:1}.ff-stat-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-dim);margin-top:4px;font-size:10.5px}.ff-glance-bar{border-top:1px solid var(--ff-line);grid-template-columns:repeat(2,1fr);gap:8px;margin-top:6px;padding-top:12px;display:grid}.ff-glance-cap{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-glance-cap>span:last-child{color:var(--ff-text);font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;font-weight:600}.ff-placeholder{min-height:100vh;color:var(--ff-text);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;display:flex}.ff-placeholder .ff-placeholder-eyebrow{letter-spacing:.18em;color:var(--ff-amber);text-transform:uppercase;font-size:11px;font-weight:600}.ff-placeholder .ff-placeholder-title{letter-spacing:.06em;color:var(--ff-dim);font-size:14px}.ff-shell{max-width:1200px;margin:0 auto;padding:20px 24px 60px}.ff-upload-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:20px;display:grid}@media (max-width:880px){.ff-upload-grid{grid-template-columns:1fr}}.ff-filter-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ff-filter-step{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:3px;align-items:flex-start;gap:10px;padding:8px 10px;transition:background .12s,border-color .12s;display:flex}.ff-filter-step:hover{background:#2d8fcc0d}.ff-filter-step input[type=checkbox]{accent-color:var(--ff-blue);cursor:pointer;margin-top:3px}.ff-filter-step-num{color:var(--ff-faint);min-width:16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.ff-filter-step-text{color:var(--ff-text);flex:1;font-size:12.5px;line-height:1.45}.ff-filter-step-done .ff-filter-step-text{color:var(--ff-faint);text-decoration:line-through}.ff-filter-note{color:var(--ff-dim);border-top:1px solid var(--ff-line);margin:16px 0 0;padding-top:12px;font-size:11.5px}.ff-dropzone{background:var(--ff-panel);border:2px dashed var(--ff-line);border-radius:4px;justify-content:center;align-items:center;min-height:280px;transition:border-color .12s,background .12s;display:flex}.ff-dropzone-active{border-color:var(--ff-amber);background:#e89a3a0d}.ff-dropzone-inner{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex}.ff-dropzone-icon{color:var(--ff-amber);font-size:28px}.ff-dropzone-title{color:var(--ff-text);font-size:14px;font-weight:600}.ff-dropzone-sub{color:var(--ff-dim);margin-bottom:8px;font-size:11.5px}.ff-status-card{background:var(--ff-panel);border:1px solid var(--ff-line);text-align:center;border-radius:4px;flex-direction:column;align-items:center;gap:12px;padding:40px 32px;display:flex}.ff-status-error{background:#d945450a;border-color:#d9454566}.ff-status-title{color:var(--ff-text);letter-spacing:.04em;font-size:14px;font-weight:600}.ff-status-sub{color:var(--ff-dim);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px}.ff-status-hint{color:var(--ff-dim);max-width:480px;font-size:12px}.ff-error-detail{color:var(--ff-red);text-align:left;white-space:pre-wrap;word-break:break-word;background:#d945450f;border:1px solid #d9454540;border-radius:3px;max-width:720px;margin:4px 0 8px;padding:10px 14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px}.ff-spinner{border:2px solid var(--ff-line);border-top-color:var(--ff-amber);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite ff-spin}@keyframes ff-spin{to{transform:rotate(360deg)}}.ff-table-edit td{padding:4px 6px}.ff-cell-input{color:var(--ff-text);font:inherit;background:0 0;border:1px solid #0000;border-radius:2px;width:100%;padding:4px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.ff-cell-input:hover{border-color:var(--ff-line)}.ff-cell-input:focus{border-color:var(--ff-blue);background:#2d8fcc0f;outline:none}.ff-btn-danger{color:var(--ff-red);border-color:#d9454566;padding:3px 8px;font-size:14px;line-height:1}.ff-btn-danger:hover{border-color:var(--ff-red);color:#fff;background:var(--ff-red)}.ff-btn:disabled{opacity:.4;cursor:not-allowed}.ff-review-footer{border-top:1px solid var(--ff-line);background:var(--ff-panel-hd);align-items:center;gap:10px;padding:12px 14px;display:flex}.ff-json-dump{background:var(--ff-bg);border:1px solid var(--ff-line);color:var(--ff-text);border-radius:3px;max-height:60vh;margin:12px 0 0;padding:12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;overflow:auto}.ff-tz-pill{border:1px solid var(--ff-line);background:var(--ff-panel);color:var(--ff-text);letter-spacing:.04em;cursor:help;border-radius:12px;align-items:center;padding:3px 9px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:inline-flex}.ff-time-toggle{border:1px solid var(--ff-line);cursor:help;border-radius:3px;display:inline-flex;overflow:hidden}.ff-time-toggle button{appearance:none;color:var(--ff-dim);font:inherit;letter-spacing:.06em;cursor:pointer;border:none;border-right:1px solid var(--ff-line);background:0 0;padding:4px 9px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:600;transition:color .12s,background .12s}.ff-time-toggle button:last-child{border-right:none}.ff-time-toggle button:hover{color:var(--ff-text);background:#2d8fcc0f}.ff-time-toggle button.is-active{background:var(--ff-blue);color:#fff}.ff-cell-wrap{align-items:center;gap:6px;display:flex}.ff-cell-badge{color:var(--ff-amber);background:#e89a3a0f;border:1px solid #e89a3a59;border-radius:2px;flex-shrink:0;padding:1px 5px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px}.ff-cell-warn{color:var(--ff-red)!important;background:#d945450d!important;border-color:#d9454573!important}.ff-row-warn td{background:#d9454508}.ff-review-warnings{color:var(--ff-text);background:#e89a3a14;border-bottom:1px solid #e89a3a4d;align-items:center;gap:6px;padding:8px 14px;font-size:12px;display:flex}.ff-summary-grid{grid-template-columns:repeat(5,1fr);gap:18px;padding-bottom:4px;display:grid}@media (max-width:720px){.ff-summary-grid{grid-template-columns:repeat(2,1fr)}}.ff-summary-stat{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.ff-stat-val-amber{color:var(--ff-amber)}.ff-stat-val-red{color:var(--ff-red)}.ff-summary-detail{border-top:1px solid var(--ff-line-soft);margin-top:14px;padding-top:12px}.ff-summary-detail-title{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-dim);margin-bottom:6px;font-size:10.5px;font-weight:600}.ff-summary-list{color:var(--ff-text);flex-direction:column;gap:4px;margin:0;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;list-style:none;display:flex}.ff-summary-warning{color:var(--ff-red)}.ff-top-row{grid-template-columns:1fr 240px;gap:16px;margin-top:16px;display:grid}@media (max-width:1100px){.ff-top-row{grid-template-columns:1fr}}.ff-today-scroll{max-height:55vh;overflow-y:auto}.ff-notam-group{border-bottom:1px solid var(--ff-line)}.ff-notam-group:last-of-type{border-bottom:none}.ff-notam-group-hd{background:var(--ff-panel-hd);border-bottom:1px solid var(--ff-line-soft);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.ff-notam-group-body{flex-direction:column;gap:0;display:flex}.ff-notam-card{border-bottom:1px solid var(--ff-line-soft);gap:10px;padding:10px 14px;display:flex}.ff-notam-card:last-child{border-bottom:none}.ff-notam-card:hover{background:#2d8fcc0a}.ff-notam-badge{letter-spacing:.08em;border:1px solid;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:22px;margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-flex}.ff-notam-badge-rwy{color:var(--ff-amber);background:#e89a3a14;border-color:#e89a3a80}.ff-notam-badge-ad{color:var(--ff-cyan);background:#5ec1e614;border-color:#5ec1e680}.ff-notam-badge-apron{color:var(--ff-yellow);background:#e8c93a14;border-color:#e8c93a80}.ff-notam-badge-nav{color:var(--ff-blue);background:#2d8fcc14;border-color:#2d8fcc80}.ff-notam-badge-twy{color:var(--ff-faint);border-color:var(--ff-line);background:#ffffff05}.ff-notam-badge-svc{color:var(--ff-teal);background:#3aa39a14;border-color:#3aa39a80}.ff-notam-badge-airspace{color:var(--ff-magenta);background:#c945a814;border-color:#c945a880}.ff-notam-badge-obst{color:var(--ff-red);background:#d9454514;border-color:#d9454580}.ff-notam-badge-other{color:var(--ff-dim);border-color:var(--ff-line);background:#ffffff05}.ff-notam-body{flex:1;min-width:0}.ff-notam-title{color:var(--ff-text);word-break:break-word;margin-bottom:4px;font-size:12.5px;line-height:1.4}.ff-notam-action{color:var(--ff-red);font-weight:600}.ff-notam-id{color:var(--ff-faint);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:400}.ff-notam-meta{color:var(--ff-dim);flex-direction:column;gap:2px;font-size:11px;display:flex}.ff-notam-meta-label{width:70px;color:var(--ff-faint);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;display:inline-block}.ff-notam-meta-value{color:var(--ff-text);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.ff-bottom-row{margin-top:16px;display:block}.ff-map-row{margin-top:16px}.ff-map-iframe{background:var(--ff-bg);border:0;width:100%;height:640px;display:block}.ff-tfr-map{background:var(--ff-bg);width:100%;height:640px}.ff-tfr-map .leaflet-container{background:var(--ff-bg);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px}.ff-tfr-map .leaflet-popup-content-wrapper,.ff-tfr-map .leaflet-popup-tip{background:var(--ff-panel);color:var(--ff-text);border:1px solid var(--ff-line);border-radius:4px;box-shadow:0 8px 24px #0006}.ff-tfr-map .leaflet-popup-content{margin:12px 14px}.ff-tfr-map .leaflet-control-attribution{color:var(--ff-dim);background:#0a1420b3}.ff-tfr-map .leaflet-control-attribution a{color:var(--ff-cyan)}.ff-tfr-map .leaflet-control-zoom a{background:var(--ff-panel);color:var(--ff-text);border-color:var(--ff-line)}.ff-tfr-map .leaflet-control-zoom a:hover{background:var(--ff-bg-2)}.ff-tfr-map .ff-map-icao-label{box-shadow:none;color:var(--ff-text);background:0 0;border:none;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:600}.ff-tfr-map .ff-map-icao-label:before{display:none}.ff-tfr-map .ff-map-icao-conflict{color:var(--ff-red);font-weight:700}.ff-tfr-map .ff-map-icao-near{color:var(--ff-amber);font-weight:600}.ff-conflict-empty{border-top:1px solid var(--ff-line);color:var(--ff-green);letter-spacing:.06em;padding:12px 14px;font-size:12px;font-weight:600}.ff-conflict-list{border-top:1px solid var(--ff-line)}.ff-conflict-list-hd{color:var(--ff-red);letter-spacing:.16em;text-transform:uppercase;background:#d9454514;border-bottom:1px solid #d945454d;padding:8px 14px;font-size:11px;font-weight:600}.ff-conflict-sev-inside{letter-spacing:.06em;color:#fff;background:var(--ff-red);border-radius:2px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-block}.ff-conflict-sev-near{letter-spacing:.06em;color:var(--ff-amber);background:#e89a3a1a;border:1px solid #e89a3a80;border-radius:2px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:600;display:inline-block}.ff-leg-type{letter-spacing:.08em;border-radius:2px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-block}.ff-leg-type-live{color:var(--ff-green,#6cd3a3);background:#6cd3a31a;border:1px solid #6cd3a380}.ff-leg-type-empty{color:var(--ff-faint);border:1px solid var(--ff-line);background:0 0}.ff-leg-delete{color:var(--ff-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:2px 6px;font-size:14px;line-height:1;transition:color 80ms,background 80ms,border-color 80ms}.ff-leg-delete:hover{color:var(--ff-red);background:#d9454514;border-color:#d9454566}.ff-wx-panel{background:var(--ff-bg-elevated,#0e1a26);border:1px solid var(--ff-line);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.ff-wx-panel-hd{letter-spacing:.16em;color:var(--ff-text);border-bottom:1px solid var(--ff-line);background:#ffffff05;padding:8px 12px;font-size:10.5px;font-weight:600}.ff-wx-coverage-note{color:var(--ff-amber);background:#e89a3a14;border-bottom:1px solid #e89a3a4d;padding:6px 12px;font-size:11px}.ff-wx-panel-body{max-height:380px;padding:8px;overflow-y:auto}.ff-wx-block+.ff-wx-block{margin-top:6px}.ff-wx-block{border:1px solid var(--ff-line);border-radius:3px;padding:8px 10px}.ff-wx-block.is-match{border-color:var(--ff-amber,#e89a3a);background:#e89a3a0f}.ff-wx-block-match-pill{letter-spacing:.1em;color:var(--ff-amber,#e89a3a);background:#e89a3a1a;border:1px solid #e89a3a99;border-radius:2px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:9.5px;font-weight:700;display:inline-block}.ff-wx-block-hd{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.ff-wx-block-time{letter-spacing:.08em;color:var(--ff-faint);text-transform:uppercase;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600}.ff-wx-block-grid{grid-template-columns:110px 1fr;gap:2px 12px;margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;display:grid}.ff-wx-block-grid dt{color:var(--ff-faint);font-weight:500}.ff-wx-block-grid dd{color:var(--ff-text);margin:0}.ff-wx-empty{text-align:center;color:var(--ff-faint);padding:14px;font-size:12px}.ff-wx-notams{border:1px solid var(--ff-line);border-radius:3px;margin-top:8px;padding:8px 10px;font-size:11.5px}.ff-wx-notams-hd{letter-spacing:.12em;color:var(--ff-faint);margin-bottom:6px;font-size:10.5px;font-weight:600}.ff-wx-notam-item{margin-bottom:4px;line-height:1.45}.ff-wx-notam-item .ff-notam-mini-badge{margin-right:6px}.ff-conflict-filter-row{border-bottom:1px solid var(--ff-line);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.ff-conflict-filter-label{color:var(--ff-faint);letter-spacing:.08em;text-transform:uppercase;margin-right:4px}.ff-conflict-filter-chip{letter-spacing:.04em;cursor:pointer;border:1px solid var(--ff-line);color:var(--ff-faint);background:0 0;border-radius:3px;padding:2px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;text-decoration:line-through;transition:background 80ms,border-color 80ms,color 80ms}.ff-conflict-filter-chip:hover{border-color:var(--ff-dim)}.ff-conflict-filter-chip.is-on{color:var(--ff-amber,#e89a3a);background:#e89a3a1a;border-color:#e89a3a80;text-decoration:none}.ff-notam-section-hd{letter-spacing:.16em;text-transform:uppercase;color:var(--ff-dim);background:var(--ff-panel-hd);border-top:1px solid var(--ff-line);border-bottom:1px solid var(--ff-line);padding:6px 10px;font-size:10.5px;font-weight:600}.ff-conflict-pager{border-top:1px solid var(--ff-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;display:flex}.ff-conflict-pager-info{text-align:center;color:var(--ff-dim);letter-spacing:.04em;flex:auto}.ff-notam-visit-match{letter-spacing:.08em;color:var(--ff-amber);vertical-align:middle;background:#e89a3a1f;border:1px solid #e89a3a99;border-radius:2px;margin-left:8px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-block}.ff-notam-match-pill{letter-spacing:.06em;color:var(--ff-amber);background:#e89a3a1f;border:1px solid #e89a3a99;border-radius:2px;align-items:center;margin-left:4px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-flex}.ff-notam-scroll{max-height:70vh;overflow-y:auto}.ff-notam-count-chips{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.ff-notam-mini-badge{appearance:none;letter-spacing:.06em;cursor:pointer;border:1px solid;border-radius:2px;align-items:center;height:20px;padding:0 7px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;transition:filter .12s;display:inline-flex}.ff-notam-mini-badge:hover{filter:brightness(1.25)}.ff-notam-mini-badge.is-active{filter:brightness(1.4);outline-offset:1px;outline:1px solid}.ff-diagnostics{border-top:1px solid var(--ff-line);margin-top:24px;padding-top:12px}.ff-diagnostics>summary{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;color:var(--ff-dim);-webkit-user-select:none;user-select:none;padding:6px 0;font-size:11px;font-weight:600;list-style:none}.ff-diagnostics>summary::-webkit-details-marker{display:none}.ff-diagnostics>summary:before{content:"▸ ";color:var(--ff-faint);margin-right:4px;display:inline-block}.ff-diagnostics[open]>summary:before{content:"▾ "}.ff-diagnostics>summary:hover{color:var(--ff-text)}.ff-fallback-upload{margin-top:4px}.ff-fallback-upload>summary{cursor:pointer;letter-spacing:.12em;text-transform:uppercase;color:var(--ff-dim);-webkit-user-select:none;user-select:none;padding:8px 0;font-size:11.5px;font-weight:600;list-style:none}.ff-fallback-upload>summary::-webkit-details-marker{display:none}.ff-fallback-upload>summary:before{content:"▸ ";color:var(--ff-faint)}.ff-fallback-upload[open]>summary:before{content:"▾ "}.ff-fallback-upload>summary:hover{color:var(--ff-text)}.ff-resume-banner{background:var(--ff-panel);border:1px solid var(--ff-line);border-left:3px solid var(--ff-blue);border-radius:4px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 16px;display:flex}.ff-resume-banner-stale{border-left-color:var(--ff-amber);background:#e89a3a0a}.ff-resume-banner-title{color:var(--ff-text);margin-bottom:2px;font-size:13px;font-weight:600}.ff-resume-banner-meta{color:var(--ff-dim);font-size:11.5px}.ff-resume-banner-actions{gap:8px;display:flex}.ff-link-btn{appearance:none;color:var(--ff-blue);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.ff-link-btn:hover{color:var(--ff-cyan)}.ff-link-btn:disabled{color:var(--ff-faint);cursor:not-allowed;text-decoration:none}:root{--duty-row-h:34px}.cd-page{background:var(--ff-bg);color:var(--ff-text);box-sizing:border-box;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px}.cd-page *{box-sizing:border-box}.cd-page.tds-page{flex-direction:column;height:100vh;min-height:0;display:flex;overflow:hidden}.cd-mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.cd-topbar{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.cd-tabs{gap:2px;display:flex}.cd-tab{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:6px 14px;font-size:12px;font-weight:600;text-decoration:none}.cd-tab.active{color:var(--ff-text);background:var(--ff-panel);border-color:var(--ff-line)}.cd-tab:hover:not(.active){color:var(--ff-text)}.cd-brand{align-items:center;gap:12px;display:flex}.cd-brand-mark{color:var(--ff-amber);font-size:14px}.cd-brand-name{letter-spacing:.2em;font-size:12px;font-weight:700}.cd-brand-sub{color:var(--ff-dim);font-size:11px}.cd-meta{color:var(--ff-dim);align-items:center;gap:12px;font-size:11px;display:flex}.cd-pulse{background:var(--ff-green);border-radius:50%;width:6px;height:6px;animation:2s infinite cd-pulse;box-shadow:0 0 8px #6cd3a399}@keyframes cd-pulse{0%,to{opacity:1}50%{opacity:.4}}.cd-filterbar{background:var(--ff-bg);border-bottom:1px solid var(--ff-line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px;display:flex}.cd-chip{height:26px;color:var(--ff-text);background:var(--ff-panel);border:1px solid var(--ff-line);cursor:pointer;border-radius:13px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;display:inline-flex}.cd-chip:hover{border-color:var(--ff-blue)}.cd-chip.active{border-color:var(--ff-blue);color:var(--ff-cyan);background:#2d8fcc2e}.cd-chip .cd-chip-count{color:var(--ff-dim);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.cd-chip.active .cd-chip-count{color:var(--ff-cyan)}.cd-search{max-width:280px;height:26px;font:inherit;color:var(--ff-text);background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:4px;outline:none;flex:1;padding:0 10px;font-size:12px}.cd-search:focus{border-color:var(--ff-blue)}.cd-vsep{background:var(--ff-line);width:1px;height:18px}@media (max-width:768px){.cd-topbar{flex-wrap:wrap;gap:6px 8px;padding:8px 12px}.cd-brand{flex:auto;gap:8px;min-width:0}.cd-brand-sub{display:none}.cd-tabs{white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-basis:100%;order:3;padding-bottom:2px;overflow:auto hidden}.cd-tabs::-webkit-scrollbar{display:none}.cd-tab{letter-spacing:.1em;flex:none;padding:6px 10px;font-size:11px}.cd-tab.active{scroll-snap-align:start}.cd-meta{flex-wrap:wrap;order:2;justify-content:flex-end;gap:8px}.cd-meta-aux{display:none!important}}.tds-sub{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-line);height:36px;color:var(--ff-text-dim);align-items:center;gap:14px;padding:6px 18px;font-size:11px;display:flex}.tds-sub-label{text-transform:uppercase;letter-spacing:.04em}.tds-sub-range{border:1px solid var(--ff-line);border-radius:3px;display:inline-flex;overflow:hidden}.tds-sub-range-divider{background:var(--ff-line-hard,var(--ff-line));width:1px;margin:0 1px}.tds-sub-preset{font-size:11px;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--ff-text-dim);border:none;border-left:1px solid var(--ff-line);cursor:pointer;background:0 0;padding:2px 10px}.tds-sub-preset.tds-sub-preset-first{border-left:none}.tds-sub-preset.tds-sub-preset-active{color:var(--ff-cyan);background:#2d8fcc2e}.tds-sub-spacer{flex:1}.tds-sub-counts{font-family:var(--font-mono,ui-monospace, monospace)}.tds-sub-btn{font-size:11px;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--ff-text-dim);border:1px solid var(--ff-line);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.tds-sub-btn:disabled{opacity:.5;cursor:default}.tds-zoom{border:1px solid var(--ff-line);font-family:var(--font-mono,ui-monospace, monospace);border-radius:3px;align-items:stretch;display:inline-flex;overflow:hidden}.tds-zoom-btn,.tds-zoom-pct{color:var(--ff-text-dim);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:11px}.tds-zoom-btn{padding:2px 9px;font-size:13px;line-height:1}.tds-zoom-pct{text-align:center;border-left:1px solid var(--ff-line);border-right:1px solid var(--ff-line);min-width:44px}.tds-zoom-btn:hover:not(:disabled),.tds-zoom-pct:hover{color:var(--ff-text);background:#ffffff0a}.tds-zoom-btn:disabled{opacity:.35;cursor:default}.tds-range-inline{align-items:center;gap:14px;display:inline-flex}.tds-range-drop{display:none}.tds-range-menu{z-index:60;background:var(--ff-bg-2);border:1px solid var(--ff-line);border-radius:4px;flex-direction:column;gap:4px;min-width:260px;padding:10px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 28px #00000080}.tds-range-menu-label{font-size:10px;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--ff-text-dim);margin-top:6px}.tds-range-menu-label:first-child{margin-top:0}.tds-range-menu-row{flex-wrap:wrap;gap:4px;display:inline-flex}.tds-range-menu-chip{font-size:11px;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--ff-text-dim);border:1px solid var(--ff-line);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px}.tds-range-menu-chip:hover{color:var(--ff-text);background:#ffffff0a}.tds-range-menu-chip.is-active{color:var(--ff-cyan);border-color:var(--ff-cyan);background:#2d8fcc2e}@media (max-width:1500px){.tds-range-inline{display:none}.tds-range-drop{display:inline-flex;position:relative}}.tds-sub-secondary{display:contents}.tds-sub-more{display:none}.tds-sub-more-menu{z-index:60;background:var(--ff-bg-2);border:1px solid var(--ff-line);border-radius:4px;flex-direction:column;gap:2px;min-width:160px;max-width:95vw;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 28px #00000080}.tds-sub-more-item{font-size:11px;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--ff-text-dim);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:6px 10px}.tds-sub-more-item:hover{color:var(--ff-text);background:#ffffff0d}.tds-sub-more-item.is-active{color:var(--ff-cyan)}@media (max-width:1280px){.tds-sub-secondary{display:none}.tds-sub-more{display:inline-flex;position:relative}.tds-sub-counts{display:none}}.tds-sub-btn.tds-sub-btn-amber{color:var(--ff-amber);border-color:var(--ff-amber);background:#e6b8002e}.tds-sub-btn.tds-sub-btn-cyan{color:var(--ff-cyan);border-color:var(--ff-cyan);background:#5ec1e62e}.tds-sub-btn.tds-sub-btn-teal{color:var(--sf-accent);border-color:var(--sf-accent);background:#00c2a82e}.tds-sub-sales-dot{background:var(--sf-accent);width:6px;height:6px;box-shadow:0 0 6px var(--sf-accent);border-radius:50%}@media (max-width:768px){.tds-sub{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.tds-sub-spacer{flex-grow:0;flex-basis:100%;height:0}.tds-sub-preset{padding:4px 10px}.tds-sub-preset-mobile-hide,.tds-sub-counts,.tds-sub-icon-desktop,.tds-sub-btn-extra{display:none}.tds-sub-btn{min-height:32px;padding:4px 8px;font-size:10.5px}}.cd-filter-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-dim);margin-right:4px;font-size:10.5px}.cd-summary{background:var(--ff-line);border-bottom:1px solid var(--ff-line);grid-template-columns:repeat(6,1fr);gap:1px;display:grid}.cd-sumcell{background:var(--ff-bg-2);align-items:baseline;gap:10px;padding:12px 16px;display:flex}.cd-sumcell-val{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:22px;font-weight:600;line-height:1}.cd-sumcell-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-dim);font-size:10.5px}.cd-sumcell.amber .cd-sumcell-val{color:var(--ff-amber)}.cd-sumcell.red .cd-sumcell-val{color:var(--ff-red)}.cd-sumcell.green .cd-sumcell-val{color:var(--ff-green)}.cd-sumcell.cyan .cd-sumcell-val{color:var(--ff-cyan)}.cd-table{border-collapse:collapse;width:100%;font-size:12.5px}.cd-table thead th{background:var(--ff-panel-hd);letter-spacing:.12em;text-transform:uppercase;color:var(--ff-dim);text-align:left;border-bottom:1px solid var(--ff-line);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:9px 12px;font-size:10.5px;font-weight:600;position:sticky;top:0}.cd-table thead th .cd-sort{color:var(--ff-faint);margin-left:4px;font-size:9px}.cd-table thead th.sorted{color:var(--ff-text)}.cd-table thead th.sorted .cd-sort{color:var(--ff-amber)}.cd-table tbody tr{height:var(--duty-row-h);border-bottom:1px solid var(--ff-line-soft);cursor:pointer}.cd-table tbody tr:hover{background:#2d8fcc0d}.cd-table tbody tr.expanded{border-bottom-color:var(--ff-blue);background:#2d8fcc14}.cd-table tbody tr.dim{opacity:.55}.cd-table tbody tr.severity-amber{box-shadow:inset 3px 0 0 var(--ff-amber)}.cd-table tbody tr.severity-red{box-shadow:inset 3px 0 0 var(--ff-red)}.cd-table tbody tr.severity-green{box-shadow:inset 3px 0 0 var(--ff-green)}.cd-table td{vertical-align:middle;white-space:nowrap;padding:5px 12px}.cd-pilot{flex-direction:column;gap:1px;line-height:1.2;display:flex}.cd-pilot-name{color:var(--ff-text);font-weight:500}.cd-pilot-meta{color:var(--ff-dim);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.cd-pilot-badge-ac{color:var(--ff-amber);border:1px solid #e89a3a80;border-radius:2px;margin-left:6px;padding:0 4px;font-size:10px}.cd-pilot-badge-ioe{color:var(--ff-blue);margin-left:6px;font-size:10px}.cd-pill{letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:2px;align-items:center;gap:6px;height:20px;padding:0 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;display:inline-flex}.cd-pill-onduty{color:var(--ff-cyan);background:#5ec1e61a;border-color:#5ec1e680}.cd-pill-inflight{color:var(--ff-amber);background:#e89a3a1f;border-color:#e89a3a80}.cd-pill-onrest{color:var(--ff-text);border-color:var(--ff-line);background:var(--ff-panel-hd)}.cd-pill-off{color:var(--ff-faint);border-color:var(--ff-line);background:0 0}.cd-pill-released{color:var(--ff-magenta);background:#c945a81a;border-color:#c945a880}.cd-pill-unmatched{color:var(--ff-yellow);background:#e8c93a1a;border-color:#e8c93a80}.cd-pill-onboard{color:var(--ff-blue);background:#2d8fcc1a;border-color:#2d8fcc80}.cd-pill .cd-flight-dot{background:var(--ff-amber);border-radius:50%;width:5px;height:5px;animation:1.6s infinite cd-pulse}.cd-timestack{flex-direction:column;gap:0;font-family:JetBrains Mono,ui-monospace,monospace;line-height:1.15;display:flex}.cd-timestack .sched{color:var(--ff-dim);font-size:11px}.cd-timestack .actual,.cd-timestack .single{color:var(--ff-text);font-size:12.5px}.cd-timestack .placeholder{color:var(--ff-faint)}.cd-timestack .actual.proj{color:var(--ff-amber);font-style:italic}.cd-delta{border-radius:2px;align-items:center;margin-left:6px;padding:0 4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;display:inline-flex}.cd-delta-ok{color:var(--ff-faint);border:1px solid var(--ff-line-soft);background:0 0}.cd-delta-amber{color:var(--ff-amber);background:#e89a3a1f}.cd-delta-red{color:var(--ff-red);background:#d9454526}.cd-meter{align-items:center;gap:8px;display:flex}.cd-meter-bar{background:var(--ff-bg);border:1px solid var(--ff-line-soft);border-radius:2px;width:90px;height:6px;position:relative;overflow:hidden}.cd-meter-fill{background:var(--ff-cyan);position:absolute;top:0;bottom:0;left:0}.cd-meter-fill.amber{background:var(--ff-amber)}.cd-meter-fill.red{background:var(--ff-red)}.cd-meter-fill.green{background:var(--ff-green)}.cd-meter-tick{background:var(--ff-faint);width:1px;position:absolute;top:-2px;bottom:-2px}.cd-meter-text{color:var(--ff-text);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.cd-meter-text .of{color:var(--ff-faint)}.cd-meter-sub{color:var(--ff-dim);margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;display:block}.cd-meter-sub.amber{color:var(--ff-amber)}.cd-risk{align-items:center;gap:8px;display:inline-flex}.cd-risk-dot{border-radius:50%;width:8px;height:8px}.cd-risk-green{background:var(--ff-green);box-shadow:0 0 6px #6cd3a366}.cd-risk-amber{background:var(--ff-amber);box-shadow:0 0 6px #e89a3a80}.cd-risk-red{background:var(--ff-red);box-shadow:0 0 8px #d9454599}.cd-risk-grey{background:var(--ff-faint)}.cd-risk-text{color:var(--ff-dim);font-size:11px}.cd-rowact{color:var(--ff-dim);align-items:center;gap:4px;font-size:11px;display:inline-flex}.cd-iconbtn{width:22px;height:22px;color:var(--ff-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;display:inline-flex}.cd-iconbtn:hover{border-color:var(--ff-line);color:var(--ff-text);background:var(--ff-panel-hd)}.cd-expand{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-blue);padding:18px 22px 22px}.cd-expand-grid{grid-template-columns:1.4fr 1fr;gap:26px;display:grid}.cd-expand h4{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-dim);margin:0 0 10px;font-size:10.5px;font-weight:600}.cd-leg-grid{background:var(--ff-bg);border:1px solid var(--ff-line);border-radius:3px}.cd-leg-hd{background:var(--ff-panel-hd);color:var(--ff-dim);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px}.cd-leg{border-bottom:1px solid var(--ff-line-soft);grid-template-columns:60px 110px 175px 175px 110px 80px 1fr;align-items:center;gap:12px;padding:7px 10px;font-size:12px;display:grid}.cd-leg-time{flex-direction:column;gap:1px;font-size:11.5px;line-height:1.25;display:flex}.cd-leg-tag{letter-spacing:.08em;text-transform:uppercase;width:24px;color:var(--ff-faint);font-size:9.5px;font-weight:600;display:inline-block}.cd-leg:last-child{border-bottom:none}.cd-leg.cancelled{opacity:.5;text-decoration:line-through;-webkit-text-decoration-color:var(--ff-red);text-decoration-color:var(--ff-red)}.cd-leg-tail{color:var(--ff-amber);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px}.cd-leg-route{letter-spacing:.04em;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:600;display:flex}.cd-leg-status-flown{color:var(--ff-green);font-size:11px}.cd-leg-status-planned{color:var(--ff-amber);font-size:11px}.cd-leg-status-cancelled{color:var(--ff-red);font-size:11px}.cd-chart{background:var(--ff-bg);border:1px solid var(--ff-line);border-radius:3px;padding:14px}.cd-callout-red{color:var(--ff-text);background:#d9454514;border:1px solid #d9454566;border-radius:3px;margin-top:14px;padding:10px;font-size:12px}.cd-callout-red-hd{color:var(--ff-red);margin-bottom:4px;font-weight:600}.cd-btn{appearance:none;height:30px;font:inherit;background:var(--ff-panel);color:var(--ff-text);border:1px solid var(--ff-line);cursor:pointer;white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:500;display:inline-flex}.cd-btn:hover{border-color:var(--ff-blue)}.cd-btn:disabled{opacity:.5;cursor:not-allowed}.cd-btn-primary{background:var(--ff-blue);border-color:var(--ff-blue);color:#fff}.cd-btn-primary:hover{background:#3aa1de}.cd-btn-warn{color:var(--ff-amber);background:#e89a3a26;border-color:#e89a3a80}.cd-btn-warn:hover{background:#e89a3a40}.cd-btn-danger{color:var(--ff-red);background:#d9454526;border-color:#d9454580}.cd-btn-ghost{border-color:var(--ff-line);color:var(--ff-dim);background:0 0}.cd-modal-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#050c16b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cd-modal{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:5px;width:480px;overflow:hidden;box-shadow:0 20px 60px #0009}.cd-modal.wide{width:540px}.cd-modal-hd{border-bottom:1px solid var(--ff-line);background:var(--ff-panel-hd);justify-content:space-between;align-items:baseline;padding:14px 18px;display:flex}.cd-modal-title{letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700}.cd-modal-sub{color:var(--ff-dim);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.cd-modal-body{flex-direction:column;gap:14px;padding:18px;display:flex}.cd-modal-ft{border-top:1px solid var(--ff-line);justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex}.cd-field{flex-direction:column;gap:5px;display:flex}.cd-field label{letter-spacing:.12em;text-transform:uppercase;color:var(--ff-dim);font-size:10.5px}.cd-input,.cd-textarea{background:var(--ff-bg);color:var(--ff-text);border:1px solid var(--ff-line);font:inherit;border-radius:3px;outline:none;padding:8px 10px;font-size:13px}.cd-input:focus,.cd-textarea:focus{border-color:var(--ff-blue)}.cd-input.cd-mono{font-family:JetBrains Mono,ui-monospace,monospace}.cd-textarea{resize:none;min-height:60px}.cd-rewind{border:1px solid var(--ff-line);background:var(--ff-bg);border-radius:3px;align-items:stretch;gap:0;display:flex;overflow:hidden}.cd-rewind-step{height:32px;color:var(--ff-dim);cursor:pointer;border-right:1px solid var(--ff-line);background:0 0;border-top:none;border-bottom:none;border-left:none;flex:1;justify-content:center;align-items:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;display:flex}.cd-rewind-step:last-child{border-right:none}.cd-rewind-step.active{color:var(--ff-amber);background:#e89a3a1f}.cd-rewind-step:hover:not(.active){color:var(--ff-text)}.cd-banner{color:var(--ff-amber);background:#e89a3a1a;border-bottom:1px solid #e89a3a66;align-items:center;gap:12px;padding:10px 18px;font-size:12px;display:flex}.cd-banner.error{color:var(--ff-red);background:#d945451f;border-bottom-color:#d9454580}.cd-banner-icon{border:1.5px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.cd-skel{background:linear-gradient(90deg,#ffffff05 0%,#ffffff0f 50%,#ffffff05 100%) 0 0/200% 100%;border-radius:2px;height:10px;animation:1.6s infinite cd-shimmer}@keyframes cd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cd-empty{text-align:center;color:var(--ff-dim);padding:80px 40px}.cd-empty-mark{color:var(--ff-faint);letter-spacing:.4em;margin-bottom:14px;font-size:32px}.cd-empty h3{color:var(--ff-text);margin:0 0 6px;font-size:16px;font-weight:600}.cd-foot{color:var(--ff-dim);border-top:1px solid var(--ff-line);background:var(--ff-bg-2);justify-content:space-between;padding:8px 18px;font-size:11px;display:flex}.cd-sched-canvas-wrap{background:var(--ff-bg);border-top:1px solid var(--ff-line);display:flex;position:relative}.cd-sched-gutter{border-right:1px solid var(--ff-line);background:var(--ff-bg-2);z-index:2;flex-direction:column;flex:none;display:flex}.cd-sched-gutter-hd{border-bottom:1px solid var(--ff-line);text-transform:uppercase;letter-spacing:.1em;height:30px;color:var(--ff-faint);align-items:center;padding:0 12px;font-size:10px;display:flex}.cd-sched-gutter-rows{flex:auto}.cd-sched-gutter-row{border-bottom:1px solid var(--ff-line-soft);flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;height:52px;padding:0 12px;display:flex}.cd-sched-gutter-tail{color:var(--ff-amber);letter-spacing:.02em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:22px;font-weight:600;text-decoration:none}.cd-sched-gutter-tail:hover{text-decoration:underline}.cd-sched-gutter-base{color:var(--ff-dim);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px}.cd-sched-canvas{scrollbar-width:thin;scrollbar-color:var(--ff-line) transparent;flex:auto;min-width:0;position:relative;overflow:auto hidden}.cd-sched-canvas::-webkit-scrollbar{height:8px}.cd-sched-canvas::-webkit-scrollbar-track{background:var(--ff-bg-2)}.cd-sched-canvas::-webkit-scrollbar-thumb{background:var(--ff-line);border-radius:4px}.cd-sched-canvas::-webkit-scrollbar-thumb:hover{background:var(--ff-dim)}.cd-sched-ribbon{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-line);z-index:1;position:sticky;top:0}.cd-sched-rows{position:relative}.cd-sched-now-pill{color:var(--ff-bg);background:var(--ff-amber);cursor:pointer;letter-spacing:.04em;z-index:3;border:none;border-radius:12px;padding:5px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;position:absolute;bottom:14px;right:14px}.cd-sched-now-pill:hover{filter:brightness(1.1)}.cd-leg-gear{cursor:pointer}.cd-leg-gear-circle{stroke:var(--ff-dim);transition:stroke .12s ease-out}.cd-leg-gear-glyph{fill:var(--ff-dim);transition:fill .12s ease-out}.cd-leg-gear-label{fill:var(--ff-text);opacity:0;transition:opacity .12s ease-out}.cd-duty-off-grp:hover .cd-leg-gear-circle{stroke:var(--ff-text)}.cd-duty-off-grp:hover .cd-leg-gear-glyph{fill:var(--ff-text)}.cd-duty-off-grp:hover .cd-leg-gear-label{opacity:.95}.cd-leg-gear.active .cd-leg-gear-circle{stroke:var(--ff-amber)}.cd-leg-gear.active .cd-leg-gear-glyph{fill:var(--ff-amber)}.dboard{grid-template-columns:64px repeat(var(--tail-cols,1), minmax(80px, 1fr));background:var(--ff-bg);color:var(--ff-text);font:400 11px/1.15 var(--font-ui);font-feature-settings:"tnum";flex:1;align-content:start;display:grid;position:relative;overflow:auto}.dboard.is-dragging{touch-action:none}.dboard .dh-date,.dboard .dh-tail{background:var(--ff-panel);border-bottom:1px solid var(--ff-line);border-right:1px solid var(--ff-line-soft);z-index:4;flex-direction:column;gap:1px;height:36px;padding:4px 7px 5px;font-size:10px;display:flex;position:sticky;top:0}.dboard .dh-date{z-index:10;color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.5px;border-right:1px solid var(--ff-line);justify-content:center;left:0}.dboard .dh-tail .tn{font-family:var(--font-mono);letter-spacing:.3px;color:var(--ff-text);font-size:12px;font-weight:500;line-height:1}.dboard .dh-tail .tm{color:var(--ff-text-dim);font-size:9px;line-height:1.1;font-family:var(--font-mono)}.dboard .dh-tail .tb{color:var(--ff-text-dimmer);font-size:9px;font-family:var(--font-mono);letter-spacing:.3px}.dboard .d-date{z-index:8;background:var(--ff-bg);border-right:1px solid var(--ff-line);border-bottom:1px solid var(--ff-line-soft);flex-direction:column;grid-area:span 2/1;justify-content:center;gap:1px;padding:2px 7px 2px 8px;display:flex;position:sticky;left:0}.dboard .d-date .ddate{font-family:var(--font-mono);letter-spacing:.2px;color:var(--ff-text);font-size:11px;line-height:1.1}.dboard .d-date .ddate-stack{flex-direction:column;gap:1px;display:none}.dboard .d-date .ddate-dow{color:var(--ff-text-dim);font-size:10px}.dboard .d-date .ddate-md{font-variant-numeric:tabular-nums}@media (max-width:768px){.dboard{grid-template-columns:40px repeat(var(--tail-cols,1), minmax(80px, 1fr))}.dboard .d-date{padding:2px 1px 2px 2px}.dboard .d-date .ddate{font-size:10px}.dboard .d-date .ddate-dow{font-size:9px}.dboard .d-date .ddate-wide{display:none}.dboard .d-date .ddate-stack{display:flex}.dboard .d-date .dlabel .dlabel-extra{display:none}}.dboard .d-date .dlabel{color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.15px;white-space:nowrap;text-overflow:clip;margin-top:1px;font-size:8px;line-height:1.1;overflow:hidden}.dboard .d-date .dlabel.mother,.dboard .d-date .dlabel.memorial{color:var(--ff-amber)}.dboard .d-date .dlabel.swap{color:var(--ff-green);font-weight:500}.dboard .d-date.today{border-left:2px solid var(--ff-cyan);background-image:linear-gradient(#5ec1e614,#5ec1e614);padding-left:6px}.dboard .d-date.today .ddate{color:var(--ff-cyan)}.dboard .d-leg.band-a{background:#5e98c812}.dboard .d-leg.band-b{background:#f0c8820b}.dboard .d-date.band-a{background-image:linear-gradient(#5e98c814,#5e98c814)}.dboard .d-date.band-b{background-image:linear-gradient(#f0c8820d,#f0c8820d)}.dboard .d-crew{background-color:#ffffff1a}.dboard .d-leg.weekend{background:#0000002e}.dboard .d-crew.weekend{background-color:#ffffff12}.dboard .d-leg.swap{box-shadow:inset 0 1px #4ea8608c,inset 0 -1px #4ea8608c;background:#4ea8601a!important}.dboard .d-date.swap{box-shadow:inset 0 1px 0 0 #4ea8608c, inset 2px 0 0 0 var(--ff-green);padding-left:6px;background-image:linear-gradient(#4ea8601a,#4ea8601a)!important}.dboard .d-leg.swap.has-rev,.dboard .d-leg.swap.aog{background:#4ea8600f!important}.dboard .d-leg.past,.dboard .d-crew.past{background:#00000038}.dboard .d-date.past{background-image:linear-gradient(#00000038,#00000038)}.dboard .d-leg.past .dleg,.dboard .d-leg.past .daog{opacity:.55}.dboard .d-leg{border-right:1px solid var(--ff-line-soft);border-bottom:1px dotted var(--ff-line-soft);min-height:calc(17px * var(--leg-rows,1));--pill-col-min:50px;--font-floor:8.25px;grid-template-columns:repeat(var(--leg-cols,1), minmax(var(--pill-col-min), 1fr));font-family:var(--font-mono);letter-spacing:.15px;cursor:pointer;grid-auto-rows:17px;grid-auto-flow:row;padding:0;font-size:10.5px;display:grid;position:relative}.dboard .d-crew{border-right:1px solid var(--ff-line-soft);border-bottom:1px solid var(--ff-line-soft);height:17px;min-height:17px;color:var(--ff-text);letter-spacing:0;cursor:text;outline:none;justify-content:center;align-items:center;padding:1px 4px;font-size:10px;display:flex;overflow:hidden}.dboard .d-crew.is-empty:before{content:attr(data-placeholder);color:#0000;pointer-events:none;font-size:9.5px;font-style:italic}.dboard .d-crew.is-empty:hover{background-color:#5ec1e60f;box-shadow:inset 0 0 0 1px #5ec1e640}.dboard .d-crew:focus{box-shadow:inset 0 0 0 1px var(--ff-cyan);z-index:2;background-color:#5ec1e61a}.dboard .d-crew.has-user{font-family:var(--font-ui);color:var(--ff-text-dim);letter-spacing:.2px;font-style:italic}.dboard .dleg{letter-spacing:.1px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;justify-content:center;align-items:center;gap:3px;padding:0 4px;line-height:1;display:flex;overflow:hidden;container-type:inline-size}.dboard .d-leg.is-drag-source-row{background-color:#5ec1e60f;box-shadow:inset 0 1px #5ec1e68c,inset 0 -1px #5ec1e68c}.dboard .d-date.is-drag-source-row{box-shadow:inset 0 1px 0 0 #5ec1e68c, inset 2px 0 0 0 var(--ff-cyan);background-color:#5ec1e60f}.dboard .d-date{cursor:pointer}.dboard .d-leg.is-date-row-selected{background-color:#e8c93a14;box-shadow:inset 0 1px #e8c93a8c}.dboard .d-crew.is-date-row-selected{background-color:#e8c93a0d;box-shadow:inset 0 -1px #e8c93a8c}.dboard .d-date.is-date-row-selected{box-shadow:inset 0 1px 0 0 #e8c93a8c, inset 0 -1px 0 0 #e8c93a8c, inset 2px 0 0 0 var(--ff-yellow);padding-left:6px;background-image:linear-gradient(#e8c93a14,#e8c93a14)!important}.dboard .dleg .route{min-width:0;max-width:100%;line-height:1.05;font-size:clamp(var(--font-floor,8.25px), 18cqw, 10.5px);text-align:center;white-space:nowrap;display:inline-block}.dboard .d-leg.legs-dense{--pill-col-min:40px;--font-floor:7.5px}.dboard .dleg.rev{color:var(--ff-text);border-left:2px solid var(--ff-cyan);background-color:#5ec1e638}.dboard .dleg.repo{color:var(--ff-text);border-left:2px solid var(--ff-amber);background-color:#e89a3a38}.dboard .dleg.auto{color:var(--ff-text);border-left:2px dashed var(--ff-amber);background-color:#e89a3a38;font-style:italic}.dboard .dleg.auto:before{content:"✦ ";opacity:.9;color:var(--ff-amber);font-size:8px;font-style:normal}.dboard .dleg.long{color:var(--ff-red);background-color:#0000;font-weight:500}.dboard .dleg.long:after{content:" $";color:var(--ff-red);font-size:10px;font-weight:700}.dboard .d-leg.aog{background-color:#d945451f;background-image:repeating-linear-gradient(-45deg,#d9454552 0 3px,#0000 3px 7px);border-bottom-color:#d9454566}.dboard .d-leg.aog:after{content:"AOG";font-family:var(--font-mono);color:var(--ff-red);letter-spacing:.5px;background:var(--ff-bg);pointer-events:none;z-index:1;border-radius:1px;padding:1px 4px;font-size:9.5px;font-weight:700;position:absolute;top:1px;left:50%;transform:translate(-50%)}.dboard .d-leg.aog:not(:has(.dleg)):after{top:50%;transform:translate(-50%,-50%)}.dboard .dleg.selectable{cursor:pointer}.dboard .dleg.selected{outline:1.5px solid var(--ff-cyan);outline-offset:-1px;box-shadow:0 0 0 1px var(--ff-bg), 0 0 0 2.5px var(--ff-cyan);position:relative}.dboard .dleg.selected:before{content:"●";color:var(--ff-cyan);text-shadow:0 0 2px #000000e6;pointer-events:none;z-index:2;font-size:8.5px;line-height:1;position:absolute;top:-1px;left:2px}.selection-bar{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-line);min-height:36px;color:var(--ff-text-dim);font-size:11px;font-family:var(--font-mono,ui-monospace, monospace);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:6px 12px;display:flex}.selection-bar-extra{display:inline}@media (max-width:768px){.selection-bar{gap:6px 8px;padding:6px 10px;font-size:10.5px}.selection-bar-label,.selection-bar-divider,.selection-bar-extra{display:none}.selection-bar-btn{padding:4px 8px;font-size:10.5px}.selection-bar-tail{padding:4px 6px;font-size:10.5px}.selection-bar-count{flex-basis:100%}}.selection-bar-count{color:var(--ff-cyan);align-items:center;gap:5px;font-weight:600;display:inline-flex}.selection-bar-count .dot{font-size:9px}.selection-bar-label{color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.4px;font-size:10px}.selection-bar-tail{font-family:var(--font-mono,ui-monospace, monospace);background:var(--ff-bg);border:1px solid var(--ff-line);color:var(--ff-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;border-radius:3px;padding:2px 6px;font-size:11px}.selection-bar-tail:focus{border-color:var(--ff-cyan);outline:none}.selection-bar-btn{font-family:var(--font-mono,ui-monospace, monospace);border:1px solid var(--ff-line);color:var(--ff-text-dim);cursor:pointer;letter-spacing:.04em;background:0 0;border-radius:3px;padding:2px 10px;font-size:11px}.selection-bar-btn:hover:not(:disabled){border-color:var(--ff-cyan);color:var(--ff-cyan)}.selection-bar-btn:disabled{opacity:.45;cursor:default}.selection-bar-btn.primary{border-color:var(--ff-cyan);color:var(--ff-cyan);background:#5ec1e62e}.selection-bar-btn.primary:hover:not(:disabled){background:#5ec1e652}.selection-bar-err{color:var(--ff-red);font-size:10.5px;font-style:italic}.selection-bar-tails{color:var(--ff-text-dim);font-weight:400}.selection-bar-divider{background:var(--ff-line);width:1px;height:18px;margin:0 4px;display:inline-block}.dboard .dleg.aog-conflict{outline:1.5px solid var(--ff-red);outline-offset:-1px;background-color:#d9454538;position:relative}.dboard .dleg.aog-conflict:before{content:"⛔";text-shadow:0 0 2px #000c;pointer-events:none;z-index:2;font-size:8.5px;line-height:1;position:absolute;bottom:-1px;right:1px}.dboard .dleg.duty-conflict{outline:1.5px solid var(--ff-magenta);outline-offset:-1px}.dboard .dleg.mirror,.dboard .d-leg.mirror .dleg{background-image:repeating-linear-gradient(0deg,#0000 0 3px,#ffffff0a 3px 4px);border-left-style:dashed}.dboard .dleg.confirmed{border-left-style:solid}.dboard .dleg.has-discrepancy{position:relative}.dboard .dleg.has-discrepancy:after{content:"⚠";color:var(--ff-amber);text-shadow:0 0 2px #000c;pointer-events:none;font-size:8.5px;line-height:1;position:absolute;top:-1px;right:2px}.dboard .dleg[draggable=true]{cursor:grab}.dboard .dleg[draggable=true]:active{cursor:grabbing}.dboard .dleg{touch-action:manipulation}.dboard .dleg.is-drag-source{opacity:.4}@keyframes tds-press-arming{0%{transform:scale(1);box-shadow:0 0 #5ec1e600,0 0 #5ec1e600}to{transform:scale(1.08);box-shadow:0 0 0 3px #5ec1e6a6,0 4px 18px #00000073}}.dboard .dleg.is-press-arming{z-index:5;-webkit-touch-callout:none;touch-action:none;animation:.5s ease-out forwards tds-press-arming;position:relative}.dleg-floating{pointer-events:none;will-change:transform}.dleg-floating .dleg-floating-inner{background:var(--ff-bg-2);border:1px solid var(--ff-cyan);width:100%;height:100%;color:var(--ff-text);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;opacity:.95;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;display:flex;overflow:hidden;transform:scale(1.08);box-shadow:0 10px 24px #00000080}.dboard .dleg.pending{opacity:.55;filter:saturate(.6);pointer-events:none}.dboard .dleg{transition:opacity .18s,filter .18s}.dboard .d-leg.drop-target{box-shadow:inset 0 0 0 1px var(--ff-cyan);background-color:#5ec1e61f}.dboard .d-leg.drop-target.drop-target-aog{box-shadow:inset 0 0 0 1.5px var(--ff-amber);background-color:#e89a3a2e}.dboard .d-leg.conflict{box-shadow:inset 0 0 0 1px var(--ff-red);background-color:#d945451a}.dboard .d-leg.conflict:after{content:"!";background:var(--ff-red);color:var(--ff-bg);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;width:11px;height:11px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.dboard .d-leg.selected,.dboard .d-crew.selected{box-shadow:inset 0 0 0 1px var(--ff-cyan);background-color:#5ec1e61f}.dboard .d-leg:hover:not(.aog){z-index:2;box-shadow:inset 0 0 0 1px #5ec1e680}.dboard .d-leg.highlighted,.dboard .d-crew.highlighted{background-image:linear-gradient(#e6b80038,#e6b80038);box-shadow:inset 0 0 0 1px #e6b80099}.dboard .d-leg.highlighted.selected,.dboard .d-crew.highlighted.selected{box-shadow:inset 0 0 0 1px var(--ff-cyan)}.dboard.highlight-mode .d-leg,.dboard.highlight-mode .d-crew{-webkit-user-select:none;user-select:none;cursor:crosshair}.dboard .crew-line{text-align:center;white-space:nowrap;text-overflow:ellipsis;letter-spacing:0;opacity:.78;width:100%;font-size:9px;line-height:1.1;display:block;overflow:hidden}.dboard .crew-line .nm{white-space:nowrap}.dboard .crew-line .sep{color:var(--ff-text-dimmer);margin:0 2px}.dboard .crew-line .nm-full{display:inline}.dboard .crew-line .nm-short{display:none}@media (max-width:768px){.dboard .crew-line{font-size:8px}.dboard .crew-line .sep{margin:0 1px}.dboard .crew-line .nm-full{display:none}.dboard .crew-line .nm-short{display:inline}}.dboard .crew-line .nm.confirmed{color:var(--ff-text)}.dboard .crew-line .nm.needs{color:var(--ff-amber)}.dboard .crew-line .nm.overtime{color:var(--ff-cyan)}.dboard .crew-line .nm.book-ot{color:var(--ff-purple)}.dboard .crew-line.inherited{opacity:.42;font-style:italic}.dboard .freenote{font-family:var(--font-ui);color:var(--ff-text-dim);letter-spacing:.2px;font-size:9.5px;font-style:italic}.dboard .pop{z-index:30;background:var(--ff-bg-2);border:1px solid var(--ff-line);font-family:var(--font-ui);color:var(--ff-text);pointer-events:auto;border-radius:6px;width:360px;padding:0;font-size:12px;position:absolute;overflow:hidden;box-shadow:0 18px 40px #0000008c}.dboard .pop .pop-header{border-bottom:1px solid var(--ff-line-soft);padding:9px 12px}.dboard .pop .pop-title-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.dboard .pop .pop-tail{font-family:var(--font-mono);color:var(--ff-text);font-size:15px;font-weight:700}.dboard .pop .pop-sep{color:var(--ff-text-dimmer)}.dboard .pop .pop-date{color:var(--ff-text-dim);font-size:12px}.dboard .pop .pop-aog-tag{font-family:var(--font-mono);letter-spacing:.5px;color:var(--ff-red);background:#d945452e;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700}.dboard .pop .pop-duty-tag{font-family:var(--font-mono);letter-spacing:.5px;color:var(--ff-magenta);background:#c945a82e;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700}.dboard .pop .pop-close{color:var(--ff-text-dimmer);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.dboard .pop .pop-close:hover{color:var(--ff-text-dim)}.dboard .pop .pop-ji-card{color:inherit;cursor:pointer;background:#5ec1e60f;border:1px solid #5ec1e640;border-radius:4px;align-items:center;gap:10px;padding:7px 10px;text-decoration:none;transition:background 80ms,border-color 80ms;display:flex}.dboard .pop .pop-ji-card:hover{background:#5ec1e61a;border-color:#5ec1e673}.dboard .pop .pop-ji-badge{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ff-cyan);border:1px solid var(--ff-cyan);border-radius:3px;padding:2px 5px;font-size:10px;font-weight:700}.dboard .pop .pop-ji-code{font-family:var(--font-mono);color:var(--ff-text);font-size:13px;font-weight:600}.dboard .pop .pop-ji-caption{color:var(--ff-text-dimmer);font-size:11px}.dboard .pop .pop-ji-arrow{color:var(--ff-cyan);font-size:12px;line-height:1}.dboard .pop .pop-aog-conflict{border:1px solid var(--ff-red);color:var(--ff-text);background:#d945451f;border-radius:3px;margin:10px 14px 0;padding:6px 10px;font-size:10.5px}.dboard .pop .pop-aog-conflict strong{color:var(--ff-red);font-weight:700}.dboard .pop .pop-empty{color:var(--ff-text-dim);text-align:center;padding:14px;font-size:11px;font-style:italic}.dboard .pop .pop-segments{border-bottom:1px solid var(--ff-line-soft);padding:8px 12px 4px}.dboard .pop .pop-section-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.dboard .pop .pop-section-label{font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ff-text-dimmer);font-size:10px;font-weight:600}.dboard .pop .pop-section-meta{font-family:var(--font-mono);color:var(--ff-text-dimmer);font-size:10px}.dboard .pop .pop-seg{background:var(--ff-panel);border:1px solid var(--ff-line-soft);border-left:2px solid var(--ff-text-dimmer);border-radius:4px;margin-bottom:5px;padding:7px 9px}.dboard .pop .pop-seg:last-child{margin-bottom:2px}.dboard .pop .pop-seg.accent-rev{border-left-color:var(--ff-green)}.dboard .pop .pop-seg.accent-repo{border-left-color:var(--ff-text-dimmer)}.dboard .pop .pop-seg.accent-long{border-left-color:var(--ff-red)}.dboard .pop .pop-seg-head{align-items:center;gap:6px;margin-bottom:5px;display:flex}.dboard .pop .pop-seg-idx{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ff-text-dimmer);font-size:10px;font-weight:600}.dboard .pop .pop-seg-pill{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--ff-line);color:var(--ff-text-dim);background:0 0;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600}.dboard .pop .pop-seg-pill.rev{color:var(--ff-green);background:#4ea86014;border-color:#4ea86099}.dboard .pop .pop-seg-pill.long{color:var(--ff-red);background:#d9454514;border-color:#d9454599}.dboard .pop .pop-seg-ji{font-family:var(--font-mono);color:var(--ff-cyan);cursor:pointer;align-items:center;gap:4px;font-size:10px;font-weight:500;text-decoration:none;display:inline-flex}.dboard .pop .pop-seg-ji:hover{color:#9adcef;text-decoration:underline}.dboard .pop .pop-seg-ji-arrow{font-size:10px}.dboard .pop .pop-seg-route{align-items:center;gap:8px;margin-bottom:5px;display:flex}.dboard .pop .pop-seg-airport{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ff-amber);font-size:15px;font-weight:700}.dboard .pop .pop-seg-connector{color:var(--ff-text-dimmer);flex:1;align-items:center;gap:6px;display:flex;position:relative}.dboard .pop .pop-seg-line{background:var(--ff-line);flex:1;height:1px}.dboard .pop .pop-seg-elapsed{font-family:var(--font-mono);color:var(--ff-text-dimmer);font-size:10px}.dboard .pop .pop-seg-arrow{color:var(--ff-line);font-size:11px;line-height:1;position:absolute;top:50%;right:-4px;transform:translateY(-50%)}.dboard .pop .pop-seg-times{font-family:var(--font-mono);align-items:baseline;gap:6px;display:flex}.dboard .pop .pop-seg-time-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ff-text-dimmer);font-size:9.5px;font-weight:600}.dboard .pop .pop-seg-time-value{color:var(--ff-text);font-size:12px}.dboard .pop .pop-seg-time-sep{color:var(--ff-text-dimmer);margin:0 2px}.dboard .pop .pop-seg-time-suffix{color:var(--ff-text-dimmer);margin-left:4px;font-size:10px}.dboard .pop .pop-seg-delete-row{border-top:1px dashed var(--ff-line-soft);align-items:center;gap:6px;margin-top:8px;padding-top:6px;display:flex}.dboard .pop .pop-seg-delete-btn{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--ff-text-dim);border:1px solid var(--ff-line);cursor:pointer;background:0 0;border-radius:3px;padding:3px 8px;font-size:10.5px}.dboard .pop .pop-seg-delete-btn:hover{color:var(--ff-red);border-color:var(--ff-red)}.dboard .pop .pop-seg-delete-prompt{color:var(--ff-text);margin-right:auto;font-size:11px}.dboard .pop .pop-seg-delete-no,.dboard .pop .pop-seg-delete-yes{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;cursor:pointer;border-radius:3px;padding:3px 8px;font-size:10.5px}.dboard .pop .pop-seg-delete-no{color:var(--ff-text-dim);border:1px solid var(--ff-line);background:0 0}.dboard .pop .pop-seg-delete-yes{color:var(--ff-red);border:1px solid var(--ff-red);background:#d945452e}.dboard .pop .pop-seg-delete-yes:hover:not(:disabled){background:#d945454d}.dboard .pop .pop-seg-delete-no:disabled,.dboard .pop .pop-seg-delete-yes:disabled{opacity:.5;cursor:default}.dboard .pop .pop-crew-zone{border-bottom:1px solid var(--ff-line-soft);padding:8px 12px 6px}.dboard .pop .pop-note{border-bottom:1px solid var(--ff-line-soft);color:var(--ff-text-dim);padding:6px 12px;font-size:11px;font-style:italic}.dboard .pop .pop-note-k{color:var(--ff-text-dimmer);text-transform:uppercase;letter-spacing:.3px;margin-right:6px;font-size:9.5px;font-style:normal}.dboard .pop .pop-note-zone{border-bottom:1px solid var(--ff-line-soft);padding:8px 12px}.dboard .pop .pop-note-editor{flex-direction:column;gap:4px;display:flex}.dboard .pop .pop-note-input{background:var(--ff-bg-1);border:1px solid var(--ff-line);color:var(--ff-text);font:inherit;box-sizing:border-box;border-radius:3px;width:100%;padding:4px 6px;font-size:11.5px}.dboard .pop .pop-note-input:focus{border-color:var(--ff-cyan);outline:none}.dboard .pop .pop-note-input:disabled{opacity:.55}.dboard .pop .pop-note-flash{letter-spacing:.1em;text-transform:uppercase;color:var(--sf-accent);font-size:9px}.dboard .pop .pop-note-error{color:var(--ff-red);font-size:10.5px}.dboard .pop .pop-footer{background:#0000002e;padding:8px 12px}.dboard .pop .pop-footer .cd-aog{border-top:none;margin-top:0;padding-top:0}.dboard .pop .pop-add-repo-zone{border-bottom:1px solid var(--ff-line-soft);padding:8px 12px 4px}.dboard .pop .pop-add-repo-collapsed{padding-bottom:4px}.dboard .pop .pop-add-repo-trigger{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--ff-text-dim);border:1px dashed var(--ff-line);cursor:pointer;background:0 0;border-radius:4px;width:100%;padding:4px 10px;font-size:10.5px}.dboard .pop .pop-add-repo-trigger:hover{color:var(--ff-text);border-color:var(--ff-line-hard,var(--ff-line));background:#ffffff08}.dboard .pop .pop-add-repo{flex-direction:column;gap:6px;display:flex}.dboard .pop .pop-seg-edit{border-top:1px dashed var(--ff-line-soft);margin-top:8px;padding-top:8px}.dboard .pop .pop-add-repo-x{color:var(--ff-text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.dboard .pop .pop-add-repo-x:hover{color:var(--ff-text)}.dboard .pop .pop-add-repo-row{gap:8px;display:flex}.dboard .pop .pop-add-repo-field{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dboard .pop .pop-add-repo-anchor .pop-add-repo-k{color:var(--ff-cyan)}.dboard .pop .pop-add-repo-anchor .pop-add-repo-input{border-color:var(--ff-cyan)}.dboard .pop .pop-add-repo-k{text-transform:uppercase;letter-spacing:.06em;color:var(--ff-text-dim);font-size:9px}.dboard .pop .pop-add-repo-input{background:var(--ff-bg-1);border:1px solid var(--ff-line);color:var(--ff-text);font:inherit;font-family:var(--font-mono,ui-monospace, monospace);box-sizing:border-box;border-radius:3px;width:100%;padding:4px 6px;font-size:11.5px}.dboard .pop .pop-add-repo-input:focus{border-color:var(--ff-cyan);outline:none}.dboard .pop .pop-add-repo-readonly{justify-content:flex-end}.dboard .pop .pop-add-repo-v{font-family:var(--font-mono,ui-monospace, monospace);color:var(--ff-text);background:#ffffff08;border-radius:3px;padding:4px 6px;font-size:11.5px}.dboard .pop .pop-add-repo-hint{color:var(--ff-text-dim);font-size:10px;font-style:italic}.dboard .pop .pop-add-repo-warn{border-radius:3px;padding:6px 8px;font-size:11px;line-height:1.4}.dboard .pop .pop-add-repo-warn ul{margin:4px 0 0 16px;padding:0}.dboard .pop .pop-add-repo-warn-amber{color:var(--ff-amber);background:#e6b8001f;border:1px solid #e6b80066}.dboard .pop .pop-add-repo-warn-error{color:var(--ff-red);background:#d945451f;border:1px solid #d9454566}.dboard .pop .pop-add-repo-actions{justify-content:flex-end;gap:6px;display:flex}.dboard .pop .pop-add-repo-cancel,.dboard .pop .pop-add-repo-submit{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;cursor:pointer;border-radius:3px;padding:4px 10px;font-size:10.5px}.dboard .pop .pop-add-repo-cancel{color:var(--ff-text-dim);border:1px solid var(--ff-line);background:0 0}.dboard .pop .pop-add-repo-cancel:hover{color:var(--ff-text)}.dboard .pop .pop-add-repo-submit{color:var(--ff-cyan);border:1px solid var(--ff-cyan);background:#2d8fcc2e}.dboard .pop .pop-add-repo-submit:hover:not(:disabled){background:#2d8fcc4d}.dboard .pop .pop-add-repo-submit:disabled,.dboard .pop .pop-add-repo-cancel:disabled{opacity:.5;cursor:default}.dboard .pop .pop-hint{color:var(--ff-text-dimmer);text-align:right;padding:4px 12px 6px;font-size:9px}.dboard .pop .pop-row{align-items:baseline;gap:8px;margin-bottom:2px;font-size:11px;display:flex}.dboard .pop .pop-row .k{color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;width:50px;font-size:9.5px}.dboard .pop .pop-row .v{color:var(--ff-text);font-family:var(--font-mono);font-size:11px}.dboard .pop .pop-row .v.ji{color:var(--ff-text-dim);font-style:italic}.dboard.gap-mode .d-leg:not(.gap-cell):not(.aog):not(.past),.dboard.gap-mode .d-crew:not(.gap-cell):not(.past){opacity:.32}.dboard.gap-mode .d-leg.gap-cell{background-color:#e89a3a2e;box-shadow:inset 0 0 0 1px #e89a3a8c}.dboard.gap-mode .d-leg.gap-cell:hover:before{content:"$ sell";font-family:var(--font-mono);color:var(--ff-amber);justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:absolute;inset:0}.dboard .d-crew.is-editing{box-shadow:inset 0 0 0 1px var(--ff-cyan);background-color:#5ec1e61a;padding:0}.dboard .d-crew.has-error{box-shadow:inset 0 0 0 1px var(--ff-red)}.dboard .cd-note-edit{width:100%;height:100%;color:var(--ff-text);font-family:var(--font-ui);letter-spacing:.2px;text-align:center;background:0 0;border:none;outline:none;padding:0 4px;font-size:10px;font-style:italic}.dboard .cd-note-edit::placeholder{color:var(--ff-text-dimmer)}.dboard .cd-note-edit:disabled{opacity:.6}.dboard .pop .cd-crew-editor{border-top:1px solid var(--ff-line-soft);flex-direction:column;gap:6px;margin-top:8px;padding-top:6px;display:flex}.dboard .pop .cd-crew-editor-head{align-items:baseline;gap:6px;display:flex}.dboard .pop .cd-crew-editor-title{color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:9.5px}.dboard .pop .cd-crew-editor-inherit{color:var(--ff-text-dimmer);font-size:9px;font-style:italic}.dboard .pop .cd-crew-editor-row{grid-template-rows:auto auto;grid-template-columns:32px 1fr;align-items:center;gap:2px 6px;display:grid}.dboard .pop .cd-crew-editor-seat{color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.5px;grid-area:1/1;font-size:9.5px}.dboard .pop .cd-crew-editor-name{border:1px solid var(--ff-line);color:var(--ff-text);font-family:var(--font-mono);letter-spacing:.2px;background:#ffffff0a;border-radius:2px;outline:none;grid-area:1/2;min-width:0;padding:3px 6px;font-size:11px}.dboard .pop .cd-crew-editor-name:focus{border-color:var(--ff-cyan);background:#5ec1e614}.dboard .pop .cd-crew-editor-name:disabled{opacity:.5}.dboard .pop .cd-crew-editor-chips{flex-wrap:wrap;grid-area:2/2;gap:3px;display:flex}.dboard .pop .cd-crew-editor-chip{border:1px solid var(--ff-line);color:var(--ff-text-dim);font-family:var(--font-ui);letter-spacing:.2px;cursor:pointer;background:0 0;border-radius:2px;padding:2px 6px;font-size:9.5px;line-height:1.1}.dboard .pop .cd-crew-editor-chip:hover:not(:disabled){border-color:var(--ff-text-dim);color:var(--ff-text)}.dboard .pop .cd-crew-editor-chip:disabled{opacity:.35;cursor:not-allowed}.dboard .pop .cd-crew-editor-chip.active{color:var(--ff-text);border-color:currentColor}.dboard .pop .cd-crew-editor-chip.confirmed.active{color:var(--ff-text);border-color:var(--ff-text-dim);background:#ffffff14}.dboard .pop .cd-crew-editor-chip.needs.active{color:var(--ff-amber);border-color:var(--ff-amber);background:#e89a3a2e}.dboard .pop .cd-crew-editor-chip.overtime.active{color:var(--ff-cyan);border-color:var(--ff-cyan);background:#5ec1e62e}.dboard .pop .cd-crew-editor-chip.book-ot.active{background:var(--ff-purple-bg);color:var(--ff-purple);border-color:var(--ff-purple)}.dboard .pop .cd-crew-editor-actions{gap:6px;margin-top:2px;display:flex}.dboard .pop .cd-crew-editor-save,.dboard .pop .cd-crew-editor-reset{font-family:var(--font-ui);letter-spacing:.3px;cursor:pointer;border-radius:2px;padding:3px 10px;font-size:10px;line-height:1.1}.dboard .pop .cd-crew-editor-save{background:var(--ff-cyan);border:1px solid var(--ff-cyan);color:#0c1117;font-weight:500}.dboard .pop .cd-crew-editor-save:disabled{opacity:.5;cursor:not-allowed}.dboard .pop .cd-crew-editor-reset{border:1px solid var(--ff-line);color:var(--ff-text-dim);background:0 0}.dboard .pop .cd-crew-editor-reset:hover:not(:disabled){border-color:var(--ff-red);color:var(--ff-red)}.dboard .pop .cd-crew-editor-error{color:var(--ff-red);font-size:9.5px;font-style:italic}.dboard .pop .cd-leg-own-row{border-top:1px dashed var(--ff-line-soft);align-items:center;gap:8px;margin-top:5px;padding-top:4px;display:flex}.dboard .pop .cd-leg-own-badge{letter-spacing:.3px;text-transform:uppercase;border-radius:2px;padding:1px 5px;font-size:9px}.dboard .pop .cd-leg-own-badge.tone-mirror{color:var(--ff-text-dim);background:#ffffff14}.dboard .pop .cd-leg-own-badge.tone-confirmed{color:var(--ff-cyan);background:#5ec1e62e;font-weight:600}.dboard .pop .cd-leg-own-badge.tone-past{color:var(--ff-text-dimmer);text-transform:none;background:#ffffff0a;font-style:italic}.dboard .pop .cd-leg-own-badge.tone-manual{color:var(--ff-amber);background:#e89a3a24}.dboard .pop .cd-leg-own-btn{font-family:var(--font-ui);letter-spacing:.2px;border:1px solid var(--ff-line);color:var(--ff-text);cursor:pointer;background:0 0;border-radius:2px;margin-left:auto;padding:2px 8px;font-size:10px;transition:border-color 80ms,color 80ms,background 80ms}.dboard .pop .cd-leg-own-btn:disabled{opacity:.5;cursor:default}.dboard .pop .cd-leg-own-btn.confirm{color:var(--ff-green);background:#4ea86014;border-color:#4ea86073}.dboard .pop .cd-leg-own-btn.confirm:hover:not(:disabled){border-color:var(--ff-green);background:#4ea8602e}.dboard .pop .cd-leg-own-btn.reset:hover:not(:disabled){border-color:var(--ff-text-dim);color:var(--ff-text-dim)}.dboard .pop .cd-leg-own-err{color:var(--ff-red);margin-left:auto;font-size:9.5px;font-style:italic}.dboard .pop .cd-disc{background:#e89a3a1a;border:1px solid #e89a3a73;border-radius:3px;margin-top:6px;padding:6px 8px}.dboard .pop .cd-disc-head{color:var(--ff-amber);letter-spacing:.3px;margin-bottom:4px;font-size:10px;font-weight:600}.dboard .pop .cd-disc-grid{grid-template-columns:1fr 1fr;gap:2px 6px;display:grid}.dboard .pop .cd-disc-col-head{color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px dashed var(--ff-line-soft);margin-bottom:1px;padding-bottom:1px;font-size:9px}.dboard .pop .cd-disc-col-head.theirs{color:var(--ff-amber)}.dboard .pop .cd-disc-cell{font-size:10.5px;font-family:var(--font-mono);color:var(--ff-text);align-items:baseline;gap:6px;display:flex}.dboard .pop .cd-disc-cell.theirs{color:var(--ff-amber)}.dboard .pop .cd-disc-k{font-family:var(--font-ui);color:var(--ff-text-dim);text-transform:uppercase;min-width:32px;font-size:9px}.dboard .pop .cd-disc-actions{gap:6px;margin-top:6px;display:flex}.dboard .pop .cd-disc-accept,.dboard .pop .cd-disc-dismiss{font-family:var(--font-ui);cursor:pointer;border-radius:2px;padding:2px 8px;font-size:10px}.dboard .pop .cd-disc-accept{border:1px solid var(--ff-amber);color:var(--ff-amber);background:#e89a3a33}.dboard .pop .cd-disc-accept:hover:not(:disabled){background:#e89a3a52}.dboard .pop .cd-disc-dismiss{border:1px solid var(--ff-line);color:var(--ff-text);background:0 0}.dboard .pop .cd-disc-dismiss:hover:not(:disabled){border-color:var(--ff-text-dim)}.dboard .pop .cd-disc-accept:disabled,.dboard .pop .cd-disc-dismiss:disabled{opacity:.5;cursor:default}.dboard .pop .cd-disc-err{color:var(--ff-red);margin-top:4px;font-size:9.5px;font-style:italic}.dboard .pop .cd-aog{border-top:1px solid var(--ff-line-soft);margin-top:8px;padding-top:6px}.dboard .pop .cd-aog-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.dboard .pop .cd-aog-label{letter-spacing:.3px;text-transform:uppercase;color:var(--ff-red);font-size:9.5px;font-weight:600}.dboard .pop .cd-aog-range{font-family:var(--font-mono);color:var(--ff-text);font-size:10.5px}.dboard .pop .cd-aog-reason{color:var(--ff-text-dim);font-size:10.5px;font-style:italic}.dboard .pop .cd-aog-empty{color:var(--ff-text-dimmer);font-size:10.5px;font-style:italic}.dboard .pop .cd-aog-source{color:var(--ff-text-dimmer);margin-top:4px;font-size:9.5px;font-style:italic}.dboard .pop .cd-aog-actions{gap:6px;margin-top:4px;margin-left:auto;display:flex}.dboard .pop .cd-aog-btn{font-family:var(--font-ui);letter-spacing:.2px;border:1px solid var(--ff-line);color:var(--ff-text);cursor:pointer;background:0 0;border-radius:2px;padding:2px 8px;font-size:10px}.dboard .pop .cd-aog-btn:hover:not(:disabled){border-color:var(--ff-cyan);color:var(--ff-cyan)}.dboard .pop .cd-aog-btn.cd-aog-mark:hover:not(:disabled),.dboard .pop .cd-aog-btn.destructive:hover:not(:disabled){border-color:var(--ff-red);color:var(--ff-red)}.dboard .pop .cd-aog-btn.primary{border-color:var(--ff-red);color:var(--ff-red);background:#d945452e}.dboard .pop .cd-aog-btn.primary:hover:not(:disabled){background:#d9454552}.dboard .pop .cd-aog-btn:disabled{opacity:.5;cursor:default}.dboard .pop .cd-aog-editing{border:1px solid var(--ff-line);background:#d945450d;border-radius:3px;padding:6px 8px}.dboard .pop .cd-aog-form-row{align-items:center;gap:6px;margin-top:4px;display:flex}.dboard .pop .cd-aog-l{font-family:var(--font-ui);color:var(--ff-text-dim);text-transform:uppercase;letter-spacing:.3px;min-width:56px;font-size:9.5px}.dboard .pop .cd-aog-input{font-family:var(--font-mono);background:var(--ff-bg);border:1px solid var(--ff-line);color:var(--ff-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:2px;flex:1;padding:2px 5px;font-size:10.5px}.dboard .pop .cd-aog-input:focus{border-color:var(--ff-cyan);outline:none}.dboard .pop .cd-aog-err{color:var(--ff-red);margin-top:5px;font-size:9.5px;font-style:italic}.dboard .pop .cd-aog-conflict{border-left:2px solid var(--ff-red);background:#d945451a;margin-top:5px;padding:5px 6px}.dboard .pop .cd-aog-conflict-head{text-transform:uppercase;letter-spacing:.3px;color:var(--ff-red);margin-bottom:3px;font-size:9.5px}.dboard .pop .cd-aog-conflict-list{font-family:var(--font-mono);margin:0;padding:0;font-size:10px;list-style:none}.dboard .pop .cd-aog-conflict-list li{gap:8px;display:flex}.dboard .pop .cd-aog-conflict-date{color:var(--ff-text-dim);min-width:80px}.dboard .pop .cd-aog-conflict-route{color:var(--ff-cyan)}.orphan-modal-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.12s ease-out orphan-fade;display:flex;position:fixed;inset:0}@keyframes orphan-fade{0%{opacity:0}to{opacity:1}}.orphan-modal{background:var(--ff-bg-elev,var(--ff-bg));border:1px solid var(--ff-line);width:100%;max-width:520px;max-height:80vh;color:var(--ff-text);font-family:var(--font-ui);border-radius:4px;flex-direction:column;display:flex;box-shadow:0 10px 40px #0009}.orphan-modal-head{border-bottom:1px solid var(--ff-line);align-items:center;gap:8px;padding:12px 16px;display:flex}.orphan-modal-head h2{color:var(--ff-amber);flex:1;margin:0;font-size:13px;font-weight:600}.orphan-modal-x{color:var(--ff-text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.orphan-modal-x:hover{color:var(--ff-text)}.orphan-modal-blurb{color:var(--ff-text-dim);margin:10px 16px 6px;font-size:11px;line-height:1.4}.orphan-modal-body{flex:1;padding:6px 16px 8px;overflow-y:auto}.orphan-modal-group{border-top:1px dashed var(--ff-line-soft);margin-top:8px;padding-top:6px}.orphan-modal-group:first-child{border-top:none;margin-top:0}.orphan-modal-group-head{letter-spacing:.2px;color:var(--ff-text-dim);text-transform:uppercase;align-items:baseline;gap:8px;margin-bottom:4px;font-size:10.5px;display:flex}.orphan-modal-group-head code{font-family:var(--font-mono);text-transform:none;color:var(--ff-text);background:#ffffff0a;border-radius:2px;padding:1px 5px}.orphan-modal-count{text-transform:none;margin-left:auto;font-style:italic}.orphan-modal-list{margin:0;padding:0;list-style:none}.orphan-modal-row{font-size:11px;font-family:var(--font-mono);border-bottom:1px solid var(--ff-line-soft);align-items:center;gap:8px;padding:4px 0;display:flex}.orphan-modal-row:last-child{border-bottom:none}.orphan-modal-tail{min-width:60px;font-weight:600}.orphan-modal-date{color:var(--ff-text-dim);min-width:86px}.orphan-modal-route{color:var(--ff-cyan);flex:1}.orphan-modal-del{border:1px solid var(--ff-line);color:var(--ff-text);cursor:pointer;font-size:10px;font-family:var(--font-ui);letter-spacing:.2px;background:0 0;border-radius:2px;padding:2px 8px}.orphan-modal-del:hover:not(:disabled){border-color:var(--ff-red);color:var(--ff-red)}.orphan-modal-del:disabled{opacity:.5;cursor:default}.orphan-modal-err{color:var(--ff-red);font-size:9.5px;font-style:italic}.orphan-modal-foot{border-top:1px solid var(--ff-line);background:#0000002e;gap:8px;padding:10px 16px;display:flex}.orphan-modal-keep,.orphan-modal-deleteall{font-family:var(--font-ui);cursor:pointer;letter-spacing:.2px;border-radius:2px;padding:4px 12px;font-size:11px}.orphan-modal-keep{border:1px solid var(--ff-line);color:var(--ff-text);background:0 0;margin-left:auto}.orphan-modal-keep:hover{border-color:var(--ff-cyan);color:var(--ff-cyan)}.orphan-modal-deleteall{border:1px solid var(--ff-red);color:var(--ff-red);background:#d945452e}.orphan-modal-deleteall:hover:not(:disabled){background:#d945454d}.orphan-modal-deleteall:disabled{opacity:.45;cursor:default}:root{--sf-accent:#4ec9c0;--sf-accent-2:#c8ff7a;--sf-rest:#e0a85a}.sf-mode-pill{letter-spacing:.06em;color:var(--sf-accent);background:#4ec9c01a;border:1px solid #4ec9c066;border-radius:12px;align-items:center;gap:6px;padding:2px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:inline-flex}.sf-mode-dot{background:var(--sf-accent);width:6px;height:6px;box-shadow:0 0 6px var(--sf-accent);border-radius:50%}.cd-user-pill{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;max-width:160px;color:var(--ff-dim);border:1px solid var(--ff-line);background:#ffffff05;border-radius:12px;align-items:center;padding:2px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:inline-flex;overflow:hidden}.dboard .d-leg.sf-dim{opacity:.42}.dboard .d-leg.sf-gap{cursor:pointer;outline-offset:-2px;background:radial-gradient(circle,#4ec9c029 0%,#4ec9c00a 60%,#0000 100%);outline:1px dashed #4ec9c073;position:relative}.dboard .d-leg.sf-gap:hover{outline-color:var(--sf-accent);background:radial-gradient(circle,#4ec9c04d 0%,#4ec9c014 60%,#0000 100%)}.dboard .d-leg.sf-active-gap{outline:1.5px solid var(--sf-accent);outline-offset:-2px;box-shadow:inset 0 0 0 1px #4ec9c026}.dboard .d-leg.sf-active-gap.sf-gap{background:radial-gradient(circle,#4ec9c057 0%,#4ec9c01a 60%,#0000 100%)}.dboard .dleg.sf-leg-clickable{cursor:pointer;outline-offset:-2px;outline:1px dashed #4ec9c08c}.dboard .dleg.sf-leg-clickable:hover{outline:1.5px solid var(--sf-accent)}.sf-modal-backdrop{z-index:80;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sf-modal{background:var(--ff-bg-2);border:1px solid var(--ff-line);border-radius:6px;width:380px;padding:20px 22px;box-shadow:0 10px 40px #00000080}.sf-modal-title{color:var(--sf-accent);letter-spacing:.08em;margin-bottom:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:600}.sf-modal-help{color:var(--ff-text-dim);margin-bottom:16px;font-size:11.5px}.sf-modal-input{background:var(--ff-bg);width:100%;color:var(--ff-text);border:1px solid var(--ff-line);border-radius:3px;outline:none;padding:8px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.sf-modal-input:focus{border-color:var(--sf-accent)}.sf-modal-input:disabled{opacity:.5}.sf-modal-error{color:var(--ff-red);margin-top:8px;font-size:11px}.sf-modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.sf-btn{letter-spacing:.04em;cursor:pointer;border:1px solid var(--ff-line);color:var(--ff-text-dim);background:0 0;border-radius:3px;padding:6px 14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.sf-btn:disabled{opacity:.5;cursor:default}.sf-btn-primary{border-color:var(--sf-accent);color:var(--ff-bg);background:var(--sf-accent)}.sf-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.sf-btn-ghost:hover:not(:disabled){border-color:var(--ff-text-dim);color:var(--ff-text)}.sf-drawer{background:var(--ff-bg-2);border-left:1px solid var(--ff-line);z-index:70;flex-direction:column;width:420px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #0006}.sf-drawer-head{border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.sf-drawer-title{letter-spacing:.06em;color:var(--ff-text);font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.sf-drawer-tail{color:var(--ff-cyan);font-weight:600}.sf-drawer-sep{color:var(--ff-text-dimmer);margin:0 6px}.sf-drawer-openended{letter-spacing:.08em;color:var(--sf-rest);text-transform:uppercase;border:1px solid #e0a85a66;border-radius:10px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px}.sf-drawer-close{color:var(--ff-text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}.sf-drawer-close:hover{color:var(--ff-text)}.sf-drawer-subhead{border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;padding:8px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.sf-drawer-window{color:var(--ff-text-dim);letter-spacing:.04em}.sf-drawer-duty{color:var(--ff-text-dim)}.sf-drawer-duty-tag{color:var(--sf-accent);border:1px solid #4ec9c066;border-radius:10px;margin-left:4px;padding:1px 6px}.sf-drawer-controls{border-bottom:1px solid var(--ff-line);color:var(--ff-text-dim);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.sf-toggle,.sf-stepper{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.sf-stepper input{background:var(--ff-bg);width:50px;color:var(--ff-text);border:1px solid var(--ff-line);border-radius:3px;padding:2px 6px;font-family:inherit;font-size:11px}.sf-stepper input:disabled{opacity:.4;cursor:not-allowed}.sf-stepper-disabled{opacity:.5;cursor:not-allowed}.sf-drawer-body{flex-direction:column;flex:auto;gap:6px;padding:8px 12px 16px;display:flex;overflow-y:auto}.sf-drawer-empty{color:var(--ff-text-dim);text-align:center;padding:20px 8px;font-size:12px;font-style:italic}.sf-match-row{background:var(--ff-bg);border:1px solid var(--ff-line);cursor:pointer;text-align:left;color:var(--ff-text);border-radius:4px;grid-template-columns:1fr;gap:4px;padding:10px 12px;transition:border-color .12s;display:grid}.sf-match-row:hover{border-color:var(--sf-accent)}.sf-match-row.sf-match-expired{opacity:.55}.sf-match-route{letter-spacing:.06em;font-family:JetBrains Mono,ui-monospace,monospace}.sf-match-icao{color:var(--ff-text);font-size:13px;font-weight:600}.sf-match-arrow{color:var(--ff-text-dimmer);font-weight:400}.sf-match-meta{color:var(--ff-text-dim);gap:14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.sf-match-price{color:var(--sf-accent-2)}.sf-match-badges{align-items:center;gap:6px;margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace;display:flex}.sf-badge{letter-spacing:.08em;border:1px solid;border-radius:10px;padding:1px 6px;font-size:9px}.sf-badge-tight{color:var(--sf-accent-2);background:#c8ff7a0f;border-color:#c8ff7a73}.sf-badge-rest-gated{color:var(--sf-rest);background:#e0a85a0f;border-color:#e0a85a73}.sf-badge-marginal{color:var(--ff-amber);background:#e89a3a0f;border-color:#e89a3a73}.sf-badge-est{color:var(--ff-text-dim);border-color:var(--ff-line);background:0 0}.sf-badge-repo{color:var(--ff-cyan);background:#5ec1e60f;border-color:#5ec1e673}.sf-match-block{color:var(--ff-text-dim);font-variant-numeric:tabular-nums}.sf-badge-expired{color:var(--ff-text-dimmer);border-color:var(--ff-line);background:0 0}.sf-match-ji{color:var(--ff-text-dim);letter-spacing:.06em;margin-left:auto;font-size:10px}.sf-match-row:hover .sf-match-ji{color:var(--sf-accent)}.sf-match-line{justify-content:space-between;align-items:baseline;gap:12px;font-family:JetBrains Mono,ui-monospace,monospace;display:flex}.sf-match-line-end{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.sf-match-line-route .sf-match-icao{letter-spacing:.06em;color:var(--ff-text);font-size:13px;font-weight:600}.sf-match-line-meta,.sf-match-line-blocks{color:var(--ff-text-dim);font-size:11px}.sf-match-nowrap{white-space:nowrap}.sf-match-sep{color:var(--ff-text-dimmer)}.sf-toast{background:var(--ff-bg-2);border:1px solid var(--sf-accent);z-index:90;border-radius:4px;min-width:280px;padding:10px 14px;font-family:JetBrains Mono,ui-monospace,monospace;animation:.18s ease-out sf-toast-in;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 20px #0006}.sf-toast-title{color:var(--sf-accent);letter-spacing:.06em;margin-bottom:2px;font-size:12px}.sf-toast-sub{color:var(--ff-text-dim);font-size:11px}@keyframes sf-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{--ff-violet:var(--ff-purple)}@keyframes ffk-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}@keyframes ffk-stripe{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ffk-page{background:var(--ff-bg);min-height:100vh;color:var(--ff-text);font-family:var(--font-ui);flex-direction:column;display:flex}.ffk-mono{font-family:var(--font-mono)}.ffk-error-banner{color:var(--ff-red);border-bottom:1px solid var(--ff-line);font-size:11px;font-family:var(--font-mono);background:#d945451a;padding:8px 18px}.ffk-stats{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-line);align-items:center;gap:24px;min-height:50px;padding:10px 18px;display:flex}.ffk-stat-tile{flex-direction:column;align-items:flex-start;display:flex}.ffk-stat-value{font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--ff-text);font-size:18px;font-weight:600}.ffk-stat-cyan{color:var(--ff-cyan)}.ffk-stat-red{color:var(--ff-red)}.ffk-stat-green{color:var(--ff-green)}.ffk-stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ff-text-dim);margin-top:1px;font-size:10px}.ffk-stats-meta{font-family:var(--font-mono);color:var(--ff-text-dim);letter-spacing:.04em;margin-left:auto;font-size:11px}.ffk-stats-sep{color:var(--ff-text-dimmer)}.ffk-escs{background:var(--ff-bg);border-bottom:1px solid var(--ff-line);flex-direction:column;gap:6px;padding:8px 18px;display:flex}.ffk-esc{border-left:3px solid var(--ff-red);background:linear-gradient(90deg, #d9454529, #d9454505), var(--ff-bg-2);border-radius:4px;align-items:center;gap:12px;padding:8px 14px;display:flex}.ffk-esc-icon{color:var(--ff-red);font-size:14px}.ffk-esc-label{color:var(--ff-red);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.ffk-esc-trip{color:var(--ff-text);background:#d945450f;border:1px solid #d9454559;border-radius:3px;align-items:baseline;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.ffk-esc-sep{color:var(--ff-text-dimmer)}.ffk-esc-text{color:var(--ff-text);flex:1;font-size:12px}.ffk-esc-text strong{color:var(--ff-red);letter-spacing:.04em;text-transform:uppercase;margin-right:6px;font-size:11px}.ffk-esc-action{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ff-red);cursor:pointer;background:0 0;border:1px solid #d9454580;border-radius:3px;padding:4px 10px;font-size:11px;text-decoration:none}.ffk-esc-action:hover{background:#d945451f}.ffk-esc-close{font-family:var(--font-mono);width:24px;height:24px;color:var(--ff-text-dimmer);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;font-size:13px;line-height:1;display:inline-flex}.ffk-esc-close:hover{color:var(--ff-red);background:#d945452e;border-color:#d9454580}.ffk-esc-close:disabled{opacity:.4;cursor:default}.ffk-kanban{flex:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:0;display:grid}.ffk-col{background:var(--ff-bg);border-right:1px solid var(--ff-line);flex-direction:column;min-width:0;display:flex;overflow:hidden}.ffk-col:last-child{border-right:none}.ffk-col-head{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-line);z-index:1;align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky;top:0}.ffk-col-dot{background:var(--ff-cyan);width:8px;height:8px;box-shadow:0 0 6px var(--ff-cyan);border-radius:50%}.ffk-col-dot-cyan{background:var(--ff-cyan);box-shadow:0 0 6px var(--ff-cyan)}.ffk-col-dot-amber{background:var(--ff-amber);box-shadow:0 0 6px var(--ff-amber)}.ffk-col-dot-green{background:var(--ff-green);box-shadow:0 0 6px var(--ff-green)}.ffk-col-dot-violet{background:var(--ff-violet);box-shadow:0 0 6px var(--ff-violet)}.ffk-col-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ff-text);font-size:11px;font-weight:600}.ffk-col-count{font-family:var(--font-mono);border:1px solid var(--ff-line);color:var(--ff-text-dim);background:#ffffff0a;border-radius:3px;padding:1px 7px;font-size:10px}.ffk-col-sort{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ff-text-dimmer);margin-left:auto;font-size:9px}.ffk-col-body{flex-direction:column;flex:auto;gap:8px;padding:12px;display:flex;overflow-y:auto}.ffk-col-empty{text-align:center;color:var(--ff-text-dimmer);padding:24px 8px;font-size:11px;font-style:italic}.ffk-col-divider{align-items:center;gap:8px;margin:8px 0 4px;display:flex}.ffk-col-divider-rule{background:#e89a3a59;flex:1;height:1px}.ffk-col-divider-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ff-amber);background:#e89a3a14;border:1px solid #e89a3a66;border-radius:3px;padding:2px 8px;font-size:10px}.ffk-card{background:var(--ff-bg-2);border:1px solid var(--ff-line);cursor:pointer;text-align:left;color:var(--ff-text);border-radius:6px;flex-direction:column;gap:10px;padding:12px;transition:background-color .12s,border-color .12s;display:flex;position:relative}.ffk-card:hover{background:#ffffff05;border-color:#78a5d24d}.ffk-card:active{transform:translateY(1px)}.ffk-card.is-dormant{opacity:.66;border-style:dashed}.ffk-card.is-escalated{background:linear-gradient(180deg, #d945451a, transparent 40%), var(--ff-bg-2);border-color:#d9454573}.ffk-card.is-escalated:before{content:"";background:var(--ff-red);border-radius:6px 0 0 6px;width:3px;position:absolute;top:0;bottom:0;left:0}.ffk-card-row1{justify-content:space-between;align-items:center;display:flex}.ffk-tail{font-family:var(--font-mono);color:var(--ff-cyan);letter-spacing:.04em;font-size:18px;font-weight:600}.ffk-card-route{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ff-text);font-size:15px;font-weight:500}.ffk-card-arrow{color:var(--ff-amber)}.ffk-card-dep{font-family:var(--font-mono);color:var(--ff-text-dim);letter-spacing:.04em;font-size:11px}.ffk-card-dep-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ff-text-dimmer);font-size:10px}.ffk-card-dep-time{color:var(--ff-text)}.ffk-card-dep-sep{color:var(--ff-text-dimmer)}.ffk-card-dep-rel{color:var(--ff-text-dim)}.ffk-card-dep-rel.is-late{color:var(--ff-amber)}.ffk-pill{height:20px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;background:#ffffff05;border:1px solid;border-radius:3px;align-items:center;gap:6px;padding:0 8px;font-size:10px;display:inline-flex}.ffk-pill-red{color:var(--ff-red)}.ffk-pill-amber{color:var(--ff-amber)}.ffk-pill-cyan{color:var(--ff-cyan)}.ffk-pill-mute{color:var(--ff-text-dimmer)}.ffk-pill-dot{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px}.ffk-pill-dot.live{animation:1.6s ease-in-out infinite ffk-pulse}.ffk-timeline{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.ffk-timeline-col{flex-direction:column;gap:4px;display:flex}.ffk-timeline-bar{background:#78a5d21f;border-radius:2px;height:4px;position:relative;overflow:hidden}.ffk-bar-resolved{background:var(--ff-green)}.ffk-bar-sent{background:var(--ff-amber)}.ffk-bar-sent:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:1.8s ease-in-out infinite ffk-stripe;position:absolute;inset:0}.ffk-bar-escalated{background:var(--ff-red)}.ffk-bar-escalated:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:1.4s ease-in-out infinite ffk-stripe;position:absolute;inset:0}.ffk-bar-skipped{opacity:.4;background:#78a5d21a}.ffk-bar-pending{background:#78a5d21f}.ffk-bar-pending.next-pending{background:linear-gradient(90deg,#5ec1e68c,#78a5d21a)}.ffk-timeline-tlabel{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ff-text-dimmer);text-align:left;font-size:9px}.ffk-prog{flex-direction:column;gap:4px;display:flex}.ffk-prog-bar{background:#78a5d21f;border-radius:2px;height:4px;position:relative;overflow:hidden}.ffk-prog-fill{background:var(--ff-cyan);border-radius:2px;height:100%;transition:width .6s;position:relative}.ffk-prog-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:2.4s ease-in-out infinite ffk-stripe;position:absolute;inset:0}.ffk-prog-fill.overdue{background:var(--ff-amber)}.ffk-prog-fill.is-completed{background:var(--ff-green)}.ffk-prog-fill.is-completed:after{display:none}.ffk-prog-meta{font-family:var(--font-mono);color:var(--ff-text);letter-spacing:.04em;justify-content:space-between;gap:12px;font-size:10px;display:flex}.ffk-prog-label{color:var(--ff-text-dimmer);letter-spacing:.1em;margin-right:4px}.ffk-detail-back{z-index:80;background:#0000008c;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.ffk-detail{background:var(--ff-bg);border-left:1px solid var(--ff-line);border-right:1px solid var(--ff-line);flex-direction:column;width:min(620px,100%);height:100%;display:flex;overflow:hidden}.ffk-detail-head{background:var(--ff-bg-2);border-bottom:1px solid var(--ff-line);align-items:center;gap:10px;padding:8px 14px;display:flex}.ffk-detail-back-btn{font-family:var(--font-mono);color:var(--ff-text-dim);border:1px solid var(--ff-line);cursor:pointer;letter-spacing:.04em;background:0 0;border-radius:3px;padding:4px 10px;font-size:11px}.ffk-detail-back-btn:hover{color:var(--ff-text);border-color:var(--ff-text-dim)}.ffk-detail-headmeta{color:var(--ff-text-dim);align-items:center;gap:8px;font-size:12px;display:flex}.ffk-detail-sep{color:var(--ff-text-dimmer)}.ffk-detail-headright{color:var(--ff-text-dimmer);margin-left:auto;font-size:11px}.ffk-detail-body{flex-direction:column;flex:auto;gap:10px;padding:10px 18px 18px;display:flex;overflow-y:auto}.ffk-detail-empty,.ffk-detail-error{text-align:center;color:var(--ff-text-dim);padding:28px 14px}.ffk-detail-error{color:var(--ff-red)}.ffk-detail-esc{border-left:3px solid var(--ff-red);background:linear-gradient(90deg, #d945452e, #d9454505), var(--ff-bg-2);color:var(--ff-text);border-radius:4px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.ffk-detail-esc strong{color:var(--ff-red);letter-spacing:.04em;text-transform:uppercase;margin-right:6px;font-size:11px}.ffk-detail-idrow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ffk-detail-steps{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ff-text-dim);border:1px solid var(--ff-line);background:#ffffff05;border-radius:3px;padding:3px 9px;font-size:11px}.ffk-detail-link{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--ff-line);color:var(--ff-text-dim);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px;font-size:11px;text-decoration:none}.ffk-detail-link:hover{color:var(--ff-cyan);border-color:#5ec1e666}.ffk-detail-disabled{opacity:.5;cursor:not-allowed}.ffk-detail-disabled:hover{color:var(--ff-text-dim);border-color:var(--ff-line)}.ffk-detail-hero{flex-wrap:wrap;align-items:baseline;gap:12px;padding-top:2px;display:flex}.ffk-detail-tail{font-family:var(--font-mono);color:var(--ff-cyan);letter-spacing:.04em;font-size:22px;font-weight:600}.ffk-detail-route{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ff-text);font-size:19px;font-weight:500}.ffk-detail-legbadge,.ffk-detail-repobadge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border-radius:3px;padding:3px 8px;font-size:10px}.ffk-detail-legbadge{color:var(--ff-text-dim);border:1px solid var(--ff-line)}.ffk-detail-repobadge{color:var(--ff-amber);background:#e89a3a14;border:1px solid #e89a3a73}.ffk-detail-broker{color:var(--ff-text-dim);font-size:12px}.ffk-detail-facts{border-top:1px solid var(--ff-line-soft);border-bottom:1px solid var(--ff-line-soft);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px 16px;padding:8px 0;display:grid}.ffk-detail-fact{flex-direction:column;gap:2px;display:flex}.ffk-detail-fact-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ff-text-dimmer);font-size:10px}.ffk-detail-fact-value{font-family:var(--font-mono);color:var(--ff-text);font-size:13px}.ffk-detail-cpheader{align-items:baseline;gap:10px;padding-top:2px;display:flex}.ffk-detail-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ff-text-dim);font-size:11px}.ffk-detail-cplist{flex-direction:column;gap:6px;display:flex}.ffk-cpc{background:var(--ff-bg-2);border:1px solid var(--ff-line);border-radius:5px;grid-template-columns:32px 1fr auto;gap:10px;padding:7px 12px;display:grid}.ffk-cpc-skipped{opacity:.5}.ffk-cpc-escalated{border-color:#d9454573}.ffk-cpc-icon{border:1px solid var(--ff-line);width:32px;height:32px;color:var(--ff-text-dim);font-size:13px;font-family:var(--font-mono);border-radius:4px;place-items:center;display:grid}.ffk-cpc-resolved .ffk-cpc-icon{color:var(--ff-green);background:#4ea86014;border-color:#4ea86066}.ffk-cpc-sent .ffk-cpc-icon{color:var(--ff-amber);background:#e89a3a14;border-color:#e89a3a66}.ffk-cpc-escalated .ffk-cpc-icon{color:var(--ff-red);background:#d945451a;border-color:#d945456b}.ffk-cpc-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ffk-cpc-titlerow{align-items:center;gap:8px;display:flex}.ffk-cpc-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ff-text);font-size:12px;font-weight:600}.ffk-cpc-tbadge{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--ff-line);color:var(--ff-text-dim);border-radius:3px;padding:1px 6px;font-size:10px}.ffk-cpc-status{color:var(--ff-text-dim);font-size:12px}.ffk-cpc-resolved .ffk-cpc-status{color:var(--ff-green)}.ffk-cpc-sent .ffk-cpc-status{color:var(--ff-amber)}.ffk-cpc-escalated .ffk-cpc-status{color:var(--ff-red)}.ffk-cpc-meta{font-family:var(--font-mono);color:var(--ff-text-dimmer);margin-top:2px;font-size:11px}.ffk-cpc-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.ffk-cpc-time{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ff-text);font-variant-numeric:tabular-nums;font-size:12px}.ffk-cpc-stamp{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ff-text-dimmer);font-size:9px}:root{--si-dir-n:#5ec1e6;--si-dir-s:#f0922e;--si-dir-e:#86d65a;--si-dir-w:#b56be0;--si-dir-n-soft:#5ec1e629;--si-dir-s-soft:#f0922e29;--si-dir-e-soft:#86d65a29;--si-dir-w-soft:#b56be029}.si-page{flex-direction:column;height:100vh;min-height:0;display:flex;overflow:hidden}.si-scroll{flex:auto;padding:14px 18px 40px;overflow-y:auto}.si-scroll::-webkit-scrollbar{width:10px}.si-scroll::-webkit-scrollbar-thumb{background:var(--ff-line);border-radius:5px}.si-sub-title{align-items:baseline;gap:10px;display:flex}.si-sub-title b{letter-spacing:.16em;color:var(--ff-text);text-transform:uppercase;font-size:12px;font-weight:700}.si-sub-title span{color:var(--ff-text-dim);font-size:11px}.si-summary{grid-template-columns:repeat(6,1fr)}.si-summary .cd-sumcell{align-items:flex-start;padding:11px 16px}.si-summary .cd-sumcell-val{white-space:nowrap}.si-summary .cd-sumcell-label{letter-spacing:.08em;white-space:nowrap;margin-top:5px;font-size:10px;line-height:1.3}.si-sumcell .cd-sumcell-sub{color:var(--ff-faint);font-size:10px;font-family:var(--font-mono);letter-spacing:.02em;margin-top:3px;display:block}.si-sumcell.teal .cd-sumcell-val{color:var(--sf-accent)}.si-controls{grid-template-columns:300px 1fr;align-items:stretch;gap:14px;margin:14px 0;display:grid}@media (max-width:1080px){.si-controls{grid-template-columns:1fr}}.si-card{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.si-card-hd{background:var(--ff-panel-hd);border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.si-card-title{letter-spacing:.16em;text-transform:uppercase;color:var(--ff-text);font-size:10.5px;font-weight:600}.si-card-sub{color:var(--ff-dim);font-size:10.5px;font-family:var(--font-mono)}.si-card-body{flex:1;padding:12px}.si-dir-chips{flex-wrap:wrap;gap:6px;display:flex}.si-chip{height:28px;color:var(--ff-text);background:var(--ff-panel);cursor:pointer;border:1px solid var(--ff-line);border-radius:14px;align-items:center;gap:7px;padding:0 11px;font-family:inherit;font-size:11.5px;transition:border-color .12s,background .12s;display:inline-flex}.si-chip:hover{border-color:var(--ff-line-hard)}.si-chip .si-chip-glyph{font-family:var(--font-mono);color:var(--ff-dim);text-align:center;flex:none;width:11px;font-size:13px}.si-chip .si-chip-count{font-family:var(--font-mono);color:var(--ff-dim);font-size:11px}.si-chip.active{border-color:var(--ff-blue);background:#2d8fcc29}.si-chip.active .si-chip-glyph{color:var(--ff-cyan)}.si-chip.active .si-chip-count{color:var(--ff-text)}.si-scrub{-webkit-user-select:none;user-select:none;touch-action:none;width:100%;position:relative}.si-scrub-nav{font-family:var(--font-mono);justify-content:center;align-items:center;gap:8px;margin:0 0 6px;display:flex}.si-scrub-nav button{border:1px solid var(--ff-line);color:var(--ff-text-dim);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:3px;padding:2px 8px;font-family:inherit;font-size:11px}.si-scrub-nav button:hover:not(:disabled){color:var(--ff-text);border-color:var(--ff-line-hard)}.si-scrub-nav button:disabled{opacity:.35;cursor:default}.si-scrub-nav-range{color:var(--ff-text);font-variant-numeric:tabular-nums;text-align:center;min-width:140px;font-size:11px}.si-scrub svg{width:100%;display:block}.si-scrub .si-scrub-bar{fill:var(--ff-line);transition:fill .1s}.si-scrub .si-scrub-bar.in{fill:var(--sf-accent)}.si-scrub .si-scrub-window{fill:#4ec9c00f;stroke:var(--sf-accent);stroke-width:1px}.si-scrub .si-scrub-handle{fill:var(--ff-bg-2);stroke:var(--sf-accent);stroke-width:1.5px;cursor:ew-resize}.si-scrub .si-scrub-handle-grip{stroke:var(--sf-accent);stroke-width:1px}.si-scrub .si-scrub-axis{fill:var(--ff-faint);font-family:var(--font-mono);font-size:9px}.si-scrub .si-scrub-now{stroke:var(--ff-amber);stroke-width:1px;stroke-dasharray:2 2}.si-scrub-readout{font-family:var(--font-mono);color:var(--ff-text-dim);white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:flex}.si-scrub-readout b{color:var(--sf-accent);font-weight:600}.si-scrub-presets{border:1px solid var(--ff-line);border-radius:3px;display:inline-flex;overflow:hidden}.si-scrub-presets button{border:none;border-left:1px solid var(--ff-line);color:var(--ff-text-dim);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:3px 9px;font-size:10.5px}.si-scrub-presets button:first-child{border-left:none}.si-scrub-presets button.active{color:var(--sf-accent);background:#4ec9c029}.si-main{grid-template-columns:1fr 1fr;align-items:stretch;gap:14px;display:grid}.si-main>*{min-height:0}@media (max-width:1180px){.si-main{grid-template-columns:1fr}}.si-rank-slider{background:var(--ff-panel-hd);border-bottom:1px solid var(--ff-line);font-family:var(--font-mono);color:var(--ff-text-dim);align-items:center;gap:10px;padding:8px 12px;font-size:10.5px;display:flex}.si-rank-slider-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ff-faint)}.si-rank-slider-label-right{color:var(--ff-text);margin-left:auto}.si-rank-slider-track{background:var(--ff-bg);border:1px solid var(--ff-line-soft);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:3px;flex:1;height:6px;position:relative}.si-rank-slider-range{pointer-events:none;background:#4ec9c059;border-radius:2px;height:100%;position:absolute;top:0}.si-rank-slider-thumb{background:var(--ff-bg-2);border:2px solid var(--sf-accent);cursor:ew-resize;z-index:2;border-radius:50%;width:14px;height:14px;margin-top:-7px;margin-left:-7px;padding:0;position:absolute;top:50%}.si-rank-slider-thumb:hover{background:var(--sf-accent)}.si-map-wrap{background:radial-gradient(130% 100% at 45% 35%,#0e2034 0%,#091420 72%);position:relative}.si-map-svg{width:100%;height:auto;display:block}.si-graticule{stroke:#243a5280;stroke-width:.5px;fill:none}.si-land{fill:#21364d;stroke:#3a557a;stroke-width:.9px}.si-island{fill:#21364d;stroke:#3a557a;stroke-width:.7px}.si-zone-blob{fill:#ffffff05;stroke:#5e6e8559;stroke-width:1px;stroke-dasharray:3 4;transition:fill .15s,stroke .15s}.si-zone-blob.hot{stroke:#7896b499}.si-zone-blob.sel{fill:#4ec9c014;stroke:var(--sf-accent);stroke-dasharray:none}.si-zone-blob.dim{opacity:.4}.si-zone-label{fill:var(--ff-dim);font-family:var(--font-mono);letter-spacing:.04em;text-anchor:middle;pointer-events:none;font-size:13px;font-weight:600}.si-zone-label.sel{fill:var(--sf-accent)}.si-zone-centroid{fill:var(--ff-faint)}.si-zone-centroid.sel{fill:var(--sf-accent)}.si-arc{fill:none;stroke-linecap:round;cursor:pointer;transition:opacity .15s,stroke-width .12s}.si-arc.dim{opacity:.12}.si-arc.hot{filter:drop-shadow(0 0 4px)}.si-arc-flow{fill:none;stroke-linecap:round;pointer-events:none;opacity:.9}.si-arc-head{stroke:none}@keyframes si-flow{to{stroke-dashoffset:-28px}}.si-arc-flow.anim{animation:1.1s linear infinite si-flow}.si-legend{border-top:1px solid var(--ff-line);background:var(--ff-panel-hd);color:var(--ff-dim);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;font-size:10.5px;display:flex}.si-legend-grp{align-items:center;gap:8px;display:flex}.si-legend-grp .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ff-faint)}.si-legend-dir{font-family:var(--font-mono);align-items:center;gap:5px;display:inline-flex}.si-legend-dir i{border-radius:2px;width:16px;height:3px;display:inline-block}.si-legend-vol{font-family:var(--font-mono);align-items:center;gap:6px;display:inline-flex}.si-legend-vol i{background:var(--ff-dim);border-radius:2px;display:inline-block}.si-map-empty{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.si-map-empty .t{color:var(--ff-dim);letter-spacing:.04em;font-size:12px}.si-map-empty .s{color:var(--ff-faint);font-size:11px;font-family:var(--font-mono)}.si-lanes{flex-direction:column;height:100%;display:flex;overflow:hidden}.si-lanes-body{flex:1 1 0;min-height:0;padding:4px 0;overflow-y:auto}.si-lanes-body::-webkit-scrollbar{width:8px}.si-lanes-body::-webkit-scrollbar-thumb{background:var(--ff-line);border-radius:4px}.si-lane{cursor:pointer;border-left:2px solid #0000;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:9px 12px;transition:background .1s;display:grid}.si-lane:hover{background:#4ec9c00f}.si-lane.sel{border-left-color:var(--sf-accent);background:#4ec9c01a}.si-lane.dim{opacity:.4}.si-lane-rank{font-family:var(--font-mono);color:var(--ff-faint);text-align:right;font-size:11px}.si-lane-main{min-width:0}.si-lane-route{font-family:var(--font-mono);color:var(--ff-text);white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.si-lane-route .arr{color:var(--ff-text-dimmer);font-weight:400}.si-lane-route .si-dir-dot{border-radius:50%;flex:none;width:8px;height:8px}.si-lane-bar-track{background:var(--ff-bg);border:1px solid var(--ff-line-soft);border-radius:3px;height:5px;margin-top:6px;overflow:hidden}.si-lane-bar-fill{border-radius:2px;height:100%}.si-lane-meta{text-align:right;font-family:var(--font-mono)}.si-lane-count{color:var(--ff-text);font-size:13px;font-weight:600}.si-lane-count .u{color:var(--ff-faint);margin-left:3px;font-size:10px;font-weight:400}.si-lane-value{color:var(--sf-accent);margin-top:2px;font-size:10.5px}.si-tablecard{margin-top:14px}.si-table-toolbar{border-bottom:1px solid var(--ff-line);background:var(--ff-panel-hd);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.si-table-filterpill{height:24px;font-family:var(--font-mono);color:var(--sf-accent);background:#4ec9c014;border:1px solid #4ec9c066;border-radius:13px;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:11px;display:inline-flex}.si-table-filterpill button{color:var(--sf-accent);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1}.si-table-filterpill button:hover{color:var(--ff-text)}.si-table-scroll{max-height:56vh;overflow-y:auto}.si-table-scroll::-webkit-scrollbar{width:10px}.si-table-scroll::-webkit-scrollbar-thumb{background:var(--ff-line);border-radius:5px}.si-table{border-collapse:collapse;width:100%;font-size:12.5px}.si-table thead th{z-index:1;background:var(--ff-panel-hd);letter-spacing:.12em;text-transform:uppercase;color:var(--ff-dim);text-align:left;border-bottom:1px solid var(--ff-line);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:10px;font-weight:600;position:sticky;top:0}.si-table thead th .s{color:var(--ff-faint);margin-left:4px;font-size:9px}.si-table thead th.sorted{color:var(--ff-text)}.si-table thead th.sorted .s{color:var(--ff-amber)}.si-table tbody tr{border-bottom:1px solid var(--ff-line-soft)}.si-table tbody tr:hover{background:#2d8fcc0d}.si-table tbody tr.sel{box-shadow:inset 2px 0 0 var(--sf-accent);background:#4ec9c014}.si-table td{vertical-align:middle;padding:8px 12px}.si-td-id{font-family:var(--font-mono);color:var(--ff-amber);font-size:12px;font-weight:600}.si-td-id .tt{color:var(--ff-faint);letter-spacing:.08em;margin-top:2px;font-size:9.5px;font-weight:400;display:block}.si-route-cell{font-family:var(--font-mono);align-items:flex-start;gap:8px;display:flex}.si-route-cell .si-dir-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.si-route-stack{flex-direction:column;gap:2px;min-width:0;display:flex}.si-route-legs{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.si-route-icao{color:var(--ff-text);font-weight:600}.si-route-arr{color:var(--ff-text-dimmer)}.si-route-cell .city{color:var(--ff-faint);font-family:var(--font-ui);font-size:11px}.si-dates-cell{font-family:var(--font-mono);color:var(--ff-text);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.si-dates-cell .multi{align-items:center;gap:5px;display:inline-flex}.si-dates-cell .seg{color:var(--ff-text)}.si-dates-cell .seg.r{color:var(--ff-text-dim)}.si-dates-cell .between{color:var(--ff-text-dimmer)}.si-trip-badge{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--ff-line);color:var(--ff-text-dim);vertical-align:middle;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.si-trip-badge.rt{color:var(--si-dir-n);border-color:#5ec1e666}.si-trip-badge.mc{color:var(--si-dir-w);border-color:#b56be066}.si-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.si-price{font-family:var(--font-mono);color:var(--sf-accent-2);font-variant-numeric:tabular-nums;font-size:13px}.si-dir-region{font-family:var(--font-mono);color:var(--ff-text);white-space:nowrap;font-size:11.5px}.si-dir-region .g{color:var(--ff-cyan);font-weight:700}.si-broker-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.si-broker-avatar{width:22px;height:22px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--ff-cyan);background:#5ec1e61f;border:1px solid #5ec1e652;border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:inline-flex}.si-broker-stack{flex-direction:column;min-width:0;line-height:1.2;display:flex}.si-broker-name{color:var(--ff-text);font-size:12px}.si-broker-meta{font-family:var(--font-mono);color:var(--ff-text-dim);margin-top:1px;font-size:10px}.si-broker-email{color:var(--ff-text-dim)}.si-broker-phone,.si-broker-sep{color:var(--ff-text-dimmer)}.si-broker-cell.direct .si-broker-avatar{color:var(--ff-amber);background:#e0a85a1f;border-color:#e0a85a5c}.si-broker-cell.direct .si-broker-name{color:var(--ff-text-dim);font-style:italic}.si-td-id-link{color:inherit;cursor:pointer;flex-direction:column;text-decoration:none;display:inline-flex}.si-td-id-link:hover{color:var(--sf-accent)}.si-td-id-link:hover .tt{color:var(--ff-text-dim)}.si-lane-dir{font-family:var(--font-mono);color:var(--ff-faint);margin-left:auto;padding-left:8px;font-size:13px}.si-demand-cell{align-items:center;gap:8px;min-width:96px;display:flex}.si-demand-n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;width:18px;font-size:13px;font-weight:700}.si-demand-track{background:var(--ff-bg);border:1px solid var(--ff-line-soft);border-radius:3px;flex:1;height:6px;overflow:hidden}.si-demand-fill{border-radius:2px;height:100%}.si-status{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.si-status-quoted{color:#07221f;background:var(--sf-accent)}.si-status-open{color:#2a1c08;background:var(--ff-amber)}.si-table thead th.th-status,.si-table thead th.th-status.sorted{color:var(--ff-amber)}.si-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;display:flex}.si-state .si-state-t{color:var(--ff-text);letter-spacing:.04em;font-size:13px;font-weight:600}.si-state .si-state-s{color:var(--ff-dim);max-width:420px;font-size:11.5px}.si-skel{background:linear-gradient(90deg, var(--ff-panel) 25%, var(--ff-panel-2) 50%, var(--ff-panel) 75%);background-size:200% 100%;border-radius:3px;animation:1.3s infinite si-shimmer}@keyframes si-shimmer{to{background-position:-200% 0}}.si-aux{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}@media (max-width:900px){.si-aux{grid-template-columns:1fr}}.si-bars{flex-direction:column;gap:9px;display:flex}.si-barrow{font-family:var(--font-mono);grid-template-columns:76px 1fr 64px;align-items:center;gap:10px;font-size:11.5px;display:grid}.si-barrow .lbl{color:var(--ff-text-dim)}.si-barrow .track{background:var(--ff-bg);border:1px solid var(--ff-line-soft);border-radius:3px;height:16px;display:flex;overflow:hidden}.si-barrow .seg-q{background:var(--sf-accent);height:100%}.si-barrow .seg-u{background:var(--sf-rest);opacity:.55;height:100%}.si-barrow .val{text-align:right;color:var(--ff-text)}.si-dvq-legend{font-family:var(--font-mono);color:var(--ff-dim);gap:16px;margin-top:10px;font-size:10.5px;display:flex}.si-dvq-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.ff-wnt-shell{align-items:flex-start;gap:18px;max-width:1500px;margin:0 auto;padding:22px;display:flex}.ff-wnt-left{flex-direction:column;flex:1 1 0;gap:18px;min-width:0;display:flex}.ff-wnt-rail{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:4px;flex:0 0 296px;position:sticky;top:74px;overflow:hidden}@media (max-width:1100px){.ff-wnt-shell{flex-direction:column}.ff-wnt-rail{flex:auto;align-self:stretch;position:static}}.ff-ft-panel{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:4px;min-width:0;overflow-x:auto}.ff-ft-head{background:var(--ff-panel-hd);border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:baseline;gap:14px;padding:13px 16px;display:flex}.ff-ft-head-title{letter-spacing:.16em;color:var(--ff-text);font-size:11px;font-weight:600}.ff-ft-head-date{font-family:var(--font-mono);color:var(--ff-dim);letter-spacing:.03em;font-size:11px}.ff-ft-head-progress{letter-spacing:.12em;color:var(--ff-amber);background:#e89a3a14;border:1px solid #e89a3a80;border-radius:2px;padding:2px 7px;font-size:9.5px;font-weight:600}.ff-ft-head-meta{align-items:baseline;gap:11px;display:flex}.ff-ft-head-hint{color:var(--ff-faint);font-size:11px}.ff-ft-grid{grid-template-columns:48px minmax(100px,1.5fr) 70px 48px 54px 50px 50px 14px 48px 54px 50px 50px minmax(52px,.8fr) 16px;align-items:center;gap:8px;padding:10px 14px;display:grid}.ff-ft-col-hd{border-bottom:1px solid var(--ff-line);letter-spacing:.11em;color:var(--ff-faint);background:#0000002e;padding:8px 14px;font-size:9.5px}.ff-ft-row{cursor:pointer;border-bottom:1px solid var(--ff-line-soft);transition:background .12s}.ff-ft-row:hover,.ff-ft-row.is-open{background:var(--ff-panel-2)}.ff-ft-row:last-child{border-bottom:none}.ff-ft-empty{text-align:center;color:var(--ff-faint);padding:24px;font-size:12px}.ff-ft-broker{color:#cdd8e4;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.ff-ft-tail,.ff-ft-time{font-family:var(--font-mono);color:var(--ff-dim);font-size:11.5px}.ff-ft-code{font-family:var(--font-mono);color:var(--ff-text);font-size:13px;font-weight:600}.ff-ft-arrow{color:var(--ff-line-hard);text-align:center;font-size:12px}.ff-ft-risk{font-family:var(--font-mono);color:var(--ff-amber);letter-spacing:.02em;white-space:pre-line;font-size:11px;line-height:1.35}.ff-ft-chev{color:var(--ff-faint);text-align:center;font-size:15px;transition:transform .18s,color .12s}.ff-ft-row.is-open .ff-ft-chev{color:var(--ff-amber);transform:rotate(90deg)}.ff-ft-expanded{background:var(--ff-bg);border-top:1px solid var(--ff-line);padding:14px}.ff-ft-expanded-row{align-items:stretch;gap:13px;display:flex}.ff-ft-expanded-row>*{flex:1 1 0;min-width:0;display:flex}.ff-ft-typechip{font-family:var(--font-mono);letter-spacing:.08em;border-radius:2px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.ff-ft-typechip-live{color:var(--ff-green);background:#4ea8601a;border:1px solid #4ea86073}.ff-ft-typechip-empty{color:var(--ff-faint);border:1px solid var(--ff-line-hard);background:0 0}.ff-awx{background:var(--ff-bg-elevated);border:1px solid var(--ff-line);border-radius:4px;flex-direction:column;flex:1 1 0;min-width:0;display:flex;overflow:hidden}.ff-awx-hd{border-bottom:1px solid var(--ff-line);background:#ffffff05;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;display:flex}.ff-awx-hd-l{align-items:baseline;gap:9px;min-width:0;display:flex}.ff-awx-side{letter-spacing:.16em;color:var(--ff-faint);font-size:9.5px;font-weight:600}.ff-awx-icao{font-family:var(--font-mono);color:var(--ff-text);letter-spacing:.02em;font-size:16px;font-weight:600}.ff-awx-name{color:var(--ff-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.ff-awx-trend{border-bottom:1px solid var(--ff-line-soft);padding:10px 13px 11px}.ff-awx-trend-hd{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.ff-awx-trend-label{letter-spacing:.16em;color:var(--ff-faint);font-size:9px;font-weight:600}.ff-awx-trend-range{letter-spacing:.1em;color:var(--ff-faint);font-size:9px}.ff-awx-trend-body{padding-top:13px;position:relative}.ff-awx-trend-mark{text-align:center;pointer-events:none;width:52px;margin-left:-26px;position:absolute;top:0}.ff-awx-trend-mark-label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ff-amber);white-space:nowrap;margin-bottom:2px;font-size:8.5px;font-weight:700;line-height:1;display:block}.ff-awx-trend-caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--ff-amber);width:0;height:0;margin:0 auto;display:block}.ff-awx-trend-ribbon{border-radius:3px;gap:2px;height:11px;display:flex;overflow:hidden}.ff-awx-trend-seg{flex:1}.ff-awx-trend-seg-vfr{background:var(--ff-green)}.ff-awx-trend-seg-mvfr{background:var(--ff-cyan)}.ff-awx-trend-seg-ifr{background:var(--ff-red)}.ff-awx-trend-seg-lifr{background:var(--ff-magenta)}.ff-awx-trend-seg-none{background:var(--ff-line)}.ff-awx-trend-scale{font-family:var(--font-mono);color:var(--ff-faint);justify-content:space-between;margin-top:5px;font-size:9px;display:flex}.ff-awx-tabs{border-bottom:1px solid var(--ff-line);background:#0000002e;padding:0 6px;display:flex}.ff-awx-tab{font-family:var(--font-ui);letter-spacing:.1em;cursor:pointer;color:var(--ff-faint);background:0 0;border:none;border-bottom:2px solid #0000;flex:none;padding:8px 12px;font-size:10.5px;font-weight:600;transition:color .12s,border-color .12s}.ff-awx-tab.is-active{color:var(--ff-text);border-bottom-color:var(--ff-amber)}.ff-awx-body{box-sizing:border-box;flex:0 0 340px;height:340px;min-height:340px;max-height:340px;padding:13px 14px;overflow-y:auto}.ff-awx-raw{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6}.ff-awx-rows{flex-direction:column;gap:7px;margin-top:13px;display:flex}.ff-awx-row{align-items:baseline;gap:14px;display:flex}.ff-awx-row-k{width:104px;color:var(--ff-faint);flex:none;font-size:11px}.ff-awx-row-v{font-family:var(--font-mono);color:var(--ff-text);font-size:12px}.ff-awx-row-v.is-bad{color:#e08a8a}.ff-awx-taf-raw{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;opacity:.92;font-size:11.5px;line-height:1.65}.ff-awx-taf-periods{flex-direction:column;gap:7px;margin-top:12px;display:flex}.ff-awx-tafp{border:1px solid var(--ff-line);border-radius:3px;padding:9px 11px}.ff-awx-tafp.is-match{border-color:var(--ff-amber);background:#e89a3a0f}.ff-awx-tafp-hd{align-items:center;gap:9px;margin-bottom:8px;display:flex}.ff-awx-tafp-time{font-family:var(--font-mono);letter-spacing:.07em;color:var(--ff-faint);text-transform:uppercase;font-size:10.5px;font-weight:600}.ff-awx-tafp-pill{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ff-amber);background:#e89a3a1a;border:1px solid #e89a3a99;border-radius:2px;padding:1px 6px;font-size:9.5px;font-weight:700}.ff-awx-tafp-grid{font-family:var(--font-mono);grid-template-columns:84px 1fr;gap:3px 12px;font-size:11.5px;display:grid}.ff-awx-tafp-grid dt{color:var(--ff-faint)}.ff-awx-tafp-grid dd{color:var(--ff-text);margin:0}.ff-awx-tafp-expires{font-family:var(--font-mono);color:var(--ff-faint);margin-top:7px;font-size:10px}.ff-awx-empty{color:var(--ff-faint);padding:8px 0;font-size:12px}.ff-awx-proxy-banner{color:var(--ff-amber);background:#e89a3a0f;border:1px solid #e89a3a66;border-radius:3px;align-items:center;gap:8px;margin-bottom:11px;padding:7px 9px;font-size:11.5px;line-height:1.4;display:flex}.ff-awx-proxy-banner strong{font-family:var(--font-mono);color:var(--ff-amber);letter-spacing:.04em;font-weight:600}.ff-awx-proxy-icon{font-family:var(--font-mono);flex-shrink:0;font-size:13px;font-weight:700;line-height:1}.ff-cat.is-proxy{border-style:dashed;position:relative}.ff-cat.is-proxy:after{content:"~";color:var(--ff-amber);font-size:9px;font-family:var(--font-mono);line-height:1;position:absolute;top:-1px;right:2px}.ff-glance-stat-val{font-family:var(--font-mono);color:var(--ff-text);font-size:32px;font-weight:600;line-height:1}.ff-glance-stat-val.is-red{color:var(--ff-red)}.ff-glance-stat-val.is-amber{color:var(--ff-amber)}.ff-glance-stat-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-dim);margin-top:5px;font-size:10px}.ff-glance-stat-sub{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ff-dim);margin-top:6px;font-size:12px}.ff-glance-stat-sub.is-red{color:#d97a7a}.ff-glance-stat-sub.is-amber{color:var(--ff-dim);font-family:var(--font-ui);letter-spacing:normal;font-size:11.5px;line-height:1.55}.ff-glance-rule{background:var(--ff-line);height:1px;margin:16px 0}.ff-glance-foot{border-top:1px solid var(--ff-line);grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:14px;display:grid}.ff-glance-foot-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-glance-foot-count{font-family:var(--font-mono);color:var(--ff-text);font-size:14px;font-weight:600}.ff-glance-foot-count.is-zero{color:var(--ff-faint)}
