/* Defesa Civil Digital - Central visual de notificacoes v2.4 */
:root{--dcn-bg:#050914;--dcn-card:#07101f;--dcn-line:rgba(111,174,255,.20);--dcn-blue:#55c8ff;--dcn-text:#f7f9ff;--dcn-muted:#b9c4d5;--dcn-danger:#ff6b78;--dcn-ok:#4ade80;--dcn-warn:#fbbf24}
.dcnotify-overlay,.swal2-container{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;background:rgba(1,5,12,.82)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}
.dcnotify-card,.swal2-popup{box-sizing:border-box!important;width:min(528px,calc(100vw - 32px))!important;max-width:528px!important;padding:28px!important;border:1px solid var(--dcn-line)!important;border-radius:28px!important;background:linear-gradient(145deg,#071522 0%,#06091a 65%,#2a1717 130%)!important;color:var(--dcn-text)!important;box-shadow:0 32px 100px rgba(0,0,0,.55)!important;font-family:inherit!important;text-align:left!important}
.dcnotify-brand{display:flex;align-items:center;gap:16px;margin-bottom:20px}.dcnotify-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;border-radius:22px;border:1px solid rgba(56,189,248,.48);background:rgba(3,105,161,.30);color:#9bdcff}.dcnotify-icon svg{width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dcnotify-eyebrow{margin:0 0 5px;color:#7dd3fc;font-size:12px;font-weight:900;letter-spacing:.22em}.dcnotify-title,.swal2-title{margin:0!important;padding:0!important;color:#fff!important;font-size:25px!important;line-height:1.12!important;font-weight:900!important;text-align:left!important}.dcnotify-body{border:1px solid rgba(148,163,184,.19);border-radius:22px;padding:20px;background:rgba(255,255,255,.045)}.dcnotify-message,.swal2-html-container{margin:0!important;padding:0!important;color:#d3dbe8!important;font-size:14px!important;line-height:1.65!important;text-align:left!important;overflow-wrap:anywhere}.dcnotify-actions,.swal2-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin:20px 0 0!important;padding:0!important}.dcnotify-btn,.swal2-styled{min-height:42px!important;margin:0!important;padding:0 18px!important;border-radius:12px!important;border:1px solid rgba(125,211,252,.28)!important;font:800 14px/1 inherit!important;cursor:pointer!important;box-shadow:none!important}.dcnotify-btn.primary,.swal2-confirm{background:#0877aa!important;color:#fff!important}.dcnotify-btn.secondary,.swal2-cancel{background:#111b2e!important;color:#e7eef9!important;border-color:rgba(148,163,184,.25)!important}.dcnotify-btn.danger{background:#7f1d2d!important;color:#fff!important;border-color:rgba(251,113,133,.35)!important}.dcnotify-card.success .dcnotify-icon{color:#86efac;border-color:rgba(74,222,128,.4);background:rgba(22,101,52,.24)}.dcnotify-card.error .dcnotify-icon{color:#fda4af;border-color:rgba(251,113,133,.4);background:rgba(127,29,29,.25)}.dcnotify-card.warning .dcnotify-icon{color:#fde68a;border-color:rgba(251,191,36,.4);background:rgba(120,53,15,.25)}
/* SweetAlert2: transforma o componente existente na mesma familia visual */
.swal2-popup{position:relative!important}.swal2-icon{margin:0 0 16px!important;transform:scale(.82);transform-origin:left center}.swal2-title:before{content:'DEFESA CIVIL DIGITAL';display:block;margin-bottom:8px;color:#7dd3fc;font-size:11px;font-weight:900;letter-spacing:.22em}.swal2-html-container{margin-top:14px!important;border:1px solid rgba(148,163,184,.19);border-radius:18px;padding:16px!important;background:rgba(255,255,255,.04)}.swal2-close{color:#94a3b8!important}.swal2-loader{border-color:#55c8ff transparent #55c8ff transparent!important}
@media(max-width:560px){.dcnotify-overlay,.swal2-container{padding:14px!important}.dcnotify-card,.swal2-popup{padding:22px!important;border-radius:22px!important}.dcnotify-title,.swal2-title{font-size:21px!important}}

/* v2.5 - Modais operacionais responsivos (Triagem / Agente / formulários) */
@media (min-width: 768px){
  .swal2-popup:has(input),
  .swal2-popup:has(textarea),
  .swal2-popup:has(select),
  .swal2-popup:has(table),
  .swal2-popup:has(.grid){
    width:min(1100px,94vw)!important;
    max-width:1100px!important;
    max-height:92vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .swal2-popup:has(input) .swal2-html-container,
  .swal2-popup:has(textarea) .swal2-html-container,
  .swal2-popup:has(select) .swal2-html-container,
  .swal2-popup:has(table) .swal2-html-container{
    max-height:none!important;
    overflow:visible!important;
  }
}
@media (max-width: 767px){
  .swal2-popup{width:calc(100vw - 20px)!important;max-width:none!important;padding:18px!important;border-radius:20px!important;max-height:94vh!important;overflow-y:auto!important}
}

/* Aviso não bloqueante de nova ocorrência */
.dc-occurrence-toast{position:fixed;right:22px;top:22px;z-index:2147483500;width:min(430px,calc(100vw - 28px));padding:16px 18px;border:1px solid rgba(85,200,255,.38);border-radius:18px;background:linear-gradient(145deg,#071522,#06091a);box-shadow:0 18px 60px rgba(0,0,0,.55);color:#fff;font-family:inherit;animation:dctoastin .25s ease-out}
.dc-occurrence-toast__top{display:flex;align-items:flex-start;gap:12px}.dc-occurrence-toast__icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:rgba(3,105,161,.32);border:1px solid rgba(85,200,255,.35);font-size:21px}.dc-occurrence-toast__title{font-size:15px;font-weight:900;letter-spacing:.02em;margin:1px 0 3px}.dc-occurrence-toast__text{font-size:13px;line-height:1.45;color:#cbd5e1}.dc-occurrence-toast__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.dc-occurrence-toast button{border:0;border-radius:10px;padding:8px 12px;font-weight:800;cursor:pointer}.dc-occurrence-toast__close{background:#172033;color:#dbeafe}.dc-occurrence-toast__open{background:#0877aa;color:#fff}@keyframes dctoastin{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media(max-width:560px){.dc-occurrence-toast{right:14px;top:14px}}

/* v2.6 - largura real dos modais de Triagem e Agente */
@media (min-width: 900px){
  .swal2-popup:has(#risco):has(#agente),
  .swal2-popup:has(#pessoas_atendidas):has(#relatorio_agente){
    width:min(1180px,94vw)!important;
    max-width:1180px!important;
    min-width:min(900px,94vw)!important;
    max-height:92vh!important;
    overflow:hidden!important;
  }
  .swal2-popup:has(#risco):has(#agente) .swal2-html-container,
  .swal2-popup:has(#pessoas_atendidas):has(#relatorio_agente) .swal2-html-container{
    width:100%!important;
    max-width:none!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  .swal2-popup:has(#risco):has(#agente) .swal2-input,
  .swal2-popup:has(#risco):has(#agente) .swal2-textarea,
  .swal2-popup:has(#pessoas_atendidas):has(#relatorio_agente) .swal2-input,
  .swal2-popup:has(#pessoas_atendidas):has(#relatorio_agente) .swal2-textarea{
    max-width:none!important;
    box-sizing:border-box!important;
  }
}
@media (min-width: 1280px){
  .swal2-popup:has(#risco):has(#agente),
  .swal2-popup:has(#pessoas_atendidas):has(#relatorio_agente){
    width:min(1280px,92vw)!important;
    max-width:1280px!important;
  }
}
