.button{border-radius:var(--border-radius-md);font-weight:600;font-size:var(--font-size-lg);letter-spacing:1.2px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-medium)ease,border var(--transition-medium)ease,color var(--transition-medium)ease,transform var(--transition-medium)ease,box-shadow var(--transition-medium)ease;border:none;outline:none;justify-content:center;align-items:center;gap:.45em;padding:7px 18px;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg)}.primary:active{background:var(--color-primary)}.secondary{color:var(--color-primary-light);border:2px solid var(--color-primary-light);box-shadow:none;background:0 0}.secondary:hover{border-color:var(--color-primary);color:var(--color-primary);background:#8b5cf61f}.secondary:active{background:#8b5cf633}.danger{border:2px solid var(--color-danger);color:var(--color-danger);background:0 0}.danger:hover{background:var(--color-danger);color:#fff;box-shadow:var(--shadow-md)}.cancel{border:2px solid var(--color-text-muted);color:var(--color-text-muted);background:0 0}.cancel:hover{border-color:var(--color-text-light);color:var(--color-text-light);background:#64748b1f}.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important}.btn-icon{justify-content:center;align-items:center;font-size:1.1em;display:inline-flex}.btn-icon.left{margin-right:.35em}.btn-icon.right{margin-left:.35em}.btn-loading-spinner{border:2px solid #0000;border-top-color:var(--color-text-dark);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
.input{width:100%;font-size:var(--font-size-lg);border-radius:var(--border-radius-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-text-dark);transition:border-color var(--transition-fast)ease-in-out,box-shadow var(--transition-fast)ease-in-out,background var(--transition-fast)ease-in-out;background:#ffffff05;border:2px solid #ffffff0d;outline:none;padding:10px 14px;font-weight:500}.input:hover{border-color:var(--color-primary-light);background:#ffffff0a}.input:focus{border-color:var(--color-primary);box-shadow:0 0 6px var(--color-primary);background:#ffffff0f}.input:disabled{opacity:.6;cursor:not-allowed;color:var(--color-text-muted);background:#ffffff08}.input.error{border-color:var(--color-danger);box-shadow:0 0 6px #ef444499}.input.success{border-color:var(--color-success);box-shadow:0 0 6px #22c55e80}.input::placeholder{color:var(--color-text-muted);opacity:.8}.input-icon-left,.input-icon-right{color:var(--color-text-muted);opacity:.8;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-icon-left{left:12px}.input-icon-right{right:12px}.has-left-icon{padding-left:38px!important}.has-right-icon{padding-right:38px!important}
