/* Elolog unified button system — shared by public, client and operator areas. */
:root{--elo-btn:#236186;--elo-btn-dark:#1a4d6c;--elo-btn-ring:rgba(35,97,134,.24);--elo-success:#16835b;--elo-danger:#c63f49;--elo-neutral:#fff;--elo-neutral-border:#cbd6dd}
:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.hero-btn,.btn-client,.btn-simulate,.sim-add-button,.primary-btn,[class*=-action]){font:inherit;-webkit-tap-highlight-color:transparent}
:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.hero-btn,.btn-client,.btn-simulate,.sim-add-button,.primary-btn){position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:42px;
padding:.68rem 1rem;border:1px solid transparent;border-radius:11px;font-weight:750;line-height:1.15;text-align:center;text-decoration:none;cursor:pointer;user-select:none;
transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;box-sizing:border-box}
:where(.btn-primary,.btn-simulate,.primary-btn,button.primary,.field-mobile-action.primary){color:#fff;background:linear-gradient(135deg,var(--elo-btn),#2f78a0);border-color:var(--elo-btn);box-shadow:0 5px 12px rgba(35,97,134,.18)}
:where(.btn-primary,.btn-simulate,.primary-btn,button.primary,.field-mobile-action.primary):hover{background:linear-gradient(135deg,var(--elo-btn-dark),var(--elo-btn));box-shadow:0 7px 17px rgba(35,97,134,.25);transform:translateY(-1px)}
:where(.btn-secondary,button.secondary){color:#244155;background:var(--elo-neutral);border-color:var(--elo-neutral-border);box-shadow:0 2px 5px rgba(21,47,64,.06)}:where(.btn-secondary,button.secondary):hover{color:var(--elo-btn-dark);background:#f2f7fb;
border-color:#6890aa;box-shadow:0 5px 12px rgba(35,97,134,.12);transform:translateY(-1px)}:where(.btn-success){color:#fff;background:var(--elo-success);border-color:var(--elo-success);box-shadow:0 5px 12px rgba(22,131,91,.18)}
:where(.btn-success):hover{background:#106c4a;box-shadow:0 7px 17px rgba(22,131,91,.24);transform:translateY(-1px)}:where(.btn-danger,button.danger,.field-mobile-action.danger){color:#a52d38;background:#fff6f6;border-color:#e8aeb3}
:where(.btn-danger,button.danger,.field-mobile-action.danger):hover{color:#fff;background:var(--elo-danger);border-color:var(--elo-danger);box-shadow:0 7px 17px rgba(198,63,73,.22);transform:translateY(-1px)}
:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.hero-btn,.btn-client,.btn-simulate,.sim-add-button,.primary-btn):active{transform:translateY(0) scale(.975);box-shadow:none}
:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.hero-btn,.btn-client,.btn-simulate,.sim-add-button,.primary-btn):focus-visible{outline:3px solid var(--elo-btn-ring);outline-offset:3px}
:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.hero-btn,.btn-client,.btn-simulate,.sim-add-button,.primary-btn):disabled,:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.hero-btn,.btn-client,.btn-simulate,.sim-add-button,.primary-btn)[aria-disabled=true]{color:#84969b!important;
background:#e8ecef!important;border-color:#dbe1e5!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important;opacity:.82}button[data-elo-busy=true]{pointer-events:none;color:transparent!important}
button[data-elo-busy=true]::after{content:"";position:absolute;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;color:#fff;animation:elo-button-spin .7s linear infinite}
@keyframes elo-button-spin{to{transform:rotate(360deg)}}@media(max-width:640px){:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-simulate,.sim-add-button,.primary-btn){min-height:46px;padding:.76rem 1rem}
.admin-provider-form-actions,.client-modal-actions,.provider-modal-actions,.client-payment-dialog-actions{gap:.65rem}.admin-provider-form-actions>button,.client-modal-actions>button,.provider-modal-actions>button{flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.hero-btn,.btn-client,.btn-simulate,.sim-add-button,.primary-btn){transition:none!important}.button[data-elo-busy=true]::after{animation-duration:1.4s}}
