:root{--bg-canvas:#faf7f2;--surface:#00000008;--surface-hover:#0000000e;--border:#0000001a;--border-strong:#0003;--text-primary:#000;--text-secondary:#555;--text-faint:#888;--status-critical:#c0392b;--status-critical-bg:#c0392b0f;--status-critical-border:#c0392b2e;--status-hold:#a0620a;--status-hold-bg:#a0620a0f;--status-hold-border:#a0620a2e;--status-standby:#444;--status-standby-bg:#00000008;--status-standby-border:#0000001a;--font-display:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "Courier New", Courier, monospace;--transition:all .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-display);background-image:radial-gradient(#00000012 1px,#0000 0);background-size:24px 24px;min-height:100vh;padding:2rem;line-height:1.6}.dashboard-container{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;display:flex}header{border-bottom:2px solid var(--text-primary);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.25rem;display:flex}.logo-section h1{letter-spacing:-.03em;font-size:1.6rem;font-weight:800;line-height:1.2}.system-status{text-align:right;flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.update-ticker{color:var(--text-secondary);font-size:.75rem;font-family:var(--font-mono)}.btn-secondary-link{color:var(--text-primary);border-bottom:2px solid var(--text-primary);align-items:center;gap:.25rem;padding-bottom:.1rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-flex}.btn-secondary-link:hover{opacity:.6}.tab-navigation{border-bottom:1px solid var(--border);gap:0;display:flex}.tab-btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-1px;padding:.6rem 1.1rem;font-size:.8rem;font-weight:700;display:inline-flex}.tab-btn i,.tab-btn svg{width:13px;height:13px}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.tab-content{display:none}.tab-content.active{flex-direction:column;gap:1.5rem;padding-top:1.25rem;display:flex}.weather-status-bar{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.1rem;display:flex}.current-weather{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.current-weather .hub-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;border-right:1px solid var(--border);padding-right:.75rem;font-size:.72rem;font-weight:700}.current-weather .temp{font-size:1.2rem;font-weight:800}.current-weather .desc{font-size:.75rem;font-family:var(--font-mono);color:var(--text-secondary)}.forecast-section{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.forecast-section .forecast-label{text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-size:.68rem;font-weight:700}.forecast-timeline{align-items:center;gap:.4rem;display:flex}.forecast-item{background:var(--bg-canvas);border:1px solid var(--border);min-width:60px;transition:var(--transition);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .55rem;display:flex}.forecast-item:hover{border-color:var(--border-strong)}.forecast-item .time{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;font-size:.6rem;font-weight:700}.forecast-item .temp{color:var(--text-primary);font-size:.78rem;font-weight:800}.forecast-item .forecast-icon{width:12px;height:12px;color:var(--text-secondary)}.disruption-badge{border:1px solid var(--border);font-size:.65rem;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:#0000000a;border-radius:4px;align-items:center;margin-left:.6rem;padding:.1rem .35rem;display:inline-flex}.workspace-header-row{grid-template-columns:1fr 40px 1.1fr 40px .9fr;gap:1.5rem;margin-bottom:1.25rem;display:grid}.flow-arrow-spacer{width:40px}@media (width<=1024px){.workspace-header-row{display:none}}.column-header{border-bottom:2px solid var(--text-primary);flex-direction:column;gap:.2rem;padding-bottom:.65rem;display:flex}.column-header h2{letter-spacing:-.01em;font-size:1.1rem;font-weight:800}.column-desc{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.agent-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border:1px solid var(--border);background:#0000000f;border-radius:3px;align-self:flex-start;padding:.1rem .4rem;font-size:.65rem;font-weight:700;display:inline-block}.traveler-list-container{flex-direction:column;gap:1.25rem;display:flex}.traveler-row{border:1px solid var(--border);transition:var(--transition);background:#00000001;border-radius:12px;grid-template-columns:1fr auto 1.1fr auto .9fr;align-items:stretch;gap:1.5rem;padding:1.1rem;display:grid}.traveler-row:hover,.traveler-row.highlight-active{border-color:var(--border-strong);background:#00000003}.traveler-row.critical-row{border-left:3px solid var(--status-critical);border-color:var(--status-critical-border);background:var(--status-critical-bg)}.traveler-row.critical-row:hover,.traveler-row.critical-row.highlight-active{border-color:var(--status-critical);background:#c0392b0a}.traveler-row.critical-row .flow-arrow{border-color:var(--status-critical-border)}.traveler-row.critical-row .flow-arrow i{color:var(--status-critical)}@media (width<=1024px){.traveler-row{grid-template-columns:1fr;gap:.75rem;padding:.85rem}.arrow-desktop{display:none}.arrow-mobile{display:block}.flow-arrow-container{height:auto;padding:.25rem 0}}.flow-arrow-container{justify-content:center;align-items:center;height:100%;display:flex}.flow-arrow{border:1px dashed var(--border);background:var(--bg-canvas);width:36px;height:36px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.flow-arrow i{width:15px;height:15px;color:var(--text-secondary)}.arrow-desktop{display:block}.arrow-mobile{display:none}.passenger-card{background:var(--surface);border:1px solid var(--border);height:100%;transition:var(--transition);border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.passenger-card.highlight-active,.passenger-card:hover{border-color:var(--border-strong);background:#0000000a}.passenger-info{flex-direction:column;gap:.3rem;width:100%;display:flex}.passenger-name-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.passenger-name{font-size:.9rem;font-weight:700}.passenger-flight{font-family:var(--font-mono);background:#00000012;border-radius:3px;padding:.1rem .35rem;font-size:.7rem;font-weight:600}.passenger-details{color:var(--text-secondary);font-size:.78rem;line-height:1.45}.passenger-meta{font-size:.7rem;font-family:var(--font-mono);flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.passenger-badge{border:1px solid var(--border);white-space:nowrap;background:#0000000a;border-radius:10px;padding:.1rem .45rem}.passenger-badge.action{background:var(--status-critical-bg);border-color:var(--status-critical-border);color:var(--status-critical)}.passenger-badge.hold{background:var(--status-hold-bg);border-color:var(--status-hold-border);color:var(--status-hold)}.passenger-badge.wait{background:var(--status-standby-bg);border-color:var(--status-standby-border);color:var(--status-standby)}.analysis-card{background:var(--surface);border:1px solid var(--border);height:100%;transition:var(--transition);border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.analysis-card.highlight-active{border-color:var(--border-strong);background:#0000000a}.analysis-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.1rem;padding-bottom:.4rem;display:flex}.analysis-card-header .passenger-flight{font-family:var(--font-mono);background:#00000012;border-radius:3px;padding:.1rem .35rem;font-size:.7rem;font-weight:600}.analysis-grid{grid-template-columns:1fr 1fr;gap:.35rem .75rem;display:grid}.analysis-cell{border-bottom:1px dashed #0000000d;justify-content:space-between;align-items:center;padding-bottom:.1rem;font-size:.72rem;display:flex}.analysis-cell .label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.03em;font-size:.65rem;font-weight:700}.analysis-cell .value{font-weight:600}.font-mono{font-family:var(--font-mono)}.mini-terminal{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-secondary);background:#00000006;border-radius:6px;flex-direction:column;gap:.2rem;padding:.55rem .7rem;font-size:.68rem;line-height:1.4;display:flex}.mini-terminal-line{white-space:pre-wrap;color:var(--text-secondary);line-height:1.35}.cx-card{background:var(--surface);border:1px solid var(--border);height:100%;transition:var(--transition);border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.cx-card.highlight-active{border-color:var(--border-strong);background:#0000000a}.cx-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.4rem;display:flex}.cx-card-header .cx-phone{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;font-size:.72rem;font-weight:700}.cx-card-header .status-badge{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;background:#0000000a;border-radius:3px;padding:.1rem .4rem;font-size:.65rem;font-weight:700}.cx-card-header .status-badge.high{background:var(--status-critical-bg);border-color:var(--status-critical-border);color:var(--status-critical)}.cx-card-header .status-badge.normal{background:var(--status-standby-bg);border-color:var(--status-standby-border);color:var(--status-standby)}.cx-card-content{font-size:.8rem;font-family:var(--font-display);border:1px solid var(--border);background:#00000005;border-radius:8px;flex-direction:column;min-height:72px;padding:.65rem;display:flex}.sms-type-label{color:var(--text-faint);text-align:center;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.6rem;font-weight:700}.sms-preview-bubble{word-wrap:break-word;border-radius:16px 16px 3px;align-self:flex-end;max-width:88%;margin-right:6px;padding:.5rem .75rem;font-size:.74rem;line-height:1.35;position:relative}.sms-preview-bubble.normal{color:#f5f5f5;background:#1a1a1a}.sms-preview-bubble.high{background:var(--status-critical);color:#fff}.sms-preview-bubble.hold{color:#fff;background:#7a4f00}.sms-delivered-status{color:var(--text-faint);text-align:right;align-self:flex-end;margin-top:4px;margin-right:8px;font-size:.6rem}.verbose-details{border:1px solid var(--border);border-radius:6px;margin-top:.75rem;overflow:hidden}.verbose-summary{font-family:var(--font-mono);color:var(--text-faint);cursor:pointer;-webkit-user-select:none;user-select:none;background:#00000005;align-items:center;gap:.3rem;padding:.4rem .65rem;font-size:.65rem;font-weight:700;list-style:none;transition:background .15s;display:flex}.verbose-summary::-webkit-details-marker{display:none}.verbose-summary:after{content:"→";margin-left:auto;font-weight:700;transition:transform .2s}.verbose-details[open] .verbose-summary:after{transform:rotate(90deg)}.verbose-summary:hover{color:var(--text-secondary);background:#0000000a}.verbose-details[open] .verbose-summary{border-bottom:1px solid var(--border)}.verbose-summary i,.verbose-summary svg{width:11px;height:11px}.verbose-pre{background:var(--bg-canvas);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;margin:0;padding:.65rem;font-size:.65rem;line-height:1.4;overflow-x:auto}.control-btn{border:1px solid var(--text-primary);background-color:var(--text-primary);color:var(--bg-canvas);font-family:var(--font-display);cursor:pointer;transition:var(--transition);border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.8rem;font-weight:700;display:inline-flex}.control-btn:hover{background-color:#333;transform:translateY(-1px)}.workflow-section{flex-direction:column;gap:2rem;display:flex}.workflow-header h2{letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.3rem;font-weight:800}.workflow-header p{color:var(--text-secondary);font-size:.85rem;line-height:1.65}.workflow-section-title{border-bottom:1px solid var(--border);margin-top:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.workflow-section-title h3{font-size:1rem;font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:.5rem;font-weight:700;display:flex}.workflow-section-title h3 i,.workflow-section-title h3 svg{width:16px;height:16px;color:var(--text-secondary)}.github-repo-link{font-family:var(--font-mono);color:var(--text-primary);border:1px solid var(--border);transition:var(--transition);background:#00000008;border-radius:5px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.73rem;font-weight:700;text-decoration:none;display:inline-flex}.github-repo-link:hover{background:var(--text-primary);color:var(--bg-canvas);border-color:var(--text-primary)}.workflow-steps-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;display:grid}.workflow-step-card{border:1px solid var(--border);background:var(--bg-canvas);border-radius:10px;transition:border-color .2s;overflow:hidden}.workflow-step-card:hover{border-color:var(--border-strong)}.step-card-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.55rem;padding:.75rem 1rem;display:flex}.step-number-badge{background:var(--text-primary);width:22px;height:22px;color:var(--bg-canvas);font-size:.68rem;font-weight:800;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.step-card-header h3{font-size:.85rem;font-weight:700}.step-card-body{flex-direction:column;gap:.5rem;padding:.85rem 1rem 1.1rem;display:flex}.step-card-body p{color:var(--text-secondary);font-size:.8rem;line-height:1.55}.step-card-body ul{padding-left:1.1rem;list-style-type:disc}.step-card-body li{color:var(--text-secondary);font-size:.78rem;line-height:1.5}.step-card-body li strong{color:var(--text-primary)}.workflow-diagram-container{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem;overflow-x:auto}.workflow-svg{width:100%;max-width:940px;height:auto;margin:0 auto;display:block}.svg-node{fill:var(--bg-canvas);stroke:var(--border);stroke-width:1.5px}.svg-node.input-node{fill:#00000005;stroke:#0003;stroke-dasharray:4 3}.svg-node.agent1-node,.svg-node.agent2-node,.svg-node.agent3-node{stroke:#0000004d;stroke-width:1.5px}.svg-node-badge{stroke:none}.badge-red,.badge-blue,.badge-green{fill:var(--text-primary)}.badge-text{font-family:var(--font-mono);fill:var(--bg-canvas);text-anchor:middle;letter-spacing:.08em;font-size:9px;font-weight:700}.svg-node-title{font-family:var(--font-mono);fill:var(--text-primary);text-anchor:middle;letter-spacing:.06em;font-size:10px;font-weight:700}.svg-node-desc{font-family:var(--font-display);fill:var(--text-secondary);text-anchor:middle;font-size:10px}.svg-agent-title{font-family:var(--font-display);fill:var(--text-primary);text-anchor:middle;font-size:13px;font-weight:700}.svg-agent-role{font-family:var(--font-display);fill:var(--text-secondary);text-anchor:middle;font-size:10px}.prompts-container{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.prompts-container-header{flex-direction:column;gap:.2rem;margin-bottom:.35rem;display:flex}.prompts-container-header h4{color:var(--text-primary);font-size:.9rem;font-weight:700}.prompts-container-header p{color:var(--text-secondary);font-size:.78rem}.prompt-details{border:1px solid var(--border);border-radius:6px;overflow:hidden}.prompt-summary{font-family:var(--font-display);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#00000005;justify-content:space-between;align-items:center;padding:.65rem .9rem;font-size:.82rem;font-weight:700;list-style:none;transition:background .15s;display:flex}.prompt-summary:after{content:"→";font-family:var(--font-mono);font-weight:700;transition:transform .2s}.prompt-details[open] .prompt-summary:after{transform:rotate(90deg)}.prompt-summary:hover{background:#0000000a}.prompt-details[open] .prompt-summary{border-bottom:1px solid var(--border)}.prompt-pre{background:var(--bg-canvas);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;max-height:320px;margin:0;padding:.85rem;font-size:.72rem;line-height:1.5;overflow:auto}.location-db-container{background:var(--bg-canvas);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.location-db-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.location-db-container h4{font-size:.95rem;font-weight:800}.db-tech-badge{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border);background:#0000000d;border-radius:3px;padding:.2rem .45rem;font-size:.62rem;font-weight:700}.db-explanation{color:var(--text-secondary);max-width:800px;margin-bottom:1rem;font-size:.8rem;line-height:1.55}.table-scroll-wrapper{border:1px solid var(--border);background:var(--bg-canvas);border-radius:6px;max-height:300px;overflow-y:auto}.location-table{border-collapse:collapse;text-align:left;width:100%;font-size:.76rem}.location-table th,.location-table td{border-bottom:1px solid var(--border);padding:.6rem .85rem}.location-table th{color:var(--text-primary);z-index:10;border-bottom:2px solid var(--border);background:#00000008;font-weight:700;position:sticky;top:0}.location-table tbody tr:hover{background:#00000004}.location-table td code{font-family:var(--font-mono);background:#0000000d;border-radius:3px;padding:.12rem .3rem;font-size:.68rem}.badge-yes{color:var(--text-primary);border:1px solid var(--border);background:#0000000a;border-radius:3px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.badge-no{color:var(--text-faint);background:0 0;font-size:.68rem}.badge-warning{background:var(--status-critical-bg);color:var(--status-critical);border:1px solid var(--status-critical-border);border-radius:3px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.error-container{text-align:center;background:var(--status-critical-bg);border:1px dashed var(--status-critical-border);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;max-width:560px;margin:1.5rem auto;padding:2.5rem 1.25rem;display:flex}.workflow-section-title{--border-color:var(--border)}
