.mtb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--fl-z-modal, 9600);display:flex;align-items:center;justify-content:center;padding:var(--fl-space-md);background:transparent;pointer-events:none;overflow-y:auto}html.dark .mtb-modal-overlay,html[data-theme=dark] .mtb-modal-overlay{background:transparent}.mtb-modal{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 2 * var(--fl-space-md));margin:auto;pointer-events:auto;background:var(--fl-bg-card);border:2px solid var(--fl-navy);border-radius:var(--fl-radius-md);box-shadow:none;outline:none;overflow:hidden;color:var(--fl-text-primary)}.mtb-modal.mtb-modal--sm{max-width:400px}.mtb-modal.mtb-modal--md{max-width:520px}.mtb-modal.mtb-modal--lg{max-width:720px}.mtb-modal.mtb-modal--xl{max-width:960px}.mtb-modal.mtb-modal--2xl{max-width:min(calc(100vw - 2 * var(--fl-space-md)),max(960px,66.67vw))}.mtb-modal.mtb-modal--full{max-width:calc(100vw - 2 * var(--fl-space-md));max-height:calc(100vh - 2 * var(--fl-space-md))}.mtb-modal__header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--fl-space-md);padding:16px var(--fl-space-lg) 12px;background:transparent;border-bottom:2px solid var(--fl-navy);flex-shrink:0}.mtb-modal__title-wrapper{display:flex;align-items:center;gap:var(--fl-space-sm);min-width:0}.mtb-modal__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:16px;font-weight:var(--fl-weight-bold);line-height:1;color:var(--fl-text-on-navy);background:var(--fl-navy);border-radius:var(--fl-radius-md);box-shadow:none;flex-shrink:0}.mtb-modal__title{margin:0;font-size:20px;font-weight:var(--fl-weight-bold);color:var(--fl-text-primary);letter-spacing:var(--fl-tracking-tight);line-height:var(--fl-leading-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtb-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--fl-radius-md);background:transparent;color:var(--fl-text-muted);font-size:22px;line-height:1;cursor:pointer;transition:background var(--fl-duration-normal) var(--fl-ease-out),color var(--fl-duration-normal) var(--fl-ease-out);flex-shrink:0}.mtb-modal__close:hover{background:var(--fl-ceremaris-light);color:var(--fl-text-primary)}.mtb-modal__close:focus-visible{outline:none;box-shadow:var(--fl-shadow-focus)}.mtb-modal__body{flex:1;padding:var(--fl-space-lg);overflow-y:auto;color:var(--fl-text-secondary);font-size:var(--fl-text-base);line-height:var(--fl-leading-relaxed)}.mtb-modal__body::-webkit-scrollbar{width:8px}.mtb-modal__body::-webkit-scrollbar-track{background:transparent}.mtb-modal__body::-webkit-scrollbar-thumb{background:var(--fl-border-subtle);border-radius:var(--fl-radius-sm)}.mtb-modal__body::-webkit-scrollbar-thumb:hover{background:var(--fl-text-muted)}.mtb-modal__footer{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:var(--fl-space-sm);padding:var(--fl-space-md) var(--fl-space-lg);background:var(--fl-bg-muted);border-top:1px solid var(--fl-border-card-blue);flex-shrink:0}.mtb-modal__footer .mtb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--fl-space-xs);min-width:104px;padding:10px 20px;border:1px solid transparent;border-radius:var(--fl-radius-md);font-size:var(--fl-text-md);font-weight:var(--fl-weight-semibold);line-height:var(--fl-leading-normal);letter-spacing:-.005em;cursor:pointer;transition:background var(--fl-duration-normal) var(--fl-ease-out),color var(--fl-duration-normal) var(--fl-ease-out),border-color var(--fl-duration-normal) var(--fl-ease-out),box-shadow var(--fl-duration-normal) var(--fl-ease-out)}.mtb-modal__footer .mtb-btn:disabled{opacity:.5;cursor:not-allowed}.mtb-modal__footer .mtb-btn:focus-visible{outline:none;box-shadow:var(--fl-shadow-focus)}.mtb-modal__footer .mtb-btn--primary{background:var(--fl-brand-surface);color:var(--fl-navy);border-color:var(--fl-brand-surface)}.mtb-modal__footer .mtb-btn--primary:hover:not(:disabled){background:var(--fl-brand-surface-hover);border-color:var(--fl-brand-surface-hover)}.mtb-modal__footer .mtb-btn--primary:active:not(:disabled){background:var(--fl-brand-surface-active);border-color:var(--fl-brand-surface-active)}.mtb-modal__footer .mtb-btn--secondary{background:var(--fl-ceremaris-light);color:var(--fl-text-primary);border-color:var(--fl-border-card)}.mtb-modal__footer .mtb-btn--secondary:hover:not(:disabled){background:var(--fl-ceremaris-light-hover);border-color:var(--fl-border-input-hover)}.mtb-modal__footer .mtb-btn--loading{position:relative;color:transparent!important}.mtb-modal__footer .mtb-btn__spinner{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid currentcolor;border-right-color:transparent;border-radius:50%;animation:mtb-spin .75s linear infinite}.mtb-modal__footer .mtb-btn--primary .mtb-btn__spinner{border-color:rgba(0,119,182,.3);border-right-color:var(--fl-navy)}@keyframes mtb-spin{to{transform:rotate(360deg)}}.mtb-modal--info,.mtb-modal--success,.mtb-modal--warning,.mtb-modal--error{border-left-width:4px}.mtb-modal--info{border-left-color:var(--fl-info)}.mtb-modal--success{border-left-color:var(--fl-success)}.mtb-modal--warning{border-left-color:var(--fl-warning)}.mtb-modal--error{border-left-color:var(--fl-error)}.mtb-modal--info .mtb-modal__icon{color:var(--fl-bg-card);background:var(--fl-info);box-shadow:none}.mtb-modal--success .mtb-modal__icon{color:var(--fl-bg-card);background:var(--fl-success-dark);box-shadow:none}.mtb-modal--warning .mtb-modal__icon{color:var(--fl-bg-card);background:var(--fl-warning);box-shadow:none}.mtb-modal--error .mtb-modal__icon{color:var(--fl-bg-card);background:var(--fl-error);box-shadow:none}.mtb-modal--info .mtb-modal__header{border-bottom-color:var(--fl-info)}.mtb-modal--success .mtb-modal__header{border-bottom-color:var(--fl-success)}.mtb-modal--warning .mtb-modal__header{border-bottom-color:var(--fl-warning)}.mtb-modal--error .mtb-modal__header{border-bottom-color:var(--fl-error)}.mtb-modal--warning .mtb-modal__footer .mtb-btn--primary,.mtb-modal--error .mtb-modal__footer .mtb-btn--primary,.mtb-modal--success .mtb-modal__footer .mtb-btn--primary{color:var(--fl-text-inverse)}.mtb-modal--warning .mtb-modal__footer .mtb-btn--primary{background:var(--fl-warning);border-color:var(--fl-warning)}.mtb-modal--warning .mtb-modal__footer .mtb-btn--primary:hover:not(:disabled){filter:brightness(.95)}.mtb-modal--error .mtb-modal__footer .mtb-btn--primary{background:var(--fl-error);border-color:var(--fl-error)}.mtb-modal--error .mtb-modal__footer .mtb-btn--primary:hover:not(:disabled){filter:brightness(.95)}.mtb-modal--success .mtb-modal__footer .mtb-btn--primary{background:var(--fl-success);border-color:var(--fl-success)}.mtb-modal--success .mtb-modal__footer .mtb-btn--primary:hover:not(:disabled){filter:brightness(.95)}.mtb-modal--warning .mtb-modal__footer .mtb-btn--primary .mtb-btn__spinner,.mtb-modal--error .mtb-modal__footer .mtb-btn--primary .mtb-btn__spinner,.mtb-modal--success .mtb-modal__footer .mtb-btn--primary .mtb-btn__spinner{border-color:rgba(255,255,255,.35);border-right-color:var(--fl-ceremaris-light)}.mtb-modal-enter-active,.mtb-modal-leave-active{transition:opacity var(--fl-duration-normal) var(--fl-ease-out)}.mtb-modal-enter-active .mtb-modal,.mtb-modal-leave-active .mtb-modal{transition:transform var(--fl-duration-normal) var(--fl-ease-out),opacity var(--fl-duration-normal) var(--fl-ease-out)}.mtb-modal-enter-from,.mtb-modal-leave-to{opacity:0}.mtb-modal-enter-from .mtb-modal{transform:scale(.96) translateY(-12px);opacity:0}.mtb-modal-leave-to .mtb-modal{transform:scale(.98) translateY(6px);opacity:0}@media(max-width:640px){.mtb-modal-overlay{padding:var(--fl-space-xs);align-items:flex-end}.mtb-modal{max-height:calc(100vh - 2 * var(--fl-space-xs));border-radius:16px 16px 0 0}.mtb-modal--sm,.mtb-modal--md,.mtb-modal--lg,.mtb-modal--xl{max-width:100%}.mtb-modal__header,.mtb-modal__body,.mtb-modal__footer{padding-left:var(--fl-space-md);padding-right:var(--fl-space-md)}.mtb-modal__footer{flex-direction:column-reverse;gap:var(--fl-space-xs)}.mtb-modal__footer .mtb-btn{width:100%}}@media(prefers-reduced-motion:reduce){.mtb-modal-enter-active,.mtb-modal-leave-active,.mtb-modal-enter-active .mtb-modal,.mtb-modal-leave-active .mtb-modal{transition:none}.mtb-modal__footer .mtb-btn__spinner{animation:none}}@media(prefers-contrast:high){.mtb-modal,.mtb-modal__footer .mtb-btn{border-width:2px}}
