:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2f6fed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-page,.auth-page{background:linear-gradient(#ffffffb8,#fff0),#eef3f9;place-items:center;min-height:100vh;padding:24px;display:grid}.loading-mark{border:4px solid #c8d3e2;border-top-color:#2f6fed;border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}.auth-panel{background:#fff;border:1px solid #d8e0ea;border-radius:8px;width:min(100%,420px);padding:28px;box-shadow:0 18px 60px #27344c1f}.auth-header-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.auth-kicker,.section-heading p{color:#2f6fed;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}.auth-header-row .auth-kicker{margin:0}.locale-switch{color:#566275;align-items:center;gap:8px;min-width:0;font-size:.82rem;font-weight:800;display:inline-flex}.locale-switch span{white-space:nowrap}.locale-switch select{color:#172033;background:#fff;border:1px solid #cbd6e4;border-radius:6px;max-width:128px;min-height:34px;padding:6px 9px}.locale-switch.compact select{max-width:112px}.auth-panel h1,.section-heading h1{color:#111827;letter-spacing:0;margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.15}.auth-copy{color:#566275;margin:12px 0 24px;line-height:1.55}.auth-form{gap:16px;display:grid}.auth-form label{color:#253146;gap:7px;font-size:.92rem;font-weight:700;display:grid}.auth-form input{color:#111827;background:#fff;border:1px solid #c9d3df;border-radius:6px;width:100%;min-height:44px;padding:10px 12px}.form-error{color:#8a1f1f;background:#fff2f2;border:1px solid #f0b8b8;border-radius:6px;padding:10px 12px;line-height:1.4}.form-success{color:#166534;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:10px 12px;line-height:1.4}.helper-text{color:#647089;margin:-8px 0 0;font-size:.86rem;line-height:1.45}.verification-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.verification-button{min-width:138px}.primary-action,.secondary-action,.danger-action{border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 14px;font-weight:800;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.primary-action{color:#fff;background:#235ed7}.primary-action:hover{background:#1b4db6}.secondary-action{color:#1e365f;background:#fff;border:1px solid #cbd6e4}.secondary-action:hover{background:#f5f8fc;border-color:#8fa7c8}.danger-action{color:#fff;background:#b91c1c;border:1px solid #991b1b}.danger-action:hover{background:#991b1b}.auth-switch{color:#566275;margin:20px 0 0}.auth-switch button{color:#235ed7;background:0 0;border:0;padding:0;font-weight:800}.app-shell{background:#f4f7fb;grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e8eef8;background:#182235;border-right:1px solid #263349;flex-direction:column;gap:18px;height:100vh;padding:18px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:10px;min-height:44px;display:flex}.brand-mark{color:#fff;background:#235ed7;border:1px solid #4d5d76;border-radius:7px;place-items:center;width:34px;height:34px;font-weight:900;display:inline-grid}.brand-block strong,.brand-block small{display:block}.brand-block small{color:#a8b4c7;font-size:.78rem}.mobile-close{display:none}.nav-list{gap:5px;display:grid}.nav-list button,.logout-button{color:#c8d2e2;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:40px;padding:10px;transition:background-color .18s,border-color .18s,color .18s;display:flex}.nav-list button:hover,.logout-button:hover{color:#fff;background:#22304a}.nav-list button.active{color:#fff;background:#263d69;border-color:#3b6fe0}.sidebar-footer{gap:10px;margin-top:auto;display:grid}.user-chip{background:#141d2d;border:1px solid #2a3a54;border-radius:6px;gap:4px;padding:10px;display:grid}.user-chip span{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:800;overflow:hidden}.user-chip small{color:#a8b4c7;text-transform:capitalize}.workspace{min-width:0;padding:22px}.topbar{color:#657086;justify-content:flex-end;align-items:center;gap:12px;min-height:48px;margin-bottom:18px;display:flex}.topbar .locale-switch{margin-left:auto}.topbar div{text-align:right;gap:2px;display:grid}.topbar strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;max-width:56vw;font-size:.9rem;overflow:hidden}.topbar span{font-size:.75rem}.menu-button{display:none}.dashboard-overview,.placeholder-page,.feature-page{gap:22px;max-width:1120px;display:grid}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.overview-tile{color:#172033;text-align:left;background:#fff;border:1px solid #d7e0eb;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:104px;padding:16px;transition:border-color .18s,box-shadow .18s;display:grid}.overview-tile:hover{border-color:#93add1;box-shadow:0 10px 28px #27344c14}.tile-icon{color:#235ed7;background:#f3f7ff;border:1px solid #d4def0;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.tile-copy{gap:5px;min-width:0;display:grid}.tile-copy strong{color:#111827;font-size:1rem}.tile-copy span{color:#566275;line-height:1.45}.tile-arrow{color:#7b8798}.placeholder-panel{color:#455169;background:#fff;border:1px solid #d7e0eb;border-radius:8px;justify-items:start;gap:14px;padding:20px;line-height:1.55;display:grid}.placeholder-panel p{margin:0}.panel{color:#24314a;background:#fff;border:1px solid #d7e0eb;border-radius:8px;gap:14px;min-width:0;padding:18px;display:grid}.panel-toolbar{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.panel-toolbar strong{color:#111827}.muted-text,.empty-state{color:#647089}.empty-state{margin:0}.error-text{color:#9b1c1c;margin:6px 0 0}.grid-form,.inline-form,.stack-form,.composer{gap:14px;display:grid}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-form label,.inline-form label,.stack-form label,.composer label{color:#253146;gap:7px;font-size:.92rem;font-weight:800;display:grid}.grid-form input,.grid-form select,.grid-form textarea,.inline-form input,.inline-form select,.inline-form textarea,.stack-form input,.stack-form select,.stack-form textarea,.composer textarea,.table-control select{color:#111827;background:#fff;border:1px solid #c9d3df;border-radius:6px;width:100%;min-height:40px;padding:9px 11px}.grid-form textarea,.inline-form textarea,.composer textarea{resize:vertical}.span-2{grid-column:1/-1}.fit-action{justify-self:start}.compact-form-row{grid-template-columns:minmax(120px,180px);gap:10px;display:grid}.compact-form-row input{max-width:120px}.job-meta{color:#647089;margin:4px 0 0;font-size:.86rem}.admin-key-create-panel{background:linear-gradient(#fff 0%,#fbfdff 100%);align-content:start;gap:10px;padding:16px}.admin-key-create-panel .panel-toolbar{border-bottom:1px solid #e8eef6;padding-bottom:6px}.admin-key-create-form{grid-template-columns:minmax(170px,1.15fr) minmax(150px,.85fr) auto;align-items:end;gap:10px}.admin-key-create-form label{gap:5px;font-size:.86rem}.admin-key-create-form input,.admin-key-create-form select{min-height:36px;padding:7px 9px}.admin-key-create-form .primary-action{white-space:nowrap;min-height:36px;padding:8px 12px}.table-region{border:1px solid #dfe6f0;border-radius:7px;width:100%;overflow-x:auto}.table-footer{color:#647089;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.86rem;display:flex}.pagination-summary{align-items:center;min-height:30px;display:inline-flex}.pagination-controls{align-items:center;gap:8px;display:inline-flex}.pagination-button{min-height:36px;padding:7px 11px}table{border-collapse:collapse;width:100%;min-width:960px;font-size:.9rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e6edf5;padding:11px 12px}th{color:#44516a;letter-spacing:.04em;text-transform:uppercase;background:#f7f9fc;font-size:.76rem}tbody tr:hover{background:#f9fbfe}tbody tr:last-child td{border-bottom:0}.status-badge{color:#334155;text-transform:capitalize;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.76rem;font-weight:900;display:inline-flex}.status-active,.status-approved,.status-healthy,.status-succeeded{color:#166534;background:#ecfdf5;border-color:#a7f3d0}.status-pending,.status-queued,.status-running{color:#854d0e;background:#fffbeb;border-color:#fde68a}.status-disabled,.status-rejected,.status-failed,.status-expired,.status-revoked,.status-unhealthy{color:#991b1b;background:#fef2f2;border-color:#fecaca}.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.provider-card{background:#fbfcfe;border:1px solid #dfe6f0;border-radius:7px;gap:12px;min-width:0;padding:14px;display:grid}.provider-card-heading{color:#111827;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-api-list{gap:10px;margin:0;display:grid}.provider-api-list div{gap:4px;display:grid}.provider-api-list dt{color:#647089;text-transform:uppercase;font-size:.76rem;font-weight:900}.provider-api-list dd{min-width:0;margin:0}.image-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;width:100%;display:grid}.generated-image{gap:7px;margin:0;display:grid}.generated-image img{aspect-ratio:1;object-fit:cover;background:#f6f8fb;border:1px solid #dbe4ef;border-radius:7px;width:100%}.generated-image figcaption{color:#647089;font-size:.78rem}.chat-layout{grid-template-columns:260px minmax(0,1fr);gap:14px;min-height:660px;display:grid}.session-panel{align-content:start}.session-list{gap:6px;display:grid}.session-list-item{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:6px;display:grid}.session-select-button{color:#2d3a52;text-align:left;background:#fff;border:1px solid #d8e1ed;border-radius:6px;gap:4px;width:100%;padding:10px;display:grid}.session-list-item.active .session-select-button,.session-select-button:hover{background:#f3f7ff;border-color:#8da9d8}.session-list span{color:#68758a;font-size:.78rem}.session-delete-button{color:#7f1d1d;background:snow;border:1px solid #ead3d3;border-radius:6px;place-items:center;width:34px;min-height:100%;transition:background-color .18s,border-color .18s,color .18s;display:inline-grid}.session-delete-button:hover,.session-delete-button.confirm{color:#fff;background:#b91c1c;border-color:#b91c1c}.session-delete-button:disabled,.session-select-button:disabled{cursor:not-allowed;opacity:.65}.chat-panel{grid-template-rows:auto auto minmax(280px,1fr) auto}.message-list{flex-direction:column;gap:12px;min-height:0;padding:2px;display:flex;overflow-y:auto}.message-bubble{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;gap:9px;max-width:min(780px,92%);padding:13px;display:grid}.message-bubble.user{background:#f2f6ff;border-color:#bcd1f5;align-self:flex-end}.message-bubble.assistant{align-self:flex-start}.message-bubble span{color:#536179;text-transform:uppercase;font-size:.76rem;font-weight:900}.message-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.5}.attachment-strip{background:#f8fafc;border:1px solid #dbe4ef;border-radius:7px;flex-wrap:wrap;gap:10px;padding:10px;display:flex;position:relative}.attachment-strip figure{gap:5px;width:118px;margin:0;display:grid}.attachment-strip img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%}.attachment-strip figcaption{color:#566275;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.composer-actions,.button-row,.copyable-value{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-button{background:#fff;border:1px solid #cbd6e4;border-radius:6px;justify-content:center;align-items:center;min-height:42px;padding:10px 14px;position:relative;color:#1e365f!important;gap:8px!important;display:inline-flex!important}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.icon-button{color:#31405a;background:#fff;border:1px solid #cbd6e4;border-radius:6px;place-items:center;width:30px;height:30px;display:inline-grid}.icon-button:disabled{cursor:not-allowed;color:#98a2b3;opacity:.75;background:#f3f6fa}.job-list{gap:12px;display:grid}.job-row{background:#fbfcfe;border:1px solid #e0e7f0;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.job-row .image-grid{grid-column:1/-1}.table-control,.table-control.with-badge{align-items:center;gap:8px;display:flex}.table-control select{min-width:112px}.table-action{min-height:34px;padding:6px 10px;font-size:.82rem}.admin-search-form{grid-template-columns:minmax(220px,360px) auto auto;align-items:end}.admin-table-email{gap:4px;display:grid}.admin-table-email strong{color:#111827}.admin-table-email small{color:#647089}.table-reset-form{flex-wrap:wrap;align-items:center;gap:8px;min-width:260px;display:flex}.table-reset-form input{color:#111827;background:#fff;border:1px solid #c9d3df;border-radius:6px;width:min(190px,100%);min-height:34px;padding:7px 9px}.copyable-value code,.secret-output code{text-overflow:ellipsis;background:#eef3f9;border-radius:5px;max-width:100%;padding:4px 6px;overflow:hidden}.secret-output code{overflow-wrap:anywhere;white-space:normal;overflow:visible}.copy-state{color:#166534;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;justify-self:start;padding:8px 10px;font-size:.86rem;font-weight:800}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-api-key-stack{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.secret-output{background:#f4f8ff;border:1px solid #cfe0f6;border-radius:7px;gap:8px;padding:12px;display:grid}.admin-key-create-panel .secret-output{gap:7px;padding:10px}.secret-output span{color:#44516a;text-transform:uppercase;font-size:.8rem;font-weight:900}.secret-output p{color:#566275;margin:0;line-height:1.45}.revoke-form{border-top:1px solid #e5eaf1;margin-top:8px;padding-top:14px}.nav-scrim{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:30;width:min(300px,100vw - 40px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.nav-scrim{z-index:20;background:#0a101c6b;display:block;position:fixed;inset:0}.mobile-close{color:#dbe5f4;background:0 0;border:1px solid #364761;border-radius:6px;place-items:center;width:34px;height:34px;margin-right:2px;display:inline-grid}.workspace{padding:14px}.topbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px}.topbar .locale-switch{margin-left:0}.menu-button{color:#172033;background:#fff;border:1px solid #cbd6e4;border-radius:7px;place-items:center;width:42px;height:42px;display:inline-grid}.overview-grid{grid-template-columns:1fr}.feature-page{gap:16px}.chat-layout,.grid-form,.two-column,.provider-grid,.verification-row,.admin-search-form{grid-template-columns:1fr}.verification-button{width:100%}.admin-key-create-form{grid-template-columns:1fr}.admin-key-create-form .primary-action{justify-self:stretch}.chat-layout{min-height:0}.session-panel{max-height:220px;overflow-y:auto}.message-list{max-height:55vh}.overview-tile{grid-template-columns:auto minmax(0,1fr);min-height:94px}.tile-arrow{display:none}.auth-page{padding:16px}.auth-panel{padding:22px}.auth-header-row{align-items:flex-start}}@media (width>=761px) and (width<=1180px){.admin-key-create-form{grid-template-columns:minmax(0,1fr) auto}.admin-key-create-form label:first-child{grid-column:1/-1}}@media (width<=390px){.workspace{padding:12px}.overview-tile,.placeholder-panel,.panel{padding:14px}.composer-actions,.button-row{flex-direction:column;align-items:stretch}.composer-actions>*,.button-row>*{width:100%}.auth-header-row{display:grid}.locale-switch{justify-content:space-between;width:100%}.tile-icon{width:34px;height:34px}}
