:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182a3b;background:#f4f6f8;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #48a4ee;outline-offset:3px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;background:#fff;border-bottom:1px solid #e1e6eb;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:1.2px;font-size:19px}.brand-separator{height:23px;width:1px;background:#d8dfe5;margin:0 6px}.brand-product{font-size:14px;font-weight:500;letter-spacing:0;color:#617183}.text-button{background:#fff;border:1px solid #cbd6df;border-radius:7px;color:#365873;font-size:13px;font-weight:600;padding:10px 15px;transition:background .15s,border-color .15s}.text-button:hover:not(:disabled){background:#f3f7fa;border-color:#aebfcd}main{flex:1;padding:30px 24px 36px}.workspace{max-width:960px;margin:auto}.eyebrow{font-size:11px;font-weight:700;color:#436985;letter-spacing:1.7px;margin:0 0 12px}h1{font-size:38px;letter-spacing:-1.3px;line-height:1.15;margin:0 0 14px;font-weight:650}.intro{font-size:15px;color:#6b7784;line-height:1.7;margin:0}.page-heading{margin-bottom:20px}.report-card{background:#fff;border:1px solid #e0e6ec;border-radius:12px;box-shadow:0 8px 28px #22334b05;overflow:hidden}.card-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid #e9edf1;gap:16px}h2{font-size:17px;margin:0 0 7px;font-weight:650}.card-heading p{font-size:13px;color:#78838e;margin:0;line-height:1.5}.step-label{font-size:9px;letter-spacing:1px;font-weight:700;color:#85909b;white-space:nowrap}.upload-list{padding:4px 32px}.upload-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #edf0f3;transition:background .15s,border-color .15s,box-shadow .15s}.upload-row:last-child{border-bottom:0}.upload-row.dragging{background:#eef6fb;box-shadow:0 0 0 2px #79add2 inset}.file-icon{display:grid;place-items:center;margin-left:10px;background:#eff4f8;color:#7290aa;border:1px solid #e0e9f0;border-radius:7px;width:40px;height:42px;font-size:12px;font-weight:700;flex-shrink:0}.selected .file-icon{background:#eaf5ef;color:#388569;border-color:#d7eadd}.upload-content{flex:1;min-width:0}.upload-content label{font-size:14px;font-weight:600;cursor:pointer}.upload-content p{font-size:12px;color:#85909b;margin:4px 0 0}.filename{display:block;font-size:12px;color:#3d846b;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:350px}.upload-action{display:flex;gap:14px;align-items:center}.format-tag{font-size:10px;color:#8a97a5;letter-spacing:.6px}.file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-button{font-size:12px;font-weight:600;background:#fff;border:1px solid #d7e0e7;color:#41607a;border-radius:6px;padding:8px 11px;cursor:pointer}.file-button:hover{background:#f3f7fa;border-color:#b8c8d5}.file-input:focus-visible+.file-button{outline:3px solid #48a4ee;outline-offset:3px}.result-note{margin:8px 32px 16px;background:#f5f8fb;border-radius:7px;display:flex;align-items:flex-start;gap:14px;padding:11px 16px;color:#60758a}.result-note span{font-size:20px}.result-note p{font-size:12px;line-height:1.6;margin:0}.result-note strong{font-weight:600;color:#365873}.card-footer{border-top:1px solid #e9edf1;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-hint{font-size:11px;color:#8a96a3}.footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#365873;border:1px solid #b8c8d5;border-radius:7px;padding:12px 16px;min-height:46px;font-size:13px;font-weight:600;white-space:nowrap}.secondary-button:hover{background:#f3f7fa}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#17476b;color:#fff;border:0;border-radius:7px;padding:14px 20px;min-height:46px;font-size:13px;font-weight:600;white-space:nowrap;transition:background .15s}.primary-button:hover:not(:disabled){background:#0f3553}.primary-button:disabled{background:#8b9cac}.error,.success{font-size:13px;line-height:1.6;padding:13px 18px;border-radius:7px;margin:16px 32px 24px}.error{background:#fff0ee;color:#a1443f}.success{background:#edf7f1;color:#347554}.login-card{max-width:430px;margin:22px auto;background:#fff;border:1px solid #e0e6ec;border-radius:12px;padding:38px}.login-card h1{font-size:29px}.login-card form{margin-top:30px}.login-card .error{margin:20px 0}.form-label{display:block;font-size:12px;font-weight:600;margin:20px 0 9px}.text-input{display:block;width:100%;padding:13px;border:1px solid #d5dee6;border-radius:6px;background:#fcfdfe}.login-card .primary-button{width:100%;margin-top:26px}.site-footer{display:flex;justify-content:space-between;color:#93a0ac;font-size:10px;padding:16px 5vw;border-top:1px solid #e4e9ee;letter-spacing:.2px}.spinner{height:14px;width:14px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.topbar{padding:0 20px;height:70px}.brand{font-size:16px;gap:9px}.brand-product{font-size:12px}main{padding:22px 16px 28px}.card-heading{padding:18px 20px}.step-label{display:none}h1{font-size:31px}.upload-list{padding:3px 20px}.upload-row{flex-wrap:wrap;gap:12px;padding:12px 0}.upload-action{width:100%;padding-left:56px}.upload-content p{line-height:1.5}.result-note{margin:8px 20px 16px}.card-footer{padding:17px 20px;flex-direction:column-reverse;align-items:stretch;text-align:center}.footer-actions{flex-direction:column;align-items:stretch}.error,.success{margin:15px 20px}.site-footer span:last-child{display:none}.login-card{padding:27px}.filename{max-width:240px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}*{transition:none!important}}.progress-panel{margin:0 32px 28px;padding:22px;border:1px solid #e2e9ef;border-radius:9px;background:#fbfcfe}.progress-heading{margin-bottom:14px}.progress-heading h2{font-size:14px;margin:0}.progress-list{list-style:none;padding:0;margin:0}.progress-list li{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 0;border-bottom:1px solid #edf1f5}.progress-list li:last-child{border:0}.progress-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid #dce5ec;color:#94a1af;flex-shrink:0;font-size:14px}.progress-list li>div{flex:1;min-width:0}.progress-list p{font-size:12px;margin:0;line-height:1.6}.progress-list small{display:block;color:#7a8795;font-size:11px;margin-top:3px;line-height:1.6}.progress-state{font-size:12px;color:#95a0ab;white-space:nowrap}.progress-pending{color:#8b97a2}.progress-running{color:#17476b}.progress-running .progress-icon{color:#17476b;background:#e9f2fa;border-color:#cbddeb;animation:progress-pulse 1.7s ease-in-out infinite}.progress-running .progress-state{color:#17476b;font-weight:650}.progress-completed .progress-icon{color:#347554;background:#edf7f1;border-color:#cde6d8}.progress-failed .progress-icon{color:#a1443f;background:#fff0ee;border-color:#f0d2cd}.progress-failed .progress-state,.progress-failed p{color:#a1443f}@keyframes progress-pulse{0%,to{box-shadow:0 0 #5c98c633}50%{box-shadow:0 0 0 6px #5c98c600}}@media(max-width:700px){.progress-panel{margin:0 20px 24px;padding:16px}.progress-list li{gap:9px}.progress-list p{font-size:11px}.progress-list small{font-size:10px}.progress-state{font-size:11px}}.workspace{transition:max-width .45s cubic-bezier(.22,1,.36,1)}.workspace.has-progress{max-width:1440px}.report-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0fr);gap:0;align-items:stretch;transition:grid-template-columns .45s cubic-bezier(.22,1,.36,1),gap .45s cubic-bezier(.22,1,.36,1)}.report-layout.has-progress{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.report-layout .report-card{min-width:0;display:flex;flex-direction:column}.report-layout .card-footer{margin-top:auto}.progress-slot{min-width:0;display:flex;overflow:hidden;visibility:hidden;opacity:0;transform:translate(20px);transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1)}.has-progress>.progress-slot{visibility:visible;opacity:1;transform:translate(0)}.report-layout .progress-panel{width:100%;margin:0;border-radius:12px;display:flex;flex-direction:column}.report-layout .progress-list{flex:1;display:flex;flex-direction:column}.report-layout .progress-list li{flex:1}.report-layout .filename{max-width:100%}@media(min-width:1051px){.report-layout.has-progress .progress-panel{min-width:360px;flex-shrink:0}main:has(.workspace.has-progress){padding-top:20px;padding-bottom:24px}.workspace.has-progress .page-heading{margin-bottom:16px}.workspace.has-progress .page-heading h1{margin-bottom:0}.workspace.has-progress .eyebrow{margin-bottom:8px}.report-layout.has-progress .upload-row{padding-top:10px;padding-bottom:10px}.report-layout.has-progress .progress-list li{min-height:44px;padding-top:8px;padding-bottom:8px}.report-layout.has-progress .upload-content p{line-height:1.5}.report-layout.has-progress .upload-action{gap:8px;flex-shrink:0}.report-layout.has-progress .card-footer{flex-wrap:wrap}.report-layout.has-progress .footer-actions{flex-wrap:wrap;margin-left:auto}}@media(max-width:1050px){.workspace.has-progress{max-width:960px}.report-layout,.report-layout.has-progress{grid-template-columns:minmax(0,1fr)}.report-layout.has-progress{gap:20px}}@media(prefers-reduced-motion:reduce){.workspace,.report-layout,.progress-slot{transition:none}.progress-slot{transform:none}}:root{--brand-primary: #025348;--brand-accent: #38fa5d;--brand-secondary: #2bd058;--brand-tint: #edf9f0;--brand-border: #c5e7ce}.brand,.eyebrow{color:var(--brand-primary)}.brand-icon{display:block;width:36px;height:36px;border-radius:7px;flex-shrink:0}.login-brand-icon{display:block;width:64px;height:64px;border-radius:12px;flex-shrink:0}main.auth-layout{display:flex;align-items:center;justify-content:center}.auth-layout .login-card{width:100%;max-width:560px;margin:0}.login-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:22px}.login-heading h1{margin:0}.login-card .intro{text-align:center}.result-note .info-icon{width:18px;height:18px;flex-shrink:0;margin-top:1px}.report-card,.login-card,.progress-panel{background:#fff}.primary-button{background:var(--brand-primary)}.primary-button:hover:not(:disabled){background:#013f37}.primary-button:disabled{background:var(--brand-primary);opacity:.45}.text-button,.secondary-button,.file-button{color:var(--brand-primary);border-color:var(--brand-border)}.text-button:hover:not(:disabled),.secondary-button:hover,.file-button:hover{background:var(--brand-tint);border-color:var(--brand-secondary)}.file-icon{background:var(--brand-tint);color:var(--brand-primary);border-color:var(--brand-border)}.selected .file-icon{background:#d9f2df;color:var(--brand-primary);border-color:var(--brand-accent);border-width:1px}.filename{color:var(--brand-primary)}.upload-row.dragging{background:var(--brand-tint);box-shadow:0 0 0 2px var(--brand-secondary) inset}.progress-running,.progress-running .progress-state{color:var(--brand-primary)}.progress-running .progress-icon{color:var(--brand-primary);background:var(--brand-accent);border-color:var(--brand-secondary);animation-name:brand-progress-pulse}.progress-completed .progress-icon{color:var(--brand-primary);background:var(--brand-tint);border-color:var(--brand-secondary)}.success{color:var(--brand-primary);background:var(--brand-tint)}button:focus-visible,a:focus-visible,input:focus-visible,.file-input:focus-visible+.file-button{outline-color:var(--brand-primary)}@keyframes brand-progress-pulse{0%,to{box-shadow:0 0 #2bd05855}50%{box-shadow:0 0 0 6px #2bd05800}}@media(max-width:700px){.brand-icon{width:30px;height:30px}.login-heading{gap:16px}.login-brand-icon{width:52px;height:52px}.login-heading h1{font-size:26px}}@media(prefers-reduced-motion:reduce){.progress-running .progress-icon{animation:none}}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tool-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid #e0e6ec;border-radius:12px;background:#fff;box-shadow:0 8px 28px #22334b05}.tool-card-heading{display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:24px}.tool-icon{width:36px;height:36px;color:var(--brand-primary)}.tool-status{color:#617183;background:#f4f6f8;border-radius:5px;padding:5px 9px;font-size:11px;font-weight:600}.tool-status.available{color:var(--brand-primary);background:var(--brand-tint)}.tool-card h2{font-size:21px}.tool-card p{color:#6b7784;font-size:14px;line-height:1.7;margin:8px 0 24px}.tool-card>a{margin-top:auto}.upload-action{padding-right:10px}.layout-error{max-width:960px;margin:0 auto 20px}@media(max-width:700px){.tool-grid{grid-template-columns:minmax(0,1fr)}.tool-card{padding:22px}}
