.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;min-width:120px;margin:8px;border-radius:12px;border:none;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.btn:hover{transform:scale(1.03);box-shadow:0 8px 20px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.25)}.btn:active{transform:scale(1.02)}.btn:focus-visible{outline:2px solid rgba(99,102,241,.5);outline-offset:2px}.btn:disabled{opacity:.5;transform:none;cursor:not-allowed;pointer-events:none}.btn.btn-action{background-color:var(--btn-primary);color:white;box-shadow:0 4px 12px rgba(99,102,241,.25),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-action:hover{background-color:var(--btn-primary-hover);box-shadow:0 8px 20px rgba(99,102,241,.4),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-success{background-color:var(--btn-success);color:white;box-shadow:0 4px 12px rgba(16,185,129,.25),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-success:hover{background-color:var(--btn-success-hover);box-shadow:0 8px 20px rgba(16,185,129,.4),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-danger{background-color:var(--btn-danger);color:white;box-shadow:0 4px 12px rgba(239,68,68,.25),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-danger:hover{background-color:var(--btn-danger-hover);box-shadow:0 8px 20px rgba(239,68,68,.4),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-warning{background-color:var(--btn-warning);color:white;box-shadow:0 4px 12px rgba(245,158,11,.25),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-warning:hover{background-color:var(--btn-warning-hover);box-shadow:0 8px 20px rgba(245,158,11,.4),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-orange{background-color:var(--btn-orange);color:white;box-shadow:0 4px 12px rgba(234,88,12,.25),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-orange:hover{background-color:var(--btn-orange-hover);box-shadow:0 8px 20px rgba(234,88,12,.4),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-info{background-color:var(--btn-info);color:white;box-shadow:0 4px 12px rgba(59,130,246,.25),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-info:hover{background-color:var(--btn-info-hover);box-shadow:0 8px 20px rgba(59,130,246,.4),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-secondary{background-color:var(--btn-secondary);color:white;box-shadow:0 4px 12px rgba(107,114,128,.25),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-secondary:hover{background-color:var(--btn-secondary-hover);box-shadow:0 8px 20px rgba(107,114,128,.4),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-outline{background-color:rgba(255,255,255,.05);border:2px solid var(--btn-outline);color:var(--btn-outline);box-shadow:0 4px 12px rgba(99,102,241,.1),inset 0 1px 0 rgba(255,255,255,.1);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.btn.btn-outline:hover{background-color:rgba(255,255,255,.08);color:var(--btn-outline-hover);border-color:var(--btn-outline-hover);box-shadow:0 8px 20px rgba(99,102,241,.2),inset 0 1px 0 rgba(255,255,255,.15)}.btn.btn-cancel{background-color:rgba(255,255,255,.03);border:none;color:var(--btn-cancel);box-shadow:none;padding:12px 24px;transition:transform var(--transition-fast),background-color var(--transition-normal),color var(--transition-normal)}.btn.btn-cancel:hover{background-color:rgba(255,255,255,.06);color:var(--btn-cancel-hover);transform:none}.btn.btn-sm{padding:8px 16px;min-width:80px;font-size:.875rem;border-radius:8px}.btn.btn-md{padding:12px 24px;min-width:120px;font-size:.95rem;border-radius:12px}.btn.btn-lg{padding:16px 32px;min-width:160px;font-size:1.1rem;border-radius:16px}.btn.btn-xl{padding:20px 40px;min-width:200px;font-size:1.25rem;border-radius:20px}.btn.btn-circular{min-width:auto;width:44px;height:44px;padding:0;border-radius:50%}.btn.btn-circular.btn-sm{width:36px;height:36px}.btn.btn-circular.btn-lg{width:52px;height:52px}.btn.btn-extended{width:100%!important;min-width:auto!important;margin:8px 0!important;display:flex!important;justify-content:center!important}@media (max-width:768px){.btn{padding:10px 20px;min-width:100px;font-size:.9rem}.btn:hover{transform:none}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn.btn-pulse{animation:none}}.btn.btn-white{background-color:white;border:2px solid white;color:#9333ea;box-shadow:0 4px 12px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.btn.btn-white:hover{background-color:#f8fafc;box-shadow:0 8px 20px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.25)}.btn.btn-white-outline{background-color:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.4);color:white;box-shadow:0 4px 12px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.1);transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal),border-color var(--transition-normal)}.btn.btn-white-outline:hover{background-color:rgba(255,255,255,.2);border-color:rgba(255,255,255,.6);box-shadow:0 8px 20px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.15)}@media (prefers-color-scheme:dark){.btn{box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1)}.btn:hover{box-shadow:0 8px 25px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.15)}}