.btn{padding:12px 24px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background-color 0.3s}.btn-primary{background-color:var(--primary-color);color:white}.btn-primary:hover{background-color:var(--secondary-color)}.btn-secondary{background-color:#e0e0e0;color:#333}.btn-secondary:hover{background-color:#d0d0d0}.btn-success{background-color:var(--success-color);color:white}.btn-success:hover{background-color:#3d8b40}.btn:disabled,button.is-disabled,[role="button"].is-disabled{opacity:.6 !important;cursor:not-allowed !important;pointer-events:none !important}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500}.form-group.terms-group{display:flex;align-items:center;gap:8px}.form-group.terms-group label{display:inline;margin:0}.form-group.terms-group input[type="checkbox"]{width:auto}.form-group input:not([type="checkbox"]):not([type="radio"]),.form-group select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;background-color:var(--card-background);color:var(--text-color)}.form-row{display:flex;gap:20px;margin-bottom:20px}.form-row .form-group{flex:1;margin-bottom:0}.required::after{content:'*';color:var(--error-color);margin-left:4px}.error-message,.auth-error{color:var(--error-color);font-size:14px;margin-top:5px;display:none}.auth-error{margin-top:8px;white-space:normal;word-break:break-word}.input-error{border-color:var(--error-color) !important;outline:0}.password-wrapper{position:relative}.password-wrapper input{width:100%;padding-right:44px}.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:16px;line-height:1;padding:4px;color:inherit}.toggle-password:focus{outline:2px solid var(--border-color);outline-offset:2px;border-radius:4px}body.dark-theme .toggle-password:focus{outline-color:#777}.loading{display:none;text-align:center;margin:20px 0}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 15px}.htmx-indicator{display:none}#spinner{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999}.htmx-request #spinner{display:block}.language-container{position:relative;display:inline-block}.language-dropdown{display:none;position:absolute;top:100%;right:0;left:auto;transform:translateX(0);background-color:#fff;box-shadow:0 8px 16px rgba(0,0,0,0.1);border-radius:4px;min-width:150px;z-index:10000;padding:10px 0;margin-top:5px}@media (max-width:1024px){.language-dropdown{right:0;left:auto;transform:translateX(0)}}.dark-theme .language-dropdown{background-color:#333;box-shadow:0 8px 16px rgba(0,0,0,0.3)}.language-dropdown.active{display:block !important;visibility:visible !important;opacity:1 !important}.language-option{display:flex;align-items:center;padding:8px 15px;cursor:pointer;transition:background-color 0.2s}.language-option:hover{background-color:#f5f5f5}.dark-theme .language-option:hover{background-color:#444}.language-option img{width:20px;height:15px;margin-right:10px;object-fit:cover}.hint-wrapper{position:relative;display:inline-block}.hint-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border-color);background:var(--card-background);color:var(--text-color);font-weight:700;line-height:1;cursor:pointer;margin-left:6px}.hint-float{visibility:hidden;opacity:0;transition:opacity 0.2s;position:absolute;top:-40px;left:0;z-index:100;background:var(--card-background);color:var(--text-color);border:1px solid var(--border-color);padding:8px 12px;border-radius:6px;font-size:14px;white-space:nowrap}.hint-wrapper:hover .hint-float,.hint-wrapper:focus-within .hint-float{visibility:visible;opacity:1}.hint-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.hint-text[aria-hidden="true"]{display:none}.hint-text{margin-top:8px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-background);color:var(--text-color);font-size:14px}@media (max-width:768px){.language-dropdown{right:auto;left:0}.right-column .language-toggle{padding:6px 12px}}