:root{--bg-top: #f6f0e5;--bg-bottom: #eaf3fb;--surface: #ffffff;--surface-border: #cfdae8;--text-main: #1b3345;--text-muted: #597186;--primary: #0d5ea1;--primary-soft: #e8f2ff;--primary-hover: #0a4f88;--danger: #ab2b35;--danger-soft: #ffeef0;--success: #1f7d4a;--success-soft: #e6f6ec;--warning: #8d5e05;--warning-soft: #fff3d7;--warning-block: #7f2f11;--warning-block-soft: #ffe3d7;--shadow: 0 10px 22px rgba(24, 47, 70, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:IBM Plex Sans,Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--text-main);background:radial-gradient(circle at 15% 0%,#fff8ea 0%,transparent 36%),radial-gradient(circle at 95% 20%,#e7f2ff 0%,transparent 38%),linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%)}.auth-page-shell{width:min(560px,calc(100% - 2rem));margin:3rem auto}.app-shell{width:min(1160px,calc(100% - 2rem));margin:0 auto;padding:1.2rem 0 2rem}.app-header{border:1px solid var(--surface-border);border-radius:16px;padding:1rem 1.25rem;background:linear-gradient(145deg,#fff,#f6fbff);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header h1{margin:0;font-size:1.45rem}.app-header p{margin:.25rem 0 0;color:var(--text-muted)}.app-header code{background:#eef4fb;border-radius:6px;padding:.05rem .35rem;font-size:.85rem}.app-header .button-secondary{width:auto;padding:.45rem 1rem;font-size:.875rem;align-self:flex-start}.top-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin:.95rem 0}.nav-link{text-decoration:none;color:#2a526e;border:1px solid #bcd0e5;background:#f2f7fc;border-radius:999px;padding:.45rem .85rem;font-weight:600}.nav-link-active{color:#fff;border-color:var(--primary);background:var(--primary)}.main-content{display:grid;gap:1rem}.page-content{padding:1.25rem 1.5rem}.panel{border:1px solid var(--surface-border);border-radius:16px;padding:1rem;background:var(--surface);box-shadow:var(--shadow)}.panel-form{margin:0 auto}.panel h1,.panel h2,.panel h3{margin:0}.panel h2{font-size:1.3rem}.panel h3{font-size:1.05rem}.panel-heading-with-help{display:inline-flex;align-items:center;gap:.5rem}.wiki-help-link{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;border:1px solid currentColor;font-size:.75rem;opacity:.5;text-decoration:none;margin-left:.5rem;vertical-align:middle;color:inherit}.wiki-help-link:hover{opacity:.9}.panel-header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem}.section-heading{margin-top:1.2rem;margin-bottom:.6rem}.form-grid{display:grid;gap:.75rem;margin-top:.75rem}label{display:grid;gap:.35rem;color:#1f465f;font-size:.92rem}input,select,button{width:100%;border-radius:10px;border:1px solid #b6c8dc;padding:.62rem .7rem;font:inherit}input:focus,select:focus,button:focus-visible{outline:2px solid #9ac0ea;outline-offset:1px}button{cursor:pointer;transition:background-color .18s ease,border-color .18s ease;border-color:var(--primary);background:var(--primary);color:#fff;font-weight:600}button:hover{border-color:var(--primary-hover);background:var(--primary-hover)}button:disabled{opacity:.65;cursor:not-allowed}.button-secondary{border-color:#8ca5bc;background:#f2f7fc;color:#244a64}.button-secondary:hover{background:#e7eff7;border-color:#7d98b2}.subtle-text{color:var(--text-muted);margin:.4rem 0 0}.status-error,.status-success{margin-top:.8rem;padding:.6rem .75rem;border-radius:10px;font-weight:600}.status-error{color:var(--danger);background:var(--danger-soft);border:1px solid #f2c2c9}.status-success{color:var(--success);background:var(--success-soft);border:1px solid #b9e5ca}.itinerary-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.itinerary-card{border:1px solid #d4e0ec;border-radius:12px;padding:.8rem;background:#f9fcff;display:flex;justify-content:space-between;align-items:center;gap:1rem}.itinerary-card h3{margin:0 0 .2rem}.itinerary-actions{display:grid;justify-items:end;gap:.55rem}.button-link{text-decoration:none;border-radius:10px;border:1px solid #8caed1;background:var(--primary-soft);color:#1e4f72;font-weight:600;padding:.45rem .75rem;white-space:nowrap}.button-link:hover{background:#dcecff}.button-link-button{border:1px solid #8caed1;background:var(--primary-soft);color:#1e4f72;font-weight:600;width:auto;padding:.45rem .75rem}.button-link-button:hover{background:#dcecff;border-color:#7c9fc3}.status-badge{display:inline-block;font-size:.78rem;border-radius:999px;padding:.2rem .55rem;font-weight:600;margin-right:.35rem}.status-badge-offers{color:var(--success);background:var(--success-soft);border:1px solid #b9e5ca}.status-badge-no_offers{color:#4d5e6c;background:#eef2f5;border:1px solid #d3dde4}.status-badge-unknown{color:#4a5b78;background:#eef1fb;border:1px solid #d4d9ee}.status-badge-error{color:var(--danger);background:var(--danger-soft);border:1px solid #f2c2c9}.cell-summary-line{margin:.4rem 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem}.grid-preview{border:1px solid #cdddec;border-radius:12px;padding:.75rem;background:#f6fbff}.grid-preview-over{border-color:#f2c2c9;background:var(--danger-soft)}.grid-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.grid-cell-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.4rem}.grid-cell{border:1px solid #d4e0ec;border-radius:8px;padding:.35rem .5rem;background:#fff;font-size:.85rem}.watch-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin:.85rem 0}.watch-controls .button-secondary{width:auto}.interval-form{display:flex;align-items:flex-end;gap:.5rem}.interval-form label{font-size:.82rem}.interval-form input{width:6rem}.interval-form button{width:auto}.grid-table-wrap{overflow-x:auto}.grid-table{width:100%;border-collapse:collapse;font-size:.9rem}.grid-table th,.grid-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #e2eaf2;white-space:nowrap}.grid-table thead th{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:#6c8295}code{background:#eef4fb;border-radius:6px;padding:.05rem .3rem;font-size:.85rem}.filter-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem}.filter-row label{flex:1 1 200px}.watch-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.9rem}.watch-pagination .button-secondary{width:auto}.watch-matrix-wrap{overflow:auto;border:1px solid #d4e0ec;border-radius:12px}.watch-matrix{width:100%;border-collapse:collapse;table-layout:fixed}.watch-matrix th{position:sticky;top:0;z-index:2;text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:#688095;background:#f4f8fc;border-bottom:1px solid #d4e0ec;padding:.45rem .5rem}.watch-matrix-route-header,.watch-matrix-route-cell{position:sticky;left:0;z-index:3;min-width:230px;width:230px;background:#f8fbff}.watch-matrix-route-cell{text-transform:none;font-size:.82rem;letter-spacing:normal;color:#244a64;border-bottom:1px solid #dce7f1;border-right:1px solid #d4e0ec;padding:.45rem .55rem}.watch-matrix td{padding:0;border-bottom:1px solid #dce7f1;border-left:1px solid #e3ebf3}.watch-cell{position:relative;width:100%;height:56px;border:none;border-radius:0;padding:.35rem .45rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:#1f3447;font-weight:600}.watch-cell:hover{filter:brightness(.98)}.watch-cell-empty{background:#eef2f6;color:#698093}.watch-cell-waitlist{background:#fff1d8;color:#7f5a12}.watch-cell-live{background:#dff4e7;color:#1c6f43}.watch-cell-stale{background:#e6edf5;color:#3e596d}.watch-cell-error{background:#f6dde2;color:#7f2430}.watch-cell-fare{font-variant-numeric:tabular-nums;letter-spacing:.01em}.watch-cell-offers{font-size:.72rem;border-radius:999px;padding:.1rem .4rem;border:1px solid currentColor;opacity:.85}.watch-cell-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%}.watch-cell-dot-empty{background:#8a9aad}.watch-cell-dot-waitlist{background:#cd8500}.watch-cell-dot-live{background:#1f8b53}.watch-cell-dot-stale{background:#4d657a}.watch-cell-dot-error{background:#9f2f3f}.watch-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a18287a;z-index:70}.watch-drawer{position:fixed;top:0;right:0;width:min(420px,100vw);height:100vh;background:#fff;border-left:1px solid #d2deea;box-shadow:-18px 0 32px #142e4633;z-index:71;padding:1rem;display:grid;grid-template-rows:auto 1fr;gap:.8rem;overflow-y:auto;transform:translate(0);transition:transform .2s ease-out}.watch-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.watch-drawer-header .button-secondary{width:auto}.watch-drawer-content{display:grid;gap:.65rem}.watch-drawer-list{margin:.35rem 0 0;padding-left:1rem}.workflow-row{cursor:pointer}.workflow-row:hover{background:#f7fbff}.workflow-steps-row td{background:#fcfdff}.workflow-steps-table th,.workflow-steps-table td{white-space:normal}.inline-action-button{width:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#09182673;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:40}.modal-card{width:min(860px,calc(100% - 1rem));max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--surface-border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);padding:1rem}.workflow-steps-editor{display:grid;gap:.75rem}.workflow-step-card{border:1px solid #d4e0ec;border-radius:12px;padding:.75rem;background:#f9fcff}.workflow-create-form{grid-template-columns:1fr;max-width:740px}.workflow-create-field{display:grid;gap:.35rem}.workflow-step-row{display:grid;grid-template-columns:minmax(72px,auto) minmax(220px,1fr) minmax(220px,1fr) auto;gap:.55rem .7rem;align-items:end;border:1px solid #d4e0ec;border-radius:12px;padding:.65rem .7rem;background:#f9fcff}.workflow-step-index{margin:0;color:#1f465f;font-weight:600}.workflow-step-field{min-width:0}.workflow-step-meta,.workflow-step-row .status-error{grid-column:1 / -1;margin-top:0}.customer-autocomplete{display:grid;gap:.4rem}.customer-autocomplete-list{list-style:none;margin:0;padding:0;border:1px solid #d4e0ec;border-radius:10px;overflow:hidden}.customer-autocomplete-list li+li{border-top:1px solid #e2eaf2}.autocomplete-option{width:100%;text-align:left;border:none;background:#fff;color:var(--text-main);border-radius:0;padding:.55rem .7rem;font-weight:500}.autocomplete-option:hover{background:#eef6ff}@media (max-width: 900px){.workflow-step-row{grid-template-columns:1fr}}.segment-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.segment-card{border:1px solid #d4e0ec;border-radius:12px;padding:.85rem;background:#f9fcff}.segment-card-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.segment-status{font-size:.78rem;border-radius:999px;padding:.2rem .55rem;font-weight:600;color:#4a5b78;background:#eef1fb;border:1px solid #d4d9ee}.segment-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem 1rem;margin:.4rem 0}.segment-meta-grid p{display:grid;gap:.1rem;margin:0}.meta-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#6c8295}.conflict-stack{display:grid;gap:.4rem;margin-top:.55rem}.conflict-badge{display:grid;gap:.1rem;border-radius:10px;padding:.5rem .65rem;color:var(--warning);background:var(--warning-soft);border:1px solid #ecd79a;font-size:.85rem}.conflict-badge-block{color:var(--warning-block);background:var(--warning-block-soft);border-color:#f0b39c}.proposal-item-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;align-items:end;border:1px solid #d4e0ec;border-radius:12px;padding:.75rem;background:#f9fcff}.proposal-item-row .button-secondary{width:auto}.inline-form{display:grid;gap:.75rem;margin-top:.6rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem .9rem}.form-actions{display:flex;flex-wrap:wrap;gap:.6rem}.form-actions button{width:auto}.segment-edit-card{background:#f3f8ff;border-color:#c4d7ec;margin-bottom:.8rem}.segment-add-button{width:auto}.segment-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.segment-actions button{width:auto}.button-danger{border-color:#d98a93;background:var(--danger-soft);color:var(--danger)}.button-danger:hover{background:#f6d6da;border-color:#cf7680}@media (max-width: 780px){.app-header,.itinerary-card{flex-direction:column;align-items:flex-start}.itinerary-actions{justify-items:start;width:100%}}.an-parser-section{margin-bottom:1rem}.an-parser-toggle{background:none;border:none;cursor:pointer;font-size:.95rem;color:#555;padding:.25rem 0}.an-parser-body{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.an-parser-input{font-family:monospace;font-size:1rem;padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px}.subtle-text{color:#888;font-size:.85rem;margin:0}.copy-ss-btn{font-size:.8rem;padding:.2rem .5rem;cursor:pointer}.bridge-token-create{margin-top:.9rem;display:grid;gap:.75rem}.bridge-token-toggle{width:auto;justify-self:start}.bridge-token-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;align-items:end}.bridge-token-form button{width:auto;min-width:8rem}.bridge-token-copy-box{margin-top:.9rem;border:1px solid #ecc16f;border-radius:12px;background:#fff7df;padding:.85rem}.bridge-token-copy-box h3{margin-bottom:.4rem}.bridge-token-code{display:inline-block;word-break:break-all;padding:.35rem .45rem}.bridge-token-copy-actions{display:flex;flex-wrap:wrap;gap:.55rem}.bridge-token-copy-actions button{width:auto}.bridge-token-row-revoked td{text-decoration:line-through;color:#6d7783}.bridge-token-row-revoked td .status-badge{margin-left:.5rem;text-decoration:none}.dev-log-console{margin-top:.9rem;background:#0b1422;border:1px solid #263244;border-radius:12px;padding:.75rem;max-height:62vh;overflow:auto;font-family:IBM Plex Mono,Cascadia Code,SFMono-Regular,Menlo,monospace}.dev-log-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem;color:#d9e6f5;font-size:.82rem;line-height:1.45;padding:.3rem 0;border-bottom:1px solid rgba(86,104,128,.25)}.dev-log-row:last-child{border-bottom:none}.dev-log-badge{border-radius:999px;font-weight:700;font-size:.66rem;letter-spacing:.05em;padding:.15rem .45rem;border:1px solid transparent}.dev-log-badge-info{color:#9de7b8;border-color:#2a7b4d;background:#2a7b4d40}.dev-log-badge-warn{color:#ffd88e;border-color:#b37707;background:#b3770738}.dev-log-badge-error{color:#ff9ea7;border-color:#9b3640;background:#9b364047}.dev-log-badge-log{color:#9ed6ff;border-color:#2f6b99;background:#2f6b9940}.dev-log-context{color:#84b5ff;font-weight:600}.dev-log-time{color:#a1b5ce;white-space:nowrap}.dev-log-message{color:#e8eff8;flex:1 1 380px}.dev-log-data{width:100%;margin:.35rem 0 0;padding:.45rem .55rem;border-radius:8px;border:1px solid rgba(95,122,153,.35);background:#111d30d9;color:#bbd1ea;white-space:pre-wrap;word-break:break-word}.dev-log-empty{margin:0;color:#9fb4cb;font-size:.85rem}:root{--shell-bg: #f8f7f5;--shell-sidebar-bg: #1e2330;--shell-sidebar-text: #d6dae3;--shell-text: #1a1a2e;--shell-border: #d9d7d2;--shell-active: #059669;--shell-alert: #d97706;--shell-conflict: #9b1c1c;--shell-sidebar-width: 13.75rem;--shell-sidebar-collapsed-width: 3.5rem;--shell-topbar-height: 3rem}.workstation-shell{--shell-current-sidebar-width: var(--shell-sidebar-width)}.workstation-shell-collapsed{--shell-current-sidebar-width: var(--shell-sidebar-collapsed-width)}.app-sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--shell-current-sidebar-width);background:var(--shell-sidebar-bg);color:var(--shell-sidebar-text);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:flex-start;padding:.75rem .5rem;transition:width .2s ease;z-index:35;overflow:hidden}.app-sidebar-collapsed:hover{width:var(--shell-sidebar-width)}.app-sidebar-collapsed:hover .sidebar-nav-label{display:inline}.sidebar-nav{display:grid;gap:.2rem}.sidebar-nav-link{display:flex;align-items:center;gap:.55rem;min-height:2rem;border-left:.1875rem solid transparent;border-radius:.5rem;padding:.35rem .45rem;text-decoration:none;color:inherit;background:transparent}.sidebar-nav-link:hover{background:#ffffff14}.sidebar-nav-link-active{border-left-color:var(--shell-active);background:#ffffff1f}.sidebar-nav-icon{width:1.2rem;text-align:center;font-size:1rem;line-height:1}.sidebar-nav-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;white-space:nowrap}.sidebar-nav-label-hidden{display:none}.app-topbar{position:fixed;top:0;left:var(--shell-current-sidebar-width);right:0;height:var(--shell-topbar-height);border-bottom:1px solid var(--shell-border);background:var(--shell-bg);display:flex;align-items:center;justify-content:space-between;padding:0 1rem;transition:left .2s ease;z-index:30}.topbar-left,.topbar-right{display:inline-flex;align-items:center;gap:.55rem}.topbar-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;border-radius:.375rem;cursor:pointer;color:var(--shell-text);flex-shrink:0;margin-right:.75rem}.office-pill{border:1px solid var(--shell-border);border-radius:9999rem;background:#fff;color:var(--shell-text);padding:.2rem .6rem;font-size:.75rem;white-space:nowrap}.topbar-office-switcher{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;border-radius:.375rem;cursor:pointer;color:var(--shell-text);flex-shrink:0;margin-right:.75rem}.topbar-sidebar-toggle:hover{background:#0000000f}.topbar-office-picker{width:auto;min-width:8rem;background:none;border:1px solid var(--shell-border);border-radius:.375rem;padding:.2rem .5rem;font-size:.875rem;color:var(--shell-text);cursor:pointer}.topbar-icon-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;border-radius:.375rem;cursor:pointer;color:var(--shell-text)}.topbar-icon-btn:hover{background:#0000000f}.topbar-alerts-link{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.375rem;color:var(--shell-text);text-decoration:none}.topbar-alerts-link:hover{background:#0000000f}.topbar-alert-badge{position:absolute;top:.2rem;right:.2rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--shell-conflict)}.topbar-role-badge{font-size:.72rem;font-weight:600;letter-spacing:.03em;background:#0000000f;border-radius:.25rem;padding:.1rem .4rem;color:var(--shell-text)}.shell-content{margin-left:var(--shell-current-sidebar-width);padding:calc(var(--shell-topbar-height) + .75rem) 1rem 1rem;min-height:100vh;background:var(--shell-bg);transition:margin-left .2s ease;color:var(--shell-text);font-size:.8125rem}.tabular-numeric{font-variant-numeric:tabular-nums}.cmd-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e121c73;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:60}.cmd-palette-modal{width:min(38rem,calc(100% - 1.5rem));background:#fff;border:1px solid var(--shell-border);border-radius:.75rem;box-shadow:0 1.25rem 2.5rem #0a0c1433;overflow:hidden}.cmd-palette-input{border:0;border-bottom:1px solid #e5e2dc;border-radius:0;padding:.7rem .85rem;font-size:.875rem}.cmd-palette-results{list-style:none;margin:0;padding:.4rem;display:grid;gap:.15rem}.cmd-result{width:100%;text-align:left;border:1px solid transparent;background:#fff;color:var(--shell-text);border-radius:.45rem;padding:.5rem .6rem;font-size:.8rem}.cmd-result:hover,.cmd-result-active{background:#eef8f4;border-color:#b8dfd1;color:#0d5a45}.cmd-result-empty{color:#767a8a;font-size:.78rem;padding:.4rem .55rem}@media (max-width: 60rem){.app-topbar{padding:0 .65rem}.topbar-user{display:none}.shell-content{padding-right:.65rem;padding-left:.65rem}}
