.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .85rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font-sans);font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{min-height:100px;resize:vertical}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238888a0' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.form-group select option{background:var(--bg-card);color:var(--text)}.form-hint{font-size:.8rem;color:var(--text-muted);margin-top:.3rem}.form-error{font-size:.8rem;color:var(--red);margin-top:.3rem}.form-error-box{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:.75rem 1rem;color:var(--red);font-size:.9rem;margin-bottom:1.25rem;display:none}.form-error-box.visible{display:block}.form-success-box{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;padding:.75rem 1rem;color:var(--green);font-size:.9rem;margin-bottom:1.25rem;display:none}.form-success-box.visible{display:block}.checkbox-group{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.checkbox-group input[type=checkbox]{width:auto;margin-top:.25rem;accent-color:var(--accent);cursor:pointer}.checkbox-group label{font-size:.9rem;margin-bottom:0;cursor:pointer;color:var(--text-muted)}.checkbox-group label a{color:var(--accent)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.checkbox-grid label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.checkbox-grid input[type=checkbox]{accent-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;font-family:var(--font-sans);text-decoration:none;cursor:pointer;transition:all .2s;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-outline{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.btn-danger{background:#ef444426;color:var(--red);border:1px solid rgba(239,68,68,.3)}.btn-danger:hover:not(:disabled){background:#ef444440}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.btn-block{width:100%}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-section{margin-bottom:2rem}.form-section-title{font-family:var(--font-mono);font-size:.95rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.toggle{position:relative;display:inline-block;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:24px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:var(--text);border-radius:50%;transition:.3s}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}
