:root{--color-primary:#004b87;--color-primary-dark:#003763;--color-secondary:#0078d4;--color-bg:#f4f7fb;--color-surface:#fff;--color-surface-soft:#f8fafc;--color-border:#dbe3ef;--color-text:#172033;--color-muted:#64748b;--color-success:#107c10;--color-warning:#ffb900;--color-danger:#d13438;--shadow-sm:0 8px 24px #0f172a14;--shadow-md:0 18px 45px #0f172a1f;--radius-lg:22px;--radius-md:16px;--radius-sm:10px;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#0078d424,#0000 34%),linear-gradient(#f7fbff 0%,#eef4fb 100%);min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.portal-shell{width:min(1180px,100% - 40px);min-height:100vh;margin:0 auto;padding:24px 0 48px}.app-header{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border:1px solid #dbe3eff2;justify-content:space-between;align-items:center;gap:24px;padding:16px 20px;display:flex}.app-header__brand{align-items:center;gap:14px;display:flex}.app-header__logo{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));border-radius:15px;place-items:center;width:48px;height:48px;font-weight:800;display:grid;box-shadow:0 12px 24px #004b873d}.app-header__title{color:var(--color-text);margin:0;font-size:1.15rem;line-height:1.2}.app-header__subtitle{color:var(--color-muted);margin:3px 0 0;font-size:.92rem}.app-header__user{align-items:center;gap:12px;display:flex}.app-header__avatar{width:42px;height:42px;color:var(--color-primary);background:#e6f2fb;border-radius:50%;place-items:center;font-weight:800;display:grid}.app-header__user-info{flex-direction:column;gap:1px;display:flex}.app-header__user-label{color:var(--color-muted);font-size:.75rem}.app-header__user-name{color:var(--color-text);font-size:.92rem}.hero{color:#fff;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#004b87fa,#0078d4e6),radial-gradient(circle at 100% 0,#ffffff47,#0000 30%);border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:28px;padding:34px;display:grid}.eyebrow{letter-spacing:.08em;text-transform:uppercase;background:#ffffff29;border-radius:999px;width:fit-content;margin-bottom:12px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.hero h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02}.hero p{color:#ffffffdb;max-width:720px;margin:16px 0 0;font-size:1.05rem;line-height:1.65}.hero__panel{flex-direction:column;gap:10px;display:flex}.status-pill{color:#fff;text-align:center;background:#ffffff24;border:1px solid #ffffff42;border-radius:999px;min-width:150px;padding:10px 14px;font-weight:700}.workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px;display:grid}.card,.upload-action-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{padding:24px}.card--step{min-height:100%}.step-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.step-number{color:#fff;background:var(--color-primary);border-radius:12px;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.step-heading h3,.upload-action-card h3,.feedback-card h3{color:var(--color-text);margin:0;font-size:1.15rem}.step-heading p,.upload-action-card p,.feedback-card p{color:var(--color-muted);margin:5px 0 0;line-height:1.5}.form-control{flex-direction:column;gap:9px;display:flex}.form-label{color:var(--color-text);font-weight:700}.select{border:1px solid var(--color-border);width:100%;min-height:48px;color:var(--color-text);background:#fff;border-radius:12px;outline:none;padding:0 14px;transition:border-color .18s,box-shadow .18s}.select:focus{border-color:var(--color-secondary);box-shadow:0 0 0 4px #0078d424}.form-hint{color:var(--color-muted);margin:0;font-size:.9rem}.selector-state{border-radius:var(--radius-md);background:var(--color-surface-soft);border:1px solid var(--color-border);align-items:flex-start;gap:13px;padding:16px;display:flex}.selector-state p{color:var(--color-muted);margin:4px 0 0;line-height:1.45}.selector-state__icon{color:#fff;border-radius:10px;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.selector-state--warning{background:#fff8e1;border-color:#ffb9006b}.selector-state--warning .selector-state__icon{background:var(--color-warning);color:#2f2400}.selector-state--error{background:#fdf0f0;border-color:#d1343852}.selector-state--error .selector-state__icon{background:var(--color-danger)}.spinner{border:3px solid #dbeafe;border-top-color:var(--color-secondary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.uploader{flex-direction:column;gap:14px;display:flex}.drop-zone{text-align:center;background:linear-gradient(#f8fafceb,#f1f5f9b8);border:2px dashed #b8c8dc;border-radius:20px;place-items:center;min-height:250px;padding:28px;transition:border-color .18s,background .18s,transform .18s;display:grid}.drop-zone--active{border-color:var(--color-secondary);background:#eef7ff;transform:translateY(-2px)}.drop-zone__icon{width:56px;height:56px;color:var(--color-primary);background:#e6f2fb;border-radius:18px;place-items:center;margin-bottom:14px;font-size:1.6rem;font-weight:900;display:grid}.drop-zone__title{color:var(--color-text);margin:0;font-size:1.2rem}.drop-zone__text{max-width:440px;color:var(--color-muted);margin:9px 0 18px;line-height:1.55}.file-chip{background:#f0fff4;border:1px solid #c7f0d0;border-radius:15px;align-items:center;gap:12px;padding:12px;display:flex}.file-chip__icon{color:#fff;background:var(--color-success);border-radius:12px;place-items:center;width:42px;height:42px;font-size:.73rem;font-weight:900;display:grid}.file-chip__content{flex-direction:column;gap:2px;display:flex}.file-chip__content span{color:var(--color-muted);font-size:.88rem}.inline-alert{border-radius:13px;padding:12px 14px;font-weight:600}.inline-alert--error{color:#8f1d22;background:#fdf0f0;border:1px solid #d1343847}.upload-action-card{justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:22px 24px;display:flex}.feedback-card{margin-top:22px}.feedback-card__header{margin-bottom:18px}.button{border:0;border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s,opacity .15s;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-1px)}.button--primary,.button--upload{color:#fff;background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));box-shadow:0 12px 26px #004b8740}.button--primary:hover,.button--upload:hover{background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary))}.button--secondary{color:var(--color-primary);background:#e6f2fb}.button--upload{min-width:190px;min-height:52px;font-size:1rem}.button--upload:disabled{opacity:.5;box-shadow:none}.button--reset{margin-top:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=860px){.portal-shell{width:min(100% - 24px,1180px);padding-top:12px}.app-header,.app-header__user,.upload-action-card{flex-direction:column;align-items:stretch}.app-header__user{width:100%}.app-header__user-info{flex:1}.hero{grid-template-columns:1fr;padding:26px}.hero__panel{flex-flow:wrap}.workflow{grid-template-columns:1fr}.button--upload{width:100%}}
