/* Toasts */
#ui-toasts{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}
.ui-toast{pointer-events:auto;position:relative;margin:0!important;padding:12px 38px 12px 14px!important;border-radius:12px;font-size:14px;line-height:1.4;box-shadow:0 10px 30px rgba(15,23,42,.18);opacity:0;transform:translateX(24px);transition:opacity .3s,transform .3s;border:1px solid transparent}
.ui-toast-ok{background:#ECFDF5;color:#065F46;border-color:#A7F3D0}
.ui-toast-err{background:#FEF2F2;color:#991B1B;border-color:#FECACA}
.ui-toast-in{opacity:1;transform:none}
.ui-toast-out{opacity:0;transform:translateX(24px)}
.ui-toast-x{position:absolute;top:6px;right:8px;border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;opacity:.6}
.ui-toast-x:hover{opacity:1}
html[data-theme="dark"] .ui-toast-ok{background:#064E3B;color:#D1FAE5;border-color:#065F46}
html[data-theme="dark"] .ui-toast-err{background:#450A0A;color:#FEE2E2;border-color:#7F1D1D}
/* Confirmación */
.ui-modal-bg{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10001;display:flex;align-items:center;justify-content:center;padding:16px}
.ui-modal{background:#fff;color:#0F172A;border-radius:16px;padding:24px;max-width:400px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.ui-modal p{margin:0 0 20px;font-size:16px;line-height:1.5}
.ui-modal-actions{display:flex;gap:10px;justify-content:flex-end}
.ui-btn{border:0;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}
.ui-btn-ghost{background:#F1F5F9;color:#334155}
.ui-btn-primary{background:#155E75;color:#fff}
.ui-btn-danger{background:#DC2626;color:#fff}
html[data-theme="dark"] .ui-modal{background:#1E293B;color:#F1F5F9}
html[data-theme="dark"] .ui-btn-ghost{background:#334155;color:#E2E8F0}
/* Cargando */
button.is-loading,input.is-loading{opacity:.7;cursor:progress;pointer-events:none;position:relative}
button.is-loading::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}
@keyframes ui-spin{to{transform:rotate(360deg)}}
/* Ojito */
.ui-pw{position:relative;display:block;width:100%}
.ui-pw>input{width:100%;padding-right:44px!important;box-sizing:border-box}
.ui-pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#64748B;cursor:pointer;padding:6px;display:flex;border-radius:8px}
.ui-pw-eye:hover{color:#155E75}
/* Botón de cerrar sesión con texto */
.logout-link{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:9px 12px;border-radius:10px;border:1px solid #E2E8F0;color:#475569;font-size:13px;font-weight:600;text-decoration:none;justify-content:center;background:transparent}
.logout-link:hover{background:#FEF2F2;border-color:#FECACA;color:#B91C1C}
.logout-link svg{width:16px;height:16px}
html[data-theme="dark"] .logout-link{border-color:#334155;color:#CBD5E1}
html[data-theme="dark"] .logout-link:hover{background:#450A0A;color:#FCA5A5;border-color:#7F1D1D}
/* Pantalla de carga con el logo animado */
.arvia-loader{position:fixed;inset:0;z-index:9998;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(248,250,252,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}
.arvia-loader.on{opacity:1;visibility:visible;transition:opacity .25s ease}
.arvia-loader img{width:min(150px,38vw);height:auto}
.arvia-loader .al-dark{display:none}
.arvia-loader span{font:600 13px/1.2 Inter,system-ui,sans-serif;letter-spacing:.08em;color:#155E75;text-transform:uppercase}
html[data-theme="dark"] .arvia-loader{background:rgba(11,18,32,.82)}
html[data-theme="dark"] .arvia-loader .al-light{display:none}
html[data-theme="dark"] .arvia-loader .al-dark{display:block}
html[data-theme="dark"] .arvia-loader span{color:#5EC8DB}
.arvia-loader-inline{display:block;width:96px;height:auto;margin:18px auto}
