.container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;background:var(--bg)}.formWrapper{width:100%;max-width:500px;background:var(--white);padding:2rem;box-shadow:var(--shadow-md)}.title{color:var(--primary);margin:0 0 1.5rem;font-size:clamp(1.5rem,5vw,2rem);font-weight:400}.subTitle{font-weight:600}.form{gap:1.25rem}.form,.inputGroup{display:flex;flex-direction:column}.inputGroup{gap:.5rem}.input{width:100%;padding:.875rem 1rem;border:1px solid var(--border);font-size:1rem;font-family:inherit;color:var(--text);background:var(--white);transition:all .2s ease;box-sizing:border-box}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(3,117,254,.1)}.input::placeholder{color:var(--text-light)}.input[type=date]{-webkit-appearance:none;-moz-appearance:textfield;appearance:none;width:100%;max-width:100%}.input[type=date]::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer}.inputError,.inputError:focus{border-color:var(--error)}.inputError:focus{box-shadow:0 0 0 2px rgba(220,53,69,.1)}.errorText{color:var(--error);font-size:.875rem;font-weight:500}.label{font-weight:300;margin-top:1rem;margin-bottom:0}.subLabel{font-weight:300;margin-top:-5px}.statusMessage{padding:1rem;font-weight:500}.statusMessage.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.statusMessage.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.submitButton{display:inline-flex;background:var(--primary);color:var(--white);padding:.875rem 1.5rem;border:none;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;width:100%}.submitButton:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.submitButton:active:not(:disabled){transform:translateY(0)}.submitButtonDisabled{background:var(--text-light);cursor:not-allowed;opacity:.6}.submitButtonDisabled:hover{background:var(--text-light);transform:none}@media (max-width:768px){.container{padding:1rem .75rem}.formWrapper{padding:1.5rem}.title{font-size:clamp(1.35rem,6vw,1.75rem);margin-bottom:1.25rem}.form{gap:1rem}.input{padding:.75rem;font-size:.95rem}.input,.input[type=date]{min-height:2.5rem}.submitButton{padding:.75rem 1.25rem;font-size:.95rem}.errorText{font-size:.8rem}}@media (max-width:480px){.container{padding:.75rem .5rem}.formWrapper{padding:1.25rem;max-width:100%}}