.ui-button{border-radius:calc(var(--radius) - 2px);font-weight:500;font-family:var(--font-sans);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;transition:all .15s;display:inline-flex;position:relative;overflow:hidden}.ui-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.ui-button:hover:before{left:100%}.ui-button--sm{padding:.5rem .75rem;font-size:.875rem}.ui-button--md{padding:.625rem 1rem;font-size:.875rem}.ui-button--lg{padding:.75rem 1.5rem;font-size:1rem}.ui-button--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 2px 8px hsl(var(--primary)/.3)}.ui-button--primary:hover:not(:disabled){background:hsl(var(--primary)/.9);box-shadow:0 4px 12px hsl(var(--primary)/.4);transform:translateY(-1px)}.ui-button--primary:active:not(:disabled){transform:translateY(0)}.ui-button--secondary{color:hsl(var(--foreground));border:1px solid hsl(var(--border));background:0 0}.ui-button--secondary:hover:not(:disabled){background:hsl(var(--accent));border-color:hsl(var(--accent))}.ui-button--danger{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.ui-button--danger:hover:not(:disabled){background:hsl(var(--destructive)/.9);transform:translateY(-1px)}.ui-button--ghost{color:hsl(var(--foreground));background:0 0}.ui-button--ghost:hover:not(:disabled){background:hsl(var(--accent))}.ui-button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ui-card{border-radius:var(--radius);padding:1.5rem;transition:all .2s}.ui-card--default{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:var(--shadow)}.ui-card--glass{background:hsl(var(--card)/.7);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border)/.5);box-shadow:0 8px 32px #0000001a}.ui-card--hover:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}
.ui-input-wrapper{flex-direction:column;gap:.5rem;display:flex}.ui-input-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.ui-input{background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);width:100%;color:hsl(var(--foreground));font-size:.875rem;font-family:var(--font-sans);padding:.625rem .75rem;transition:all .15s}.ui-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.2);outline:none}.ui-input::placeholder{color:hsl(var(--muted-foreground))}.ui-input--error{border-color:hsl(var(--destructive))}.ui-input--error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 3px hsl(var(--destructive)/.2)}.ui-input-error{color:hsl(var(--destructive));font-size:.75rem}
