/* Estilos das telas do grupo "sistema" (Painel de IA, Notificações, Manutenção de caixas).
   Usa só tokens de gp-tema.css. Base de lista/painel/pills vem de .cxl; aqui só o que é específico (.sis, .sis-*). */

.sis > * + * { margin-top: 14px; }
.sis .tnum { font-variant-numeric: tabular-nums; }
.sis [hidden] { display: none !important; }
.sis tbody tr.sis-lin { cursor: default; }
.sis tbody tr.sis-lin:hover td:first-child { box-shadow: none; }
.sis .svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.sis .nova svg, .sis .acao svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.sis .nova:disabled { opacity: .45; cursor: default; }
.sis .nova:disabled:hover { background: var(--accent); }
.sis .acao:disabled { opacity: .5; cursor: not-allowed; }
.sis .panel .ch .t { flex-wrap: wrap; }
.sis .ch .count { margin-left: 2px; }
.sis-so { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sis-sub { color: var(--muted); font-size: 13.5px; line-height: 1.5; margin: -8px 0 0; }
.sis-sub b { color: var(--ink); }

/* campos */
.sis-sel { height: 42px; min-width: 170px; border: 1px solid var(--line); background: var(--campo); color: var(--ink); border-radius: 12px; font: 500 14px "Inter", sans-serif; padding: 0 12px; }
.sis-sel:focus { outline: none; border-color: var(--accent); box-shadow: var(--focus); }
.sis .search > svg { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
.sis .search input[type=text] { width: 100%; }
.sis-barra .search { flex: 1 1 100% !important; }
.sis-barra .sis-sel { flex: 1 1 170px; }
.sis-barra { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 14px 22px; border-bottom: 1px solid var(--line); }
.sis-pb { padding: 18px 22px; }

/* etiqueta neutra */
.sis-tag { display: inline-flex; align-items: center; gap: 6px; font: 600 12px "Inter", sans-serif; padding: 3px 10px; border-radius: 999px; background: var(--st-an-bg); color: var(--st-an); }
.sis-tag svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* interruptor */
.sis-sw { display: inline-flex; flex: none; }
.sis-sw input { appearance: none; width: 44px; height: 26px; border-radius: 999px; background: var(--gray-300); position: relative; cursor: pointer; border: 0; margin: 0; transition: background-color .15s; display: block; }
.sis-sw input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: translate .15s; }
.sis-sw input:checked { background: var(--accent); } .sis-sw input:checked::after { translate: 18px 0; }
.sis-sw input:focus-visible { outline: none; box-shadow: var(--focus); }
.sis-sw.grande input { width: 48px; height: 28px; } .sis-sw.grande input::after { width: 22px; height: 22px; } .sis-sw.grande input:checked::after { translate: 20px 0; }
@media (prefers-reduced-motion: reduce) { .sis-sw input, .sis-sw input::after { transition: none; } }

/* ── Painel de IA ── */
.sis-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.sis-kpi { display: flex; gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); background: var(--surface); border-radius: 14px; box-shadow: var(--shadow); min-width: 0; }
.sis-kpi .ic { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; flex: none; background: var(--soft); color: var(--verde-txt); }
.sis-kpi .ic svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sis-kpi .ic.ia { background: var(--violeta-bg); color: var(--violeta); } .sis-kpi .ic.ok { background: var(--st-ok-bg); color: var(--st-ok); } .sis-kpi .ic.info { background: var(--st-an-bg); color: var(--st-an); }
.sis-kpi .t { font: 600 12.5px "Inter", sans-serif; color: var(--muted); }
.sis-kpi .v { font: 700 24px/1.1 "Poppins", sans-serif; margin-top: 2px; }
.sis-kpi .s { font-size: 12px; color: var(--faint); margin-top: 2px; }
.sis-grade { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); gap: 14px; align-items: start; }
.sis-grade > div { display: grid; gap: 14px; min-width: 0; }
@container tela (max-width: 1100px) { .sis-grade { grid-template-columns: 1fr; } }

