.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:500;border-radius:12px;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary);border:1.5px solid var(--primary)}.btn-primary:hover{background:var(--primary-hover);border:1.5px solid var(--primary-hover)}.btn-primary:active{background:var(--primary-pressed);border:1.5px solid var(--primary-pressed)}.btn-white{background:white;color:black;border:1.5px solid #e5e7eb}.btn-white:hover{background:#f9fafb}.btn-white:active{background:#f3f4f6}.btn-positive{background:var(--positive);color:var(--on-primary);border:1.5px solid var(--positive)}.btn-positive:hover{background:var(--positive-hover);border:1.5px solid var(--positive-hover)}.btn-positive:active{background:var(--positive-pressed);border:1.5px solid var(--positive-pressed)}.btn-outlined{background:transparent;color:var(--on-surface);border:1.5px solid var(--outline-border)}.btn-outlined:hover{background:var(--on-surface-hover)}.btn-outlined:active{background:var(--on-surface-pressed)}.btn-danger{background:var(--error);color:var(--on-error);border:1.5px solid var(--error)}.btn-danger:hover{background:var(--error-hover);border:1.5px solid var(--error-hover)}.btn-danger:active{background:var(--error-pressed);border:1.5px solid var(--error-pressed)}.btn-underlined{color:var(--primary);border:none;padding:10px 16px;text-decoration:underline;text-underline-offset:3px}.btn-underlined:hover{background:var(--on-surface-hover)}.btn-underlined:active{background:var(--on-surface-pressed)}.btn-default{padding:7px 16px;font-size:.875rem}.btn-md{height:auto;padding:5px 8px;font-size:.76rem}.btn-sm{height:auto;padding:4px 8px;font-size:.65rem}.btn-loading{cursor:not-allowed!important}.loader-circle{width:1rem;height:1rem;border:2px solid;border-bottom:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}