.mtb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--fl-z-modal, 1050);display:flex;align-items:center;justify-content:center;padding:var(--fl-space-md);background:radial-gradient(ellipse at center,rgba(0,119,182,.12),rgba(11,18,32,.45) 60%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);overflow-y:auto;font-family:var(--fl-font-family)}html.dark .mtb-modal-overlay,html[data-theme=dark] .mtb-modal-overlay{background:radial-gradient(ellipse at center,rgba(88,166,212,.14),rgba(0,0,0,.65) 60%)}.mtb-modal{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 2 * var(--fl-space-md));margin:auto;background:radial-gradient(ellipse 120% 80% at 0% 0%,rgba(0,119,182,.22) 0%,transparent 55%),radial-gradient(ellipse 90% 70% at 100% 100%,rgba(245,158,11,.14) 0%,transparent 55%),linear-gradient(180deg,#EAF3FA 0%,#F6FAFD 40%,var(--fl-bg-card) 100%);background-color:var(--fl-bg-card);border:1.5px solid var(--fl-border-card-blue);border-left:4px solid var(--fl-ceremaris-blue);border-radius:var(--fl-radius-hero, 18px);box-shadow:0 2px 10px -6px rgba(0,119,182,.18),0 24px 48px -20px rgba(0,119,182,.22),0 8px 32px rgba(16,24,40,.12);outline:none;overflow:hidden;color:var(--fl-text-primary);font-family:var(--fl-font-family)}html.dark .mtb-modal,html[data-theme=dark] .mtb-modal{background:radial-gradient(ellipse 120% 80% at 0% 0%,rgba(88,166,212,.28) 0%,transparent 55%),radial-gradient(ellipse 90% 70% at 100% 100%,rgba(210,153,34,.16) 0%,transparent 55%),linear-gradient(180deg,#2a3650 0%,#242b3c 40%,var(--fl-bg-card) 100%);background-color:var(--fl-bg-card)}html.dark .mtb-modal,html[data-theme=dark] .mtb-modal{box-shadow:0 2px 10px -6px rgba(88,166,212,.25),0 24px 48px -20px rgba(0,0,0,.55),0 8px 32px rgba(0,0,0,.5)}.mtb-modal--sm{max-width:400px}.mtb-modal--md{max-width:520px}.mtb-modal--lg{max-width:720px}.mtb-modal--xl{max-width:960px}.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:22px var(--fl-space-lg) 16px;background:transparent;border-bottom:1px solid var(--fl-border-subtle);flex-shrink:0}.mtb-modal__header:after{content:"";position:absolute;left:var(--fl-space-lg);right:var(--fl-space-lg);bottom:-1px;height:2px;background:linear-gradient(90deg,var(--fl-ceremaris-blue) 0%,transparent 40%);border-radius:2px;pointer-events:none}.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:#fff;background:linear-gradient(135deg,var(--fl-ceremaris-blue) 0%,#38BDF8 100%);border-radius:var(--fl-radius-md);box-shadow:0 2px 6px -2px rgba(0,119,182,.45);flex-shrink:0}.mtb-modal__title{margin:0;font-family:var(--fl-font-family);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:linear-gradient(180deg,rgba(0,119,182,.06),rgba(0,119,182,.12));border-top:1px solid var(--fl-border-card-blue);flex-shrink:0}html.dark .mtb-modal__footer,html[data-theme=dark] .mtb-modal__footer{background:linear-gradient(180deg,rgba(88,166,212,.1),rgba(88,166,212,.18))}.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-family:var(--fl-font-family);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-ceremaris-blue);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-ceremaris-blue)}@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:#fff;background:linear-gradient(135deg,var(--fl-info) 0%,#93C5FD 100%);box-shadow:0 2px 6px -2px rgba(59,130,246,.45)}.mtb-modal--success .mtb-modal__icon{color:#fff;background:linear-gradient(135deg,var(--fl-success) 0%,#6EE7B7 100%);box-shadow:0 2px 6px -2px rgba(16,185,129,.45)}.mtb-modal--warning .mtb-modal__icon{color:#fff;background:linear-gradient(135deg,var(--fl-warning) 0%,#FCD34D 100%);box-shadow:0 2px 6px -2px rgba(245,158,11,.45)}.mtb-modal--error .mtb-modal__icon{color:#fff;background:linear-gradient(135deg,var(--fl-error) 0%,#FCA5A5 100%);box-shadow:0 2px 6px -2px rgba(220,38,38,.45)}.mtb-modal--info .mtb-modal__header:after{background:linear-gradient(90deg,var(--fl-info) 0%,transparent 40%)}.mtb-modal--success .mtb-modal__header:after{background:linear-gradient(90deg,var(--fl-success) 0%,transparent 40%)}.mtb-modal--warning .mtb-modal__header:after{background:linear-gradient(90deg,var(--fl-warning) 0%,transparent 40%)}.mtb-modal--error .mtb-modal__header:after{background:linear-gradient(90deg,var(--fl-error) 0%,transparent 40%)}.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:#fff}.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}}
