body{background:var(--bs-tertiary-bg);min-height:100vh}.navbar-brand{letter-spacing:-.4px}.app-card{border:0;border-radius:1.1rem;box-shadow:0 8px 28px rgba(25,40,70,.06)}.balance-card{background:linear-gradient(135deg,#155eef,#6638d4);color:#fff;border-radius:1.25rem}.action-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--bs-primary-bg-subtle);color:var(--bs-primary);font-size:1.25rem}.form-control,.form-select,.btn{border-radius:.75rem}.btn-loading .btn-label{opacity:.65}.btn-loading:after{content:"";display:inline-block;width:1rem;height:1rem;margin-left:.55rem;vertical-align:-.15em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stat{font-size:clamp(1.4rem,4vw,2rem);font-weight:750;letter-spacing:-.7px}.quick-link{color:inherit;text-decoration:none}.quick-link:hover{transform:translateY(-2px)}.table>:not(caption)>*>*{padding:.85rem .7rem}.auth-wrap{max-width:500px;margin:3vh auto}.step-dot{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bs-primary-bg-subtle);color:var(--bs-primary)}


/* Global mobile-first loading feedback */
.pm-btn-loading{opacity:.88;cursor:wait!important;pointer-events:none}
#pm-loading-overlay{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;background:rgba(15,23,42,.16);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease}
#pm-loading-overlay.is-visible{opacity:1;visibility:visible}
.pm-loading-card{display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;border:1px solid var(--bs-border-color);border-radius:1.1rem;background:var(--bs-body-bg);color:var(--bs-body-color);box-shadow:0 12px 36px rgba(0,0,0,.16);font-weight:600;max-width:calc(100vw - 36px)}
.pm-loading-card .spinner-border{width:1.45rem;height:1.45rem;color:var(--bs-primary);flex:0 0 auto}
html.pm-is-loading{cursor:progress}
button,.btn,input[type=submit],input[type=button]{-webkit-tap-highlight-color:transparent}
.btn:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--bs-primary) 45%,transparent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){#pm-loading-overlay{transition:none}.pm-loading-card .spinner-border{animation-duration:1.5s}}
