:root{color:#14324a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef5fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{max-width:1280px;margin:0 auto}a{color:inherit}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#3158a4;margin:0 0 .45rem;font-size:.76rem;font-weight:800}.site-main{width:min(1080px,100% - 2rem);margin:0 auto;padding:2rem 0 3rem}.auth-shell{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #6682b738;border-radius:28px;grid-template-columns:1.15fr .85fr;width:min(1120px,100%);display:grid;overflow:hidden;box-shadow:0 28px 80px #172d5624}.auth-visual{background:radial-gradient(circle at 0 0,#5779cc29,#0000 40%),linear-gradient(160deg,#fbfdff 0%,#eff4fb 48%,#edf2f9 100%);border-right:1px solid #6682b729;padding:2.5rem;position:relative}.brand-lockup{align-items:center;gap:1rem;display:flex}.brand-lockup--compact{align-items:flex-start}.brand-lockup__logos{flex-shrink:0;align-items:center;gap:.85rem;display:flex}.brand-lockup__logo-link{background:#ffffffe6;border:1px solid #7587b538;border-radius:18px;justify-content:center;align-items:center;min-height:78px;padding:.55rem;display:inline-flex;box-shadow:0 10px 28px #21366114}.brand-lockup__logo-link--pillar{padding:.55rem .7rem}.brand-lockup__icon{object-fit:cover;border-radius:14px;width:56px;height:56px;display:block}.brand-lockup__pillar{object-fit:contain;width:auto;height:56px;display:block}.brand-lockup h1,.workspace-intro h1{color:#0f1f44;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.03}.auth-lead{color:#52667e;max-width:52ch;margin:1.2rem 0 0;font-size:1rem;line-height:1.7}.auth-figure-frame,.workspace-figure-frame{background:linear-gradient(#fffffff2,#ebf1fbf2);border:1px solid #889ac33d;border-radius:24px;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #ffffffe6,0 18px 36px #27406d14}.auth-figure-frame{min-height:340px;margin-top:2rem;padding:1.25rem}.workspace-figure-frame{min-height:180px;padding:.9rem}.auth-figure,.workspace-figure{width:min(100%,320px);height:auto;display:block}.auth-meta{color:#697d94;flex-wrap:wrap;gap:.6rem 1.25rem;margin-top:1.35rem;font-size:.88rem;font-weight:700;display:flex}.auth-form-panel{background:linear-gradient(#ffffffeb,#f8fafff5);align-content:center;gap:1.4rem;padding:2.5rem 2.25rem;display:grid}.auth-copy p:last-child{color:#5c6e84;margin:0;line-height:1.7}.auth-notice{color:#2b4a78;background:#ebf4ffe6;border:1px solid #5e7fbc3d;border-radius:12px;margin:.85rem 0 0;padding:.8rem .95rem;font-size:.9rem;line-height:1.5}.auth-footer{gap:.85rem;margin-top:.2rem;display:grid}.auth-sso-container{gap:1.25rem;margin-bottom:.5rem;display:grid}.bluekey-btn{color:#fff;cursor:pointer;background:#3158a4;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.75rem;padding:.9rem 1.5rem;font-size:1rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #3158a43d}.bluekey-btn:hover:not(:disabled){background:#264684;transform:translateY(-1px);box-shadow:0 6px 16px #3158a44d}.bluekey-btn:active:not(:disabled){transform:translateY(0)}.bluekey-btn:disabled{opacity:.6;cursor:not-allowed}.auth-separator{color:#78879b;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:1rem;font-size:.82rem;font-weight:600;display:flex}.auth-separator:before,.auth-separator:after{content:"";background:#6682b729;flex:1;height:1px}.auth-caption{color:#78879b;margin:0;font-size:.84rem}.auth-guide-btn{color:#23427b;background:#f7faff;border:1px solid #6580b247;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-width:136px;padding:.72rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.auth-error-banner{margin:0}.workspace-shell{width:100%;min-height:100vh;margin:0;padding:0}.workspace-header{z-index:50;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(#fffffff5,#fffffff0);border-bottom:1px solid #6682b724;position:sticky;top:0;box-shadow:0 8px 28px #1a315b0f}.workspace-header-inner{justify-content:space-between;align-items:center;gap:2rem;width:min(1180px,100% - 2rem);margin:0 auto;padding:1rem 0;display:flex}.workspace-header .brand-lockup{align-items:center;margin:0}.workspace-header .brand-lockup__logos{gap:.7rem}.workspace-header .brand-lockup__logo-link{min-height:56px;padding:.4rem}.workspace-header .brand-lockup__icon,.workspace-header .brand-lockup__pillar{width:42px;height:42px}.workspace-header h1{font-size:1.32rem!important}.workspace-header .eyebrow{color:#5d7ae0;margin:0 0 .2rem;font-size:.7rem}.workspace-header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.workspace-content{width:min(1180px,100% - 2rem);margin:0 auto;padding:1.4rem 0 2.6rem}.panel{background:#ffffffe6;border:1px solid #6682b72e;border-radius:24px;box-shadow:0 18px 44px #1a315b14}.workspace-intro{background:0 0;grid-template-columns:1fr;gap:1.2rem;margin-bottom:0;padding:1.2rem;display:grid}.workspace-intro p{color:#566a82;max-width:70ch;margin:0;font-size:.95rem;line-height:1.7}.workspace-intro__copy{gap:1rem;display:grid}.workspace-intro__copy>p{color:#566a82;max-width:66ch;margin:0;line-height:1.7}.workspace-intro__aside{align-items:center;gap:.75rem;margin-top:-.6rem;display:flex}.workspace-badges{flex-wrap:wrap;gap:.75rem;display:flex}.workspace-badge{color:#274b91;letter-spacing:.04em;text-transform:uppercase;background:#254c9a14;border-radius:999px;align-items:center;padding:.55rem .85rem;font-size:.84rem;font-weight:800;display:inline-flex}.status-banner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid;border-radius:16px;margin:.8rem 0 1.2rem;padding:.85rem 1.1rem;font-size:.95rem;font-weight:700}.workspace-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;gap:1rem;display:grid}.compose-panel,.jobs-panel{padding:1.25rem}.section-head p{color:#62758a;margin:.3rem 0 0;line-height:1.6}input,textarea{color:#1b2c4c;background:#fbfdff;border:1px solid #768cb747;border-radius:16px;width:100%;padding:.82rem .95rem;transition:border-color .18s,box-shadow .18s,background-color .18s}input:focus,textarea:focus{background:#fff;border-color:#5d7ae0;outline:none;box-shadow:0 0 0 4px #5d7ae01f}button{cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.2rem;font-weight:800;transition:transform .16s,box-shadow .16s,background-color .16s}button:hover:not(:disabled){transform:translateY(-1px)}button:not(.secondary-btn):not(.refresh-btn):not(.job-action-btn):not(.tertiary-btn){color:#fff;background:linear-gradient(135deg,#1d3f90,#2f63d7);box-shadow:0 14px 28px #274c9f38}.secondary-btn,.refresh-btn,.job-action-btn{color:#264371;box-shadow:none;background:#f8fbff;border:1px solid #7188b247}.secondary-btn:hover:not(:disabled),.refresh-btn:hover:not(:disabled),.job-action-btn:hover:not(:disabled){background:#eef4ff}.tertiary-btn{color:#344054;background:#fff;border:1px solid #d0d5dd;font-size:.875rem;box-shadow:0 1px 2px #1018300d}.tertiary-btn:hover:not(:disabled){background:#f9fafb;border-color:#b3b8c3}.upload-block{background:linear-gradient(#f8fbff,#f1f6fd);border:1px dashed #798cb05c;border-radius:18px;gap:.4rem;padding:.9rem;display:grid}.file-upload-label{gap:.45rem;display:grid}.file-upload-note{color:#69809d;margin:0;font-size:.88rem}.remember-me-label{cursor:pointer;align-items:center;gap:.6rem;display:flex}.remember-me-label input[type=checkbox]{accent-color:#3158a4;width:1rem;height:1rem}.jobs-empty{color:#63778d;margin:0}.jobs-panel{margin-top:1rem}.jobs-table-wrap,.metrics-table-wrap{background:#fff;border:1px solid #758cb733;border-radius:14px;width:100%;overflow-x:auto}.jobs-table,.metrics-table{border-collapse:collapse;width:100%;min-width:720px}.jobs-table th,.jobs-table td,.metrics-table th,.metrics-table td{text-align:left;vertical-align:top;color:#213553;border-bottom:1px solid #758cb724;padding:.68rem .75rem;font-size:.9rem}.jobs-table th,.metrics-table th{color:#385476;background:#f4f8fd;font-weight:800}.jobs-table tr:last-child td,.metrics-table tr:last-child td{border-bottom:none}.jobs-table__id{color:#48637f;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.79rem}.metrics-panel{gap:.8rem;margin-top:1rem;display:grid}.metrics-panel__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.metrics-panel__header h3{color:#1b2c4c;margin:0;font-size:1rem}.job-list{gap:.9rem;display:grid}.job-card{background:linear-gradient(#fbfdff,#f4f8fd);border:1px solid #758cb729;border-radius:20px;padding:1rem}.job-card__header{justify-content:space-between;align-items:start;gap:.9rem;margin-bottom:.85rem;display:flex}.job-card__id,.job-time{margin:0}.job-card__id{color:#7a8ea6;word-break:break-all;font-size:.8rem}.job-time{color:#48637f;font-size:.84rem;font-weight:700}.job-card__body{gap:.85rem;margin-bottom:.95rem;display:grid}.job-card__body h3{text-transform:uppercase;letter-spacing:.06em;color:#5c7390;margin:0 0 .3rem;font-size:.86rem}.job-card__text{color:#213553;white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.6}.job-action-btn{padding:.58rem .82rem;font-size:.84rem}.job-action-btn--danger{color:#a32222;background:#fff8f8;border-color:#d26c6c4d}.job-action-btn--danger:hover:not(:disabled){background:#fff1f1}.job-status{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:.32rem .62rem;font-size:.74rem;font-weight:800;display:inline-flex}@media (width<=980px){.auth-card,.workspace-intro,.workspace-grid{grid-template-columns:1fr}.auth-visual{border-bottom:1px solid #6682b729;border-right:0}.workspace-intro__aside{grid-template-columns:1fr}}@media (width<=720px){.auth-shell,.workspace-shell,.site-main{width:min(100%,100% - 1rem);padding-left:0;padding-right:0}.auth-card,.auth-form-panel,.auth-visual,.compose-panel,.jobs-panel,.workspace-intro{border-radius:22px}.auth-visual,.auth-form-panel,.compose-panel,.jobs-panel,.workspace-intro{padding:1.1rem}.brand-lockup{flex-direction:column;align-items:start}.brand-lockup__logos{gap:.65rem}.brand-lockup__icon{width:48px;height:48px}.brand-lockup__pillar{height:48px}.brand-lockup__logo-link{min-height:68px}.auth-figure-frame{min-height:260px}.workspace-figure-frame{min-height:140px}}#app{min-height:100vh}.user-pill{color:#27455d;background:#e8f2fa;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.auth-panel{max-width:480px}.remember-me-label{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;display:flex}.remember-me-label input[type=checkbox]{border-radius:4px;flex-shrink:0;width:1rem;height:1rem}.remember-me-label span{color:#27455d;font-size:.9rem;font-weight:600}.auth-guide-btn{color:#27455d;border:1px solid #c7d6e4;border-radius:10px;justify-content:center;align-items:center;padding:.68rem .95rem;font-weight:700;text-decoration:none;display:inline-flex}.auth-guide-btn:hover{background:#e8f2fa}.site-main{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 2rem}.hero{color:#f2f8fc;background:linear-gradient(135deg,#0e3e60,#11638f);border-radius:14px;margin-bottom:.9rem;padding:1.2rem 1.35rem}.hero h1{color:#fff;margin:0 0 .45rem;font-size:clamp(1.4rem,2.8vw,2.25rem)}.hero p{max-width:75ch;margin:0}.status-banner{border:1px solid #0000;border-radius:10px;margin:.75rem 0 1rem;padding:.65rem .8rem;font-weight:600}.status-banner.success{color:#1f6c37;background:#edf9ef;border-color:#bfe8cb}.status-banner.info{color:#1e568c;background:#eef6ff;border-color:#b9d6f1}.status-banner.error{color:#a32222;background:#fff1f1;border-color:#efc5c5}.panel{background:#fff;border:1px solid #d7e2ec;border-radius:12px;margin-bottom:1rem;padding:1rem}.section-head{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.75rem;display:flex}.section-head h2{color:#123a56;margin:0;font-size:1.2rem}.section-head p{color:#4e667b;margin:.25rem 0 0}.stack-form{gap:.75rem;display:grid}label{gap:.35rem;display:grid}label>span{color:#27455d;font-size:.9rem;font-weight:700}input,textarea,button{font:inherit}input,textarea{background:#fbfdff;border:1px solid #c7d6e4;border-radius:10px;width:100%;padding:.62rem .72rem}textarea{resize:vertical;min-height:3rem}button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f6ea1,#0f5e8a);border:0;border-radius:10px;padding:.68rem .95rem;font-weight:700}button:disabled{opacity:.75;cursor:wait}.inline-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.file-upload-label{flex-direction:column;gap:.35rem;display:flex}.file-upload-label input[type=file]{max-width:100%}.file-upload-note{color:#5a7489;font-size:.85rem}.secondary-btn{color:#27455d;background:0 0;border:1px solid #c7d6e4}.secondary-btn:hover{background:#e8f2fa}.jobs-empty{color:#4e667b;margin:.5rem 0 0;font-size:.9rem}.results-table-wrap{overflow-x:auto}.results-table{border-collapse:collapse;width:100%;min-width:860px}.results-table th,.results-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dce8f3;padding:.8rem .7rem}.results-table th{color:#27455d;text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;font-weight:800}.results-table td{color:#2c4a5e;font-size:.88rem}.results-table__text-cell{white-space:pre-wrap;word-break:break-word;max-width:18rem}.refresh-btn{color:#27455d;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #c7d6e4;border-radius:8px;flex-shrink:0;padding:.35rem .85rem;font-size:.85rem;font-weight:600}.refresh-btn:hover{background:#f0f5fa}.job-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.18rem .55rem;font-size:.75rem;font-weight:700}.job-status--completed{color:#1f6c37;background:#e3f5e8}.job-status--running{color:#1e568c;background:#eef6ff}.job-status--failed{color:#a32222;background:#fff1f1}.job-time{color:#5a7489;font-size:.8rem}.job-input-preview{color:#2c4a5e;white-space:pre-wrap;word-break:break-word;margin:0 0 .5rem;font-size:.875rem}.job-actions{flex-wrap:wrap;gap:.5rem;display:flex}.job-action-btn{color:#27455d;cursor:pointer;background:0 0;border:1px solid #c7d6e4;border-radius:7px;padding:.28rem .7rem;font-size:.82rem;font-weight:600}.job-action-btn:hover{background:#e8f2fa}.job-action-btn--danger{color:#a32222;border-color:#e8bcbc}.job-action-btn--danger:hover{background:#fff1f1}.job-action-btn:disabled{opacity:.6;cursor:wait}@media (width<=900px){.site-main{padding:1rem .75rem 1.5rem}.panel{padding:.8rem}.results-table{min-width:720px}.workspace-header-inner{flex-direction:column;align-items:flex-start;gap:1rem}.workspace-header-actions{justify-content:flex-end;width:100%}}@media (width<=640px){.workspace-header-inner{padding:.75rem 0}.workspace-header .brand-lockup__logos{gap:.5rem}.workspace-header .brand-lockup__icon,.workspace-header .brand-lockup__pillar{width:36px;height:36px}.workspace-header .brand-lockup__logo-link{min-height:48px;padding:.3rem}.workspace-header h1{font-size:1.1rem!important}.workspace-header-actions{gap:.5rem}.workspace-header-actions button{padding:.65rem .95rem;font-size:.88rem}}.job-status-badge{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.job-status-badge--running{color:#7a5a00;background:#fff3cd}.job-status-badge--completed{color:#065f46;background:#d1fae5}.job-status-badge--failed{color:#991b1b;background:#fee2e2}.job-status-badge--hidden{color:#6b7280;background:#f3f4f6}.job-status-badge__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:.65rem;height:.65rem;animation:.7s linear infinite badge-spin;display:inline-block}@keyframes badge-spin{to{transform:rotate(360deg)}}.toast-container{z-index:9999;flex-direction:column;gap:.5rem;max-width:360px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;animation:.25s toast-in;display:flex;box-shadow:0 4px 16px #00000026}.toast--success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.toast--error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.toast__dismiss{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1rem;line-height:1}.toast__dismiss:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-notice-box{border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.auth-notice-box p{margin:.4rem 0 0}.auth-notice-box__title{margin-bottom:.25rem;font-weight:700}.auth-notice-box--privacy{color:#1e3a5f;background:#eff6ff;border:1px solid #bfdbfe}.auth-notice-box--privacy a{color:#1d4ed8}.auth-notice-box--ai{color:#78350f;background:#fffbeb;border:1px solid #fde68a}.auth-notice-box>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;list-style:none;display:flex}.auth-notice-box>summary:before{content:"▸";flex-shrink:0;font-size:.75rem;transition:transform .15s}.auth-notice-box[open]>summary:before{transform:rotate(90deg)}.auth-notice-box>summary::-webkit-details-marker{display:none}.auth-notice-box[open]>p{margin-top:.5rem}