.sis-regra { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: start; padding: 16px 22px; border-bottom: 1px solid var(--line); }
.sis-regra:last-child { border-bottom: 0; }
.sis-regra .sis-sw { padding-top: 2px; }
.sis-regra .tt { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sis-regra .tt b { font: 600 14.5px "Inter", sans-serif; }
.sis-regra p { font-size: 13.5px; color: var(--muted); margin-top: 5px; line-height: 1.5; max-width: 72ch; }
.sis-regra.off .tt b, .sis-regra.off p { color: var(--faint); }
.sis-regra .ac { display: flex; gap: 6px; }
.sis-ib { width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--line); background: transparent; color: var(--muted); display: grid; place-items: center; cursor: pointer; }
.sis-ib:hover { border-color: var(--accent); color: var(--ink); } .sis-ib.perigo:hover { border-color: var(--danger); color: var(--danger); }
.sis-ib:focus-visible { outline: none; box-shadow: var(--focus); }
.sis-ib svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

.sis-cfg { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 22px; border-bottom: 1px solid var(--line); }
.sis-cfg:last-child { border-bottom: 0; }
.sis-cfg b { display: block; font: 600 14px "Inter", sans-serif; }
.sis-cfg .d { display: block; font-size: 13px; color: var(--muted); margin-top: 4px; line-height: 1.5; }
.sis-cfg .d b { display: inline; color: var(--ink); font-size: inherit; }
.sis-mono { font: 600 13px ui-monospace, "SF Mono", monospace; letter-spacing: .02em; color: var(--ink); }
.sis-chave { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.sis-chave code { font: 600 14px ui-monospace, "SF Mono", monospace; background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; letter-spacing: .04em; }
.sis-nota { padding: 12px 22px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); background: var(--surface-2); }

