.modal-backdrop{z-index:1050;background:#00000080;position:fixed;inset:0}.modal-dialog{z-index:1060;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content-custom{background:#fff;border-radius:6px;width:520px;max-width:95vw;max-height:90vh;padding:24px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;overflow-y:auto;box-shadow:0 5px 40px #0000004d}.modal-content-custom h2{color:#333;margin:0 0 16px;font-size:22px;font-weight:700}.modal-content-custom label{color:#555;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.modal-content-custom select,.modal-content-custom input[type=text]{box-sizing:border-box!important;color:#333!important;background:#fff!important;border:1px solid #ccc!important;border-radius:4px!important;width:100%!important;height:auto!important;margin:0!important;padding:8px 12px!important;font-size:14px!important;line-height:1.4!important}.modal-content-custom select:focus,.modal-content-custom input[type=text]:focus{border-color:#66afe9!important;outline:none!important;box-shadow:0 0 0 2px #66afe94d!important}.modal-content-custom .input-valid{border-color:#5cb85c!important}.modal-content-custom .input-invalid{border-color:#d9534f!important}.tab-switcher{gap:8px;margin-bottom:16px;display:flex}.tab-switcher button{cursor:pointer;flex:1;transition:all .15s;border:1px solid #0000!important;border-radius:4px!important;height:auto!important;margin:0!important;padding:10px!important;font-size:14px!important;font-weight:500!important;line-height:1.4!important}.tab-switcher .inactive{color:#999;background:#f5f5f5}.tab-switcher .active-card{color:#333;background:#fff;border-color:#ccc}.tab-switcher .active-tokens{color:#fff;background:#333}.token-panel{border:1px solid #e5e5e5;border-radius:6px;padding:16px}input[type=range]{appearance:none;cursor:pointer;border-radius:4px;outline:none;width:100%;height:8px}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0000004d}.progress-bar-track{background:#e5e5e5;border-radius:3px;width:100%;height:6px;margin-top:8px;overflow:hidden}.progress-bar-fill{background:#333;border-radius:3px;height:100%;transition:width .4s}.progress-steps{flex-direction:column;gap:6px;margin-top:14px;font-size:13px;display:flex}.progress-step{color:#bbb;align-items:center;gap:8px;transition:color .2s;display:flex}.progress-step.active{color:#333;font-weight:500}.progress-step.done{color:#5cb85c}.step-icon{text-align:center;flex-shrink:0;width:16px;font-size:12px}.input-wrapper{position:relative}.input-wrapper .validation-icon{font-size:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-valid{border-color:#5cb85c!important}.input-invalid{border-color:#d9534f!important}.validation-msg{min-height:14px;margin-top:3px;font-size:11px}.validation-msg.error{color:#d9534f}.validation-msg.success{color:#5cb85c}.exchange-info{color:#666;background:#f9f9f9;border-radius:4px;padding:10px 14px;font-size:14px}.exchange-info .rate-detail{color:#999;margin-top:4px;font-size:11px}.btn-cancel{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:8px 16px;font-size:14px}.btn-cancel:hover{background:#f5f5f5}.btn-exchange{color:#fff;cursor:pointer;background:#333;border:none;border-radius:4px;padding:8px 20px;font-size:14px;font-weight:500}.btn-exchange:hover:not(:disabled){background:#222}.btn-exchange:disabled{opacity:.5;cursor:not-allowed}.fine-print{color:#ccc;text-align:center;margin-top:16px;font-size:10px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ccc;border-top-color:#333;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.shimmer{vertical-align:middle;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:2px;width:80px;height:14px;animation:1.5s infinite shimmer;display:inline-block}
