html,body,#root{min-height:100%;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{color:#0f172a}.sat-form-page{background:radial-gradient(circle at 0 0,#2563eb1a,#0000 30%),radial-gradient(circle at 100% 100%,#10b9811a,#0000 28%),linear-gradient(135deg,#eff6ff 0%,#f8fafc 55%,#f0fdf4 100%);min-height:100vh;padding:32px 20px}.sat-form-shell{justify-content:center;align-items:center;min-height:calc(100vh - 64px);display:flex}.sat-form-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #e2e8f0e6;border-radius:24px;width:100%;max-width:680px;padding:34px;box-shadow:0 20px 55px #0f172a1f}.sat-form-badge{color:#394ec7;background-color:#dbeafe;border-radius:999px;margin-bottom:16px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-block}.sat-form-header{text-align:center;margin-bottom:22px}.sat-form-logo{object-fit:contain;width:240px;max-width:82%;height:auto;margin:0 auto 14px;display:block}.sat-form-header h1{color:#0f172a;margin:0 0 12px;font-size:32px;line-height:1.08}.sat-form-header p{color:#475569;max-width:560px;margin:0 auto;font-size:15px;line-height:1.6}.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.progress-item{color:#64748b;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:8px;min-height:46px;padding:12px;font-size:13px;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;display:flex}.progress-item.idle{color:#64748b;background-color:#f8fafc;border-color:#e2e8f0}.progress-item.done{color:#047857;background-color:#ecfdf5;border-color:#a7f3d0}.progress-item.error{color:#b91c1c;background-color:#fef2f2;border-color:#fecaca}.progress-dot{background-color:currentColor;border-radius:50%;flex-shrink:0;width:10px;height:10px}.sat-form{flex-direction:column;gap:14px;display:flex}.form-group{flex-direction:column;display:flex}.form-group label{color:#1e293b;margin-bottom:6px;font-size:13px;font-weight:700}.form-group input[type=text],.form-group input[type=password]{color:#0f172a;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s,background-color .2s}.form-group input[type=text]::placeholder,.form-group input[type=password]::placeholder{color:#94a3b8}.form-group input[type=text]:focus,.form-group input[type=password]:focus{background-color:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.helper-text{color:#64748b;margin-top:8px;font-size:13px;font-weight:600;line-height:1.4}.helper-success{color:#047857}.helper-error{color:#b91c1c}.hidden-file-input{display:none}.file-upload-card{background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;justify-content:space-between;gap:16px;padding:18px;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:flex}.file-upload-card.loaded{background-color:#eff6ff;border-color:#60a5fa;box-shadow:0 0 0 4px #2563eb14}.file-upload-info{flex-direction:column;gap:4px;min-width:0;display:flex}.file-upload-title{color:#0f172a;font-size:14px;font-weight:700}.file-upload-subtitle{color:#64748b;font-size:13px}.file-selected-name{color:#5465d4;word-break:break-word;margin-top:6px;font-size:12px;font-weight:600}.file-upload-actions{flex-direction:column;flex-shrink:0;justify-content:center;gap:10px;display:flex}.file-action-button,.file-remove-button{cursor:pointer;border:none;border-radius:12px;padding:10px 14px;font-size:12px;font-weight:700;transition:background-color .2s,color .2s,transform .15s,opacity .2s,box-shadow .2s}.file-action-button{color:#fff;background-color:#394ec7}.file-action-button:hover{background-color:#5465d4;transform:translateY(-1px)}.file-remove-button{color:#334155;background-color:#e2e8f0}.file-remove-button:hover{background-color:#cbd5e1;transform:translateY(-1px)}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper input{padding-right:90px}.toggle-password-button{color:#394ec7;cursor:pointer;background-color:#0000;border:none;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700;transition:background-color .2s;position:absolute;right:8px}.toggle-password-button:hover{background-color:#2563eb14}.message{border-radius:14px;padding:14px 15px;font-size:14px;font-weight:600;line-height:1.5}.error-message{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca}.submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#394ec7 0%,#5465d4 100%);border:none;border-radius:14px;padding:15px 18px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .2s,opacity .2s;box-shadow:0 14px 26px #2563eb3d}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 30px #2563eb4d}.submit-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.success-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.success-modal{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:460px;padding:32px 28px 24px;position:relative;box-shadow:0 30px 60px #0f172a3d}.success-modal-close{color:#475569;cursor:pointer;background-color:#f8fafc;border:none;border-radius:999px;width:36px;height:36px;font-size:22px;line-height:1;transition:background-color .2s,color .2s,transform .15s;position:absolute;top:14px;right:14px}.success-modal-close:hover{color:#0f172a;background-color:#e2e8f0;transform:scale(1.03)}.success-modal-icon{color:#16a34a;background-color:#ecfdf5;border-radius:999px;justify-content:center;align-items:center;width:78px;height:78px;margin:0 auto 18px;font-size:38px;font-weight:800;display:flex;box-shadow:0 10px 22px #16a34a2e}.success-modal-title{color:#0f172a;margin:0 0 10px;font-size:26px;line-height:1.15}.success-modal-message{color:#334155;margin:0;font-size:15px;line-height:1.6}.success-modal-warning{color:#92400e;text-align:left;background-color:#fffbeb;border:1px solid #fcd34d;border-radius:14px;margin-top:18px;padding:14px 15px;font-size:14px;font-weight:600;line-height:1.5}.success-modal-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#394ec7 0%,#5465d4 100%);border:none;border-radius:14px;width:100%;margin-top:22px;padding:14px 18px;font-size:12px;font-weight:700;transition:transform .15s,box-shadow .2s,opacity .2s;box-shadow:0 14px 26px #394ec73d}.success-modal-button:hover{transform:translateY(-1px);box-shadow:0 18px 30px #394ec74d}.final-state-card{text-align:center;background:#f8fbff;border:1px solid #d9e7f7;border-radius:20px;margin-top:24px;padding:32px 24px}.final-state-icon{color:#18864b;background:#e8f7ee;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;font-size:32px;font-weight:700;display:flex}.final-state-title{color:#12344d;margin:0 0 12px;font-size:1.5rem}.final-state-message{color:#486581;margin:0 0 10px;line-height:1.6}.final-state-message.secondary{color:#1f3c88;font-weight:600}@media (width<=640px){.sat-form-page{padding:20px 14px}.sat-form-shell{align-items:flex-start;min-height:auto}.sat-form-card{border-radius:20px;max-width:100%;padding:28px}.sat-form-logo{width:200px;margin-bottom:18px}.sat-form-header h1{font-size:28px}.progress-grid{grid-template-columns:1fr}.file-upload-card{flex-direction:column;align-items:stretch}.file-upload-actions{flex-flow:wrap}.file-action-button,.file-remove-button{flex:auto}.password-wrapper input{padding-right:95px}.success-modal{padding:28px 22px 22px}.success-modal-title{font-size:23px}}@media (width<=420px){.sat-form-card{padding:20px}.sat-form-logo{width:170px;margin-bottom:16px}.sat-form-header h1{font-size:24px}.sat-form-header p{font-size:14px}.progress-item{padding:11px 10px;font-size:12px}.toggle-password-button{padding:7px 8px;font-size:12px}.success-modal{border-radius:20px;padding:24px 18px 18px}.success-modal-icon{width:68px;height:68px;font-size:34px}.success-modal-title{font-size:21px}.success-modal-message,.success-modal-warning{font-size:13px}}:root{color:#0f172a;background-color:#f8fafc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}