.sis-lim { display: flex; align-items: center; gap: 12px; padding: 12px 22px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.sis-lim .n { flex: 1; min-width: 0; } .sis-lim .n b { display: block; font: 600 14px "Inter", sans-serif; overflow-wrap: anywhere; } .sis-lim .n small { color: var(--faint); font-size: 12px; }
.sis-lim .in { display: flex; align-items: center; gap: 6px; color: var(--muted); font-weight: 600; }
.sis-lim .in input { width: 76px; height: 40px; text-align: center; border: 1px solid var(--line); background: var(--campo); color: var(--ink); border-radius: 10px; font: 600 14px "Inter", sans-serif; font-variant-numeric: tabular-nums; }
.sis-lim .in input:focus { outline: none; border-color: var(--accent); box-shadow: var(--focus); }
.sis-lim.erro .in input { border-color: var(--danger); }
.sis-lim .m { font-size: 12.5px; min-width: 64px; color: var(--st-ok); font-weight: 600; display: flex; align-items: center; gap: 4px; opacity: 0; transition: opacity .2s; }
.sis-lim .m.on { opacity: 1; } .sis-lim .m svg { width: 14px; height: 14px; stroke-width: 2.4; }
.sis-lim .e { display: none; flex-basis: 100%; color: var(--danger); font-size: 12.5px; }
.sis-lim.erro .e { display: block; }

/* ── Notificações ── */
.sis-mestre { display: flex; align-items: center; gap: 16px; padding: 18px 22px; }
.sis-mestre .ic { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: var(--st-ok-bg); color: var(--st-ok); flex: none; transition: background-color .15s; }
.sis-mestre .ic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
#sis-nt-mestre.off .sis-mestre .ic { background: var(--surface-2); color: var(--faint); }
.sis-mestre .tx { flex: 1; min-width: 0; }
.sis-mestre .tx > b { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font: 600 16px "Poppins", sans-serif; }
.sis-mestre .tx > span { display: block; font-size: 13.5px; color: var(--muted); margin-top: 4px; line-height: 1.5; max-width: 70ch; }
.sis-mestre .tx > span b { color: var(--ink); }
#sis-nt-corpo.off .sis-pb { opacity: .75; }
.sis-sect { font: 600 13px "Inter", sans-serif; color: var(--muted); margin: 2px 0 10px; }
.sis-canal { border: 1px solid var(--accent); box-shadow: inset 0 0 0 1px var(--accent); background: var(--soft); border-radius: 14px; padding: 14px 16px; display: grid; gap: 10px; max-width: 640px; }
.sis-canal .cab { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sis-canal .ci { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--surface); color: var(--verde-txt); flex: none; }
.sis-canal .ci svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sis-canal .cab b { flex: 1; font: 600 14.5px "Poppins", sans-serif; }
.sis-canal .cob { font-size: 13px; color: var(--muted); display: flex; align-items: flex-start; gap: 6px; }
.sis-canal .cob svg { margin-top: 2px; width: 14px; height: 14px; }
.sis-canal .cob.w { color: var(--st-wait); }
.sis-canal > .d { font-size: 13px; color: var(--muted); line-height: 1.5; }
.sis-msgs { display: grid; gap: 8px; }
.sis-msg { border: 1px solid var(--line); background: var(--surface); border-radius: 10px; padding: 10px 12px; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.sis-msg i { font-style: normal; display: block; font: 600 11.5px "Inter", sans-serif; color: var(--faint); margin-bottom: 2px; } .sis-msg b { color: var(--ink); font-weight: 600; }
.sis-tres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: start; }
.sis-tres .campo input { font-variant-numeric: tabular-nums; }
.sis-un { position: relative; } .sis-un input { padding-right: 52px !important; }
.sis-un span { position: absolute; right: 14px; top: 50%; translate: 0 -50%; color: var(--muted); font-size: 13px; pointer-events: none; }
.sis .mm .campo input[type=time], .sis .mm .campo input[type=date] { width: 100%; }
.sis .mm .campo.erro input { border-color: var(--danger); }
.sis-pb .sis-aviso { margin-top: 14px; }
.sis-tl { padding: 6px 4px 0; margin-top: 6px; }
.sis-tl .trilho { position: relative; height: 10px; border-radius: 999px; margin: 46px 14px 40px; background: linear-gradient(90deg, var(--accent) 0 var(--pz), var(--danger) var(--pz) 100%); }
.sis-tl .no { position: absolute; top: 50%; translate: -50% -50%; }
.sis-tl .pt { display: block; width: 14px; height: 14px; border-radius: 50%; background: var(--surface); border: 3px solid var(--accent); }
.sis-tl .pt.at { border-color: var(--danger); } .sis-tl .pt.mk { width: 20px; height: 20px; border-width: 4px; }
.sis-tl .cap { position: absolute; left: 50%; translate: -50% 0; white-space: nowrap; text-align: center; font: 700 14px "Poppins", sans-serif; }
.sis-tl .cap small { display: block; font: 500 12px "Inter", sans-serif; color: var(--muted); }
.sis-tl .cap.cima { bottom: 20px; } .sis-tl .cap.baixo { top: 20px; }
.sis-tl .leg { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--muted); padding: 0 4px 4px; }
.sis-tl .leg span { display: inline-flex; align-items: center; gap: 8px; } .sis-tl .leg b { width: 22px; height: 6px; border-radius: 99px; display: inline-block; }
.sis-horas { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.sis-horas .l { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; flex-wrap: wrap; }
.sis-horas .l > span:first-child { min-width: 118px; color: var(--muted); font-weight: 600; font-size: 13px; padding-top: 3px; }
.sis-horas .hs { display: flex; flex-wrap: wrap; gap: 6px; }
.sis-horas .hs i { font-style: normal; font: 600 12.5px "Inter", sans-serif; font-variant-numeric: tabular-nums; border-radius: 8px; padding: 3px 9px; background: var(--soft); color: var(--verde-txt); }
.sis-horas .hs i.at { background: var(--danger-bg); color: var(--danger); } .sis-horas .hs i.mais { background: none; color: var(--muted); }
.sis-horas .nota { color: var(--muted); font-size: 13px; }
.sis-salvar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px 22px; border-top: 1px solid var(--line); background: var(--surface-2); }
.sis-salvar .st { font-size: 13px; color: var(--muted); display: flex; align-items: center; gap: 8px; min-height: 30px; }
.sis-salvar .bt { display: flex; gap: 8px; }
.sis .meta-rot { display: none; color: var(--faint); font-weight: 600; font-size: 12.5px; }

