:root{--desc-white:#ffffff;--desc-text:#1f1f1f;--desc-text-secondary:#212529;--desc-red:#c3351d;--desc-accent-red:#eb3f49;--desc-coral:#ff644e;--desc-card:#f7fafe;--desc-card-blue:#f6faff;--desc-objective:#f2f2f2;--desc-panel:#2c2e3c;--desc-dark:#191a21;--desc-muted:#808080;--desc-mid:#4e515c;--desc-radius:8px;--desc-container:1180px;--desc-font-sans:"Helvetica Neue",Arial,Calibri,sans-serif}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;font-family:var(--desc-font-sans);color:var(--desc-text);background:var(--desc-white)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.shell{min-height:100vh;background:var(--desc-white) url(/extracted_pptx_media/background-watermark.png) center/cover fixed no-repeat}.header{height:86px;justify-content:space-between;padding:18px 34px;border-bottom:1px solid #edf0f4;background:rgba(255,255,255,.94)}.header,.header-left{display:flex;align-items:center}.header-left{gap:18px}.logo-left{width:128px;height:auto}.logo-right{width:210px;height:auto}.nav{display:flex;align-items:center;gap:14px;color:var(--desc-text-secondary);font-size:14px}.container{max-width:var(--desc-container);margin:0 auto;padding:34px 24px 60px}.page-title{font-size:48px;line-height:1.05;margin:0 0 12px;letter-spacing:0}.lead{color:var(--desc-text-secondary);max-width:760px;font-size:17px;line-height:1.55}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:18px;gap:18px}.card{background:var(--desc-card);border:1px solid #e6edf5;border-radius:var(--desc-radius);padding:22px}.card.white{background:rgba(255,255,255,.96)}.card h2,.card h3{margin-top:0;color:var(--desc-panel)}.upload{grid-column:span 5}.jobs{grid-column:span 7}.jobs-wide{grid-column:span 12}.input{width:100%;padding:12px;background:#fff;border:1px solid #d9e0ea;border-radius:6px}.textarea{resize:vertical;min-height:180px;line-height:1.45}.button:disabled,.input:disabled{opacity:.6;cursor:not-allowed}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:0;border-radius:6px;background:var(--desc-red);color:#fff;font-weight:700;cursor:pointer}.button.secondary{background:var(--desc-panel)}.button.link{background:transparent;color:var(--desc-red);padding:0;min-height:auto}.table{width:100%;border-collapse:collapse;font-size:14px;background:rgba(255,255,255,.96)}.table td,.table th{padding:12px 10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.table th{color:var(--desc-mid);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.status{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--desc-objective);font-weight:700;font-size:12px}.status.completed{background:#e8f6ee;color:#17643a}.status.failed{background:#fdebea;color:var(--desc-red)}.status.processing{background:#fff2e8;color:#8a3b00}.mode-pill{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:#f4f6f9;color:var(--desc-mid);font-size:12px;font-weight:800}.progress{height:8px;background:#e7ebf0;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--desc-red);transition:width .55s ease}.progress-large{height:12px;margin:16px 0 10px}.progress-animated{background:linear-gradient(90deg,var(--desc-red),var(--desc-coral),var(--desc-red));background-size:220% 100%;animation:progress-flow 1.35s linear infinite}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--desc-dark) url(/extracted_pptx_media/separator-background.png) center/cover no-repeat}.auth-card{width:min(460px,100%);background:rgba(255,255,255,.96);border-radius:8px;padding:30px}.auth-card img{width:160px}.form-row{margin:14px 0}.form-row label{display:block;font-size:13px;color:var(--desc-mid);margin-bottom:6px;font-weight:700}.check-row{display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-weight:700;color:var(--desc-panel)}.check-row input{width:18px;height:18px;accent-color:var(--desc-red)}.hint{margin:6px 0 16px;color:var(--desc-mid);font-size:13px;line-height:1.45}.error{color:var(--desc-red);font-weight:700}.logs{max-height:380px;overflow:auto;background:#11131a;color:#f8f8f8;padding:16px;border-radius:8px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.job-status-card{grid-column:span 5}.validation-card{grid-column:span 7}.job-status-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-status-heading h2{margin-bottom:0}.job-step{min-height:24px;color:var(--desc-text-secondary);font-weight:700}.job-progress-meta{display:flex;justify-content:space-between;gap:14px;color:var(--desc-mid);font-size:13px}.live-dot{width:12px;height:12px;border-radius:999px;background:var(--desc-red);box-shadow:0 0 0 0 rgba(195,53,29,.45);animation:live-pulse 1.5s infinite}.log-pulse{color:var(--desc-red);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;animation:fade-pulse 1.4s infinite}.live-logs{scroll-behavior:smooth}.log-row{padding:2px 0;animation:log-enter .22s ease both}.log-row.error{color:#ffb5ad}.log-row.warning{color:#ffd9a0}.log-level{color:#ffffff;font-weight:800}.log-time{color:#9ca3af}.log-step{color:#ffd0c8;font-weight:700}@keyframes progress-flow{0%{background-position:0 0}to{background-position:220% 0}}@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(195,53,29,.45)}70%{box-shadow:0 0 0 10px rgba(195,53,29,0)}to{box-shadow:0 0 0 0 rgba(195,53,29,0)}}@keyframes fade-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes log-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:860px){.job-status-card,.jobs,.jobs-wide,.upload,.validation-card{grid-column:span 12}.page-title{font-size:38px}.logo-right{display:none}}