/* Padrão visual compartilhado. Base: botão fg-primary e confirmação leve do Fluxograma. */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
:root{--og-button-radius:10px;--og-button-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--og-confirm-text:#202641;--og-confirm-muted:#6b7589;--og-confirm-success:#1b9b70;--og-confirm-brand:#6c5ce7}

/* Mantém padding, altura e cores definidos em cada módulo. */
:where(button,a.btn,input[type="button"],input[type="submit"]){font-family:var(--og-button-font)!important;font-weight:600}
:where(button,a.btn,input[type="button"],input[type="submit"]):not(.rounded-circle):not(.btn-close):not(.navbar-toggler):not(.ck-button):not(.react-flow__controls-button){border-radius:var(--og-button-radius)!important}
:where(button,a.btn,input[type="button"],input[type="submit"]):focus-visible{outline:3px solid #6c5ce780!important;outline-offset:2px!important}
.btn:not(.btn-sm):not(.btn-lg){font-size:14px}
.btn.btn-sm{font-size:12px}.btn.btn-lg{font-size:16px}
.btn:not(.btn-sm):not(.btn-lg):not(.btn-link):not(.rounded-circle){min-height:41px}

/* Modelo 4 para retornos rápidos no desktop. */
@media(min-width:992px){body:has(.og-toast,.swal2-popup.swal2-toast,[data-sonner-toast])::before{content:"";position:fixed;inset:0;z-index:2147483646;background:#151a3280;backdrop-filter:blur(4px)}}
.og-toast{position:fixed;top:22px;right:22px;z-index:2147483647;display:flex;align-items:flex-start;gap:14px;width:min(410px,calc(100vw - 32px));padding:18px 46px 18px 18px;border:1px solid #e4e8ef;border-radius:16px;background:#fff;box-shadow:0 18px 45px #1119362b;color:var(--og-confirm-text);font-family:var(--og-button-font);animation:og-toast-in .2s ease-out}
.og-toast__icon{flex:0 0 42px;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e7f7ee;color:#17855b;font:700 22px/1 var(--og-button-font)}
.og-toast--error .og-toast__icon{background:#fff0f2;color:#d85068}.og-toast--warning .og-toast__icon{background:#fff7e6;color:#bd842c}.og-toast--info .og-toast__icon{background:#f0edff;color:#6652d8}
.og-toast__copy{display:grid;gap:4px;min-width:0;padding-top:2px}.og-toast__copy strong{font:700 17px/1.25 var(--og-button-font);letter-spacing:-.02em;overflow-wrap:anywhere}.og-toast__copy span{color:var(--og-confirm-muted);font:400 13px/1.45 var(--og-button-font);overflow-wrap:anywhere}
.og-toast__close{position:absolute;right:9px;top:10px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:#8b93a5;font:400 22px/1 var(--og-button-font)}.og-toast__close:hover{background:#f1f2f6;color:#202641}
@keyframes og-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
[data-theme="dark"] .og-toast{background:#24232e;color:#f0eff8;border-color:#3a3849}[data-theme="dark"] .og-toast__copy span{color:#aaa8bb}
@media(prefers-reduced-motion:reduce){.og-toast{animation:none}}

/* SweetAlert clássico usado pela maioria das telas. */
body .swal-overlay{background:#151a3280;backdrop-filter:blur(4px)}
body .swal-modal{width:min(440px,calc(100vw - 32px));max-width:100%;padding:37px 32px 30px;border-radius:23px;background:#fff;box-shadow:0 26px 80px #0b123f38;font-family:var(--og-button-font);text-align:center;box-sizing:border-box}
body .swal-icon{width:54px;height:54px;margin:0 auto 21px;border-width:3px;box-sizing:border-box}
body .swal-icon--success{border-color:var(--og-confirm-success);background:#e7f8ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M6 16l7 7L27 9' fill='none' stroke='%231b9b70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/30px 30px no-repeat;box-shadow:0 0 0 9px #f4fbf7}
body .swal-icon--success__ring,body .swal-icon--success__hide-corners,body .swal-icon--success__line,body .swal-icon--success::before{display:none}
body .swal-icon--success::after{display:none!important}
body .swal-icon--error{border-color:#d85068;background:#fff0f2;box-shadow:0 0 0 9px #fff7f8}
body .swal-icon--error__x-mark{display:none}
body .swal-icon--error::after{content:"×";display:block;color:#d85068;font:400 38px/47px var(--og-button-font)}
body .swal-icon--warning{border-color:#bd842c;background:#fff7e6;box-shadow:0 0 0 9px #fffaf0;color:#bd842c}
body .swal-icon--warning__body,body .swal-icon--warning__dot{display:none}
body .swal-icon--warning::after{content:"!";display:block;color:#bd842c;font:600 33px/47px var(--og-button-font)}
body .swal-icon--info{border-color:#6652d8;background:#f0edff;box-shadow:0 0 0 9px #f8f6ff;color:#6652d8}
body .swal-icon--info::before{display:none}
body .swal-icon--info::after{content:"i";display:block;position:static;width:auto;height:auto;background:transparent;color:#6652d8;font:600 30px/47px var(--og-button-font)}
body .swal-title{color:var(--og-confirm-text);font:700 25px/1.2 var(--og-button-font);letter-spacing:-.035em;padding:0;margin:0 0 10px}
body .swal-text{color:var(--og-confirm-muted);font:400 14px/1.55 var(--og-button-font);text-align:center;margin:0;max-width:100%;word-break:normal}
body .swal-content{margin:17px 0 0;color:var(--og-confirm-muted)}
body .swal-content__input,body .swal-content select{width:100%;min-height:41px;border:1px solid #dfe3ee;border-radius:10px;padding:9px 11px;font:400 14px var(--og-button-font);box-sizing:border-box}
body .swal-footer{display:flex;justify-content:center;gap:10px;margin:25px 0 0;padding:0;text-align:center}
body .swal-button-container{margin:0}
body .swal-button{min-height:41px;padding:10px 18px;border:0;border-radius:10px!important;background:var(--og-confirm-brand);box-shadow:0 3px 8px #6c5ce735;color:#fff;font:600 14px/1.25 var(--og-button-font)}
body .swal-button:hover,body .swal-button:focus{background:#594bd1}
body .swal-button--cancel{background:#f1f2f6;color:#4f5870;box-shadow:none}
body .swal-button--cancel:hover,body .swal-button--cancel:focus{background:#e5e8f0;color:#313a51}
body .swal-modal:has(.swal-icon--success):not(:has(.swal-button--cancel)) .swal-button--confirm{width:100%;min-width:170px;background:var(--og-confirm-success);box-shadow:none}
body .swal-modal:has(.swal-icon--success):not(:has(.swal-button--cancel)) .swal-button--confirm:hover{background:#16845f}
body .swal-modal:has(.swal-icon--success):not(:has(.swal-button--cancel)) .swal-button-container{flex:1}

/* SweetAlert2, usado por alguns fluxos financeiros e telas legadas. */
body .swal2-container{font-family:var(--og-button-font)}
body .swal2-container.swal2-backdrop-show{background:#151a3280!important;backdrop-filter:blur(4px)}
body .swal2-container:has(.swal2-popup.swal2-toast){z-index:2147483647!important;background:transparent!important;backdrop-filter:none!important}
body .swal2-popup{width:min(440px,calc(100vw - 32px))!important;max-width:100%;padding:37px 32px 30px!important;border-radius:23px!important;background:#fff!important;box-shadow:0 26px 80px #0b123f38!important;color:var(--og-confirm-text)!important;font-family:var(--og-button-font)!important}
body .swal2-icon{width:54px!important;height:54px!important;margin:0 auto 21px!important;border-width:3px!important;font-size:12px!important;box-sizing:border-box!important}
body .swal2-icon.swal2-success{border-color:var(--og-confirm-success)!important;background:#e7f8ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M6 16l7 7L27 9' fill='none' stroke='%231b9b70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/30px 30px no-repeat!important;box-shadow:0 0 0 9px #f4fbf7}
body .swal2-icon.swal2-success > *{display:none!important}
body .swal2-icon.swal2-success::after{display:none!important}
body .swal2-icon.swal2-error{border-color:#d85068!important;background:#fff0f2!important;box-shadow:0 0 0 9px #fff7f8}
body .swal2-icon.swal2-error > *{display:none!important}
body .swal2-icon.swal2-error::after{content:"×";display:block;color:#d85068;font:400 38px/47px var(--og-button-font)}
body .swal2-icon.swal2-warning{border-color:#bd842c!important;background:#fff7e6!important;box-shadow:0 0 0 9px #fffaf0;color:#bd842c!important}
body .swal2-icon.swal2-warning .swal2-icon-content{display:none!important}
body .swal2-icon.swal2-warning::after{content:"!";display:block;color:#bd842c;font:600 33px/47px var(--og-button-font)}
body .swal2-icon.swal2-info,body .swal2-icon.swal2-question{border-color:#6652d8!important;background:#f0edff!important;box-shadow:0 0 0 9px #f8f6ff;color:#6652d8!important}
body .swal2-icon.swal2-info .swal2-icon-content,body .swal2-icon.swal2-question .swal2-icon-content{display:none!important}
body .swal2-icon.swal2-info::after,body .swal2-icon.swal2-question::after{content:"i";display:block;color:#6652d8;font:600 30px/47px var(--og-button-font)}
body .swal2-icon.swal2-question::after{content:"?"}
body .swal2-title{padding:0!important;margin:0 0 10px!important;color:var(--og-confirm-text)!important;font:700 25px/1.2 var(--og-button-font)!important;letter-spacing:-.035em}
body .swal2-html-container{margin:0!important;padding:0!important;color:var(--og-confirm-muted)!important;font:400 14px/1.55 var(--og-button-font)!important}
body .swal2-actions{gap:10px;margin:25px 0 0!important}
body .swal2-actions button{min-height:41px;margin:0!important;padding:10px 18px!important;border:0!important;border-radius:10px!important;background:var(--og-confirm-brand)!important;box-shadow:0 3px 8px #6c5ce735!important;color:#fff!important;font:600 14px/1.25 var(--og-button-font)!important}
body .swal2-actions .swal2-cancel{background:#f1f2f6!important;color:#4f5870!important;box-shadow:none!important}
body .swal2-popup:has(.swal2-success) .swal2-actions{width:100%}
body .swal2-popup:has(.swal2-success) .swal2-confirm{flex:1;background:var(--og-confirm-success)!important;box-shadow:none!important}
body .swal2-input,body .swal2-select,body .swal2-textarea{border:1px solid #dfe3ee!important;border-radius:10px!important;font:400 14px var(--og-button-font)!important}
body .swal2-popup.swal2-toast{width:min(410px,calc(100vw - 32px))!important;padding:16px!important;border-radius:16px!important}
body .swal2-popup.swal2-toast .swal2-icon{width:42px!important;height:42px!important;margin:0 12px 0 0!important;border:0!important;border-radius:12px!important;box-shadow:none!important}
body .swal2-popup.swal2-toast .swal2-icon.swal2-success{background-color:#e7f7ee!important;background-size:24px 24px!important}
body .swal2-popup.swal2-toast .swal2-title{font-size:16px!important;margin:0!important}
[data-theme="dark"] body .swal-modal,[data-theme="dark"] body .swal2-popup,body[data-theme="dark"] .swal-modal,body[data-theme="dark"] .swal2-popup{background:#24232e!important;color:#f0eff8!important}
[data-theme="dark"] body .swal-title,[data-theme="dark"] body .swal2-title,body[data-theme="dark"] .swal-title,body[data-theme="dark"] .swal2-title{color:#f0eff8!important}
[data-theme="dark"] body .swal-text,[data-theme="dark"] body .swal2-html-container,body[data-theme="dark"] .swal-text,body[data-theme="dark"] .swal2-html-container{color:#aaa8bb!important}
@media(max-width:570px){body .swal-modal,body .swal2-popup{padding:33px 22px 25px!important}body .swal-footer{flex-wrap:wrap}body .swal-button-container{flex:1}body .swal-button{width:100%}}
