@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand:#d4714a;--brand-dark:#b85e3a;--brand-light:#d4714a26;--navy:#1e2d3d;--bg:#0c1720;--surface:#1c3347;--surface-2:#243f57;--surface-3:#2c4a65;--border:#ffffff1c;--border-med:#ffffff2e;--text:#dde8f0;--text-muted:#b4cde18c;--white:#fff;--gray-50:#1f3044;--gray-100:#253447;--gray-200:#ffffff1a;--gray-400:#b4cde180;--gray-500:#b4cde199;--gray-600:#b4cde1bf;--gray-700:#c8dceed9;--gray-800:#dde8f0;--red:#f87171;--shadow:0 1px 4px #0006;--shadow-md:0 4px 16px #0006;--radius:8px;--radius-lg:12px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}h1{color:var(--text);font-size:1.75rem;font-weight:700;line-height:1.2}h2{color:var(--text);font-size:1.25rem;font-weight:600}h3{color:var(--text);font-size:1rem;font-weight:600}p{color:var(--text-muted);line-height:1.6}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:680px;margin:0 auto;padding:0 1rem}.container--wide{max-width:960px;margin:0 auto;padding:0 1rem}.page{min-height:100vh;padding:2rem 0 4rem}.card{background:var(--surface);border-radius:var(--radius-lg);color:var(--text);border:1px solid #ffffff29;padding:2rem;box-shadow:0 8px 32px #0000008c,inset 0 0 0 1px #ffffff0a}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--brand);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--brand-dark);text-decoration:none}.btn-primary:disabled{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.btn-secondary{background:var(--surface-3);color:var(--text);border:1px solid var(--border-med)}.btn-secondary:hover{background:var(--surface-2);text-decoration:none}.btn-outline{color:var(--brand);border:1.5px solid var(--brand);background:0 0}.btn-outline:hover{background:var(--brand);color:var(--white);text-decoration:none}.btn-danger{color:#fca5a5;background:#7f1d1d;border:1px solid #b91c1c}.btn-danger:hover{background:#991b1b}.btn--full{width:100%}.btn--sm{padding:.5rem 1rem;font-size:.875rem}.form-group{flex-direction:column;gap:.375rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text);font-size:.875rem;font-weight:500}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border-med);border-radius:var(--radius);width:100%;color:var(--text);background:var(--surface-2);padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand);outline:none}.form-input:read-only{background:var(--surface);color:var(--text-muted)}.form-select option{background:var(--surface-2);color:var(--text)}.form-error{color:var(--red);font-size:.8125rem}.form-hint{color:var(--text-muted);font-size:.8125rem}.progress-bar{background:var(--surface-3);border-radius:999px;height:6px;overflow:hidden}.progress-bar__fill{background:var(--brand);border-radius:999px;height:100%;transition:width .3s}.badge{text-transform:uppercase;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.badge--draft{background:var(--surface-3);color:var(--text-muted)}.badge--sent{color:#93c5fd;background:#3b82f633}.badge--in_progress{color:#fde68a;background:#fbbf2426}.badge--submitted{color:#86efac;background:#22c55e26}.topnav{background:var(--navy);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.875rem 1.5rem;display:flex}.topnav__logo{color:var(--white);letter-spacing:-.01em;align-items:center;gap:.625rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.topnav__logo-icon{border:2.5px solid var(--brand);width:32px;height:32px;color:var(--white);border-right-color:#0000;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:flex;position:relative}.topnav__logo-text em{color:var(--brand);font-style:normal}.topnav__nav-link{color:#ffffffa6;border-radius:var(--radius);padding:.375rem .625rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.topnav__nav-link:hover{color:var(--white);background:#ffffff14;text-decoration:none}.topnav__nav-link--active{color:var(--brand)}.topnav__user{color:#ffffff80;font-size:.8125rem}.topnav .btn-secondary{color:#fffc;background:#ffffff14;border-color:#ffffff26}.topnav .btn-secondary:hover{background:#ffffff24}.upload-slot{border:1.5px dashed var(--border-med);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:1rem 1.25rem;transition:border-color .15s;display:flex}.upload-slot--uploaded{border-style:solid;border-color:var(--brand)}.upload-slot--error{border-color:var(--red)}.upload-slot__info{flex:1;min-width:0}.upload-slot__name{color:var(--text);font-size:.9375rem;font-weight:500}.upload-slot__hint{color:var(--text-muted);margin-top:.25rem;font-size:.8125rem}.upload-slot__status{color:var(--brand);margin-top:.25rem;font-size:.8125rem;font-weight:500}.upload-slot__filename{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.25rem;font-size:.8125rem;overflow:hidden}.modal-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-med);border-radius:var(--radius-lg);width:100%;max-width:440px;color:var(--text);padding:2rem}.stack{flex-direction:column;gap:1rem;display:flex}.row{align-items:center;gap:1rem;display:flex}.row--between{justify-content:space-between}.text-muted{color:var(--text-muted);font-size:.875rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.text-center{text-align:center}.icon{font-size:1.25rem}@media (width<=600px){.card{padding:1.25rem}h1{font-size:1.4rem}.upload-slot{flex-direction:column;align-items:flex-start}}
