/* Aferium — acabamento de interface (Stage 96 · R16): detalhes de entrada, foco, animações e toques.
   Usa os tokens do tema; tudo respeita «reduzir movimento» (regra global do tema e a daqui). */
:where(html){-webkit-tap-highlight-color:transparent}
:where(button,[role="button"],a,input,select,textarea,label,summary){touch-action:manipulation}
::selection{background:color-mix(in srgb,var(--qf-ui-brand,#0d838c) 28%,transparent)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--qf-ui-brand,#0d838c);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){:where(html){scroll-behavior:smooth}}

/* ---------- entrada ---------- */
#qfLoginGate .qf-login-control input{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
/* 16 px nos dois campos: evita o zoom automático do iPhone e deixa e-mail e senha com o mesmo tamanho */
#qfLoginGate .qf-login-control input{font-size:16px}
#qfLoginGate input::placeholder{font-size:inherit;color:var(--qf-ui-text-3,#7b8aa0);opacity:.9;transition:opacity .16s ease}
#qfLoginGate input:focus::placeholder{opacity:.45}
/* o preenchimento automático do navegador pintava um bloco fora do desenho do campo */
#qfLoginGate input:-webkit-autofill,#qfLoginGate input:-webkit-autofill:hover,#qfLoginGate input:-webkit-autofill:focus{-webkit-text-fill-color:var(--qf-ui-text,#162235);caret-color:var(--qf-ui-text,#162235);-webkit-box-shadow:0 0 0 1000px var(--qfx-input-bg,transparent) inset;box-shadow:0 0 0 1000px var(--qfx-input-bg,transparent) inset;border-radius:inherit;transition:background-color 600000s ease-out 0s}
#qfLoginGate input:autofill{-webkit-text-fill-color:var(--qf-ui-text,#162235);box-shadow:0 0 0 1000px var(--qfx-input-bg,transparent) inset;border-radius:inherit}
/* mensagem de erro como aviso, não como texto solto */
#qfLoginGate .qf-login-error.show{display:flex;align-items:flex-start;gap:10px;margin:0 0 6px;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:600;line-height:1.4;color:var(--qf-ui-danger,#c0392b);background:var(--qf-ui-danger-soft,#fdecea);border:1px solid color-mix(in srgb,var(--qf-ui-danger,#c0392b) 32%,transparent);animation:qfxAlertIn .28s cubic-bezier(.2,.8,.2,1) both}
#qfLoginGate .qf-login-error.show::before{content:"";flex:none;width:18px;height:18px;margin-top:1px;background:currentColor;-webkit-mask:var(--qfx-ico-alert) center/contain no-repeat;mask:var(--qfx-ico-alert) center/contain no-repeat}
#qfLoginGate .qf-login-error.show[data-tone="info"]{color:var(--qf-ui-brand-text,#066a72);background:var(--qf-ui-brand-soft,#e3f5f5);border-color:color-mix(in srgb,var(--qf-ui-brand,#0d838c) 30%,transparent)}
#qfLoginGate .qf-login-error.show[data-tone="info"]::before{-webkit-mask-image:var(--qfx-ico-info);mask-image:var(--qfx-ico-info)}
:root{--qfx-ico-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7.5v5.5M12 16.6v.1'/%3E%3C/svg%3E");--qfx-ico-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 11v5.5M12 7.5v.1'/%3E%3C/svg%3E");--qfx-ico-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10.5' width='16' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3C/svg%3E");--qfx-ico-wifi-off:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8.8a15 15 0 0 1 4-2.6M22 8.8a15 15 0 0 0-9-3.7M5 12.9a10 10 0 0 1 3.5-2M19 12.9a10 10 0 0 0-4.2-2.4M8.5 16.4a5 5 0 0 1 7 0M12 20h.01M3 3l18 18'/%3E%3C/svg%3E")}
.qfx-shake{animation:qfxShake .38s cubic-bezier(.36,.07,.19,.97) both}
@keyframes qfxShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
@keyframes qfxAlertIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* botão de entrar: carregando, pressão e foco */
#qfLoginGate .qf-login-submit{position:relative;transition:transform .16s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}
#qfLoginGate .qf-login-submit:hover:not(:disabled){box-shadow:0 10px 24px color-mix(in srgb,var(--qf-ui-brand,#0d838c) 30%,transparent)}
#qfLoginGate .qf-login-submit:active:not(:disabled){transform:scale(.985)}
#qfLoginGate .qf-login-submit:disabled{opacity:.82;cursor:progress}
#qfLoginGate .qf-login-submit:disabled::before{content:"";flex:none;width:15px;height:15px;margin-right:10px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:qfxSpin .7s linear infinite}
html[data-qf-theme="dark"] #qfLoginGate .qf-login-submit:disabled::before{border-color:rgba(6,34,42,.35);border-top-color:#06222a}
@keyframes qfxSpin{to{transform:rotate(360deg)}}
/* aviso de Caps Lock */
.qfx-caps{display:flex;align-items:center;gap:8px;margin:7px 2px 0;font-size:12.5px;font-weight:600;color:var(--qf-ui-warning,#b7791f);animation:qfxAlertIn .2s ease both}
.qfx-caps[hidden]{display:none}
.qfx-caps::before{content:"";flex:none;width:15px;height:15px;background:currentColor;-webkit-mask:var(--qfx-ico-alert) center/contain no-repeat;mask:var(--qfx-ico-alert) center/contain no-repeat}
/* rodapé de segurança e entrada sem internet */
#qfLoginForm .demo-note.qf-login-foot:not(#qfOfflineEntryNote){display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:0;background:none;border:0;color:var(--qf-ui-text-3,#7b8aa0);font-size:12px}
#qfLoginForm .demo-note.qf-login-foot:not(#qfOfflineEntryNote)::before{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:var(--qfx-ico-lock) center/contain no-repeat;mask:var(--qfx-ico-lock) center/contain no-repeat}
#qfLoginForm .demo-note.qf-login-foot:not(#qfOfflineEntryNote) strong{font-weight:600;color:inherit}
#qfOfflineEntryNote:not([hidden]){display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.45;color:var(--qf-ui-text-2,#3b4a5f);background:var(--qf-ui-warning-soft,#fff4de);border:1px solid color-mix(in srgb,var(--qf-ui-warning,#b7791f) 35%,transparent);animation:qfxAlertIn .26s cubic-bezier(.2,.8,.2,1) both}
#qfOfflineEntryNote:not([hidden])::before{content:"";flex:none;width:18px;height:18px;margin-top:1px;color:var(--qf-ui-warning,#b7791f);background:currentColor;-webkit-mask:var(--qfx-ico-wifi-off) center/contain no-repeat;mask:var(--qfx-ico-wifi-off) center/contain no-repeat}
#qfOfflineEntryBtn:not([hidden]){display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:10px;padding:0 16px;border-radius:11px;border:1px solid var(--qf-ui-border,#d9e1e8);background:transparent;color:var(--qf-ui-text,#162235);font-weight:650;font-size:13px;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .16s ease}
#qfOfflineEntryBtn:not([hidden]):hover{background:var(--qf-ui-surface-soft,#f3f6f9);border-color:color-mix(in srgb,var(--qf-ui-brand,#0d838c) 45%,var(--qf-ui-border,#d9e1e8))}
#qfOfflineEntryBtn:not([hidden]):active{transform:scale(.985)}
/* revelar senha: estado visível e transição */
.qf-login-password-reveal{transition:color .16s ease,background-color .16s ease,transform .14s ease}
.qf-login-password-reveal[aria-pressed="true"]{color:var(--qf-ui-brand,#0d838c)}
.qf-login-password-reveal:active{transform:scale(.92)}

/* ================= Stage 101 · v1.67.0 — acabamento premium ================= */
/* Alinhamento: a barra de filtros (Documentos, PACs) somava duas margens e ficava fora do alinhamento do cartão */
body.qf221-ready.qf221-ready .section.qf-premium-module.qf-premium-module>.panel>.toolbar{margin-inline:0}
/* Selos e etiquetas nunca cortam o texto */
.qf-sec-block-head{flex-wrap:wrap;gap:8px 12px}
.qf-sec-editor{white-space:normal;max-inline-size:100%;line-height:1.3;text-wrap:balance}
/* Texto: títulos com quebra equilibrada e parágrafos sem linha órfã */
:where(.section h1,.section h2,.section h3,.panel-head h2,.qf-home-title){text-wrap:balance}
:where(.section p,.section .empty,.section .hint){text-wrap:pretty;overflow-wrap:anywhere}
.section .empty{overflow-wrap:anywhere;min-inline-size:0}
/* Troca de módulo com entrada suave (só opacidade: não cria camada que prenda janelas e menus fixos) */
@media (prefers-reduced-motion:no-preference){
  body.qf221-ready .section.active{animation:qfxSectionIn .26s ease-out both}
  @keyframes qfxSectionIn{from{opacity:0}to{opacity:1}}
}
/* Foco por teclado sempre visível e coerente nos dois temas */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--qf-ui-brand,#087e87);outline-offset:2px;border-radius:inherit}
/* Área de toque mínima no celular */
@media (pointer:coarse){
  body.qf221-ready :where(button,.btn,.mini-btn,select,input:not([type=checkbox]):not([type=radio]),summary){min-block-size:44px}
}
/* Barra de rolagem discreta e consistente (computador) */
@media (pointer:fine){
  *{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--qf-ui-text-3,#58697e) 45%,transparent) transparent}
}
/* Impressão limpa: sem menu, botões e atalhos */
@media print{
  .qfx-pal,.qfx-search-btn,.qfh-top-btn,.qf-theme-toggle,#qf221OpenMenu{display:none!important}
}

/* Topo no celular: o nome do módulo ganha o espaço (a marca já aparece na logo ao lado) */
@media (max-width:560px){
  #qf221MobileTop#qf221MobileTop{gap:6px;padding-inline:12px}
  #qf221MobileTop#qf221MobileTop .qf-v5-breadcrumb{min-inline-size:0;flex:1 1 auto}
  #qf221MobileTop#qf221MobileTop .qf-v5-breadcrumb small{display:none}
  #qf221MobileTop#qf221MobileTop .qf-v5-breadcrumb strong{display:block;font-size:15px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #qf221MobileTop#qf221MobileTop .qfh-top-btn,#qf221MobileTop#qf221MobileTop .qf-v5-menu-btn{inline-size:40px;block-size:40px;min-inline-size:40px;min-block-size:40px;margin-inline:0}
  #qf221MobileTop#qf221MobileTop .qf-theme-toggle-mobile{inline-size:36px;block-size:36px;min-inline-size:36px;min-block-size:36px}
}

/* ---------- Busca rápida (Ctrl/⌘ + K ou /) ---------- */
.qfx-search-btn{display:inline-grid;place-items:center;cursor:pointer}
.qfx-search-btn svg{inline-size:20px;block-size:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qfx-pal{position:fixed;inset:0;z-index:9500;display:grid;place-items:start center;padding:max(10vh,env(safe-area-inset-top)) 12px 12px;background:rgba(7,17,31,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.qfx-pal[hidden]{display:none}
.qfx-pal-box{inline-size:min(580px,100%);max-block-size:min(72dvh,600px);display:flex;flex-direction:column;overflow:hidden;color:var(--qf-ui-text,#182432);background:var(--qf-ui-surface,#fff);border:1px solid var(--qf-ui-border,#d9e2e7);border-radius:18px;box-shadow:0 28px 80px rgba(7,17,31,.38)}
@media (prefers-reduced-motion:no-preference){.qfx-pal:not([hidden]) .qfx-pal-box{animation:qfxPalIn .18s cubic-bezier(.2,.8,.2,1) both}@keyframes qfxPalIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}}
.qfx-pal-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-block-end:1px solid var(--qf-ui-border-soft,#e6ecef)}
.qfx-pal-head svg{flex:none;inline-size:20px;block-size:20px;stroke:var(--qf-ui-text-3,#58697e);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qfx-pal-input{flex:1;min-inline-size:0;font:inherit;font-size:16px;color:inherit;background:transparent;border:0;outline:0;padding:6px 2px}
.qfx-pal-input::placeholder{color:var(--qf-ui-text-3,#58697e)}
.qfx-pal-esc{flex:none;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 7px;border-radius:7px;color:var(--qf-ui-text-3,#58697e);background:var(--qf-ui-surface-muted,#eef3f5);border:1px solid var(--qf-ui-border,#d9e2e7)}
.qfx-pal-list{margin:0;padding:6px;list-style:none;overflow:auto;overscroll-behavior:contain}
.qfx-pal-group{padding:10px 12px 4px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--qf-ui-text-3,#58697e)}
.qfx-pal-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;cursor:pointer;min-block-size:46px}
.qfx-pal-item[aria-selected="true"]{background:var(--qf-ui-brand-soft,#e3f5f5);color:var(--qf-ui-brand-text,#066a72)}
.qfx-pal-item .qfx-pal-label{flex:1;min-inline-size:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qfx-pal-item .qfx-pal-kind{flex:none;font-size:11px;font-weight:700;color:var(--qf-ui-text-3,#58697e)}
.qfx-pal-item mark{background:transparent;color:inherit;font-weight:850;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.qfx-pal-empty{padding:26px 16px;text-align:center;color:var(--qf-ui-text-3,#58697e)}
.qfx-pal-foot{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 14px;font-size:12px;color:var(--qf-ui-text-3,#58697e);border-block-start:1px solid var(--qf-ui-border-soft,#e6ecef);background:var(--qf-ui-surface-soft,#f7f9fa)}
.qfx-pal-foot kbd{font:inherit;font-weight:800;padding:1px 6px;border-radius:6px;background:var(--qf-ui-surface,#fff);border:1px solid var(--qf-ui-border,#d9e2e7)}
@media (max-width:560px){.qfx-pal{padding-top:max(6vh,env(safe-area-inset-top))}.qfx-pal-foot .qfx-pal-hide-m{display:none}}

/* ---------- Modo fiscalização ---------- */
.qfm-ready{margin-block:0 16px}
.qfm-ready .panel-head{align-items:flex-start;gap:12px;flex-wrap:wrap}
.qfm-verdict{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:12px 0 8px;border-radius:14px;border:1px solid var(--qf-ui-border,#d9e2e7);background:var(--qf-ui-surface-soft,#f7f9fa)}
.qfm-verdict strong{display:block;font-size:1.05rem;color:var(--qf-ui-text-strong,#0b1622)}
.qfm-verdict small{display:block;margin-top:2px;color:var(--qf-ui-text-2,#42526a);font-size:.84rem;line-height:1.4}
.qfm-dot{flex:none;inline-size:16px;block-size:16px;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 18%,transparent)}
.qfm-verdict.ok{color:var(--qf-ui-success,#16794a);background:var(--qf-ui-success-soft,#edf8f2);border-color:color-mix(in srgb,var(--qf-ui-success,#16794a) 35%,transparent)}
.qfm-verdict.warn{color:var(--qf-ui-warning,#8a6116);background:var(--qf-ui-warning-soft,#fff7e8);border-color:color-mix(in srgb,var(--qf-ui-warning,#8a6116) 35%,transparent)}
.qfm-verdict.bad{color:var(--qf-ui-danger,#b42318);background:var(--qf-ui-danger-soft,#fff0ef);border-color:color-mix(in srgb,var(--qf-ui-danger,#b42318) 35%,transparent)}
.qfm-verdict .qfm-dot{background:currentColor}
.qfm-verdict>div{color:var(--qf-ui-text,#182432)}
.qfm-mini{margin:6px 2px 0;font-size:.86rem;color:var(--qf-ui-text-2,#42526a)}
.qfm{position:fixed;inset:0;z-index:9400;display:grid;place-items:center;padding:12px;background:rgba(7,17,31,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.qfm[hidden]{display:none}
.qfm-box{inline-size:min(1100px,100%);max-block-size:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;color:var(--qf-ui-text,#182432);background:var(--qf-ui-surface,#fff);border:1px solid var(--qf-ui-border,#d9e2e7);border-radius:20px;box-shadow:0 30px 90px rgba(7,17,31,.4)}
.qfm-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-block-end:1px solid var(--qf-ui-border-soft,#e6ecef)}
.qfm-head h2{margin:0;font-size:1.3rem}
.qfm-head p{margin:4px 0 0;color:var(--qf-ui-text-3,#58697e);font-size:.88rem}
.qfm-actions{display:flex;flex-wrap:wrap;gap:8px}
.qfm-body{padding:8px 20px 16px;overflow:auto;overscroll-behavior:contain}
.qfm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-block-start:10px}
.qfm-area{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;border:1px solid var(--qf-ui-border,#d9e2e7);border-inline-start-width:5px;background:var(--qf-ui-surface,#fff)}
.qfm-area.ok{border-inline-start-color:var(--qf-ui-success,#16794a)}
.qfm-area.warn{border-inline-start-color:var(--qf-ui-warning,#8a6116)}
.qfm-area.bad{border-inline-start-color:var(--qf-ui-danger,#b42318)}
.qfm-area header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.qfm-area h3{margin:0;font-size:1rem}
.qfm-area p{margin:0;color:var(--qf-ui-text-2,#42526a);font-size:.9rem}
.qfm-area ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.qfm-area li{display:grid;gap:1px;padding:7px 9px;border-radius:9px;background:var(--qf-ui-surface-soft,#f7f9fa);font-size:.85rem}
.qfm-area li span{color:var(--qf-ui-text-3,#58697e);font-size:.8rem}
.qfm-chip{flex:none;font-size:.72rem;font-weight:800;letter-spacing:.03em;padding:3px 9px;border-radius:999px}
.qfm-chip.ok{color:var(--qf-ui-success,#16794a);background:var(--qf-ui-success-soft,#edf8f2)}
.qfm-chip.warn{color:var(--qf-ui-warning,#8a6116);background:var(--qf-ui-warning-soft,#fff7e8)}
.qfm-chip.bad{color:var(--qf-ui-danger,#b42318);background:var(--qf-ui-danger-soft,#fff0ef)}
.qfm-go{align-self:flex-start;margin-block-start:auto;font:inherit;font-size:.84rem;font-weight:700;padding:8px 12px;border-radius:10px;cursor:pointer;color:var(--qf-ui-brand-text,#066a72);background:transparent;border:1px solid var(--qf-ui-border,#d9e2e7)}
.qfm-go:hover{background:var(--qf-ui-brand-soft,#e3f5f5)}
.qfm-foot{padding:11px 20px;border-block-start:1px solid var(--qf-ui-border-soft,#e6ecef);font-size:.8rem;color:var(--qf-ui-text-3,#58697e);background:var(--qf-ui-surface-soft,#f7f9fa)}
@media (prefers-reduced-motion:no-preference){.qfm:not([hidden]) .qfm-box{animation:qfxPalIn .2s cubic-bezier(.2,.8,.2,1) both}}
@media (max-width:560px){.qfm{padding:0;place-items:stretch}.qfm-box{max-block-size:100dvh;border-radius:0;border-inline:0}.qfm-head{padding:14px 14px 10px}.qfm-body{padding:6px 12px 14px}.qfm-actions{display:grid;grid-template-columns:1fr 1fr;inline-size:100%}#qfmPrint{grid-column:1/-1;order:-1}}
@media print{
  body.qfm-open>*:not(#qfFiscalMode){display:none!important}
  body.qfm-open #qfFiscalMode{position:static!important;display:block!important;padding:0;background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none}
  #qfFiscalMode .qfm-box{box-shadow:none;border:0;max-block-size:none;overflow:visible;color:#111}
  #qfFiscalMode .qfm-body{overflow:visible}
  #qfFiscalMode .qfm-actions,#qfFiscalMode .qfm-go{display:none!important}
  #qfFiscalMode .qfm-area{break-inside:avoid}
  #qfFiscalMode *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Painel Fiscal · calendário de vencimentos e próximas ações */
.qfm-agenda h3{margin:14px 0 8px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.75}
.qfm-buckets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.qfm-bucket{border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:2px}
.qfm-bucket strong{font-size:22px;line-height:1.1}
.qfm-bucket small{font-size:11px;opacity:.8}
.qfm-bucket.bad{border-color:#d64545;background:rgba(214,69,69,.1)}
.qfm-bucket.warn{border-color:#d9a21b;background:rgba(217,162,27,.1)}
.qfm-bucket.ok{border-color:#2f9e63;background:rgba(47,158,99,.1)}
.qfm-bucket.none{opacity:.55}
.qfm-todo{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.qfm-todo li{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:10px 12px}
.qfm-todo li div{min-width:0;display:flex;flex-direction:column;gap:2px}
.qfm-todo li b{overflow-wrap:anywhere}
.qfm-todo li span{font-size:12px;opacity:.8}
@media(max-width:640px){.qfm-buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.qfm-todo li{flex-direction:column;align-items:stretch}}
@media print{.qfm-todo .qfm-go{display:none}}

/* Regularização: vencido* com protocolo, substituição com histórico */
.qfm-btns{display:flex;gap:8px;flex-wrap:wrap}
.qfm-reg{color:var(--qf-ui-text-3,#58697e);font-size:.8rem}
.qfm-area li .qfm-reg-btn{margin-block-start:4px;justify-self:start}
@media(max-width:900px){.qfm-buckets{grid-template-columns:repeat(3,minmax(0,1fr))}}
.qfr{position:fixed;inset:0;z-index:9600;display:grid;place-items:center;padding:12px;background:rgba(7,17,31,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.qfr[hidden]{display:none}
.qfr-box{inline-size:min(620px,100%);max-block-size:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;color:var(--qf-ui-text,#182432);background:var(--qf-ui-surface,#fff);border:1px solid var(--qf-ui-border,#d9e2e7);border-radius:20px;box-shadow:0 30px 90px rgba(7,17,31,.4)}
.qfr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 10px}
.qfr-head h2{margin:0;font-size:1.2rem}
.qfr-head p{margin:2px 0 0;font-size:.85rem;color:var(--qf-ui-text-3,#58697e);overflow-wrap:anywhere}
.qfr-body{padding:6px 20px 20px;overflow:auto;display:grid;gap:12px}
.qfr-body h3{margin:6px 0 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;opacity:.75}
.qfr-item,.qfr-reg{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--qf-ui-surface-soft,#f7f9fa);border:1px solid var(--qf-ui-border,#d9e2e7)}
.qfr-item span,.qfr-reg span{font-size:.82rem;color:var(--qf-ui-text-3,#58697e);overflow-wrap:anywhere}
.qfr-reg{border-color:#d9a21b;background:rgba(217,162,27,.1)}
.qfr-lead{margin:0;font-weight:700}
.qfr-mini{margin:0;font-size:.82rem;color:var(--qf-ui-text-3,#58697e)}
.qfr-choices{display:grid;gap:10px}
.qfr-choice{text-align:start;font:inherit;display:grid;gap:3px;padding:14px;border-radius:14px;cursor:pointer;color:inherit;background:var(--qf-ui-surface,#fff);border:1.5px solid var(--qf-ui-border,#d9e2e7)}
.qfr-choice:hover,.qfr-choice:focus-visible{border-color:var(--qf-ui-brand-text,#066a72);background:var(--qf-ui-brand-soft,#e3f5f5)}
.qfr-choice span{font-size:.84rem;color:var(--qf-ui-text-3,#58697e)}
.qfr-f{display:grid;gap:4px;font-size:.88rem;font-weight:600}
.qfr-f input,.qfr-f textarea{font:inherit;font-weight:400;padding:10px 12px;border-radius:10px;border:1px solid var(--qf-ui-border,#d9e2e7);background:var(--qf-ui-surface,#fff);color:inherit;min-block-size:44px;inline-size:100%;box-sizing:border-box}
#qfrForm{display:grid;gap:12px}
.qfr-err{margin:0;padding:8px 10px;border-radius:10px;background:rgba(214,69,69,.12);color:#b42318;font-size:.85rem}
.qfr-actions{display:flex;gap:8px;flex-wrap:wrap}
.qfr-chain,.qfr-ev{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.qfr-chain li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--qf-ui-border,#d9e2e7);border-radius:12px}
.qfr-chain li div:first-child,.qfr-ev li{display:grid;gap:2px;min-width:0}
.qfr-ev li{padding:10px 12px;border:1px solid var(--qf-ui-border,#d9e2e7);border-radius:12px}
.qfr-chain span,.qfr-ev span{font-size:.8rem;color:var(--qf-ui-text-3,#58697e);overflow-wrap:anywhere}
.qfr-row{margin-block-start:8px;grid-column:1/-1}
.qfr-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.qfr-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:rgba(217,162,27,.16);border:1px solid #d9a21b;color:inherit}
.qfr-note{margin:4px 0;font-size:.82rem;color:var(--qf-ui-text-3,#58697e)}

body.qfr-open{overflow:hidden}
@media(max-width:560px){.qfr{padding:0;place-items:stretch}.qfr-box{max-block-size:100dvh;border-radius:0;border-inline:0}.qfr-body{padding:6px 14px 18px}.qfr-actions .btn{flex:1 1 100%}.qfr-chain li{flex-direction:column;align-items:stretch}}
@media print{.qfr,.qfr-inline{display:none!important}}

.qfr-head h2{white-space:nowrap}.qfr-head .btn{flex:none;min-block-size:44px}.qfr-head>div{min-width:0}