/* ── Avisos (usados também nos modais) ── */
.sis-aviso { display: flex; gap: 12px; align-items: flex-start; padding: 14px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.sis-aviso > svg { width: 34px; height: 34px; padding: 8px; border-radius: 10px; background: var(--surface); flex: none; }
.sis-aviso b { display: block; font: 600 14.5px "Poppins", sans-serif; color: var(--ink); }
.sis-aviso span { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; line-height: 1.45; }
.sis-aviso.info > svg { background: var(--soft); color: var(--verde-txt); }
.sis-aviso.warn { border-color: var(--b-warn); background: var(--st-wait-bg); } .sis-aviso.warn > svg { color: var(--st-wait); }
.sis-aviso.bad { border-color: var(--b-danger); background: var(--st-inv-bg); } .sis-aviso.bad > svg { color: var(--st-inv); }
.sis-aviso[hidden] { display: none; }

/* ── Manutenção de caixas ── */
.sis-ctx { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); flex-wrap: wrap; }
.sis-ctx .av { width: 42px; height: 42px; border-radius: 12px; background: var(--soft); color: var(--verde-txt); display: grid; place-items: center; font: 700 14px "Poppins", sans-serif; flex: none; }
.sis-ctx .i { flex: 1; min-width: 200px; } .sis-ctx .i small { font-size: 12.5px; color: var(--muted); }
.sis-ctx .i b { display: flex; gap: 8px; align-items: center; font: 600 15px "Poppins", sans-serif; flex-wrap: wrap; }
.sis-ctx .i span { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; }
.sis-ctx .sis-sel { min-width: 240px; }
.sis-ctx .cod { font: 600 12px "Inter", sans-serif; background: var(--st-an-bg); color: var(--st-an); border-radius: 999px; padding: 2px 9px; }
.sis-risco { border-color: var(--b-warn); }
.sis-selo { display: inline-flex; align-items: center; gap: 6px; font: 600 12px "Inter", sans-serif; padding: 3px 10px; border-radius: 999px; }
.sis-selo.rev { background: var(--soft); color: var(--verde-txt); } .sis-selo svg { width: 13px; height: 13px; stroke-width: 2.2; }
.sis-form-in { display: grid; grid-template-columns: minmax(300px, 440px) 1fr; gap: 14px 32px; align-items: start; }
.sis-form-in .col { display: grid; gap: 14px; }
@container tela (max-width: 1000px) { .sis-form-in { grid-template-columns: 1fr; } }
.sis .mm .campo small.inl { display: inline; font-weight: 500; margin: 0; }
.sis .mm .previa.warnx { background: var(--st-wait-bg); border-color: var(--b-warn); color: var(--ink); }
.sis-btn-sec-perigo, .sis-btn-perigo { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 12px; font: 600 14px "Inter", sans-serif; cursor: pointer; justify-self: start; }
.sis-btn-sec-perigo { border: 1px solid var(--danger); background: transparent; color: var(--danger); }
.sis-btn-sec-perigo:hover { background: var(--danger-bg); }
.sis-btn-sec-perigo:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(180,35,35,.3); }
.sis-passos { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 13px; color: var(--muted); line-height: 1.5; }
.sis-passos li { display: flex; gap: 9px; align-items: flex-start; }
.sis-passos svg { width: 16px; height: 16px; fill: none; stroke: var(--st-ok); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; flex: none; }
.sis-passos li.n svg { stroke: var(--st-wait); }
.sis-passos b { color: var(--ink); font-weight: 600; }
.sis-selbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 22px; background: var(--soft); border-bottom: 1px solid var(--line); font-size: 13.5px; flex-wrap: wrap; }
.sis .acao.primaria { background: var(--accent); color: #1A1A18; }
.sis td.ck, .sis th.ck { width: 1%; padding-right: 0; }
.sis td.ck input, .sis .sis-lbl-ck input { width: 18px; height: 18px; accent-color: var(--accent); cursor: pointer; }
.sis .so-cel { display: none; }
.sis-lbl-ck { display: inline-flex; align-items: center; gap: 10px; min-height: 24px; }
.sis-lbl-ck b { font-weight: 600; }
.sis-acs { display: flex; gap: 8px; justify-content: flex-end; align-items: flex-start; flex-wrap: nowrap; }
.sis-acs .acao { white-space: nowrap; }
.sis .acao.sis-restaurar { border-color: var(--accent); color: var(--verde-txt); }
.sis .acao.sis-perigo { color: var(--danger); } .sis .acao.sis-perigo:hover { border-color: var(--danger); }
.sis .acao.sis-off:hover { border-color: var(--line); }
.sis-conf { font-size: 12.5px; color: var(--st-wait); display: flex; align-items: flex-start; gap: 6px; margin-top: 4px; max-width: 260px; white-space: normal; line-height: 1.35; }
.sis-conf svg { width: 14px; height: 14px; margin-top: 1px; }
.sis .vazio button.acao { display: inline-flex; }
.sis .empty .acao { display: inline-flex; }

/* modais (fora de .cxl): escopo .sis-m */
.modal:has(.sis-m) { max-width: 560px; }
.sis-m { display: grid; gap: 16px; }
.sis-m h5 { font: 600 13px "Inter", sans-serif; margin-bottom: 8px; color: var(--ink); }
.sis-resumo { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; font-size: 13.5px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); margin: 0; }
.sis-resumo dt { color: var(--muted); } .sis-resumo dd { margin: 0; font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
.sis-m .sis-aviso > svg, .sis-m .sis-passos svg, .sis-m .svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sis-m .sis-passos svg { stroke: var(--st-ok); } .sis-m .sis-passos li.n svg { stroke: var(--st-wait); }
.sis-m .svg, .sis-aviso .svg { width: 18px; height: 18px; }
.sis-m .pill { display: inline-flex; align-items: center; gap: 6px; font: 600 12px "Inter", sans-serif; padding: 4px 11px 4px 9px; border-radius: 999px; }
.sis-m .pill .d { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sis-m .pill.ok { background: var(--st-ok-bg); color: var(--st-ok); } .sis-m .pill.wait { background: var(--st-wait-bg); color: var(--st-wait); }
.sis-m .pill.an { background: var(--st-an-bg); color: var(--st-an); } .sis-m .pill.inv { background: var(--st-inv-bg); color: var(--st-inv); }
.sis-m .pill.reab { background: var(--laranja-bg); color: var(--laranja); } .sis-m .pill.ia { background: var(--violeta-bg); color: var(--violeta); }
.mm.sis-m .campo textarea { width: 100%; min-height: 110px; border: 1px solid var(--line); background: var(--campo); color: var(--ink); border-radius: 12px; font: 500 14px/1.5 "Inter", sans-serif; padding: 10px 14px; resize: vertical; }
.mm.sis-m .campo textarea:focus { outline: none; border-color: var(--accent); box-shadow: var(--focus); }
.mm.sis-m .campo.erro textarea { border-color: var(--danger); }
.mm.sis-m .campo .cont { float: right; font-weight: 500; color: var(--faint); font-size: 12px; }
.sis-m .campo .msg { display: none; } .sis-m .campo.erro .msg { display: block; }
.modal:has(.sis-m) .modal-footer { flex-wrap: wrap; }
#modal-footer .btn:disabled { opacity: .4; cursor: not-allowed; }

/* ── celular / conteúdo estreito ── */
@container tela (max-width: 760px) {
  .sis-barra { padding: 12px 16px; } .sis-pb { padding: 16px; }
  .sis-barra .search { flex-basis: 100%; } .sis-barra .sis-sel { flex: 1; min-width: 0; height: 44px; }
  .sis-kpis { grid-template-columns: 1fr 1fr; } .sis-kpi { flex-direction: column; align-items: flex-start; gap: 8px; }
  .sis-regra { grid-template-columns: auto 1fr; padding: 14px 16px; } .sis-regra .ac { grid-column: 1 / -1; justify-content: flex-end; }
  .sis-cfg { flex-direction: column; padding: 14px 16px; } .sis-nota { padding: 12px 16px; }
  .sis-lim { padding: 10px 16px; }
  .sis-mestre { padding: 16px; align-items: flex-start; } .sis-mestre .ic { display: none; }
  .sis-tres { grid-template-columns: 1fr; }
  .sis-salvar { padding: 14px 16px; } .sis-salvar .bt { width: 100%; } .sis-salvar .bt > * { flex: 1; justify-content: center; height: 44px; }
  .sis-horas .l > span:first-child { min-width: 100%; }
  .sis-tl .trilho { margin-left: 22px; margin-right: 22px; }
  .sis .mm .campo input:not([type=radio]):not([type=checkbox]) { height: 44px; }
  .sis .nova, .sis-btn-sec-perigo { width: 100%; justify-content: center; height: 44px; }
  .sis .ch .nova { width: auto; }
  .sis-ctx .sis-sel { flex: 1 1 100%; width: 100%; min-width: 0; height: 44px; }
  .sis-ctx .i { min-width: 0; flex: 1 1 calc(100% - 70px); }
  .sis-selbar { padding: 10px 16px; }
  .sis .acao { min-height: 40px; }
  .sis .meta-rot { display: inline; }
  /* tabela de lojas (notificações) e lixeira viram cartões; as classes gerais de .cxl já cuidam do resto */
  .sis td.nt-l { grid-column: 1; grid-row: 1; } .sis td.nt-a { grid-column: 2; grid-row: 1; text-align: right; } .sis td.nt-s { grid-column: 1 / -1; grid-row: 2; margin-top: 6px; }
  .sis td.ck { display: none; } .sis .so-cel { display: inline-block; } .sis-lbl-ck input { width: 22px; height: 22px; } .sis-lbl-ck { min-height: 40px; }
  .sis td.mc-d { grid-column: 1; grid-row: 1; } .sis td.mc-c { grid-column: 2; grid-row: 1; text-align: right; }
  .sis td.mc-s, .sis td.mc-e { grid-column: 1 / -1; } .sis td.mc-e { color: var(--muted); font-size: 13px; }
  .sis td.mc-a { grid-column: 1 / -1; margin-top: 4px; } .sis-acs { flex-wrap: wrap; justify-content: flex-start; }
  .sis .vazio { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 768px) {
  .modal:has(.sis-m) .modal-footer { flex-direction: column-reverse; }
  .modal:has(.sis-m) .modal-footer .btn { width: 100%; justify-content: center; min-height: 44px; }
}

/* ajustes de especificidade (ícone dos avisos, seletor de loja, alinhamento dos campos) */
.sis-aviso > svg.svg { width: 34px; height: 34px; padding: 8px; box-sizing: border-box; border-radius: 10px; flex: none; }
.sis-ctx .sis-sel { width: auto; flex: 0 0 280px; }
.sis .mm .campo label { line-height: 20px; }
.sis .mm .campo small.inl { font-size: 13px; line-height: 20px; }
@container tela (max-width: 760px) { .sis-ctx .sis-sel { flex: 1 1 100%; width: 100%; } }
.modal:has(.sis-m) .btn-danger { background: #C0392B; color: #fff; }
.modal:has(.sis-m) .btn-danger:hover { background: #A93226; }

/* Downloads: passos de instalação */
.sis-passos { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: passo; }
.sis-passos li { display: grid; grid-template-columns: 30px 1fr; column-gap: 14px; align-items: start; counter-increment: passo; }
.sis-passos li::before { content: counter(passo); grid-row: span 2; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--st-ok-bg); color: var(--st-ok); font: 600 14px "Poppins", sans-serif; }
.sis-passos li b { font: 600 14.5px "Inter", sans-serif; color: var(--ink); }
.sis-passos li span { font-size: 13.5px; color: var(--muted); line-height: 1.5; max-width: 68ch; }
.sis-mestre .nova { flex: none; text-decoration: none; }
@media (max-width: 640px) { .sis-mestre { flex-wrap: wrap; } .sis-mestre .nova { width: 100%; justify-content: center; } }
