:root{--primary-color:#3182ce;--secondary-color:#4299e1;--error-color:#e53e3e;--success-color:#38a169;--text-color:#333;--light-gray:#f7fafc;--medium-gray:#e2e8f0;--dark-gray:#718096}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-color);line-height:1.5}#__next,body,html{height:100%}a{color:var(--primary-color);text-decoration:none}button{cursor:pointer}.form-container{max-width:600px;margin:0 auto;padding:20px}.form-container h1{color:var(--text-color);margin-bottom:10px}.form-description{color:var(--dark-gray)}.field-container,.form-description{margin-bottom:20px}label{display:block;margin-bottom:5px;font-weight:500}.required{color:var(--error-color);margin-left:3px}input,textarea{width:100%;padding:10px;border:1px solid var(--medium-gray);border-radius:4px;font-size:16px}input:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(49,130,206,.2)}input.error,textarea.error{border-color:var(--error-color)}.error-message{color:var(--error-color);font-size:14px;margin-top:5px}.general-error{background-color:#fff5f5;border-left:3px solid var(--error-color);padding:10px;margin-bottom:20px}.rating-container{display:flex;gap:10px}.rating-button{width:40px;height:40px;border:1px solid var(--medium-gray);border-radius:4px;background:#fff;cursor:pointer}.rating-button.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.submit-button{background-color:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:4px;font-size:16px;cursor:pointer;margin-top:10px}.submit-button:hover{background-color:var(--secondary-color)}.submit-button:disabled{background-color:var(--dark-gray);cursor:not-allowed}.form-error,.form-loading,.form-success{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%}.loading-spinner{width:100px;height:100px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.form-success{background-color:#f0fff4;border-left:3px solid var(--success-color)}