.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;font-family:Arial,sans-serif;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;box-sizing:border-box;white-space:nowrap;text-align:center;line-height:1.2}.btn:focus{outline:2px solid #0066cc;outline-offset:2px}.btn-primary{background-color:#b20010;color:#fff;border:2px solid #b20010}.btn-primary:hover:not(.btn-disabled){background-color:#8f000d;border-color:#8f000d;transform:translateY(-1px);box-shadow:0 4px 8px rgba(178,0,16,.3)}.btn-secondary{background-color:transparent;color:#b20010;border:2px solid #b20010}.btn-secondary:hover:not(.btn-disabled){background-color:#b20010;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px rgba(178,0,16,.2)}.btn-outline{background-color:#fff;color:#333;border:2px solid #ddd}.btn-outline:hover:not(.btn-disabled){background-color:#f8f9fa;border-color:#b20010;color:#b20010;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.btn-ghost{background-color:transparent;color:#b20010;border:2px solid transparent}.btn-ghost:hover:not(.btn-disabled){background-color:rgba(178,0,16,.1);border-color:#b20010}.btn-small{padding:6px 12px;font-size:12px;border-radius:6px;min-height:32px}.btn-medium{padding:10px 16px;font-size:14px;border-radius:8px;min-height:40px}.btn-large{padding:14px 24px;font-size:16px;border-radius:10px;min-height:48px}.btn-disabled{opacity:.6;cursor:not-allowed}.btn-disabled,.btn-disabled:hover{transform:none!important;box-shadow:none!important}.external-indicator{font-size:.8em;margin-left:4px;opacity:.8}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:btn-spin 1s linear infinite}@keyframes btn-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:480px){.btn-small{padding:8px 12px;font-size:12px;min-height:36px}.btn-medium{padding:12px 16px;font-size:14px;min-height:44px}.btn-large{padding:16px 20px;font-size:16px;min-height:52px}.btn{min-width:44px}}@media (prefers-contrast:high){.btn{border-width:3px}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}.btn-loading:after{animation:none}}@media print{.btn{background-color:transparent!important;color:#000!important;border:2px solid #000!important;box-shadow:none!important;transform:none!important}}