.card{background:var(--bg-card,#fff);border:1px solid var(--border-medium,#0000000d);box-shadow:var(--shadow-card);border-radius:28px;transition:all .3s cubic-bezier(.22,.61,.36,1);position:relative;overflow:visible}.card--padding-sm{padding:var(--space-5)}.card--padding-md{padding:var(--space-8)}.card--padding-lg{padding:var(--space-10)}.card--elevated{box-shadow:var(--shadow-float)}.card--outlined{box-shadow:none;border:1px solid var(--border-medium,#0000000d);background:var(--bg-card,#fff)}.card--glass{background:var(--bg-glass,#ffffffd9);-webkit-backdrop-filter:var(--glass-blur-strong,blur(40px));border:1px solid var(--glass-border-strong,#0000000f);box-shadow:var(--shadow-md)}.card--hover:hover{box-shadow:var(--shadow-float);border-color:var(--border-strong,#00000014);transform:translateY(-3px)}.card--glow{box-shadow:var(--shadow-card), var(--shadow-glow)}.card--glow:hover{box-shadow:var(--shadow-float), var(--shadow-glow-lg)}.card--clickable{cursor:pointer}.card--clickable:active{transform:scale(.99)}.card__header{border-bottom:1px solid var(--border-subtle,#00000008);padding-bottom:var(--space-4);margin-bottom:var(--space-6);gap:var(--space-1);flex-direction:column;display:flex}.card__title{color:var(--text-primary);font-size:1.05rem;font-weight:600;line-height:var(--leading-tight);margin:0}.card__subtitle{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-normal);margin:0}.btn{justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;font-family:var(--font-family);white-space:nowrap;border:none;border-radius:14px;outline:none;height:44px;padding:0 20px;font-weight:500;transition:all .3s cubic-bezier(.22,.61,.36,1);display:inline-flex;position:relative}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-surface), 0 0 0 4px var(--accent-primary)!important}.btn--primary{background:var(--btn-primary-bg,linear-gradient(180deg, #2a2a2e 0%, #121214 100%));color:var(--btn-primary-text,#fff);border:none;box-shadow:0 12px 28px #00000029,0 4px 10px #00000014,inset 0 1.5px .5px #ffffff26}.btn--primary:hover:not(:disabled){background:var(--btn-primary-hover,linear-gradient(180deg, #3a3a3e 0%, #222224 100%));transform:translateY(-2px);box-shadow:0 16px 32px #0003,0 6px 14px #0000001a,inset 0 1.5px .5px #fff3}.btn--primary:active:not(:disabled){transform:scale(.97)translateY(0);box-shadow:0 6px 14px #0000001f,inset 0 1.5px .5px #ffffff1a}.btn--secondary,.btn--outline{background:var(--btn-secondary-bg,linear-gradient(180deg, #fff 0%, #f5f5f7 100%));color:var(--btn-secondary-text,#111);border:1px solid var(--btn-secondary-border,#0000000a);box-shadow:0 8px 20px #0000000a,0 2px 6px #00000005,inset 0 1.5px .5px #ffffffe6}.btn--secondary:hover:not(:disabled),.btn--outline:hover:not(:disabled){background:var(--btn-secondary-bg);transform:translateY(-1.5px);box-shadow:0 12px 24px #0000000f,0 4px 10px #00000008,inset 0 1.5px .5px #fff}.btn--secondary:active:not(:disabled),.btn--outline:active:not(:disabled){transform:scale(.97)translateY(0);box-shadow:0 4px 10px #00000008,inset 0 1.5px .5px #fffc}.btn--ghost{color:#6e6e73;background:0 0}.btn--ghost:hover:not(:disabled){color:#111;background:#00000008}.btn--danger{color:#d32f2f;background:linear-gradient(#fff 0%,#fff5f5 100%);border:1px solid #d32f2f14;box-shadow:0 6px 14px #d32f2f08}.btn--danger:hover:not(:disabled){color:#fff;background:#d32f2f;border-color:#d32f2f;transform:translateY(-1.5px);box-shadow:0 8px 20px #d32f2f26}.btn--danger:active:not(:disabled){transform:scale(.97)translateY(0)}.btn--success{color:#111;background:linear-gradient(#fff 0%,#f5fdf5 100%);border:1px solid #0000000a;box-shadow:0 6px 14px #0000000a}.btn--success:hover:not(:disabled){color:#fff;background:#111;border-color:#111;transform:translateY(-1.5px);box-shadow:0 8px 20px #0000001f}.btn--success:active:not(:disabled){transform:scale(.97)translateY(0)}.btn--sm{height:32px;font-size:var(--text-xs);border-radius:10px;padding:0 12px}@media (width<=767px){.btn--sm{height:44px;font-size:var(--text-sm)}}.btn--md{height:44px;padding:0 20px}.btn--lg{height:52px;font-size:var(--text-base);border-radius:16px;padding:0 28px}.btn--full{width:100%}.btn__icon{align-items:center;display:inline-flex}.btn__spinner{animation:.8s linear infinite spin}
