:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#171717;background:#f4f5f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid #d4d8e1;border-radius:8px;padding:8px 14px;background:#fff;color:#242733;cursor:pointer;box-shadow:0 1px 2px #0f172a14}button,.button-link{text-decoration:none}button:hover{border-color:#aeb6c5}.button-link{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid #d4d8e1;border-radius:8px;padding:8px 14px;background:#fff;color:#242733;box-shadow:0 1px 2px #0f172a14}.button-link:hover{border-color:#aeb6c5}button:disabled{cursor:not-allowed;opacity:.55}button.primary{border-color:#111318;background:#111318;color:#fff}button.danger{border-color:#fecaca;color:#b91c1c}input,select,textarea{width:100%;min-height:44px;border:1px solid #d4d8e1;border-radius:8px;padding:10px 12px;background:#fff;color:#171717;outline:none}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}textarea{min-height:82px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}table{width:100%;border-collapse:collapse}th,td{border-top:1px solid #e6e8ee;padding:14px 16px;text-align:left;vertical-align:middle}th{color:#5e6472;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase;white-space:nowrap}td{color:#20232d;font-size:14px}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-panel{display:grid;width:min(420px,100%);gap:18px;border:1px solid #dde1e8;border-radius:8px;padding:28px;background:#fff;box-shadow:0 24px 60px #0f172a1f}.auth-panel h1,.topbar h1{margin:0;font-size:28px;line-height:1.15}.auth-panel label{display:grid;gap:8px;color:#5e6472;font-size:13px;font-weight:700}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;color:#737988;font-size:12px;font-weight:700;text-transform:uppercase}.auth-divider:before,.auth-divider:after{height:1px;background:#e6e8ee;content:""}.app-shell{display:grid;gap:24px;min-height:100vh;padding:24px}.topbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:18px;align-items:center;border:1px solid #dde1e8;border-radius:8px;padding:18px;background:#fff;box-shadow:0 1px 3px #0f172a14}.topbar-user{margin:6px 0 0;color:#5e6472;font-size:13px}.eyebrow{margin:0 0 4px;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.tabs{display:inline-flex;gap:4px;border-radius:8px;padding:4px;background:#eef1f6}.tabs button{min-height:36px;border:0;background:transparent;box-shadow:none}.tabs button.active{background:#fff;box-shadow:0 1px 2px #0f172a1a}.top-actions,.actions,.secret-row,.pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.connection-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.grid{display:grid;gap:24px}.grid.two{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);align-items:start}.provider-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:24px;align-items:start}.stack{display:grid;gap:24px}.panel{overflow:auto;border:1px solid #dde1e8;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0f172a14}.panel>header{display:flex;align-items:center;gap:10px;padding:16px}.panel h2{margin:0;font-size:18px;line-height:1.2}.form-grid{display:grid;gap:10px;padding:0 16px 16px}.limit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.subform{display:grid;gap:10px;border-top:1px solid #e6e8ee;padding:16px;background:#fafbfc}.subform h3{margin:0;font-size:14px;line-height:1.2}.subform p{margin:0}.subform .wide{width:100%;margin:0}.route-edit-grid{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) 96px;gap:8px;align-items:center}.route-edit-grid input,.route-edit-grid select{min-height:40px}.route-builder{display:grid;gap:10px;border-top:1px solid #e6e8ee;padding:16px}.route-builder-header,.model-route-group-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.route-builder-header span{color:#5e6472;font-size:12px;font-weight:800;text-transform:uppercase}.route-builder-list,.model-route-groups{display:grid;gap:12px}.route-builder-row{display:grid;grid-template-columns:40px minmax(130px,1fr) minmax(130px,1fr) 96px 44px;gap:8px;align-items:center}.route-builder-row>span{color:#737988;font-size:12px;font-weight:800}.route-builder-row input,.route-builder-row select{min-height:40px}.route-builder-row button{width:44px;padding:8px}.model-route-groups{padding-bottom:12px}.model-route-group{overflow:hidden;border-top:1px solid #e6e8ee}.model-route-group-header{padding:14px 16px;background:#fafbfc}.model-route-group-header h3{margin:0;color:#111318;font-size:16px;line-height:1.25}.model-route-group-header span{color:#737988;font-size:13px}.route-priority-strip{display:flex;flex-wrap:wrap;gap:6px}.route-priority-strip span{min-width:36px;border:1px solid #dbe3ef;border-radius:999px;padding:4px 8px;background:#fff;color:#5e6472;font-size:12px;font-weight:800;text-align:center}.wide{width:calc(100% - 32px);margin:0 16px 16px}.secret-box{display:grid;gap:10px;border-top:1px solid #e6e8ee;padding:16px;background:#fafbfc}.secret-row{justify-content:space-between}.field-label{color:#5e6472;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.token-preview{overflow:hidden;max-width:100%;border:1px solid #dbe3ef;border-radius:6px;padding:8px 10px;background:#fff;color:#111318;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{display:grid;gap:8px;border:1px solid #dde1e8;border-radius:8px;padding:16px;background:#fff}.metric span{color:#5e6472;font-size:12px;font-weight:800;text-transform:uppercase}.metric strong{font-size:28px;line-height:1}.bars{display:grid;gap:12px;padding:0 16px 16px}.bar-row{display:grid;grid-template-columns:60px minmax(160px,1fr) 100px;gap:12px;align-items:center}.bar-row span{color:#5e6472;font-size:13px}.bar-row strong{text-align:right}.bar-track{display:flex;overflow:hidden;height:18px;border-radius:4px;background:#eceff4}.bar-track div{min-width:2px}.badge{display:inline-flex;min-width:52px;justify-content:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.bad{background:#fee2e2;color:#991b1b}.banner{border:1px solid #bfdbfe;border-radius:8px;padding:12px 14px;background:#eff6ff;color:#1d4ed8}.banner.error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.muted{color:#737988}.block{display:block;margin-top:3px}.empty-state{margin:0;border-top:1px solid #e6e8ee;padding:18px 16px;color:#737988;font-size:14px}.limits-cell{min-width:210px}.limits-cell span{display:block;white-space:nowrap}.provider-limit-cell{min-width:120px}.provider-limit-cell span{display:block;white-space:nowrap}.provider-limit-cell strong{display:inline-block;min-width:52px;color:#5e6472}.code-link{color:#2563eb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-decoration:none}.connection-card-list{display:grid;gap:0}.connection-card{display:grid;gap:12px;border-top:1px solid #e6e8ee;padding:16px}.connection-card-main{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,auto);gap:16px;align-items:start}.connection-card-copy{min-width:0}.connection-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.connection-title-row h3{margin:0;color:#111318;font-size:16px;line-height:1.25}.connection-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;color:#737988;font-size:13px}.limit-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.limit-pill{display:inline-grid;grid-template-columns:auto auto;gap:2px 8px;align-items:baseline;border:1px solid #dbe3ef;border-radius:8px;padding:8px 10px;background:#f8fafc}.limit-pill strong{color:#5e6472;font-size:12px}.limit-pill b{color:#111318;font-size:13px}.limit-pill small{grid-column:1 / -1;color:#737988;font-size:12px}.device-login-panel{display:grid;gap:8px;border:1px solid #dbe3ef;border-radius:8px;padding:12px;background:#f8fafc}.device-login-panel-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#5e6472;font-size:12px}.device-login-panel p{margin:0;color:#737988;font-size:13px;line-height:1.45}.device-login-callout{display:grid;gap:8px;border:1px solid #fde68a;border-radius:8px;padding:10px;background:#fffbeb}.device-login-callout span{color:#92400e;font-size:12px;font-weight:700}.device-login-code{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.device-login-code code{border:1px solid #facc15;border-radius:6px;padding:8px 10px;background:#fff;color:#78350f;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-weight:800;letter-spacing:.08em}.connection-feedback{display:grid;gap:8px;border:1px solid #bfdbfe;border-radius:8px;padding:12px;background:#eff6ff;color:#1e3a8a}.connection-feedback.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.connection-feedback.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.connection-feedback strong,.connection-feedback p,.connection-feedback ul{margin:0}.connection-feedback p,.connection-feedback li,.connection-feedback-raw{font-size:13px;line-height:1.45}.connection-feedback-raw{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.connection-feedback-raw code{border:1px solid currentColor;border-radius:6px;padding:2px 6px;background:#ffffffb3;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.connection-feedback-next{display:grid;gap:6px}.connection-feedback-next span{font-size:12px;font-weight:800;text-transform:uppercase}.connection-feedback-next ul{padding-left:18px}.connection-error{border:1px solid #fecaca;border-radius:8px;padding:10px 12px;background:#fef2f2;color:#991b1b;font-size:13px}.connection-error summary{cursor:pointer;font-weight:700}.connection-error pre{overflow:auto;margin:8px 0 0;white-space:pre-wrap;word-break:break-word}.model-catalog{display:grid;gap:8px;border:1px solid #dbe3ef;border-radius:8px;padding:10px;background:#f8fafc}.model-catalog>span{color:#5e6472;font-size:12px}.model-catalog-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.model-catalog-row div{display:grid;gap:2px;min-width:0}.model-catalog-row strong{overflow:hidden;color:#111827;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.model-catalog-row span{overflow:hidden;color:#6b7280;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pager{justify-content:flex-end;border-top:1px solid #e6e8ee;padding:14px 16px}@media(max-width:1100px){.topbar,.grid.two,.provider-layout,.connection-card-main{grid-template-columns:1fr}.connection-actions{justify-content:flex-start}.route-edit-grid{grid-template-columns:1fr}.route-builder-row{grid-template-columns:32px 1fr}.route-builder-row input,.route-builder-row select{grid-column:2}.route-builder-row button{grid-column:2;width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.app-shell{padding:12px}.metric-grid,.limit-grid{grid-template-columns:1fr}.tabs{overflow-x:auto}.bar-row{grid-template-columns:52px minmax(100px,1fr)}.bar-row strong{grid-column:2;text-align:left}}
