:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--accent-solid: #4b5563;--accent-strong: #334155;--accent-soft: #eef2f7;--accent-border: #a7b0bd;--accent-focus: rgba(75, 85, 99, .18);--accent-code: #dbe4ee;--chart-good: #2f6b4f;--chart-wait: #d99019;--chart-bad: #b44252;background:#f6f7f9;color:#1b1f27;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a.primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:8px;background:#1b1f27;color:#fff;font-weight:700;text-decoration:none}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:20px;padding:18px 14px;border-right:1px solid #dee3ea;background:#fff}.brand{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;min-height:52px;padding:4px 6px 12px;border-bottom:1px solid #eef1f5}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--accent-solid);color:#fff;font-weight:800}.brand strong,.brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand strong{font-size:15px}.brand span{margin-top:2px;color:#657184;font-size:12px}nav{display:grid;gap:4px}.nav-group{display:flex;flex:1;flex-direction:column;gap:20px;min-height:0}.mobile-menu-toggle{display:none}.nav-item{display:flex;flex:0 0 auto;align-items:center;gap:10px;width:100%;height:40px;min-height:40px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#465264;text-align:left;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-item.logout{margin-top:auto;color:#8a3441}.content{min-width:0;padding:24px}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.topbar h1,.section-head h2{margin:0;font-size:24px;line-height:1.2;letter-spacing:0}.topbar p,.section-head p{margin:6px 0 0;color:#657184;font-size:14px}.metrics{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.metric{min-width:96px;padding:9px 12px;border:1px solid #dee3ea;border-radius:8px;background:#fff}.metric span{display:block;color:#657184;font-size:12px}.metric strong{display:block;margin-top:2px;font-size:18px;overflow-wrap:anywhere}.panel{border:1px solid #dee3ea;border-radius:8px;background:#fff;padding:18px;box-shadow:0 1px 2px #141d2a0a}.processor{max-width:980px}.processor-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.cost,.status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}.cost{background:#f3f0ff;color:#5941a9}.status.good{background:#eaf7ef;color:#1d6c3f}.status.wait{background:#fff7df;color:#8a5a00}.status.bad{background:#fdecef;color:#9b2637}.job-form,.user-create{display:grid;gap:14px}.job-form label{display:grid;gap:7px;color:#374151;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfd7e3;border-radius:8px;background:#fff;color:#1b1f27;outline:none}input,select{height:40px;padding:0 10px}textarea{min-height:220px;padding:12px;resize:vertical;line-height:1.55}.upload-field{position:relative}.upload-box{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-height:96px;padding:18px;border:1px dashed #9fb4c2;border-radius:8px;background:#f8fbfc;color:#25313f}.upload-box strong,.upload-box small{display:block;overflow-wrap:anywhere}.upload-box small{margin-top:3px;color:#657184;font-weight:500}.upload-box input{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;cursor:pointer;opacity:0}.upload-box.locked{border-style:solid;background:#f0f4f8;color:#657184}.upload-box.invalid{border-style:solid;border-color:#d92d20;background:#fff7f5}.upload-box.invalid small{color:#b42318;font-weight:700}.upload-box.locked input{cursor:not-allowed}.processing-lock{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:14px;font-weight:700}.processing-lock svg{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}input:focus,select:focus,textarea:focus{border-color:var(--accent-solid);box-shadow:0 0 0 3px var(--accent-focus)}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary,.secondary,.icon-button,.export-link,.actions button,.inline-editor button,.segmented-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;border:1px solid transparent;padding:0 12px;text-decoration:none;cursor:pointer;font-size:14px;font-weight:700}.primary{background:var(--accent-solid);color:#fff}.primary:disabled{opacity:.6;cursor:not-allowed}.secondary,.export-link,.actions button,.inline-editor button,.segmented-actions button{border-color:#d6dde8;background:#fff;color:#344054}.secondary.enabled{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.icon-button{width:40px;padding:0;border-color:#d6dde8;background:#fff;color:#344054}.form-message,.muted{color:#657184;font-size:14px}.job-result{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #eef1f5}.result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.result-head strong,.result-head span{display:block;overflow-wrap:anywhere}.result-head span{margin-top:3px;color:#657184;font-size:12px}.output-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.paste-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;background:#f6f7f9}.paste-confirm-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:16px;width:100%;height:100%;padding:24px;background:#fff}.paste-confirm-head h2,.paste-confirm-head p{margin:0}.paste-confirm-head{display:grid;gap:6px}.paste-confirm-head h2{font-size:22px;line-height:1.25}.paste-confirm-head p{color:#657184;font-size:14px}.paste-confirm-dialog textarea{min-height:0;resize:none;font-size:15px}.paste-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px;border-top:1px solid #eef1f5}.admin-job-tools{display:grid;gap:12px;margin-bottom:14px}.job-filters{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(130px,.8fr) minmax(140px,.9fr) minmax(140px,.9fr) auto auto;gap:10px;align-items:end}.job-filters label{display:grid;gap:5px}.job-filters span{color:#657184;font-size:12px;font-weight:800}.filter-count{padding:10px 0;white-space:nowrap}.error-line{color:#a12638;font-size:14px}.success-line{color:#1d6c3f;font-size:14px;font-weight:700}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:11px 10px;border-top:1px solid #eef1f5;text-align:left;vertical-align:top}th{color:#657184;font-size:12px;font-weight:800;text-transform:uppercase}td small{display:block;margin-top:4px;color:#657184;font-size:12px}.download-cell,.actions{display:grid;gap:8px;grid-template-columns:minmax(120px,1fr)}.inline-editor{display:grid;grid-template-columns:minmax(160px,1fr);gap:10px;min-width:min(520px,100%)}.field-control{display:grid;gap:5px}.field-control span{color:#657184;font-size:12px;font-weight:800}.field-control.compact{align-content:start}.field-control.code-field{min-width:0}.code-line{display:flex;align-items:center;gap:8px;min-width:0}.code-line code{overflow-wrap:anywhere;font-weight:800;color:#1b1f27}.segmented-actions{display:flex;flex-wrap:wrap;gap:8px}.segmented-actions button.selected{border-color:var(--accent-solid);background:var(--accent-soft);color:var(--accent-strong)}.download-cell a,.download-cell button{color:var(--accent-strong);font-weight:700}.user-create{grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.4fr) auto;align-items:end;margin-bottom:18px}.json-block{overflow:auto;min-height:260px;max-height:65vh;margin:0;padding:14px;border-radius:8px;background:#111827;color:var(--accent-code);font-size:13px;line-height:1.55}.preview-shell{min-height:100vh;min-height:100dvh;background:#f7f9fb;color:#1b1f27}.preview-mobile-menu{display:none}.preview-window-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px clamp(14px,4vw,30px);border-bottom:1px solid #dfe5ee;background:#f7f9fbf5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.preview-window-head span{color:#657184;font-size:12px;font-weight:800}.preview-window-head h1{margin:2px 0 4px;font-size:clamp(18px,4.5vw,24px);line-height:1.25}.preview-window-head p{margin:0;color:#657184;font-size:13px}.preview-window-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.preview-window-actions-bottom{display:none}.preview-window-body{width:min(980px,calc(100vw - 28px));margin:0 auto;padding:16px 0 24px}.output-preview-document{min-height:calc(100dvh - 140px);margin:0;padding:16px;border:1px solid #d6dde8;border-radius:8px;background:#fff;color:#1b1f27;overflow-wrap:anywhere;white-space:pre-wrap;font-size:15px;line-height:1.72}.status-panel{max-width:980px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.stats-dashboard{display:grid;gap:16px}.stats-summary,.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.chart-panel{min-width:0;padding:14px;border:1px solid #e5eaf1;border-radius:8px;background:#fbfcfd}.chart-head{margin-bottom:14px}.chart-head h3{margin:0;font-size:16px}.chart-head p{margin:4px 0 0;color:#657184;font-size:12px}.donut-chart{display:grid;place-items:center;width:180px;height:180px;margin:4px auto 14px;border-radius:50%}.donut-chart>div{display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:#fff;text-align:center}.donut-chart strong{font-size:24px}.donut-chart span,.chart-legend,.rank-row span,.expiry-row span{color:#657184;font-size:12px}.chart-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px;border-radius:50%}.chart-legend .good,.bar-track .good{background:var(--chart-good)}.chart-legend .wait,.bar-track .wait{background:var(--chart-wait)}.chart-legend .bad,.bar-track .bad{background:var(--chart-bad)}.bar-chart,.rank-list,.user-job-list,.user-job-items{display:grid;gap:12px}.bar-row,.rank-row,.expiry-row{display:grid;gap:7px}.bar-row>div:first-child,.rank-row,.expiry-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.bar-row>div:first-child,.expiry-row{display:grid}.bar-row strong,.rank-row em,.expiry-row em{font-style:normal;font-weight:800}.rank-row>div,.expiry-row>div{min-width:0}.rank-row strong,.expiry-row strong{display:block;overflow:hidden;text-overflow:ellipsis}.user-job-group{display:grid;gap:10px;padding:12px;border:1px solid #eef1f5;border-radius:8px;background:#fff}.user-job-head,.user-job-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.user-job-head strong,.user-job-head span,.user-job-item span,.user-job-item small{overflow:hidden;text-overflow:ellipsis}.user-job-head strong{display:block}.user-job-head span,.user-job-item small{color:#657184;font-size:12px}.user-job-head em{font-style:normal;font-weight:800}.user-job-item{grid-template-columns:minmax(92px,.8fr) auto minmax(110px,1fr) minmax(130px,1fr);padding-top:8px;border-top:1px solid #f0f3f7}.bar-track{overflow:hidden;height:9px;border-radius:999px;background:#edf1f5}.bar-track span{display:block;height:100%;border-radius:inherit}.loading-screen,.error-screen,.login-screen{display:grid;place-items:center;min-height:100vh;background:#f6f7f9;color:#1b1f27}.loading-screen{gap:10px}.error-card,.login-card{width:min(440px,calc(100vw - 32px));padding:28px;border:1px solid #dee3ea;border-radius:8px;background:#fff}.error-card h1,.login-card h1{margin:12px 0 8px;font-size:22px}.error-card p,.login-card p{color:#657184}.login-card{display:grid;gap:14px}.login-card .brand-mark{width:48px;height:48px}.code-reveal{display:grid;gap:6px;margin-bottom:16px;padding:12px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft)}.code-reveal code{color:var(--accent-strong);font-size:20px;font-weight:800}.code-reveal span{color:#657184;font-size:13px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0f172a5c}.alert-dialog{display:grid;gap:14px;width:min(420px,100%);padding:20px;border:1px solid #dee3ea;border-radius:8px;background:#fff;box-shadow:0 24px 60px #141d2a2e}.alert-dialog h3,.alert-dialog p{margin:0}.alert-dialog h3{font-size:18px;line-height:1.3}.alert-dialog p{color:#465264;line-height:1.55}.confirm-details{display:grid;gap:10px;margin:0}.confirm-details div{display:grid;gap:3px;padding:10px;border:1px solid #eef1f5;border-radius:8px;background:#fbfcfd}.confirm-details dt{color:#657184;font-size:12px;font-weight:800}.confirm-details dd{margin:0;overflow-wrap:anywhere;color:#1b1f27;font-weight:700}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid #9b2637;border-radius:8px;background:#9b2637;color:#fff;font-size:14px;font-weight:700;cursor:pointer}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:10px;right:10px;left:auto;z-index:20;display:block;width:auto;overflow:visible;padding:0;border-right:0;border-bottom:0;background:transparent;box-shadow:none}.brand{display:none}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #dee3ea;border-radius:8px;background:#fff;color:#334155;font-weight:800;cursor:pointer;box-shadow:0 8px 22px #141d2a24}.mobile-menu-toggle span{display:none}.nav-group{display:none;position:absolute;top:52px;right:0;width:min(220px,calc(100vw - 24px));max-height:calc(100vh - 72px);overflow:auto;gap:8px;padding:8px;border:1px solid #dee3ea;border-radius:8px;background:#fff;box-shadow:0 18px 44px #141d2a29}.sidebar.mobile-open .nav-group{display:grid}.sidebar.mobile-open nav,.preview-mobile-menu.mobile-open nav{display:grid;grid-template-columns:1fr;gap:4px}.preview-mobile-menu{position:fixed;top:10px;right:10px;z-index:25;display:block}.preview-mobile-menu.mobile-open .nav-group{display:grid}.nav-item{width:100%;height:38px;min-height:38px;white-space:nowrap}.nav-item.logout{margin-top:0}.content{padding:12px}.topbar,.section-head{flex-direction:column;gap:12px}.topbar{margin-bottom:12px;padding-right:48px}.panel{padding:14px}.metrics{justify-content:flex-start;gap:8px}.processor-tools{justify-content:flex-start}.user-create{grid-template-columns:1fr 1fr}}@media(max-width:980px){.job-filters{grid-template-columns:1fr 1fr}.filter-count{padding:0}}@media(max-width:640px){.preview-window-head{position:static;z-index:auto;align-items:stretch;flex-direction:column;padding-right:62px;-webkit-backdrop-filter:none;backdrop-filter:none}.preview-window-actions-top{display:none}.preview-window-actions-bottom{display:flex;justify-content:stretch;margin-top:12px}.preview-window-actions-bottom .primary,.preview-window-actions-bottom .secondary{flex:1 1 0;width:100%}.preview-window-body{width:calc(100vw - 20px);padding-top:10px}.topbar h1,.section-head h2{font-size:20px}.metric{min-width:calc(50% - 4px);padding:8px 10px}.upload-box{min-height:84px;padding:14px}table{display:block;overflow-x:auto;white-space:nowrap}td.download-cell{position:sticky;right:0;background:#fff;box-shadow:-10px 0 18px #ffffffeb}.user-create{grid-template-columns:1fr}}
