html,body,#app{min-height:100%;margin:0}body{background:#f4f6fa;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-shell{display:grid;grid-template-columns:16rem minmax(0,1fr);min-height:100vh;background:#f5f7fb}.admin-sidebar{box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;padding:1.5rem 1rem;color:#f5f7ff;background:linear-gradient(180deg,#172441,#101a30);box-shadow:.75rem 0 2.5rem #141f391a}.admin-brand{display:flex;align-items:center;gap:.75rem;padding:0 .5rem 1.75rem;border-bottom:1px solid rgb(255 255 255 / 10%)}.admin-brand-mark{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border:1px solid rgb(255 255 255 / 24%);border-radius:.65rem;color:#172441;background:#f3c969;font-size:1rem;font-weight:800}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:.95rem;letter-spacing:.02em}.admin-brand small{margin-top:.2rem;color:#9eabc4;font-size:.72rem}.admin-navigation{margin-top:1.5rem}.admin-navigation-label{margin:0 0 .55rem;padding:0 .75rem;color:#8492ae;font-size:.67rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.admin-navigation-link{display:flex;align-items:center;gap:.7rem;padding:.72rem .75rem;border:1px solid transparent;border-radius:.55rem;color:#c7d0e2;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .14s ease,background-color .14s ease,border-color .14s ease}.admin-navigation-link svg{width:1.1rem;height:1.1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.admin-navigation-link:hover{color:#fff;background:#ffffff0f}.admin-navigation-link.router-link-active{border-color:#f3c9693d;color:#fff8e8;background:#f3c9691f}.admin-workspace{min-width:0;min-height:100vh}.admin-page{min-height:100vh}.ai-models-page,.organizations-page{box-sizing:border-box;padding:2.5rem}.page-header,.data-card-header,.editor-header,.editor-actions,.row-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-header{margin:0 auto 1.75rem;max-width:92rem;align-items:flex-end}.page-header h1,.data-card-header h2,.editor-header h2{margin:0;color:#172441}.page-header h1{font-size:clamp(1.8rem,3vw,2.35rem);letter-spacing:-.025em}.page-header>div>p:last-child,.data-card-header p{margin:.5rem 0 0;color:#66738d;line-height:1.5}.page-eyebrow{margin:0 0 .45rem;color:#6a7894;font-size:.7rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.primary-action,.secondary-action,.quiet-action,.row-actions button,.close-action{border-radius:.45rem;cursor:pointer;font:inherit;font-size:.84rem;font-weight:700}.primary-action{padding:.72rem 1rem;border:1px solid #263a67;color:#fff;background:#263a67}.primary-action:hover{background:#1c2d53}.secondary-action,.quiet-action{padding:.65rem .9rem;border:1px solid #cbd4e3;color:#304267;background:#fff}.primary-action:disabled,.secondary-action:disabled,.quiet-action:disabled,.row-actions button:disabled,.close-action:disabled{cursor:not-allowed;opacity:.55}.page-notice{box-sizing:border-box;max-width:92rem;margin:0 auto 1rem;padding:.75rem .9rem;border-radius:.5rem;line-height:1.45}.success-notice{color:#285c44;background:#eaf7f0}.error-notice{color:#8b1f2f;background:#fff0f2}.route-section{max-width:92rem;margin:0 auto 2rem}.section-heading,.route-card-header,.route-card-footer,.route-steps-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading{margin-bottom:1rem;align-items:flex-end}.section-heading h2,.route-card h3,.route-steps-heading h3{margin:0;color:#172441}.section-heading h2{font-size:1.3rem}.section-heading p:last-child,.route-steps-heading p{margin:.35rem 0 0;color:#6f7c93;font-size:.82rem}.routes-loading{padding:3rem 1rem;border:1px solid #dce2ec;border-radius:.8rem;color:#748198;background:#fff;text-align:center}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.route-card{display:flex;min-width:0;flex-direction:column;border:1px solid #dce2ec;border-radius:.75rem;background:#fff;box-shadow:0 .6rem 1.8rem #1a2a4a0d}.route-card-header{padding:1rem 1.1rem;border-bottom:1px solid #e7ebf1;align-items:flex-start}.route-card h3{font-size:.98rem}.route-card header code{display:block;margin-top:.28rem;color:#7b879d;font-size:.67rem}.route-card-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.version-pill{display:inline-flex;padding:.25rem .45rem;border-radius:999px;color:#41577f;background:#edf1f8;font-size:.66rem;font-weight:700;white-space:nowrap}.route-summary{flex:1;padding:1rem 1.1rem}.route-deadline{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.8rem;color:#71809a;font-size:.72rem}.route-deadline strong{color:#334665;font-size:.84rem}.route-step-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.route-step-list li{display:flex;min-width:0;align-items:center;gap:.7rem;padding:.65rem;border:1px solid #e5e9f0;border-radius:.5rem;background:#fafbfd}.step-priority,.route-step-number{display:grid;width:1.65rem;height:1.65rem;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;background:#334a78;font-size:.72rem;font-weight:800}.route-step-list li>div{min-width:0}.route-step-list strong,.route-step-list small{display:block}.route-step-list strong{overflow:hidden;color:#2e405f;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.route-step-list small{margin-top:.22rem;color:#78849a;font-size:.68rem}.route-empty{flex:1;margin:0;padding:2rem 1.1rem;color:#7c8799;font-size:.8rem}.route-card-footer{padding:.85rem 1.1rem;border-top:1px solid #e7ebf1}.route-card-footer>small{max-width:60%;overflow:hidden;color:#7a869b;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.data-card{max-width:92rem;margin:0 auto;overflow:hidden;border:1px solid #dce2ec;border-radius:.8rem;background:#fff;box-shadow:0 .8rem 2.5rem #1a2a4a0f}.data-card-header{padding:1.25rem 1.35rem;border-bottom:1px solid #e5e9f0}.data-card-header h2{font-size:1.05rem}.data-card-header p{font-size:.82rem}.table-scroll{overflow-x:auto}.deployments-table{width:100%;min-width:72rem;border-collapse:collapse}.organizations-table{min-width:48rem}.organization-updated-at{margin-top:0!important;white-space:nowrap}.organization-editor{width:min(38rem,100%)}.organization-user-editor{width:min(44rem,100%)}.deployments-table th,.deployments-table td{padding:1rem 1.1rem;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:top}.deployments-table th{color:#71809b;background:#fafbfc;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.deployments-table tbody tr:last-child td{border-bottom:0}.deployments-table tbody tr:hover{background:#fbfcfe}.deployments-table td strong,.deployments-table td small{display:block}.deployments-table td strong{max-width:18rem;overflow-wrap:anywhere;color:#263653;font-size:.88rem}.deployments-table td small{margin-top:.3rem;color:#7a879e;font-size:.72rem}.deployments-table code,.deployments-table pre{color:#273c63;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.76rem}.deployments-table pre{max-width:16rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capability-list{display:flex;max-width:18rem;flex-wrap:wrap;gap:.3rem}.capability-chip,.status-pill{display:inline-flex;padding:.25rem .45rem;border-radius:999px;color:#285c44;background:#e9f6ef;font-size:.66rem;font-weight:700;white-space:nowrap}.capability-chip.inactive{color:#8b94a5;background:#f0f2f5;text-decoration:line-through}.status-pill.disabled{color:#7c4550;background:#fae9ec}.row-actions{justify-content:flex-end;gap:.4rem}.row-actions button{padding:.42rem .6rem;border:1px solid #ccd5e3;color:#304267;background:#fff}.row-actions .danger-action{border-color:#eccbd1;color:#9a293e}.empty-state{padding:4rem 1rem;color:#748198;text-align:center}.editor-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:1.5rem;background:#0d172b94}.deployment-editor{box-sizing:border-box;width:min(46rem,100%);max-height:calc(100vh - 3rem);overflow-y:auto;border-radius:.8rem;background:#fff;box-shadow:0 1.5rem 5rem #07102247}.route-editor{width:min(58rem,100%)}.editor-header{padding:1.35rem 1.5rem;border-bottom:1px solid #e4e8ef}.editor-header h2{font-size:1.25rem}.close-action{width:2.2rem;height:2.2rem;padding:0;border:1px solid #d4dbe6;color:#5d6b83;background:#fff;font-size:1.35rem;line-height:1}.deployment-form{display:grid;gap:1.25rem;padding:1.5rem}.route-steps-editor{display:grid;gap:.8rem}.route-steps-heading{align-items:flex-end}.route-steps-heading h3{font-size:.92rem}.route-step-editor{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;padding:1rem;border:1px solid #dbe1ea;border-radius:.55rem;background:#fafbfd}.route-step-number{margin-top:1.25rem}.route-step-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.route-step-actions{display:flex;flex-direction:column;gap:.35rem;padding-top:1.25rem}.route-step-actions button{padding:.4rem .55rem;border:1px solid #ccd5e3;border-radius:.4rem;color:#304267;background:#fff;cursor:pointer;font:inherit;font-size:.72rem;font-weight:700}.route-step-actions button:disabled{cursor:not-allowed;opacity:.45}.route-step-actions .danger-action{border-color:#eccbd1;color:#9a293e}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field{display:grid;gap:.42rem}.form-field>span,.capabilities-fieldset legend{color:#344466;font-size:.8rem;font-weight:700}.form-field input,.form-field select,.form-field textarea{box-sizing:border-box;width:100%;padding:.7rem .8rem;border:1px solid #c9d2e1;border-radius:.42rem;color:#172033;background:#fff;font:inherit}.form-field textarea{resize:vertical;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.5}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#526b9e;outline:3px solid rgb(82 107 158 / 16%)}.form-field small{color:#78859a;font-size:.72rem}.full-field{grid-column:1 / -1}.capabilities-fieldset{display:flex;flex-wrap:wrap;gap:.75rem 1.15rem;margin:0;padding:1rem;border:1px solid #d9e0ea;border-radius:.5rem}.capabilities-fieldset legend{padding:0 .35rem}.checkbox-field{display:inline-flex;align-items:center;gap:.45rem;color:#3d4e6c;cursor:pointer;font-size:.82rem;font-weight:600}.checkbox-field input{width:1rem;height:1rem;accent-color:#263a67}.enabled-field{width:fit-content}.deployment-form .page-notice{width:100%;margin:0}.editor-actions{justify-content:flex-end;padding-top:.2rem}@media(max-width:720px){.admin-shell{grid-template-columns:11rem minmax(0,1fr)}.admin-sidebar{padding-inline:.65rem}.admin-brand{padding-inline:.25rem}.ai-models-page,.organizations-page{padding:1.5rem 1rem}.page-header{align-items:flex-start;flex-direction:column}.form-grid,.route-grid{grid-template-columns:1fr}.section-heading,.route-steps-heading{align-items:flex-start;flex-direction:column}.route-step-editor{grid-template-columns:auto minmax(0,1fr)}.route-step-fields{grid-template-columns:1fr}.route-step-actions{grid-column:2;flex-direction:row;padding-top:0}.full-field{grid-column:auto}}.login-page{display:grid;min-height:100vh;place-items:center;padding:1rem;box-sizing:border-box}.login-card,.status-card{box-sizing:border-box;width:min(32rem,calc(100% - 2rem));padding:2rem;border:1px solid #d9dfeb;border-radius:.75rem;background:#fff;box-shadow:0 1rem 3rem #1a2a4a14}.login-card h1,.status-card h1{margin:0 0 .75rem;font-size:1.5rem}.login-kicker{margin:0 0 .5rem;color:#53658d;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-description,.status-card p{margin:0 0 1.25rem;line-height:1.5}.login-form{display:grid;gap:1rem}.field{display:grid;gap:.4rem}.field label{color:#344466;font-size:.85rem;font-weight:650}.field input{box-sizing:border-box;width:100%;padding:.75rem .85rem;border:1px solid #c8d1e1;border-radius:.4rem;color:#172033;background:#fff;font:inherit}.field input:focus{border-color:#526b9e;outline:3px solid rgb(82 107 158 / 16%)}.field input:disabled,.login-card button:disabled{cursor:not-allowed;opacity:.6}.login-message{margin:1.25rem 0 0;padding:.75rem;border-radius:.4rem;color:#8b1f2f;background:#fff0f2;line-height:1.4}.verification-link{display:inline;margin:0 0 0 .35rem;padding:0;border:0;color:#7a1830;background:transparent;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:.16em}.reset-message{margin:1.25rem 0 0;padding:.75rem;border-radius:.4rem;color:#285c44;background:#ebf8f1;line-height:1.4}.login-card .primary-button,.login-card .secondary-button,.status-card button{width:100%;padding:.65rem .9rem;border:0;border-radius:.4rem;color:#fff;background:#263a67;cursor:pointer}.login-card .secondary-button{border:1px solid #c8d1e1;color:#263a67;background:#fff}.login-card .text-button{justify-self:end;width:auto;padding:0;border:0;color:#3d5688;background:transparent;font:inherit;font-size:.85rem;cursor:pointer}.status-card{margin:15vh auto 0}.loading-card{text-align:center}.loading-indicator{display:inline-block;width:2rem;height:2rem;margin-bottom:1rem;border:3px solid #dbe2ee;border-top-color:#263a67;border-radius:50%;animation:admin-loading-spin .8s linear infinite}@keyframes admin-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-indicator{animation:none}}
