:root{--bg:#0f1319;--card:#161c26;--bd:#232c3b;--tx:#e6e9ef;--mut:#8b95a7;--pos:#3fb950;--neg:#f85149}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:14px system-ui,sans-serif}
nav{display:flex;gap:18px;padding:14px 24px;border-bottom:1px solid var(--bd)}a{color:var(--tx);text-decoration:none}a.on{color:#58a6ff}
.grid{display:grid;grid-template-columns:340px 1fr;gap:16px;padding:16px 24px}.wrap{max-width:900px;margin:16px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px;margin-bottom:14px}
.mes{display:flex;justify-content:space-between;font-size:16px}.mes a{font-size:22px;padding:0 10px}
table{width:100%;border-collapse:collapse}td,th{padding:7px 4px;text-align:left;vertical-align:top}th{color:var(--mut);font-weight:400}
.r{text-align:right}.pos{color:var(--pos)}.neg{color:var(--neg)}small{color:var(--mut)}.lan tr{border-top:1px solid var(--bd)}
input,select,button,textarea{background:#0f1319;color:var(--tx);border:1px solid var(--bd);border-radius:8px;padding:8px;font:inherit}
button{cursor:pointer;background:#1f6feb;border:0}.f{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:10px}
.x,.st{background:none;padding:0 4px;font-size:16px}.st.pendente{color:var(--neg)}.st.agendado{color:#d29922}.st.confirmado,.st.conciliado{color:var(--pos)}
.box{max-width:320px;margin:12vh auto;display:grid;gap:10px;background:var(--card);padding:24px;border-radius:12px}summary{cursor:pointer}
@media(max-width:800px){.grid{grid-template-columns:1fr;padding:10px}}
@media print{nav,.noprint{display:none}body{background:#fff;color:#000}.card{border:0}}
textarea{resize:vertical}.obs{color:var(--mut);margin-top:4px;font-size:12px;max-width:640px}.obs summary{cursor:pointer}
[hidden]{display:none!important}
dialog{background:var(--card);color:var(--tx);border:1px solid var(--bd);border-radius:14px;padding:0;width:min(720px,94vw)}
dialog::backdrop{background:rgba(0,0,0,.65)}
.mh,.mf{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:16px}.mf{justify-content:flex-end;gap:8px}
.combo{display:flex;flex-wrap:wrap;gap:6px}.combo select{flex:1;min-width:0}.combo .novo{width:100%}
.mais{background:#238636;padding:0 12px;font-size:18px}.sec{background:#30363d}
.fab{position:fixed;right:24px;bottom:24px;border-radius:999px;padding:14px 24px;font-size:15px;font-weight:600;background:#00c896;color:#04201a;box-shadow:0 6px 20px rgba(0,0,0,.5);z-index:10}
@media print{.fab{display:none}}
.tb{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-bottom:10px}.sec{background:#30363d}
.sel{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;cursor:pointer}
.ck{display:none;width:18px;height:18px;margin:0;cursor:pointer}.sel:hover .ck,.ck:checked{display:block}.sel:hover .ic,.ck:checked~.ic{display:none}.ic{display:flex}
.cli{font-size:12px;color:#79c0ff;background:#1b2a3d;border-radius:6px;padding:1px 7px;margin-left:6px;font-style:italic}.ref{display:block;color:#d29922}
tr.alt{background:#1a212d}tr.dia td{border-top:1px dashed var(--bd);color:var(--mut)}
.dd{position:relative;display:inline-block}.dd summary{list-style:none;cursor:pointer;padding:2px 8px;font-size:18px}.dd summary::-webkit-details-marker{display:none}
.pop{position:absolute;right:0;top:100%;z-index:20;background:#1c2431;border:1px solid var(--bd);border-radius:10px;padding:6px;min-width:210px;box-shadow:0 8px 24px rgba(0,0,0,.5);text-align:left}
.pop form{margin:0}.pop button,.pop a{display:block;width:100%;text-align:left;background:none;padding:8px 10px;color:var(--tx);border-radius:6px;font-size:14px}.pop button:hover,.pop a:hover{background:#263041}
.pop label{display:flex;gap:8px;padding:8px 10px;cursor:pointer}
#selbar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:18px;align-items:center;background:#1c2431;border:1px solid var(--bd);border-radius:12px;padding:10px 18px;box-shadow:0 8px 24px rgba(0,0,0,.6);z-index:9}
@media print{#selbar,.tb{display:none}}
/* ===== Layout compacto ===== */
body{font-size:13px}nav{padding:10px 18px}
.grid{grid-template-columns:300px 1fr;gap:12px;padding:12px 18px}
.card{padding:10px 12px;margin-bottom:10px}.mes{font-size:14px}
aside table{font-size:12px}td,th{padding:3px 4px}
.lan td{padding:3px 6px;vertical-align:middle}.lan tr{border-top:0}.lan tr.l{height:44px}.lan tr.l:hover{background:#1a212d}
.lan b{font-weight:400;font-size:13px}.lan small{font-size:10px}.lan td.r{white-space:nowrap}
.pill{background:#212a38;border-radius:4px;padding:1px 6px;margin-right:6px;color:#c9d1d9}
.cli{font-size:11px;padding:0 6px;margin-left:8px}.rec{color:var(--mut);margin-right:10px}
.sel{width:22px;height:22px}.dd summary{font-size:16px;padding:0 6px}
tr.dia td{background:#171d27;border:0;color:var(--mut);font-size:12px;padding:8px 6px}
.fab{width:56px;height:56px;padding:0;font-size:32px;line-height:1;font-weight:400}
/* ===== Ajuste: lateral maior e lista mais junta ===== */
.grid{grid-template-columns:400px 1fr}
.mes{font-size:17px;padding:14px 16px}
aside table{font-size:14px}aside td,aside th{padding:6px 8px}
.lan{max-width:900px}.tb{max-width:900px}
.lan td:nth-child(1){width:1%;padding-right:0}
.lan td:nth-child(2){width:1%;white-space:nowrap;padding:0 10px 0 4px}
.lan td:nth-child(4){width:1%}
/* ===== Ajuste: tudo centralizado, folga fica nas laterais ===== */
.grid{grid-template-columns:400px minmax(0,900px);justify-content:center}
.lan{max-width:none;width:100%}.tb{max-width:none}
nav{padding-left:max(18px,calc((100% - 1312px)/2));padding-right:max(18px,calc((100% - 1312px)/2))}
@media(max-width:900px){.grid{grid-template-columns:1fr}}
/* ===== Marca e menu do usuário ===== */
.marca{font-size:17px;letter-spacing:.5px;margin-right:10px}
nav .user{margin-left:auto}.user summary{display:flex;align-items:center;gap:8px;border:1px solid #4b5563;border-radius:10px;padding:5px 12px;font-size:14px}
.av{display:inline-flex;width:24px;height:24px;border-radius:50%;background:#1f6feb;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.who{padding:8px 10px;border-bottom:1px solid var(--bd);margin-bottom:4px;display:flex;flex-direction:column}
.card.pos{border-color:#238636}.card.neg{border-color:#da3633}.chk{display:flex;gap:8px;padding:6px 0;cursor:pointer}
/* ===== Recorrência, atrasados e previsão ===== */
.parc{font-size:10px;background:#2b2250;color:#c4b5fd;border-radius:6px;padding:1px 7px;margin-left:8px}
.atrtag{font-size:10px;background:#3d1618;color:#ff7b72;border-radius:6px;padding:1px 7px;margin-left:8px}
.lan tr.l.atr .dt{color:#ff7b72}
.prev table{margin-top:6px}.prev tr.tot td{border-top:1px solid var(--bd);padding-top:6px}.atrbox{margin-top:8px;color:#ff7b72;background:#2a1416;border-radius:8px;padding:6px 10px;font-size:12px}
/* ===== Relatórios: gráfico SVG e barras ===== */
.ch{display:block;max-width:100%}.ch .g{stroke:#232c3b;stroke-width:1}.ch text{fill:#8b95a7;font-size:11px}.ch .e{fill:#3fb950}.ch .s{fill:#f85149}
.bar{height:6px;background:#232c3b;border-radius:3px;overflow:hidden;min-width:70px}.bar i{display:block;height:100%}.bar i.e{background:#3fb950}.bar i.s{background:#f85149}
.card tr.tot td{border-top:1px solid var(--bd)}.pill{display:inline-block;padding:3px 10px}
a.pill{background:#212a38;border-radius:999px;margin:0 4px 4px 0}
@media print{.noprint{display:none}}

/* ===== v5: busca, filtros de status, cadastros ===== */
nav .srch{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #4b5563;border-radius:10px;color:var(--tx)}
nav .srch:hover,nav .srch.on{background:#1c2431;color:#58a6ff;border-color:#58a6ff}nav .srch+.user{margin-left:0}
.card>.tb{margin:-2px 0 6px;padding-bottom:8px;border-bottom:1px solid var(--bd)}
.tb .stf{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid transparent;border-radius:8px}
.tb .stf .n{font-size:11px;color:var(--mut)}.tb .stf:hover{background:#1c2431}.tb .stf.on{background:#263041;border-color:#3b4658}
.tb.filtrando .stf:not(.on){opacity:.4}.tb .sep{width:1px;height:20px;background:var(--bd)}.tb .lim{font-size:12px;color:var(--mut)}
.vazio td{text-align:center;color:var(--mut);padding:18px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}@media(max-width:800px){.cols{grid-template-columns:1fr}}
.cols .card{margin:0}.cad{display:flex;align-items:center;gap:6px;padding:6px 4px;border-top:1px solid var(--bd)}.cad:first-of-type{border-top:0}
.cad .nm{flex:1;min-width:0}.cad.sub{padding-left:28px;font-size:13px}.cad.sub .nm:before{content:"↳ ";color:var(--mut)}
.cad.off .nm{color:var(--mut);text-decoration:line-through}.cad .acs{display:flex;align-items:center;gap:2px;white-space:nowrap}
.ib{background:none;border:0;padding:2px 7px;font-size:15px;color:var(--mut);border-radius:6px}.ib:hover{background:#263041;color:var(--tx)}
.ib.txt{font-size:12px}.inl{display:inline;margin:0}.tag{font-size:10px;background:#30363d;color:#c9d1d9;border-radius:6px;padding:1px 7px;margin-left:6px}
.sb{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sb input[name=q]{flex:1;min-width:200px}
.sb .dd summary{border:1px solid var(--bd);border-radius:8px;padding:8px 12px;font-size:14px}
.flts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:12px}
.flt{background:#10151d;border:1px solid var(--bd);border-radius:10px;padding:8px 10px}.flt>b{display:block;font-size:11px;font-weight:400;color:var(--mut);margin-bottom:6px}
.flt select,.flt input[type=date],.flt input[type=text]{width:100%}.flt .row{display:flex;gap:6px}.flt .row input{flex:1;min-width:0}
.flt .ckl{display:flex;flex-wrap:wrap;gap:4px 14px}.flt .ckl label{display:flex;gap:6px;align-items:center;cursor:pointer}
.res td{padding:7px 6px;vertical-align:middle;border-top:1px solid var(--bd)}.res td.r{white-space:nowrap}.res td.dt{white-space:nowrap}
.sum{display:flex;gap:18px;flex-wrap:wrap}.pg{display:flex;gap:10px;justify-content:center;margin-top:10px}

.tb .lim{margin-right:2px}.tb .stf .tx{font-size:13px}.tb{flex-wrap:wrap}

.pill.trf{color:#79c0ff;background:#1b2a3d}

/* ===== v5: navegação de período ===== */
.mes{align-items:center}.mes .per{flex:1;text-align:center;font-size:16px}.mtools{display:flex;gap:2px;align-items:center;margin-left:6px}
.mes a.ibt{font-size:inherit;padding:5px 7px;display:inline-flex;border-radius:8px;color:var(--mut)}.mes a.ibt:hover,.mtools .dd summary:hover{background:#1c2431;color:var(--tx)}
.mtools .dd summary{font-size:18px;padding:2px 7px;border-radius:8px;color:var(--mut)}
.mes .pop a{font-size:14px;padding:8px 10px}.mes .pop{font-size:14px}
.pf{display:grid;gap:6px;padding:8px 10px 6px;border-top:1px solid var(--bd);margin-top:4px}.pf label{display:grid;gap:2px}.pf input{width:100%}
.pf button{background:#1f6feb;text-align:center}

.atrb{display:inline-block;min-width:20px;text-align:center;background:#da3633;color:#fff;font-size:11px;font-weight:600;line-height:1.5;border-radius:6px;padding:0 6px;margin-right:6px}

.card>.tb{justify-content:flex-start}.tb .pop{right:auto;left:0}
/* filtros à esquerda; exportar e configurar à direita */
.card>.tb .sep{display:none}.card>.tb>.dd:first-of-type{margin-left:auto}.tb .pop{left:auto;right:0}

/* ícone de status centralizado na frente da data */
.lan td:nth-child(1){text-align:center;padding-left:8px;padding-right:2px;vertical-align:middle}.lan td:nth-child(1) .sel{display:flex;margin:0 auto}.lan td:nth-child(1) svg{display:block}
.lan td.dt{vertical-align:middle;line-height:22px}

.card.perigo{border-color:#da3633}

.lan tr.grp td,.lan tr.grp td:nth-child(1){background:#2a1416;color:#ff7b72;font-size:12px;padding:8px 10px;text-align:left;width:auto;white-space:normal}.lan tr.grp small{color:#b9847f}
/* ===== v5: busca no estilo "campos soltos" ===== */
.bsc{background:var(--card);border:1px solid var(--bd);border-radius:12px;margin-bottom:14px}
.bq{display:flex;align-items:center;gap:14px;padding:14px 20px;background:#131923;border-bottom:1px solid var(--bd);border-radius:12px 12px 0 0;color:var(--mut)}
.bq input{flex:1;background:transparent;border:0;border-bottom:2px solid var(--tx);border-radius:0;font-size:18px;padding:6px 2px;color:var(--tx)}.bq input:focus{outline:0;border-bottom-color:#00c896}
.bgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;padding:22px 26px}@media(max-width:700px){.bgrid{grid-template-columns:1fr}}
.fld label.l{display:block;font-size:11px;color:var(--mut);margin-bottom:2px}
.fld input:not([type=checkbox]),.fld select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--bd);border-radius:0;padding:8px 2px;font-size:15px;color:var(--tx)}
.fld input:focus,.fld select:focus{outline:0;border-bottom-color:#00c896}.fld select option,.fld select optgroup{background:var(--card)}
.fld .dd{display:block}.ms summary{display:block;list-style:none;border-bottom:1px solid var(--bd);padding:8px 18px 8px 2px;font-size:15px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms summary:after{content:"▾";position:absolute;right:2px;color:var(--mut)}.ms[open] summary{border-bottom-color:#00c896}
.ms .pop{left:0;right:0;min-width:0;max-height:260px;overflow:auto}.ms .pop label{align-items:center}.ms .pop svg{width:16px;height:16px}
.bfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;background:#10151d;border-radius:0 0 12px 12px}
.bfoot .dd summary{font-size:20px;padding:2px 8px;color:var(--tx)}.bfoot .pop{top:auto;bottom:100%;left:0;right:auto}
.bfoot .acts{display:flex;align-items:center;gap:20px}.bfoot .lmp{color:var(--tx)}
.bfoot .go{background:#00c896;color:#04201a;font-weight:600;font-size:15px;padding:11px 30px;border-radius:12px}

/* ===== valor sempre alinhado no fim da linha; ícone de tipo em coluna própria ===== */
.lan td.tpc{width:34px;text-align:center;padding:0 4px}.lan td.tpc .tp{display:inline-flex;vertical-align:middle}.lan td.tpc svg{display:block}
.lan td.vl{width:118px;min-width:118px;text-align:right;white-space:nowrap}
.lan td:nth-child(4){width:34px}

/* ===== v5: botão salvar no topo e aviso de aplicação ===== */
.btop{background:#00c896;color:#04201a;font-weight:600;padding:6px 18px;border-radius:10px}
.aviso{background:#2a2210;border:1px solid #6b5416;color:#e3b341;border-radius:8px;padding:8px 12px;font-size:13px}

.tb .nl{background:#00c896;color:#04201a;font-weight:600;padding:6px 14px;border-radius:10px;margin-right:10px}

.acp{margin-left:22px}.acp a{color:#58a6ff;font-size:11px}

/* ===== v5: só a lista rola; filtros alinhados ===== */
body.fixo{height:100vh;display:flex;flex-direction:column;overflow:hidden}
body.fixo>.grid{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}
body.fixo aside{overflow:auto;min-height:0}
body.fixo main{min-height:0;display:flex;flex-direction:column}
body.fixo .lcard{flex:0 1 auto;display:flex;flex-direction:column;min-height:0;margin-bottom:0}
body.fixo .lscroll{overflow:auto;min-height:0;flex:1 1 auto}
@media(max-width:900px){body.fixo{height:auto;overflow:auto;display:block}body.fixo aside,body.fixo .lscroll{overflow:visible}}
.tb .lim{font-size:13px}.tb .stf .lb{display:inline-flex;align-items:baseline;gap:4px}
/* ===== barras de rolagem discretas, no tema escuro ===== */
*{scrollbar-width:thin;scrollbar-color:#2a3446 transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#2a3446;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:#3b4658;background-clip:padding-box;border:2px solid transparent}
::-webkit-scrollbar-corner{background:transparent}
