.btn{font-family:var(--font-sans);font-weight:var(--font-medium);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn--sm{font-size:var(--text-xs);border-radius:var(--radius-sm);gap:5px;padding:6px 14px}.btn--md{font-size:var(--text-sm);padding:10px 20px}.btn--lg{font-size:var(--text-base);gap:10px;padding:14px 28px}.btn--primary{color:#fff;background:#1a1a1a;box-shadow:0 4px 14px #00000040}.btn--primary:hover{background:#000;transform:translateY(-2px);box-shadow:0 8px 20px #00000059}.btn--primary:active{transform:translateY(0);box-shadow:inset 0 3px 6px #0000004d}.btn--outline{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-neumorphic-sm)}.btn--outline:hover{color:var(--primary);box-shadow:var(--shadow-neumorphic);transform:translateY(-1px)}.btn--outline:active{box-shadow:var(--shadow-neumorphic-pressed);transform:translateY(1px)}.btn--ghost{color:var(--text-secondary);background:0 0}.btn--ghost:hover{color:var(--primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff80;box-shadow:0 2px 4px #00000005}.btn--ghost:active{background:#ffffffb3;transform:scale(.98)}.btn--danger{background:linear-gradient(135deg,#ff6b8b,var(--error));color:#fff;box-shadow:0 4px 12px #ff33664d}.btn--danger:hover{transform:translateY(-2px);box-shadow:0 8px 16px #f366}.btn--danger:active{transform:translateY(0);box-shadow:inset 0 3px 6px #0003}.btn:disabled,.btn--loading{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn__spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:14px;height:14px;animation:.6s linear infinite spin}.btn--loading .btn__label{opacity:.5}.btn__icon{flex-shrink:0;align-items:center;display:flex}.btn__icon svg{width:1em;height:1em}.btn--full{width:100%}@media (max-width:768px){.btn{white-space:normal;text-align:center;max-width:100%}.btn--lg{font-size:var(--text-sm);padding:12px 20px}}
.form-group{flex-direction:column;gap:6px;display:flex}.form-group+.form-group{margin-top:var(--space-4)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-label__required{color:var(--error);margin-left:2px}.form-input,.form-textarea,.form-select{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;padding:12px 16px;box-shadow:inset 0 2px 4px #1a1f360a}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #b8e60033,inset 0 2px 4px #1a1f360a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input--error,.form-textarea--error,.form-select--error{border-color:var(--error)}.form-input--error:focus,.form-textarea--error:focus,.form-select--error:focus{box-shadow:0 0 0 3px #ff336626,inset 0 2px 4px #1a1f360a}.form-textarea{resize:vertical;min-height:80px}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-helper{color:var(--text-tertiary);font-size:11px}.form-error{color:var(--error);align-items:center;gap:4px;font-size:11px;display:flex}.form-input-wrapper{position:relative}.form-input-wrapper .form-input{padding-left:38px}.form-input-wrapper__icon{color:var(--text-tertiary);pointer-events:none;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-row>.form-group{margin-top:0}.form-row+.form-row,.form-row+.form-group,.form-group+.form-row{margin-top:var(--space-4)}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.form-tags{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.form-tag{background:var(--gray-100);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary);align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.form-tag button{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;padding:0;font-size:14px;line-height:1}
