.lms-flash { padding: 12px 16px; margin: 12px 0; border: 1px solid #dce5df; background: #f3f8f5; border-radius: 8px; }
.lms-toasts { position: fixed; top: max(16px, env(safe-area-inset-top, 0px)); right: 16px; width: min(400px, calc(100vw - 32px)); display: grid; gap: 8px; max-height: calc(100dvh - 32px); overflow-y: auto; z-index: 2000; pointer-events: none; }
.lms-toast { display: grid; grid-template-columns: 20px minmax(0, 1fr) 44px; align-items: start; gap: 10px; padding: 12px 8px 12px 14px; border: 1px solid #e0e7e3; border-left: 4px solid #3c82b4; border-radius: 8px; background: #fff; box-shadow: 0 6px 24px #233c3326; color: #294035; font-size: 13px; line-height: 1.6; pointer-events: auto; letter-spacing: 0; }
.lms-toast > i { padding-top: 5px; color: #3c82b4; }
.lms-toast > span { overflow-wrap: anywhere; padding-top: 2px; white-space: pre-line; }
.lms-toast--success { border-left-color: #218663; }
.lms-toast--success > i { color: #218663; }
.lms-toast--error { border-left-color: #c74646; }
.lms-toast--error > i { color: #c74646; }
.lms-toast--warning { border-left-color: #b98322; }
.lms-toast--warning > i { color: #b98322; }
.lms-toast-close, .lms-confirm-close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #63766b; cursor: pointer; border-radius: 6px; }
.lms-toast-close { margin-top: -8px; }
.lms-confirm { width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; margin: auto; padding: 20px; border: 1px solid #dce5df; border-radius: 8px; background: #fff; color: #294035; box-shadow: 0 18px 64px #13291f40; letter-spacing: 0; }
.lms-confirm::backdrop { background: #18291f80; }
.lms-confirm-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lms-confirm-head h2 { font-size: 17px; line-height: 1.5; margin: 0; color: #253c30; overflow-wrap: anywhere; }
.lms-confirm-close { flex-shrink: 0; margin-right: -8px; }
.lms-confirm > p { margin: 12px 0 24px; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; white-space: pre-line; }
.lms-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; }
.lms-confirm-actions button { min-height: 44px; padding: 10px 18px; font: inherit; font-size: 13px; font-weight: 600; border: 1px solid #dce5df; border-radius: 6px; cursor: pointer; }
.lms-confirm-cancel { background: #fff; color: #50665a; }
.lms-confirm-accept { background: #0f766e; color: #fff; border-color: #0f766e !important; }
.lms-confirm-accept.is-danger { background: #bd3939; border-color: #bd3939 !important; }
.lms-confirm button:focus-visible, .lms-toast-close:focus-visible { outline: 2px solid #0f766e; outline-offset: 2px; }
@media (max-width: 900px) {
    .lms-toasts { top: calc(76px + env(safe-area-inset-top, 0px)); left: 16px; right: 16px; width: auto; max-height: calc(100dvh - 170px); }
    .lms-confirm-actions button { flex: 1; }
}
