/* Emissão NFS-e: página do módulo, quadro de notas, lotes por vencimento e controle. Identidade Cassini. */
.nfse-empty{padding:34px 22px;text-align:center;margin-bottom:18px;color:var(--muted)}.nfse-empty svg{width:30px;height:30px;color:var(--primary)}.nfse-empty h2{font-family:"Playfair Display",Georgia,serif;font-size:19px;margin:10px 0 6px;color:var(--ink)}.nfse-empty p{font-size:12px;max-width:520px;margin:0 auto}
.nfse-note{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--muted);line-height:1.6;padding:12px 22px;margin:0}.nfse-note svg{width:14px;height:14px;flex-shrink:0;margin-top:2px;color:var(--primary)}.nfse-note.full{grid-column:1/-1;padding:0}.nfse-top-notice{margin:18px 22px 6px}
.nfse-table td{font-size:11px;vertical-align:top}.nfse-table td small{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow-wrap:anywhere;white-space:normal}.nfse-table th.money{text-align:right}.nfse-table .table-primary{text-align:left;white-space:normal;overflow-wrap:anywhere}.nfse-table .badge{font-size:9px}.nfse-table input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px}.nfse-row-muted td{color:#a0adab}.nfse-row-muted strong,.nfse-row-muted .link-button{color:#a0adab}.nfse-row-current td{background:#f3f9f6}.nfse-item-message{color:var(--danger)}.nfse-negative{color:var(--danger)}
.nfse-filterbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid #edf1ef}.nfse-filter{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted);min-width:120px}.nfse-filter span{text-transform:uppercase;letter-spacing:.05em}.nfse-filter select,.nfse-filter input{min-height:36px;border:1px solid #e0e7e6;border-radius:7px;padding:7px 10px;background:#fff;color:#4b5f5f;font-size:11px;max-width:230px}.nfse-filterbar .search-box{min-width:220px;max-width:320px;flex:1}.nfse-filterbar .search-box input{min-height:36px}.nfse-filter-summary{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);padding-bottom:9px}
.nfse-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:16px 22px;border-bottom:1px solid #edf1ef;background:#fafcfc}.nfse-totals>div{display:flex;flex-direction:column;gap:3px;min-width:0}.nfse-totals span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.nfse-totals strong{font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.nfse-block{border-bottom:1px solid #edf1ef}.nfse-block-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 22px 10px}.nfse-block-heading h2{font-size:13px;color:#436a5d;display:flex;align-items:center;gap:8px}.nfse-block-heading p{margin-top:4px}.nfse-block-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px}
.nfse-settings{padding:23px 25px}.nfse-settings-head{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.nfse-settings-actions{display:flex;gap:9px;flex-wrap:wrap;margin:6px 0 10px}.nfse-settings .nfse-note{padding:12px 0 0}
.nfse-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:6px;border-top:1px solid #edf1ef}.nfse-check{margin-top:26px}
.nfse-summary{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:12px 14px;font-size:11px;color:var(--muted)}.nfse-summary strong{color:var(--ink);font-size:12px}
.nfse-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0 0 18px}.nfse-detail>div{min-width:0}.nfse-detail dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.nfse-detail dd{margin:0;font-size:12px;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}.nfse-section-title{font-size:13px;margin:18px 0 10px;color:#436a5d}
.nfse-list{list-style:none;margin:0;padding:0}.nfse-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #f0f3f1;font-size:11px}.nfse-list li:first-child{border-top:0}.nfse-list li span{min-width:0;overflow-wrap:anywhere}.nfse-list li span strong{display:block}.nfse-list li span small{display:block;color:var(--muted);margin-top:2px}.nfse-list .nfse-item-message{width:100%;font-size:10px}
.nfse-timeline{list-style:none;padding:0;margin:0}.nfse-timeline>li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding-bottom:16px;position:relative}.nfse-timeline>li:not(:last-child):before{content:"";position:absolute;left:12px;top:27px;bottom:0;width:1px;background:var(--line)}.nfse-timeline-dot{width:26px;height:26px;border-radius:50%;background:var(--canvas);color:var(--primary);display:flex;align-items:center;justify-content:center}.nfse-timeline-dot svg{width:13px;height:13px}.nfse-timeline-heading{display:flex;justify-content:space-between;gap:12px;font-size:11px}.nfse-timeline-heading span{color:var(--muted);white-space:nowrap}.nfse-timeline p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:4px;overflow-wrap:anywhere}
.nfse-templates-panel{padding-bottom:4px}.nfse-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;padding:20px 22px 8px}.nfse-template{border:1px solid #e2e9e6;border-radius:12px;background:#fff;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}.nfse-template.inactive{opacity:.65}.nfse-template-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.nfse-template h3{font-size:13px;overflow-wrap:anywhere}.nfse-template p{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.nfse-template-amount{font-size:18px;font-weight:650;margin-top:6px;font-variant-numeric:tabular-nums;color:#224e44}.nfse-template small{font-size:10px;color:var(--muted)}.nfse-template-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap}
.nfse-board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:14px;align-items:start}.nfse-column{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.nfse-column header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid #edf1ef}.nfse-column header h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#436a5d}.nfse-column-body{display:flex;flex-direction:column;gap:10px;padding:12px;max-height:70vh;overflow-y:auto}.nfse-column-empty{font-size:11px;color:var(--muted);text-align:center;padding:18px 6px}
.nfse-card{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;border:1px solid #e2e9e6;border-radius:10px;background:#fff;padding:12px;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.nfse-card:hover{border-color:var(--primary);box-shadow:0 6px 16px #20333b12}.nfse-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.nfse-card-top strong{font-size:12px;overflow-wrap:anywhere}.nfse-card-customer{font-size:11px;font-weight:600;overflow-wrap:anywhere}.nfse-card-service{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.nfse-card-bottom{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#51696a;margin-top:4px}.nfse-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.nfse-card-tags .badge{font-size:8px}.nfse-card-error{font-size:10px;color:var(--danger);line-height:1.4}
.nfse-batch{margin-top:20px}.nfse-progress{margin-top:16px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.nfse-due .nfse-filterbar{border-bottom:1px solid #edf1ef}
@media(max-width:1400px){.nfse-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.nfse-board{grid-template-columns:repeat(2,minmax(0,1fr))}.nfse-detail{grid-template-columns:1fr}}
@media(max-width:760px){.nfse-filterbar{padding:14px 18px}.nfse-filter{min-width:100%}.nfse-filter select,.nfse-filter input{max-width:none}.nfse-totals{grid-template-columns:1fr 1fr}.nfse-templates{grid-template-columns:1fr}.nfse-settings{padding:19px}}
@media(max-width:560px){.nfse-board{grid-template-columns:1fr}.nfse-block-actions{flex-direction:column;align-items:stretch}.nfse-block-actions .button{width:100%}}
/* Controle: NFS-e capturadas do Portal Nacional ou importadas (detalhe). */
.nfse-captured-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 20px;margin:0 0 14px}.nfse-captured-detail dt{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:3px}.nfse-captured-detail dd{margin:0;font-size:12px;color:var(--ink);overflow-wrap:anywhere}
/* Controle: contador Canceladas como botão (aplica o filtro) e valores riscados das canceladas. */
.nfse-total-button{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 10px;margin:-7px 0;cursor:pointer;font:inherit;color:inherit}.nfse-total-button:hover{border-color:var(--brand-gold)}.nfse-total-button.active{border-color:var(--danger);background:#fbf1f1}.nfse-total-button:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px}.nfse-totals-note{margin:0;padding:6px 22px 10px;font-size:10px;color:var(--muted);background:#fafcfc;border-bottom:1px solid #edf1ef}.nfse-cancelled-value s{color:var(--muted)}.nfse-table td>.badge+small{display:block;margin-top:3px;font-size:10px;color:var(--muted)}
