:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#213a2c;background:#f7faf8;font-size:15px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:13px max(20px,calc((100vw - 1250px)/2));background:#284533;color:white}header .brand{font-size:19px;font-weight:800;color:white;text-decoration:none;white-space:nowrap}header small{font-weight:400;font-size:10px;letter-spacing:3px}nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}nav a{color:#e5f2e9;text-decoration:none;padding:9px;border-radius:8px;font-size:13px}nav a:hover{background:#3e624c}.identity{font-size:12px;opacity:.8}main{max-width:1250px;margin:30px auto;padding:0 20px;min-height:70vh}h1{font-size:28px;letter-spacing:-.7px;margin:0 0 8px}h2{font-size:18px;margin:0 0 14px}h3{font-size:16px;margin:0 0 8px}p{line-height:1.55}.muted,small{color:#6d7d72}.card{background:white;padding:21px;border:1px solid #e2e9e3;border-radius:14px;box-shadow:0 2px 14px #28453308;margin:0 0 16px;min-width:0}.card p:last-child{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats span{display:block;color:#718275;font-size:13px}.stats strong{font-size:29px;display:block;margin-top:8px}label{display:block;font-size:13px;font-weight:650;color:#385340;margin:0 0 13px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cddbd0;border-radius:9px;font:inherit;font-size:14px;background:#fff;color:#253b2a;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #9ac4a3;border-color:#466e4f}button{border:0;border-radius:9px;padding:11px 16px;background:#284533;color:#fff;font:inherit;font-weight:700;cursor:pointer;margin-top:5px}button:hover{background:#3f6750}.outline{background:transparent;color:inherit;border:1px solid #c9dacd}.card .outline{color:#284533}button.danger{background:#a43f41}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e5ebe6;padding:10px;min-width:70px}th{color:#58705e;font-weight:700}td form{min-width:160px}.alert{background:#fff0eb;color:#822f23;border:1px solid #e9b7a6;padding:12px 15px;border-radius:10px;margin-bottom:15px}.actions{display:flex;gap:8px;flex-wrap:wrap}a{color:#27643e}.login{max-width:390px;margin:12vh auto}.login h1{font-size:34px}.login button{width:100%}code{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}footer{text-align:center;color:#829087;font-size:12px;padding:30px}@media(max-width:760px){header{padding:15px}header nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}nav a{white-space:nowrap}.identity{margin-left:auto}main{margin:20px auto;padding:0 12px}.card{padding:15px}.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}h1{font-size:24px}}
/* V1.1 mobile-first e Bootstrap 5; funcionalidades permanecem legíveis sem conexão ao CDN. */
body{background:#f5f7f5;color:#1b3023}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;min-width:0}.side{width:250px;min-width:250px;background:#244631;color:#fff;padding:25px 16px;display:flex;flex-direction:column;gap:5px;min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto}.side-brand{color:#fff;text-decoration:none;font-size:21px;font-weight:800;letter-spacing:.3px;margin:4px 8px 25px}.side-brand small{display:block;color:#d7e6d8;font-size:10px;letter-spacing:3px}.side-label{font-size:10px;letter-spacing:2px;color:#a9c6b0;font-weight:800;margin:20px 12px 5px}.side-link{color:#ecf7ee;text-decoration:none;padding:11px 12px;border-radius:10px;font-size:14px}.side-link:hover,.side-link:focus{color:#fff;background:#3f6550}.side-bottom{margin-top:auto;padding:20px 10px 0;font-size:12px}.side-bottom .btn{color:#fff;border-color:#a8bcab}.app-main main{max-width:1450px;margin:0 auto;padding-left:20px;padding-right:20px}.app-main header.mobile-top{background:#244631;padding:13px 16px;display:flex;align-items:center;justify-content:space-between}.mobile-top .brand{font-weight:800;color:#fff;text-decoration:none}.mobile-top .brand small{font-size:10px}.mobile-menu{background:#244631;padding:8px 16px 20px;position:absolute;z-index:50;left:0;right:0;box-shadow:0 10px 22px #122b1b55}.mobile-menu[hidden]{display:none!important}.mobile-menu a{display:block;color:#fff;padding:12px;text-decoration:none;border-bottom:1px solid #46634c}.mobile-menu form{margin-top:12px}.card{border-radius:17px!important;box-shadow:0 5px 25px #213a2c08!important;margin-bottom:14px}.btn{border-radius:10px;font-weight:650;padding:.65rem 1rem}.btn-success{background:#285438;border-color:#285438}.btn-success:hover{background:#1e452e;border-color:#1e452e}.btn-outline-success{color:#285438;border-color:#285438}.form-control,.form-select{border-radius:10px;min-height:44px;border-color:#d5dfd6;font-size:15px}.quick-sector{border:1px solid #e0e9e1;border-radius:12px;margin-bottom:10px;background:#fff}.quick-sector summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:17px;font-weight:750;list-style:none}.quick-sector summary::-webkit-details-marker{display:none}.quick-sector[open] .chev{transform:rotate(180deg)}.quick-content{border-top:1px solid #e8eee9;padding:16px}.save-bar{position:sticky;bottom:0;background:#fff;padding:15px;border:1px solid #e2e9e3;border-radius:15px;margin-top:15px;z-index:4;box-shadow:0 -4px 25px #213a2c12}.staff-line{padding:10px 0;border-bottom:1px solid #e6eee7}.table{font-size:14px}.table-responsive{max-width:100%}.card .form-label{margin-bottom:0}.card .form-label .form-control,.card .form-label .form-select{margin-top:7px}.app-main footer{padding:16px}.login{margin:8vh auto}.login .btn{width:100%}@media(max-width:991.98px){.app-main main{padding:14px!important}.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.save-bar{bottom:0}.card{padding:17px}}@media(min-width:992px){.side{display:flex!important}.mobile-top,.mobile-menu{display:none!important}}@media(max-width:575px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats strong{font-size:21px}.quick-content{padding:12px}.card{padding:15px!important}}
/* V1.2 — linhas rápidas receita/despesa, contraste e interação com toque. */
.ledger-head{display:flex;align-items:center;justify-content:space-between;font-size:.79rem;font-weight:800;letter-spacing:.07em;padding:7px 0 10px}
.ledger-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(105px,1fr) 42px;gap:8px;align-items:start;padding:9px 10px;margin-bottom:8px;border-radius:12px;background:#f3faf5;border-left:4px solid #21834b}
.ledger-expense{background:#fff5f5;border-left-color:#cc5058}
.ledger-row .form-control,.ledger-row .form-select{margin:0;min-height:44px;width:100%}.ledger-remove{height:44px;width:42px;padding:0;font-size:20px;margin:0}
.quick-sector .btn-outline-danger{color:#a33a43;border-color:#e4b1b6;background:#fff}.quick-sector .btn-outline-danger:hover{background:#a33a43;color:#fff}
@media(max-width:550px){.ledger-row{grid-template-columns:minmax(0,1fr) 42px;gap:7px}.ledger-row>div:first-child{grid-column:1 / -1}.ledger-row>.form-control{grid-column:1}.ledger-row>.ledger-remove{grid-column:2}.quick-sector summary{padding:15px}}
/* v1.3 — agenda, revisão, tabelas móveis e mensagens */
.page-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 20px}.page-title .btn{white-space:nowrap}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;margin-bottom:24px}.event-card{display:flex;flex-direction:column;min-height:210px;background:#fff;padding:19px;border:1px solid #e3eae4;border-radius:18px;box-shadow:0 6px 24px #24463109}.event-card h3{font-weight:750;line-height:1.35}.event-date{color:#365743;font-weight:700}.event-time{background:#f3f8f4;border-radius:9px;padding:9px 10px;color:#34523e;font-size:14px}.event-time small{display:block;margin-top:4px}.event-form{scroll-margin-top:20px}.event-form .form-label{width:100%}
.ledger-block{border:1px solid #dcebe0;border-radius:14px;background:#fff;padding:13px;margin-bottom:14px}.ledger-block-out{border-color:#f2dadb}.ledger-block .ledger-head{font-size:.85rem;padding:4px 0 12px}.ledger-column-head,.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,170px) 40px;gap:9px;align-items:start}.ledger-column-head{padding:0 3px 7px;font-size:11px;font-weight:700;color:#748176}.ledger-row{background:#f7faf8;border:1px solid #e5ede6;border-left:0;padding:8px;border-radius:9px}.ledger-block-out .ledger-row{background:#fffafa;border-color:#f2e4e5}.ledger-row .form-control,.ledger-row .form-select{margin:0;width:100%;min-height:43px}.ledger-remove{height:43px;width:40px;margin:0;padding:0;font-size:22px}.ledger-add{margin:7px 0 0;width:100%;background:#fff}.ledger-subtotal{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e6eee7;color:#617366;font-size:13px}.ledger-subtotal strong{font-size:16px;color:#237a43}.ledger-block-out .ledger-subtotal strong{color:#b33b45}
.review-list{display:grid;gap:12px}.review-card{background:#fff;border:1px solid #e2eae3;border-radius:17px;padding:19px;box-shadow:0 5px 22px #24463108}.review-amount{font-size:20px;white-space:nowrap}.review-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.review-meta span{font-size:12px;color:#63796a;background:#f2f7f3;border-radius:8px;padding:5px 9px}.review-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px solid #e9eee9}.review-actions form{margin:0}.review-actions button{margin:0}.modal{z-index:1100}.modal-backdrop{z-index:1090}
@media(max-width:600px){.event-card{min-height:0}.ledger-block{padding:9px}.ledger-column-head{display:none}.ledger-row{grid-template-columns:minmax(0,1fr) 42px;gap:8px}.ledger-row .ledger-name{grid-column:1/-1}.ledger-row>.form-control{grid-column:1}.ledger-row>.ledger-remove{grid-column:2}.review-actions>div{width:100%}.review-actions>div:last-child form{flex:1}.review-actions>div:last-child button{width:100%}.review-card{padding:14px}.page-title .btn{width:100%}}

/* V1.4: indicadores simples para o fechamento e auditoria por festa. */
.sector-summary{background:#fff;border:1px solid #e1eae3;border-radius:18px;padding:18px;box-shadow:0 5px 20px #1738230a}.sector-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.sector-summary-head h3{font-size:1.15rem;margin:0}.sector-metric,.sector-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ecf1ed}.sector-metric span,.sector-balance span{font-weight:650}.sector-metric small,.sector-balance small{display:block;font-weight:400;color:#718073;margin-top:3px}.sector-metric strong{white-space:nowrap;font-size:1rem}.sector-balance{background:#eef7f0;margin:12px -8px 0;padding:13px 8px;border-radius:11px;border:0}.sector-balance strong{font-size:1.25rem;white-space:nowrap}.audit-kpi{background:#f5f8f5;border:1px solid #e4ece4;border-radius:12px;padding:12px;min-height:84px}.audit-kpi small{display:block;color:#66796a;margin-bottom:7px}.audit-kpi strong{display:block;font-size:1.2rem;overflow-wrap:anywhere}.review-card textarea{width:100%}.review-card form{margin:0}.review-card details>summary{cursor:pointer;padding:10px;color:#265b3a;background:#f3f8f4;border-radius:10px}@media(max-width:575px){.sector-summary{padding:14px}.sector-summary-head{flex-wrap:wrap}.sector-metric strong{font-size:.95rem}.sector-balance strong{font-size:1.1rem}}
/* V1.5 — fechamento por etapas, indicadores e leitura rápida no celular */
.general-kpi{background:#fff;border:1px solid #dfebe2;border-radius:16px;padding:15px;min-height:97px;box-shadow:0 5px 20px #1738230a}
.general-kpi span{display:block;color:#5d7263;font-size:.78rem;font-weight:650;margin-bottom:9px}.general-kpi strong{display:block;font-size:clamp(1rem,2vw,1.35rem);overflow-wrap:anywhere}
.quick-sector summary{gap:10px}.quick-sector summary span:first-child{font-size:1.03rem}
.ledger-add{min-height:46px;border-style:dashed!important}.ledger-row{box-shadow:0 1px 3px #213a2c08}.ledger-block-income{background:#fcfffd}.ledger-block-out{background:#fffdfd}
.sector-balance{background:#e9f6ed}.sector-metric strong,.sector-balance strong{font-variant-numeric:tabular-nums}
.save-bar{border-color:#cfe4d4}.save-bar .btn{min-height:50px}
#staff-rows .staff-line{border:1px solid #e1eae3;border-radius:12px;padding:12px;margin-bottom:9px!important;background:#fbfdfb}
@media(max-width:575px){.general-kpi{padding:12px;min-height:87px}.quick-sector summary{padding:15px 12px}.staff-line .col-6{min-width:0}.ledger-row{padding:7px}}

/* V1.6: conferência simplificada e pagamento da equipe */
.sector-team{margin-top:1rem;padding-top:.85rem;border-top:1px solid #e7ede7}.sector-team-title{font-size:.8rem;font-weight:700;color:#305340;margin-bottom:.45rem}.sector-team-person{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid #f0f2f0;font-size:.88rem}.sector-team-person:last-child{border:0}.sector-team-person small{display:block;color:#65736b;font-size:.75rem;margin-top:.15rem}.sector-team-person .badge{white-space:normal;text-align:center}.staff-cash-check{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;font-size:.87rem}.staff-cash-check .form-check-input{margin:0;flex-shrink:0}@media(max-width:575px){.sector-team-person{align-items:flex-start;flex-direction:column;gap:.35rem}}

/* Agenda V1.7 */
.event-card{border:1px solid #dce8df;transition:box-shadow .18s,transform .18s}.event-card:hover{box-shadow:0 12px 30px #24463116;transform:translateY(-2px)}.event-card .btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}.event-date{font-size:.88rem;line-height:1.5}.event-card .badge{white-space:normal;text-align:center}.event-card .d-flex.mt-auto>.btn{min-width:0}.event-card .d-flex.mt-auto>.btn-outline-secondary{flex:0 0 auto}.event-card .event-time{margin-bottom:1rem}@media(max-width:420px){.event-card .d-flex.mt-auto{flex-wrap:wrap}.event-card .d-flex.mt-auto>.btn{flex:1 1 100%!important}}

/* Fechamento V1.8: observações e ações compactas, adaptadas ao celular */
.event-notes{background:#f9fbf9;border:1px solid #e1eae2;border-radius:15px;padding:18px}.event-notes textarea{min-height:145px;resize:vertical;background:#fff}.save-bar-event{display:flex;align-items:center;justify-content:space-between;gap:15px;border-color:#cfe1d2;box-shadow:0 -6px 24px #24463112;padding:15px 18px}.save-bar-event-info{display:flex;gap:11px;align-items:center;min-width:0}.save-bar-icon,.event-final-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:12px;background:#e4f3e8;color:#285438;font-size:22px;font-weight:700}.save-bar-event-info strong{display:block;font-size:14px;color:#244631}.save-bar-event-info small{display:block;color:#6d7d72;font-size:12px}.save-bar-event>.btn{width:auto!important;white-space:nowrap}.event-final-actions{background:linear-gradient(110deg,#f4faf5,#fff);border:1px solid #dae9dd;border-radius:18px;padding:20px;box-shadow:0 4px 18px #213a2c0b}.event-final-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.event-final-heading h2{font-size:17px;color:#244631}.event-final-heading p{font-size:13px;color:#607565}.event-final-actions form{margin:0}.event-final-button{width:100%;margin:0}.event-notes-preview{border-left:4px solid #285438!important}.event-notes-dot{height:10px;width:10px;background:#285438;border-radius:50%}.event-notes-text{white-space:normal;overflow-wrap:anywhere;color:#334c3b}.staff-cash-check .form-check-label{font-weight:700}@media(max-width:600px){.save-bar-event{align-items:stretch;flex-direction:column;gap:10px;padding:12px}.save-bar-event>.btn{width:100%!important}.event-notes{padding:12px}.event-final-actions{padding:16px}}

/* V1.9 — contraste e leitura rápida no celular */
.quick-sector{background:#edf5ee;border:1px solid #9dbca4;box-shadow:0 2px 9px #1c49310c}
.quick-sector:nth-child(even){background:#e9f0fa;border-color:#b4c7dc}
.quick-sector:nth-child(even) summary{color:#203f60}
.quick-sector summary{background:transparent;color:#19432a}
.quick-sector[open]>.quick-content{background:#f4f8f4;border-top:2px solid #a5c1ad;border-radius:0 0 12px 12px}
.quick-sector:nth-child(even)[open]>.quick-content{background:#f0f5fc;border-top-color:#b4c7dc}
.ledger-block-income{background:#e3f3e8;border-color:#8ec8a1}
.ledger-block-out{background:#fbe8e9;border-color:#e5abb0}
.ledger-block-income .ledger-row{background:#f3fcf5;border-left:4px solid #27854c}
.ledger-block-out .ledger-row{background:#fff4f4;border-left:4px solid #bb3b4a}
#staff-rows .staff-line{background:#e2ecfb;border:1px solid #91b0df;border-left:5px solid #285b9d;box-shadow:0 3px 10px #23496813;padding:15px;border-radius:13px}
#staff-rows .staff-line:nth-child(even){background:#d4e5fa}
#staff-rows .staff-line .form-control,#staff-rows .staff-line .form-select{background:#fff;border-color:#9cb8d9}
#staff-rows .staff-line .form-label{font-weight:650;color:#244564}
.staff-count-badge{display:inline-block;vertical-align:middle;margin-left:7px;padding:4px 10px;border-radius:30px;background:#245879;color:#fff;font-size:.75rem;font-weight:750;white-space:nowrap}
.optional-sector-tag{display:inline-block;margin-left:8px;padding:3px 8px;background:#dfe7f3;color:#2f526f;font-size:.7rem;border-radius:30px;font-weight:700}
.sector-summary{background:#f2f6fc;border-color:#b9c9dd}
.sector-summary:nth-child(even){background:#eff7f0}
.sector-metric{background:#fff;padding:12px;border-radius:10px;margin:8px 0;border:1px solid #d5e1dc}
.sector-balance{background:#d8f0df;border:1px solid #a3ccaf;padding:14px;margin:12px 0 0}
.general-kpi{background:#eef4fc;border-color:#a9c0d9}
.general-kpi:nth-child(even){background:#e9f4ec;border-color:#a8cdb4}
@media(max-width:575px){#staff-rows .staff-line{padding:12px}.staff-count-badge{margin:4px 0 0 4px}.quick-sector{margin-bottom:12px}}

/* V1.10 — Adquirência: painel recolhível em todos os setores */
.acquiring-rates,.acquiring-panel{background:#eaf0fb;border:1px solid #b5c9e8;border-radius:14px;overflow:hidden}
.acquiring-rates>summary,.acquiring-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:13px 15px;color:#25496f;list-style:none}
.acquiring-rates>summary::-webkit-details-marker,.acquiring-panel>summary::-webkit-details-marker{display:none}
.acquiring-rates>summary small,.acquiring-panel>summary small{font-weight:400;font-size:.78rem}
.acquiring-rate-card,.acquiring-provider{background:#fff;border:1px solid #c4d5ed;border-radius:12px;padding:12px}
.acquiring-provider+.acquiring-provider{margin-top:10px}
.acquiring-provider-title{font-weight:700;color:#25496f;margin-bottom:9px}
.acquiring-body{padding:0 13px 14px}
.acquiring-totals{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;background:#fff;border:1px solid #c4d5ed;border-radius:10px;padding:11px;margin-top:10px;font-size:.89rem}
@media(max-width:480px){.acquiring-totals{flex-direction:column}.acquiring-panel>summary{align-items:flex-start}}

/* V1.11 — menu em caixa alta e recebimento por linha de receita */
.side-link,.side-label,.mobile-menu a{text-transform:uppercase;letter-spacing:.035em;font-weight:650}
.payment-mini{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;background:#eaf0fa;border:1px solid #afc4e3;border-radius:10px;padding:9px;margin-top:2px}
.payment-mini[hidden]{display:none}
.payment-mini .payment-fee{grid-column:1/-1;font-size:.8rem;font-weight:600}
@media(max-width:420px){.payment-mini{grid-template-columns:1fr}.payment-mini .payment-fee{grid-column:1}}
/* V1.12 — cards de fechamento e edição no modal, mobile first */
.quick-compact-card{background:#f1f6f2;border:1px solid #cfdfd2;border-radius:18px;padding:1.1rem;box-shadow:0 5px 17px rgba(23,68,39,.055)}
.quick-compact-card h3{font-size:1.13rem;font-weight:800;color:#204a31}.quick-preview-list{border:1px solid #d9e3da;background:#fff;border-radius:12px;padding:.7rem;min-height:66px;max-height:230px;overflow-y:auto}
.quick-preview-entry{display:flex;justify-content:space-between;gap:1rem;padding:.45rem .15rem;border-bottom:1px solid #ebefeb;font-size:.89rem}.quick-preview-entry:last-child{border-bottom:0}.quick-preview-entry span{overflow-wrap:anywhere}.quick-preview-entry strong{white-space:nowrap}
.quick-card-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.7rem}.quick-card-totals span{border:1px solid #d3dfd4;border-radius:10px;padding:.55rem;background:#fff;color:#46554a;font-size:.72rem}.quick-card-totals strong{display:block;font-size:.94rem;overflow-wrap:anywhere}
.modal-content{border:0;border-radius:16px}.modal-header{background:#eaf2eb;border-bottom:1px solid #d2e0d4}.modal-footer{background:#f6f9f6;border-top:1px solid #e3ebe4}.modal-body{background:#fbfcfb}.modal .ledger-row-modal{display:block;background:#fff;border:1px solid #cedfd0;border-radius:12px;padding:.8rem;margin:.55rem 0}.ledger-row-modal .ledger-name,.ledger-row-modal .ledger-amount{width:100%;max-width:none;margin-bottom:.7rem}.ledger-row-modal .ledger-remove{width:100%;margin-top:.45rem}
.receipt-fields{background:#edf2fc;border:1px solid #cbd9f1;border-radius:12px;padding:.7rem;margin-top:.75rem}.receipt-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.65rem}.receipt-payment-grid label{display:block;color:#284c79}.receipt-payment-grid input{margin-top:.2rem}.receipt-fee-note{margin-top:.6rem;color:#a12b38;font-weight:700}
@media(max-width:575.98px){.modal-fullscreen-sm-down .modal-content{border-radius:0}.quick-card-totals strong{font-size:.82rem}.quick-preview-entry{font-size:.8rem}.quick-compact-card{padding:.85rem}.modal-body{padding:.9rem}}

/* Modais locais: independentes do JS/CDN externo, com apresentação mobile-first. */
.luppi-dialog-open{overflow:hidden!important}
.modal.luppi-local-modal,.modal.show[id^="sectorModal-"],.modal.show#staffModal{position:fixed;inset:0;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;z-index:1120;outline:0}
.modal.show[id^="sectorModal-"],.modal.show#staffModal{display:block!important}
.modal.show[id^="sectorModal-"] .modal-dialog,.modal.show#staffModal .modal-dialog{position:relative;pointer-events:auto;width:calc(100% - 24px);max-width:760px;margin:24px auto;display:flex;min-height:calc(100% - 48px);align-items:center}
.modal.show[id^="sectorModal-"] .modal-content,.modal.show#staffModal .modal-content{width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 16px 60px #15261b40}
.modal.show[id^="sectorModal-"] .modal-body,.modal.show#staffModal .modal-body{overflow:auto;flex:1;min-height:0}
.modal.show[id^="sectorModal-"] .modal-header,.modal.show#staffModal .modal-header,.modal.show[id^="sectorModal-"] .modal-footer,.modal.show#staffModal .modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px;gap:12px;flex-wrap:wrap}
.modal.show[id^="sectorModal-"] .btn-close,.modal.show#staffModal .btn-close{cursor:pointer;min-width:32px;min-height:32px}
.luppi-dialog-backdrop{position:fixed;inset:0;background:#061b10a3;z-index:1110}
@media(max-width:575.98px){
 .modal.show[id^="sectorModal-"] .modal-dialog,.modal.show#staffModal .modal-dialog{width:100%;max-width:none;min-height:100dvh;margin:0;align-items:stretch}
 .modal.show[id^="sectorModal-"] .modal-content,.modal.show#staffModal .modal-content{max-height:100dvh;min-height:100dvh;border-radius:0}
 .modal.show[id^="sectorModal-"] .modal-footer,.modal.show#staffModal .modal-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}


/* V1.14 — edição mais clara, contraste alto e controles acessíveis. */
:root{--luppi-forest:#133e2d;--luppi-green:#16633f;--luppi-green-ink:#104a2e;--luppi-rose:#921e34;--luppi-rose-ink:#74152a;--luppi-slate:#25384c;}
.quick-compact-card{background:#e0e9e2;border:1px solid #819e8a;box-shadow:0 6px 20px #173c2921;}
.quick-compact-card:nth-child(even){background:#e2e8ef;border-color:#91a1b5;}
.quick-preview-list{background:#fff;border-color:#9baea2;}
.quick-card-totals span{background:#f2f5f2;border-color:#a9baae;color:#233d2e;}
.quick-card-totals span:nth-child(2){background:#f8e8eb;border-color:#c5919d;color:#7b1a30;}
.quick-card-totals span:nth-child(3){background:#d5e9db;border-color:#80b494;color:#155436;}
.modal.show[id^="sectorModal-"] .modal-header,.modal.show#staffModal .modal-header{background:var(--luppi-forest);color:#fff;border-bottom:3px solid #1e8050;}
.modal.show[id^="sectorModal-"] .modal-header .modal-title,.modal.show#staffModal .modal-header .modal-title,.modal.show[id^="sectorModal-"] .modal-header .text-muted{color:#fff!important;}
.modal.show[id^="sectorModal-"] .modal-body,.modal.show#staffModal .modal-body{background:#e7ece8;}
.modal.show[id^="sectorModal-"] .modal-footer,.modal.show#staffModal .modal-footer{background:#dbe5dd;border-top:1px solid #9bafa1;}
.modal .ledger-row-modal{background:#fff;border:1px solid #90a69a;border-left:5px solid var(--luppi-green);box-shadow:0 2px 7px #1a3e2920;padding:1rem;}
.modal .ledger-rows[data-kind="expense"] .ledger-row-modal{border-left-color:var(--luppi-rose);}
.receipt-fields{background:#dce5ef;border:1px solid #8da5bb;color:var(--luppi-slate);}
.receipt-payment-grid label{color:#243b52;}
.receipt-total-readonly,.receipt-total-readonly:disabled{background:#c6d7c9!important;border:2px solid #518466!important;color:#10472d!important;font-weight:800!important;opacity:1!important;cursor:not-allowed;box-shadow:none!important;-webkit-text-fill-color:#10472d;}
.ledger-amount:has(.receipt-total-readonly)>.form-label{color:var(--luppi-green-ink);font-weight:800;}
/* O X não depende de sprites/imagens do Bootstrap, que podem ser bloqueados pela CSP. */
.modal.show[id^="sectorModal-"] .btn-close,.modal.show#staffModal .btn-close{appearance:none!important;-webkit-appearance:none!important;background:#fff!important;background-image:none!important;opacity:1!important;border:2px solid #fff!important;border-radius:10px!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;box-shadow:0 2px 7px #0003;color:#133e2d!important;flex:0 0 auto;}
.modal.show[id^="sectorModal-"] .btn-close::after,.modal.show#staffModal .btn-close::after{content:"×";font-size:30px;font-weight:700;line-height:1;color:#133e2d;}
.modal.show[id^="sectorModal-"] .btn-close:hover,.modal.show#staffModal .btn-close:hover{background:#f5dddd!important;border-color:#f5dddd!important;}
.modal.show[id^="sectorModal-"] .btn-close:focus-visible,.modal.show#staffModal .btn-close:focus-visible,.ledger-remove:focus-visible{outline:3px solid #e6b650!important;outline-offset:3px;}
.ledger-row-modal .ledger-remove{width:auto!important;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;float:right;margin:8px 0 1px auto!important;border:1px solid #bd6777;border-radius:10px;background:#f8e6e9;color:var(--luppi-rose-ink);font-size:.76rem;font-weight:800;letter-spacing:.04em;padding:5px 12px;cursor:pointer;box-shadow:0 1px 3px #66172c16;}
.ledger-row-modal .ledger-remove span:first-child{font-size:21px;line-height:1;}
.ledger-row-modal .ledger-remove:hover{background:#912338;color:#fff;border-color:#912338;}
.ledger-row-modal::after{content:"";display:table;clear:both;}
@media(max-width:575.98px){.modal .ledger-row-modal{padding:.8rem}.ledger-row-modal .ledger-remove{min-height:42px;padding:7px 14px;}}

/* V1.15: realocação por festa sem duplicar a equipe. */
.staff-line.staff-other-sector{border-left:4px solid #b0bac8!important;background:#f0f2f5!important;opacity:.82}.staff-line:not(.staff-other-sector){border-left:4px solid #187044!important;background:#e2f0e8!important}.staff-line select[name="staff_sector[]"]{background-color:#fff;font-weight:650;border:1px solid #53735e}.staff-line select[name="staff_sector[]"]:focus{box-shadow:0 0 0 .18rem rgba(24,112,68,.18)}

/* V1.17 — quadro geral da equipe, legível no celular e agrupado pelo cargo original. */
.staff-overview{background:#e1e8e3;border:1px solid #7a9a85;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px #153c281b}
.staff-overview-heading{background:#133e2d;color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.staff-overview-heading h3{font-size:1rem;font-weight:800;letter-spacing:.05em;margin:0;color:#fff}
.staff-overview-heading p{font-size:.8rem;color:#d8e7dc;margin:4px 0 0}
.staff-overview-badge{display:inline-block;background:#fff;color:#133e2d;font-size:.8rem;font-weight:800;border-radius:999px;padding:6px 11px}
.staff-overview-list{padding:10px 12px}
.staff-overview-role{font-size:.76rem;font-weight:800;letter-spacing:.05em;color:#204d34;padding:10px 6px 5px}
.staff-overview-person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #9ab2a1;border-radius:10px;margin-bottom:6px}
.staff-overview-person-detail{min-width:0;display:flex;flex-direction:column;gap:3px}
.staff-overview-person-detail strong{color:#183b28;font-size:.94rem;overflow-wrap:anywhere}
.staff-overview-person-detail small{color:#52685b;font-size:.76rem}
.staff-overview-person-value{color:#963141;white-space:nowrap;font-size:.9rem}
.staff-overview-empty{color:#52685b;margin:10px 5px}
.staff-overview-footer{background:#cadbcf;border-top:1px solid #87a894;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:#133e2d;font-weight:700}
.staff-overview-footer strong{font-size:1.12rem;color:#862336}
@media(max-width:575.98px){.staff-overview-heading{padding:13px}.staff-overview-person{padding:10px;gap:8px}.staff-overview-person-value{font-size:.84rem}.staff-overview-footer{font-size:.86rem}}

/* V1.19 — TEMA ESCURO & ELEGANTE | somente apresentação; nenhum cálculo/fluxo alterado. */
:root{--dark-bg:#0a1618;--dark-panel:#111f22;--dark-card:#17272b;--dark-raised:#213338;--dark-edge:#34494c;--dark-ink:#f2f8f6;--dark-muted:#b3c4c4;--dark-green:#14bd78;--dark-red:#ff6877;--dark-amber:#ffc15b;--bs-body-bg:#0a1618;--bs-body-color:#f2f8f6;--bs-border-color:#34494c}
html{background:var(--dark-bg);color-scheme:dark}
body{background:var(--dark-bg)!important;color:var(--dark-ink)!important}
body :is(h1,h2,h3,h4,h5,h6,p,strong,span,div,section,article,aside){border-color:inherit}
main,.app-main{color:var(--dark-ink)}
.side{background:linear-gradient(160deg,#071816 0%,#102923 65%,#0b191d 100%);border-right:1px solid #294b40;box-shadow:10px 0 36px #0002}
.side-brand{letter-spacing:.15em;font-weight:700}.side-brand small,.side-label{color:#95bbac}.side-link{color:#dceae4;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.side-link:hover,.side-link:focus-visible{color:#fff;background:#0c563b;border-color:#187c55;outline:0}.side-link[href*="dashboard"]:focus-visible{outline:2px solid var(--dark-green)}
.mobile-top,.app-main header.mobile-top{background:#0e2422!important;border-bottom:1px solid #286448}.mobile-menu{background:#102724!important;border-bottom:1px solid #286448}.mobile-menu a{border-color:#2a4941!important;color:#f2f8f6!important}.mobile-menu a:hover{background:#164934}
.card,.event-card,.review-card,.quick-compact-card,.quick-sector,.ledger-block,.stats>.card,.sector-summary,.sector-balance{background:var(--dark-panel)!important;color:var(--dark-ink)!important;border:1px solid var(--dark-edge)!important;box-shadow:0 8px 25px #02090955!important}
.quick-compact-card{border-left:5px solid var(--dark-green)!important}.quick-compact-card:nth-child(3n){border-left-color:var(--dark-amber)!important}.quick-compact-card:nth-child(4n){border-left-color:#fc7a64!important}.quick-compact-card:nth-child(5n){border-left-color:#aa6cff!important}
.quick-compact-card :is(h2,h3,h4),.card :is(h2,h3,h4),.event-card h3,.review-card h3{color:var(--dark-ink)!important}
.quick-preview-list,.quick-card-totals span,.staff-overview-person,.event-time,.event-notes,.review-meta span,.staff-line,.sector-team-person{background:var(--dark-card)!important;color:var(--dark-ink)!important;border:1px solid var(--dark-edge)!important}
.quick-preview-entry,.staff-line,th,td{border-bottom-color:var(--dark-edge)!important}
.quick-card-totals span{font-size:.78rem}.quick-card-totals span:nth-child(2){background:#2e2027!important;border-color:#71404e!important}.quick-card-totals span:nth-child(3){background:#123d30!important;border-color:#276e50!important}
.quick-card-totals :is(strong,span),.quick-preview-entry span,.quick-preview-entry strong{color:var(--dark-ink)}
.quick-card-totals span:nth-child(2) strong,.text-danger,.review-amount.text-danger{color:var(--dark-red)!important}
.quick-card-totals span:nth-child(3) strong,.text-success,.review-amount.text-success{color:#49e7a1!important}
.muted,small,.text-muted,.form-text,.event-time small,.sector-team-title,.review-meta,.ledger-column-head{color:var(--dark-muted)!important}
label,.form-label,.receipt-payment-grid label,.payment-mini label{color:#d6e5e2!important}
input,select,textarea,.form-control,.form-select{background:#1b2d32!important;color:#f8fbfa!important;border:1px solid #456064!important;box-shadow:none!important}
input::placeholder,textarea::placeholder,.form-control::placeholder{color:#9db5b7!important;opacity:1}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{background:#233a3e!important;color:#fff!important;border-color:#22c88a!important;outline:2px solid #13a87466!important;outline-offset:1px;box-shadow:0 0 0 2px #10b98128!important}
input:disabled,select:disabled,textarea:disabled,.form-control:disabled,.form-control[readonly]{background:#283d40!important;color:#e7f2ed!important;opacity:1!important}
input[type="checkbox"],input[type="radio"]{accent-color:#14bd78}.form-check-input:checked{background-color:#14bd78!important;border-color:#14bd78!important}
.btn,button{border-radius:10px!important;transition:background-color .15s,border-color .15s,transform .15s}.btn-success,button:not(.btn):not(.outline):not(.danger){background:#087b4e!important;color:#fff!important;border:1px solid #16aa71!important}.btn-success:hover,button:not(.btn):not(.outline):not(.danger):hover{background:#0a9661!important}.btn-outline-success,.ledger-add{background:#132c27!important;color:#7af2ba!important;border:1px solid #26a976!important}.btn-outline-success:hover{background:#0a784f!important;color:#fff!important}.btn-outline-primary{color:#95dfd1!important;border-color:#367971!important;background:#132a2b!important}.btn-outline-primary:hover{background:#1c6055!important;color:#fff!important}.btn-outline-secondary,.outline,.btn-light{color:#e2eeee!important;background:#213338!important;border:1px solid #577072!important}.btn-outline-secondary:hover,.outline:hover,.btn-light:hover{background:#304a4d!important;color:#fff!important}.btn-danger,button.danger{background:#a92a42!important;border-color:#ce4359!important;color:#fff!important}
a{color:#5bdfa5}a:hover{color:#9bf3c3}
.table,.table-striped,.table-hover,table{--bs-table-bg:transparent;--bs-table-color:var(--dark-ink);--bs-table-striped-bg:#1e3033;--bs-table-striped-color:var(--dark-ink);--bs-table-hover-bg:#29403f;--bs-table-hover-color:#fff;--bs-table-border-color:var(--dark-edge);color:var(--dark-ink)!important}th,td{color:inherit!important;border-color:var(--dark-edge)!important}th{color:#b5cfca!important;background:#17292b!important}tr:hover td{background:#213538}
.stats span{color:var(--dark-muted)!important}.stats strong{color:#f6fbf9!important}.event-date{color:#79e1ad!important}.event-time{color:#ccdfda!important}.badge{font-weight:750}.badge.bg-success{background:#087b4e!important}.badge.bg-secondary{background:#3a5155!important}
.alert{background:#39262a!important;color:#ffe1df!important;border-color:#9b5357!important}.alert-success{background:#133b30!important;color:#baf8d5!important;border-color:#287c5a!important}.alert-warning{background:#42331d!important;color:#ffe3a6!important;border-color:#a8772b!important}
.ledger-block-income,.ledger-row:not(.ledger-expense){background:#132d27!important;border-color:#2e6b50!important}.ledger-block-out,.ledger-expense{background:#2a1d23!important;border-color:#7b3445!important}.ledger-row,.modal .ledger-row-modal{background:var(--dark-card)!important;color:var(--dark-ink)!important;border:1px solid var(--dark-edge)!important;border-left:4px solid #168c5b!important}.ledger-rows[data-kind="expense"] .ledger-row-modal,.ledger-expense{border-left-color:#c64057!important}.ledger-head,.ledger-subtotal{color:#d3e2dd!important;border-color:var(--dark-edge)!important}.ledger-subtotal strong{color:#56e5a2!important}.ledger-block-out .ledger-subtotal strong,.receipt-fee-note{color:var(--dark-red)!important}.ledger-remove{background:#512331!important;color:#ffc2ca!important;border:1px solid #ad5160!important}.ledger-remove:hover{background:#a92a42!important;color:#fff!important}
.payment-mini,.receipt-fields,.acquiring-panel,.acquiring-body,.acquiring-totals{background:#1c3035!important;border-color:#456066!important;color:var(--dark-ink)!important}.receipt-total-readonly,.receipt-total-readonly:disabled{background:#124532!important;color:#8ff5bc!important;border-color:#237b54!important;opacity:1!important}
.staff-overview{background:#111f22!important;border-color:var(--dark-edge)!important}.staff-overview-heading{background:#123b30!important}.staff-overview-badge{background:#0c7148!important;color:#fff!important}.staff-overview-list{background:#111f22!important}.staff-overview-role{color:#80dcb2!important}.staff-overview-person{border-color:#345451!important}.staff-overview-person-detail strong{color:#f5faf7!important}.staff-overview-person-detail small{color:#abc7c0!important}.staff-overview-person-value{color:#ff8390!important}.staff-overview-empty{color:#b3c4c4!important}.staff-overview-footer{background:#17372e!important;color:#eef9f3!important;border-top-color:#2d6952!important}.staff-overview-footer strong{color:#ff8f9a!important}
.modal-content,.modal.show[id^="sectorModal-"] .modal-content,.modal.show#staffModal .modal-content{background:#132428!important;color:var(--dark-ink)!important;border:1px solid #43615e!important;box-shadow:0 22px 70px #000b!important}
.modal-header,.modal.show[id^="sectorModal-"] .modal-header,.modal.show#staffModal .modal-header{background:#0e3029!important;color:#fff!important;border-bottom:1px solid #2b7457!important}
.modal-header .modal-title,.modal-header .text-muted{color:#fff!important}.modal-body,.modal.show[id^="sectorModal-"] .modal-body,.modal.show#staffModal .modal-body{background:#132428!important;color:#ecf7f2!important}.modal-footer,.modal.show[id^="sectorModal-"] .modal-footer,.modal.show#staffModal .modal-footer{background:#102025!important;border-top:1px solid #35544f!important}
.modal .btn-close,.modal.show[id^="sectorModal-"] .btn-close,.modal.show#staffModal .btn-close{background:#e9f3ef!important;background-image:none!important;border:1px solid #96b4a7!important;opacity:1!important;display:flex!important;align-items:center;justify-content:center;color:#132c26!important;width:36px;height:36px;min-width:36px;padding:0;border-radius:9px!important}
.modal .btn-close::after,.modal.show[id^="sectorModal-"] .btn-close::after,.modal.show#staffModal .btn-close::after{content:'×'!important;color:#132c26!important;font-size:27px;line-height:1;font-weight:800}
.modal-backdrop.show,.luppi-dialog-backdrop{background:#020908!important;opacity:.78!important}
.save-bar,.save-bar-event,.event-final-actions{background:#102322!important;color:var(--dark-ink)!important;border:1px solid #31574c!important;box-shadow:0 -5px 30px #0008!important}.general-kpi{background:#162e29!important;color:#f5fff9!important;border-color:#2b7654!important}.general-kpi *{color:inherit}
/* inline legacy light surfaces: preserve text contrast in both desktop/mobile previews */
.card [style*="background:#fff"],.card [style*="background: #fff"]{color:#172e25}
*:focus-visible{outline:2px solid #70f0b0;outline-offset:2px}
@media(max-width:991.98px){.app-main main{padding:14px!important}.quick-compact-card{padding:14px!important}.quick-card-totals{gap:6px}.quick-card-totals span{min-width:0;overflow-wrap:anywhere}.modal.show[id^="sectorModal-"] .modal-content,.modal.show#staffModal .modal-content{border-radius:0!important}.save-bar,.save-bar-event{bottom:0}}
@media(max-width:575px){.quick-card-totals strong{font-size:.85rem!important}.quick-preview-entry{gap:6px;flex-wrap:wrap}.quick-preview-entry strong{white-space:normal}.staff-overview-person{flex-wrap:wrap}.staff-overview-person-value{margin-left:auto}.modal-footer .btn{min-height:44px}}

/* V1.20 — ajustes de contraste + revisão recolhível */
#staff-rows .staff-line,
#staff-rows .staff-line.staff-other-sector,
#staff-rows .staff-line:not(.staff-other-sector),
.modal #staff-rows .staff-line,
.modal #staff-rows .staff-line.staff-other-sector,
.modal #staff-rows .staff-line:not(.staff-other-sector){background:#203638!important;color:#f3faf6!important;border:1px solid #4d6d67!important;border-left:4px solid #1aca84!important;opacity:1!important}
#staff-rows .staff-line.staff-other-sector,.modal #staff-rows .staff-line.staff-other-sector{border-left-color:#93a5aa!important;background:#253237!important}
#staff-rows .staff-line :is(label,.form-label,small,span,strong),
.modal #staff-rows .staff-line :is(label,.form-label,small,span,strong){color:#edf8f2!important}
#staff-rows .staff-line .form-control,#staff-rows .staff-line .form-select,
.modal #staff-rows .staff-line .form-control,.modal #staff-rows .staff-line .form-select{background:#101f24!important;color:#fff!important;border-color:#67817d!important}
#staff-rows .staff-line .form-control:disabled,#staff-rows .staff-line .form-select:disabled{background:#304647!important;color:#edf7f0!important}
.sector-summary .sector-metric,.sector-summary .sector-balance,
.sector-summary .sector-metric:nth-child(even),.sector-summary .sector-metric:nth-child(odd){background:#203336!important;color:#eef8f4!important;border:1px solid #45625e!important;padding:13px!important;border-radius:11px!important;margin:9px 0!important}
.sector-summary .sector-metric > span,.sector-summary .sector-balance > span{color:#f2faf5!important}
.sector-summary .sector-metric small,.sector-summary .sector-balance small{color:#b5cec4!important}
.sector-summary .sector-balance{background:#173a30!important;border-color:#398262!important}
.sector-summary .sector-metric .text-success,.sector-summary .sector-balance .text-success{color:#58ecac!important}
.sector-summary .sector-metric .text-danger,.sector-summary .sector-balance .text-danger{color:#ff8996!important}
.save-bar-event .save-bar-event-info strong,.save-bar-event .save-bar-event-info small,
.event-final-actions .event-final-heading h2,.event-final-actions .event-final-heading p{color:#edf8f2!important}
.save-bar-event .save-bar-event-info small,.event-final-actions .event-final-heading p{color:#bcd2ca!important}
.save-bar-event .save-bar-icon,.event-final-actions .event-final-icon{background:#176549!important;color:#f3fff7!important}
.event-review-disclosure{background:#112326!important;border:1px solid #35554f!important;border-radius:16px;overflow:hidden;color:#f3faf6}
.event-review-toggle{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;background:#19342e;color:#f4fff9;min-height:66px}
.event-review-toggle::-webkit-details-marker{display:none}
.event-review-toggle:focus-visible{outline:2px solid #66e9a6;outline-offset:-3px}
.event-review-toggle-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.event-review-toggle-copy strong{font-size:.96rem;color:#f4fff9!important;letter-spacing:.02em}
.event-review-toggle-copy small{font-size:.79rem;color:#b8d7ca!important}
.event-review-toggle-arrow{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:8px;background:#275344;color:#e4fff0;font-size:22px;transition:transform .18s}
.event-review-disclosure[open] .event-review-toggle-arrow{transform:rotate(180deg)}
.event-review-panel{padding:16px 14px 2px;background:#0e1d21}
@media(max-width:575px){.event-review-toggle{padding:13px}.event-review-panel{padding:12px 10px 2px}.sector-summary .sector-metric,.sector-summary .sector-balance{gap:7px;flex-wrap:wrap}.sector-summary .sector-metric strong,.sector-summary .sector-balance strong{margin-left:auto}}

/* V1.21 — revisão: equipe em âmbar e cards de setores com faixa verde. */
/* Mantém o cabeçalho escuro; destaca apenas o contador da prévia da equipe. */
.event-review-panel .staff-overview-badge,
.event-review-panel #staff-overview-count {
  background: #f0b44c !important;
  color: #23190a !important;
  border: 1px solid #ffcf70 !important;
  box-shadow: 0 0 0 1px #6e4c1f !important;
}
/* Os grupos por cargo ficam legíveis no mesmo tom de atenção da revisão. */
.event-review-panel .staff-overview-role {
  color: #ffd18a !important;
}
/* Borda lateral do quadro inteiro, visível mesmo com o tema escuro. */
.event-review-panel .sector-summary,
.sector-summary {
  border-left: 5px solid #17c784 !important;
}
@media (max-width: 575.98px) {
  .event-review-panel .sector-summary,
  .sector-summary { border-left-width: 4px !important; }
}

/* V1.22 — uniformiza o fundo da pré-visualização com o cabeçalho recolhível. */
.event-review-disclosure,
.event-review-toggle,
.event-review-panel,
.event-review-panel .sector-summary,
.event-review-panel .staff-overview,
.event-review-panel .staff-overview-list {
  background: #19342e !important;
}
/* Divisórias e a faixa lateral verde mantêm a leitura dos setores no mesmo fundo. */
.event-review-panel {
  border-top: 1px solid #35554f;
}
.event-review-panel .sector-summary,
.event-review-panel .staff-overview {
  border-color: #45625e !important;
}
.event-review-panel .sector-summary {
  border-left: 5px solid #17c784 !important;
}
@media (max-width:575.98px) {
  .event-review-panel .sector-summary { border-left-width: 4px !important; }
}
/* V1.25 — Pagamentos e folha: contraste escuro e uso no celular. */
.staff-paid-method{padding:9px 11px;border-radius:10px;background:#172e2d;border:1px solid #3e695a}
.staff-paid-method[hidden]{display:none!important}
.staff-paid-method .form-label{color:#e8f6ed!important}
.staff-paid-method .form-select{background:#203b39!important;color:#f4fff8!important;border-color:#668579!important}
.staff-cash-check .form-check-label{color:#f4fff8!important;font-weight:700}
.app-main .table-responsive{border-radius:12px}
.app-main .table th{white-space:nowrap;font-size:.8rem;letter-spacing:.015em}
.app-main .table td{vertical-align:middle}
.app-main .table td small{line-height:1.6;overflow-wrap:anywhere}
.app-main .table td form{min-width:175px}
@media(max-width:767.98px){.app-main .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.app-main .table td form{min-width:165px}}

/* V1.26 — itens do menu em escrita normal, sem caixa alta forçada. */
.side .side-link,
.side .side-label,
.mobile-menu a,
.mobile-menu button {
  text-transform: none !important;
  letter-spacing: normal;
}
.side .side-label { letter-spacing: .025em; }

/* V1.28 — menu em escrita normal nas duas versões, mesmo com regras antigas. */
html body .app-shell aside.side a.side-link,html body .app-shell aside.side .side-label,html body .app-shell .mobile-menu a,html body .app-shell .mobile-menu button {text-transform:none!important;font-variant:normal!important;letter-spacing:normal!important;}

/* V1.30 — contraste do seletor de contrato no tema escuro */
html body .app-main input.form-control[type="file"] {background-color:#203b39!important;color:#f3fff9!important;border:1px solid #5a8172!important;color-scheme:dark;}
html body .app-main input.form-control[type="file"]::file-selector-button {background:#126b4d!important;color:#fff!important;border:0!important;border-radius:7px!important;padding:9px 13px!important;margin-right:12px!important;cursor:pointer;}
html body .app-main input.form-control[type="file"]::file-selector-button:hover{background:#18845e!important;}

/* V1.32: navegação mobile organizada em grupos; impressão do relatório sem menus. */
html body .app-shell .mobile-menu{max-height:calc(100dvh - 62px);overflow-y:auto;padding:14px 14px 22px;box-shadow:0 18px 34px #030b0acc;border-bottom:1px solid #39715d}
html body .mobile-menu .mobile-menu-group{margin:0 0 11px;padding:8px 9px 9px;background:#193430;border:1px solid #35584d;border-radius:12px}
html body .mobile-menu .mobile-menu-heading{padding:3px 10px 8px;font-size:12px;font-weight:800;color:#85dfaf;letter-spacing:.025em;text-transform:none;border-bottom:1px solid #35584d;margin-bottom:4px}
html body .mobile-menu .mobile-menu-group a{border:0!important;padding:10px 12px;margin:3px 0;border-radius:8px;background:#122b27;color:#edf9f2!important;font-size:15px;font-weight:550;text-transform:none!important}
html body .mobile-menu .mobile-menu-group a[aria-current="page"]{background:#146a49!important;box-shadow:inset 3px 0 #7df5aa;color:white!important;font-weight:750}
html body .mobile-menu .mobile-menu-group a:hover,html body .mobile-menu .mobile-menu-group a:focus-visible{background:#255d48!important;outline:2px solid #68c999;outline-offset:0}
html body .mobile-menu .mobile-menu-exit{padding:3px 9px 5px}
@media print{
  @page{size:A4 landscape;margin:12mm}
  html,body,html body .app-shell,html body .app-main,html body .app-main main{background:#fff!important;color:#101a15!important;box-shadow:none!important;display:block!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important}
  html body .app-shell .side,html body .mobile-top,html body .mobile-menu,html body .payroll-print-button,html body .app-main main>form,html body .app-main footer,html body .modal,html body .side-bottom{display:none!important}
  html body .app-main .card{background:#fff!important;color:#101a15!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}
  html body .app-main .payroll-print-area{display:block!important}
  html body .app-main .table-responsive{overflow:visible!important}
  html body .app-main table{width:100%!important;border-collapse:collapse!important;color:#101a15!important;background:#fff!important;font-size:10pt!important}
  html body .app-main table tr{break-inside:avoid}
  html body .app-main table th,html body .app-main table td{color:#101a15!important;background:#fff!important;border-bottom:1px solid #ccc!important;padding:7px!important}
  html body .app-main h1,html body .app-main h2,html body .app-main p,html body .app-main strong,html body .app-main .muted{color:#101a15!important}
  html body .app-main .card:not(.payroll-print-area){display:none!important}
}

/* V1.33 — tema claro (padrão), tema escuro legado preservado. */
.theme-switch{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:10px 12px!important;margin:0 0 13px!important;border-radius:10px!important;border:1px solid #7fb49c!important;background:#145f49!important;color:#fff!important;font-size:14px!important;font-weight:700;text-transform:none!important;cursor:pointer}
.theme-switch:hover,.theme-switch:focus-visible{background:#197c5c!important;color:#fff!important}.theme-switch-icon{font-size:20px;line-height:1}
html[data-theme="light"]{color-scheme:light;--dark-bg:#f3f6fb;--dark-panel:#ffffff;--dark-card:#f4f8fd;--dark-raised:#e9f1fb;--dark-edge:#dde5f0;--dark-ink:#193047;--dark-muted:#5f7188;--dark-green:#11825f;--dark-red:#b73547;--dark-amber:#a96b10;--bs-body-bg:#f3f6fb;--bs-body-color:#193047;--bs-border-color:#dde5f0;background:#f3f6fb!important}
html[data-theme="light"] body{background:#f3f6fb!important;color:#193047!important}
html[data-theme="light"] :is(main,.app-main){color:#193047!important}
html[data-theme="light"] :is(.side,.app-main header.mobile-top){background:linear-gradient(155deg,#17619a,#1a578b)!important;border-color:#3575a7!important;color:#fff!important}
html[data-theme="light"] .side{box-shadow:8px 0 26px #294e7717!important}
html[data-theme="light"] .side-brand,html[data-theme="light"] .side-brand small{color:#fff!important}
html[data-theme="light"] .side-label{color:#c2dbef!important}
html[data-theme="light"] .side-link{color:#f2f8ff!important;background:transparent!important;border-color:transparent!important;text-transform:none!important}
html[data-theme="light"] .side-link:hover,html[data-theme="light"] .side-link:focus-visible,html[data-theme="light"] .side-link:active{background:#ffffff26!important;border-color:#ffffff33!important;color:#fff!important}
html[data-theme="light"] .mobile-menu{background:#eaf1fa!important;border-color:#b9cfe6!important;box-shadow:0 15px 30px #193b6b26!important}
html[data-theme="light"] .mobile-menu .mobile-menu-group{background:#fff!important;border-color:#d6e3f2!important}
html[data-theme="light"] .mobile-menu .mobile-menu-heading{color:#206299!important;border-color:#dce8f4!important}
html[data-theme="light"] .mobile-menu .mobile-menu-group a{background:#f3f7fc!important;color:#25445e!important}
html[data-theme="light"] .mobile-menu .mobile-menu-group a[aria-current="page"]{background:#d8eafc!important;color:#114d80!important;box-shadow:inset 4px 0 #1976bb!important}
html[data-theme="light"] .mobile-menu .mobile-menu-group a:hover{background:#d8eafc!important;color:#114d80!important}
html[data-theme="light"] .mobile-menu-exit .theme-switch{background:#17619a!important;border-color:#17619a!important}
html[data-theme="light"] :is(.card,.event-card,.review-card,.quick-compact-card,.quick-sector,.ledger-block,.stats>.card,.sector-summary,.sector-balance,.general-kpi){background:#fff!important;color:#193047!important;border-color:#dce5f0!important;box-shadow:0 6px 20px #234b8010!important}
html[data-theme="light"] :is(.quick-compact-card h2,.quick-compact-card h3,.card h2,.card h3,.card h4,.event-card h3,.review-card h3,.stats strong,.general-kpi strong){color:#193047!important}
html[data-theme="light"] :is(.quick-preview-list,.quick-card-totals span,.staff-overview-person,.event-time,.event-notes,.review-meta span,.staff-line,.sector-team-person){background:#f3f7fc!important;color:#253f55!important;border-color:#dbe6f1!important}
html[data-theme="light"] :is(.muted,small,.text-muted,.form-text,.event-time small,.sector-team-title,.review-meta,.ledger-column-head,.stats span){color:#5f7084!important}
html[data-theme="light"] :is(label,.form-label,.receipt-payment-grid label,.payment-mini label,.ledger-head,.ledger-subtotal){color:#334b60!important}
html[data-theme="light"] :is(input,select,textarea,.form-control,.form-select){background:#fff!important;color:#233c51!important;border-color:#bfcede!important;box-shadow:none!important;color-scheme:light}
html[data-theme="light"] :is(input,textarea,.form-control)::placeholder{color:#7e91a5!important}
html[data-theme="light"] :is(input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus){background:#fff!important;color:#17364e!important;border-color:#2476ac!important;outline-color:#a5d2ef!important}
html[data-theme="light"] :is(input:disabled,select:disabled,textarea:disabled,.form-control:disabled,.form-control[readonly]){background:#eaf0f6!important;color:#39546d!important}
html[data-theme="light"] :is(.btn-outline-secondary,.outline,.btn-light){background:#fff!important;color:#245477!important;border-color:#b4c9df!important}
html[data-theme="light"] :is(.btn-outline-success,.ledger-add){background:#ebf8f2!important;color:#176947!important;border-color:#78bda2!important}
html[data-theme="light"] :is(.btn-outline-primary){background:#edf6fe!important;color:#1c5c8e!important;border-color:#8abbdc!important}
html[data-theme="light"] a:not(.side-link):not(.side-brand):not(.brand){color:#165f98}
html[data-theme="light"] :is(.text-success,.review-amount.text-success){color:#137a4b!important}
html[data-theme="light"] :is(.text-danger,.review-amount.text-danger){color:#b22e46!important}
html[data-theme="light"] :is(.table,.table-striped,.table-hover,table){--bs-table-bg:#fff;--bs-table-color:#193047;--bs-table-striped-bg:#f3f7fc;--bs-table-striped-color:#193047;--bs-table-hover-bg:#e9f3fc;--bs-table-hover-color:#193047;--bs-table-border-color:#dce5f0;color:#193047!important}
html[data-theme="light"] :is(th,td){color:#233e54!important;border-color:#dce5f0!important}html[data-theme="light"] th{background:#eff5fc!important;color:#385b78!important}html[data-theme="light"] tr:hover td{background:#edf5fd!important}
html[data-theme="light"] .event-date{color:#2472a3!important}
html[data-theme="light"] :is(.ledger-block-income,.ledger-row:not(.ledger-expense)){background:#ecf9f2!important;border-color:#b9dfc8!important}
html[data-theme="light"] :is(.ledger-block-out,.ledger-expense){background:#fff2f3!important;border-color:#f0c5ca!important}
html[data-theme="light"] :is(.ledger-row,.modal .ledger-row-modal){background:#f4f8fc!important;color:#193047!important;border-color:#dce5f0!important;border-left:4px solid #16a56f!important}
html[data-theme="light"] :is(.payment-mini,.receipt-fields,.acquiring-panel,.acquiring-body,.acquiring-totals){background:#f2f7fc!important;border-color:#cfdfed!important;color:#193047!important}
html[data-theme="light"] :is(.staff-overview,.staff-overview-list,.event-review-panel .staff-overview,.event-review-panel .staff-overview-list){background:#fff!important;border-color:#dce5f0!important}
html[data-theme="light"] .staff-overview-heading{background:#e8f3fc!important;color:#193047!important}
html[data-theme="light"] .staff-overview-person-detail strong{color:#193047!important}
html[data-theme="light"] .staff-overview-person-detail small{color:#58718b!important}
html[data-theme="light"] .staff-overview-role{color:#9a640e!important}
html[data-theme="light"] .staff-overview-footer{background:#ecf6f2!important;color:#193047!important;border-color:#bbdccc!important}
html[data-theme="light"] :is(.modal-content,.modal.show[id^="sectorModal-"] .modal-content,.modal.show#staffModal .modal-content){background:#fff!important;color:#193047!important;border-color:#d6e2ed!important;box-shadow:0 20px 65px #12325535!important}
html[data-theme="light"] :is(.modal-header,.modal.show[id^="sectorModal-"] .modal-header,.modal.show#staffModal .modal-header){background:#eaf3fc!important;color:#173f64!important;border-color:#d4e5f4!important}
html[data-theme="light"] :is(.modal-header .modal-title,.modal-header .text-muted){color:#173f64!important}
html[data-theme="light"] :is(.modal-body,.modal.show[id^="sectorModal-"] .modal-body,.modal.show#staffModal .modal-body,.modal-footer,.modal.show[id^="sectorModal-"] .modal-footer,.modal.show#staffModal .modal-footer){background:#fff!important;color:#193047!important;border-color:#dce5f0!important}
html[data-theme="light"] :is(.modal .btn-close,.modal.show[id^="sectorModal-"] .btn-close,.modal.show#staffModal .btn-close){background:#eaf3fc!important;border-color:#9ebbd3!important}
html[data-theme="light"] :is(.save-bar,.save-bar-event,.event-final-actions){background:#fff!important;color:#193047!important;border-color:#cfdfe9!important;box-shadow:0 -4px 20px #27476817!important}
html[data-theme="light"] :is(.event-final-actions h2,.save-bar-event-info strong){color:#193047!important}
html[data-theme="light"] .general-kpi *{color:inherit}
html[data-theme="light"] :is(.event-review-disclosure,.event-review-toggle,.event-review-panel,.event-review-panel .sector-summary){background:#eaf3fc!important;border-color:#cfdfef!important;color:#193047!important}
html[data-theme="light"] .event-review-toggle-copy strong{color:#193047!important}
html[data-theme="light"] .event-review-toggle-copy small{color:#58718b!important}
html[data-theme="light"] .event-review-toggle-arrow{background:#d6e8f7!important;color:#174f78!important}
html[data-theme="light"] .event-review-panel .sector-summary{border-left:5px solid #18a36f!important}
html[data-theme="light"] :is(.sector-metric,.quick-card-totals span,.review-meta span){background:#f5f8fc!important;border-color:#dce6f0!important;color:#334b60!important}
html[data-theme="light"] .sector-balance{background:#e9f7f0!important;border-color:#c4e6d3!important;color:#173d30!important}
html[data-theme="light"] .staff-paid-method{background:#f1f7fc!important;border-color:#cbdfea!important}
html[data-theme="light"] .staff-paid-method .form-label{color:#334b60!important}
html[data-theme="light"] .staff-paid-method .form-select{background:#fff!important;color:#193047!important;border-color:#bfcede!important}
html[data-theme="light"] .staff-cash-check .form-check-label{color:#334b60!important}
html[data-theme="light"] body .app-main input.form-control[type="file"]{background:#fff!important;color:#193047!important;border-color:#bfcede!important;color-scheme:light!important}
html[data-theme="light"] body .app-main input.form-control[type="file"]::file-selector-button{background:#e4effa!important;color:#17476b!important;border:1px solid #bbd0e3!important}
html[data-theme="light"] :is(.alert,.alert-warning){background:#fff5e9!important;color:#80511b!important;border-color:#edcd9e!important}
html[data-theme="light"] .alert-success{background:#eaf8ee!important;color:#216b43!important;border-color:#a5d6b7!important}
html[data-theme="light"] .alert-danger{background:#fff0f1!important;color:#9c2439!important;border-color:#e5a7b1!important}
html[data-theme="light"] .app-main footer{color:#6b8094!important}
@media print{html[data-theme="dark"] body{background:#fff!important;color:#111!important}}

/* Agenda / calendário de eventos + DJs */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}.calendar-nav{display:flex;align-items:center;gap:12px}.calendar-nav strong{min-width:150px;text-align:center}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#5e7364;margin:0 0 14px}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block;border:1px solid #cfd8d0}.legend-dot.closed{background:#f4f5f4}.legend-dot.regular{background:#dceee0}.legend-dot.special{background:#f3e6a6}.legend-dot.event{background:#2d6240}.month-calendar{background:#fff;border:1px solid #dfe8e1;border-radius:17px;overflow:hidden;margin-bottom:18px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f3f7f4;border-bottom:1px solid #dfe8e1}.calendar-weekdays span{text-align:center;font-weight:800;font-size:11px;letter-spacing:1px;padding:10px 4px;color:#55705d}.calendar-day{min-height:130px;padding:9px;border-right:1px solid #e7ede8;border-bottom:1px solid #e7ede8;color:#263b2c;text-decoration:none;overflow:hidden;transition:.15s ease}.calendar-day:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 2px #2d624033;z-index:1}.calendar-day.closed-day{background:#fafbfa;color:#8a968d}.calendar-day.regular-open{background:#edf7ef}.calendar-day.special-open{background:#fff8dc}.calendar-day.has-event{background:#e3f2e7;box-shadow:inset 4px 0 0 #2d6240}.calendar-day.outside-month{opacity:.38}.calendar-day-top{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:7px}.calendar-day-top strong{font-size:16px}.holiday-badge{font-size:8px;font-weight:800;background:#8d6b00;color:#fff;padding:3px 5px;border-radius:999px;letter-spacing:.4px}.calendar-event-name{font-weight:800;font-size:12px;line-height:1.2;margin:4px 0;color:#1f4b30}.calendar-event-djs{font-size:10px;line-height:1.2;color:#52705b;margin-bottom:4px}.calendar-open-label{font-size:10px;font-weight:800;letter-spacing:.4px;color:#42694d;margin-top:20px}.calendar-empty-label{font-size:10px;margin-top:22px;color:#9aa59c}.calendar-day small{font-size:9px;line-height:1.15;display:block}.year-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.year-month{background:#fff;border:1px solid #dfe8e1;border-radius:15px;padding:12px;text-decoration:none;color:#263b2c}.year-month h3{font-size:14px;margin:0 0 8px}.mini-weekdays,.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-weekdays span{font-size:8px;text-align:center;color:#7a8a7e;font-weight:800}.mini-day{text-align:center;font-size:9px;padding:4px 1px;border-radius:5px}.mini-day.regular-open{background:#dceee0}.mini-day.special-open{background:#f3e6a6}.mini-day.has-event{background:#2d6240;color:#fff;font-weight:800}.mini-day.muted-day{opacity:.2}.dj-selector{display:grid;gap:8px;margin:8px 0 12px}.dj-select-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px 120px;gap:9px;align-items:center;padding:9px 10px;border:1px solid #e0e9e1;border-radius:12px;background:#fbfdfb}.dj-select-row .form-control{min-height:38px}.event-djs-preview{display:flex;flex-wrap:wrap;gap:5px;margin:-2px 0 13px}.event-dj-pill{font-size:11px;background:#eef5ef;border:1px solid #dce8de;border-radius:999px;padding:4px 7px}.event-dj-pill small{font-size:9px}.event-djs-empty{font-size:11px;color:#87958a}
@media(max-width:800px){.year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:100px;padding:6px}.calendar-event-djs{display:none}.calendar-day small{display:none}.dj-select-row{grid-template-columns:1fr 1fr}.dj-select-row>span{grid-column:1/-1}.calendar-weekdays span{font-size:9px}.holiday-badge{display:none}}
@media(max-width:520px){.year-calendar{grid-template-columns:1fr}.month-calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:680px}.calendar-toolbar .btn-group{width:100%}.calendar-toolbar .btn-group .btn{flex:1}.calendar-nav{width:100%;justify-content:space-between}}

/* Agenda: ações ficam dentro do próprio dia */
.calendar-day{position:relative}
.calendar-day-actions{margin-left:auto;display:flex;align-items:center;gap:4px}
.calendar-icon-action,.calendar-small-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #cfded2;background:#fff;color:#275d3b;border-radius:8px;font-weight:800;line-height:1;cursor:pointer}
.calendar-icon-action{width:25px;height:25px;font-size:18px}
.calendar-small-action{width:25px;height:25px;font-size:14px;padding:0}
.calendar-small-action.danger{color:#a93838;border-color:#ebcccc;background:#fff}
.calendar-small-action.locked{cursor:default;opacity:.55;font-size:11px}
.calendar-event-item{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;padding:7px 0;border-top:1px solid rgba(45,98,64,.12)}
.calendar-event-content{min-width:0;flex:1}.calendar-event-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}.calendar-event-actions form{margin:0}
.calendar-events-stack{margin-top:5px}.calendar-open-label.event-open-label{margin-top:2px;color:#1d5a34}.calendar-open-reason{color:#718077;margin-top:2px}.calendar-no-event{font-size:10px;font-weight:700;color:#75827a;margin-top:13px}.calendar-more{font-weight:700;color:#486552;margin-top:4px}
.calendar-day.regular-open:not(.has-event) .calendar-open-label{color:#3d6b4c}.calendar-day.special-open:not(.has-event) .calendar-open-label{color:#7a6508}
@media(max-width:800px){.calendar-icon-action{width:22px;height:22px;font-size:16px}.calendar-small-action{width:22px;height:22px}.calendar-event-item{padding:4px 0}.calendar-open-label{margin-top:8px}.calendar-no-event{margin-top:7px;font-size:9px}}

/* V1.38 — Agenda/DJs: calendário maior, popup e escala dinâmica */
.dj-national-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;user-select:none}.dj-national-toggle>input{position:absolute;opacity:0;pointer-events:none}.dj-national-box{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #749184;border-radius:7px;background:#fff;color:transparent;font-weight:900;line-height:1;flex:0 0 auto;transition:.15s ease}.dj-national-toggle>input:checked+.dj-national-box{background:#0b8c59;border-color:#0b8c59;color:#fff;box-shadow:0 0 0 3px #14bd7825}.dj-national-toggle>input:focus-visible+.dj-national-box{outline:3px solid #45d89466;outline-offset:2px}html[data-theme="dark"] .dj-national-box{background:#13272a;border-color:#76948c}.dj-national-toggle>input:checked+.dj-national-box{background:#087b4e!important;color:#fff!important}

.month-calendar{overflow:hidden}.calendar-day{min-height:178px;padding:11px}.calendar-day-blank{background:transparent!important;border-color:#edf1ed!important;pointer-events:none;box-shadow:none!important}.calendar-day-blank:hover{transform:none!important}.calendar-day.past-day{opacity:.43;filter:saturate(.55)}.calendar-day.past-day:hover{opacity:.68;filter:saturate(.8)}.calendar-day-top strong{font-size:18px}.calendar-event-name{font-size:13px;margin-top:5px}.calendar-event-time{font-size:10px;font-weight:800;color:#617568;margin:3px 0 7px}.calendar-event-djs{display:grid;gap:4px;font-size:10px}.calendar-dj-time{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:7px;background:#ffffffaa;border:1px solid #dbe7dd}.calendar-dj-time strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#274f35}.calendar-dj-time span{white-space:nowrap;font-variant-numeric:tabular-nums}.calendar-event-actions{flex-direction:column}.calendar-icon-action{border:0}.calendar-icon-action.add{background:#167f52;color:#fff;border-color:#167f52}.calendar-icon-action.add:hover{background:#0d6741}.past-mini-day{opacity:.45}.mini-blank{background:transparent!important}.calendar-weekdays span{padding:12px 4px}.calendar-empty-label,.calendar-open-label{margin-top:18px}

.dj-schedule-builder{display:grid;gap:10px}.dj-schedule-row{display:grid;grid-template-columns:minmax(220px,1fr) 125px 125px 44px;gap:10px;align-items:end;padding:12px;border:1px solid #dce7df;border-radius:13px;background:#f9fcfa}.dj-schedule-row label{margin:0;font-size:12px;font-weight:700}.dj-schedule-row .form-control,.dj-schedule-row .form-select{margin-top:5px}.dj-remove-row{height:42px;padding:0!important;font-size:21px;font-weight:800}.luppi-local-modal#eventCreateModal .modal-dialog{max-width:900px}.luppi-local-modal#eventCreateModal .modal-body{max-height:calc(100dvh - 180px);overflow:auto}

html[data-theme="dark"] .calendar-dj-time{background:#152d2a;border-color:#35554b;color:#eaf6ef}html[data-theme="dark"] .calendar-dj-time strong{color:#9af0be}html[data-theme="dark"] .calendar-event-time{color:#b0c8bd}html[data-theme="dark"] .dj-schedule-row{background:#172c2f;border-color:#3c5b55}
html[data-theme="light"] .month-calendar{background:#fff}html[data-theme="light"] .calendar-day-blank{background:#fff!important}

@media(max-width:1000px){.calendar-day{min-height:155px}.dj-schedule-row{grid-template-columns:minmax(180px,1fr) 105px 105px 42px}}
@media(max-width:800px){.calendar-day{min-height:140px}.calendar-event-djs{display:grid!important}.calendar-day small{display:block!important}.calendar-dj-time{font-size:9px}.dj-schedule-row{grid-template-columns:1fr 1fr}.dj-schedule-row label:first-child{grid-column:1/-1}.dj-remove-row{grid-column:1/-1;width:100%}}
@media(max-width:520px){.calendar-weekdays,.calendar-grid{min-width:840px}.calendar-day{min-height:158px}.luppi-local-modal#eventCreateModal .modal-body{max-height:none}.dj-schedule-row{grid-template-columns:1fr}.dj-schedule-row label:first-child{grid-column:auto}}

/* Agenda DJs v140: duas pistas + busca */
.dj-stage-block{border:1px solid #dbe7df;border-radius:15px;padding:14px;background:#fbfdfb}.dj-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dj-stage-heading h4{font-size:13px;font-weight:900;letter-spacing:.7px;margin:0;color:#275d3b}.dj-stage-heading small{display:block;color:#718077;margin-top:2px}.dj-search-field{position:relative}.dj-search-field>label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.dj-search-results{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;max-height:230px;overflow:auto;background:#fff;border:1px solid #cfded2;border-radius:10px;box-shadow:0 12px 30px rgba(22,49,32,.14);padding:5px}.dj-search-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:7px;color:#263b2c;font-weight:700}.dj-search-option:hover,.dj-search-option:focus{background:#edf7ef;outline:0}.dj-search-empty{padding:10px;color:#7a8a7e;font-size:12px}.calendar-stage-label{font-size:8px;font-weight:900;letter-spacing:.7px;color:#63806c;margin:6px 0 2px}.calendar-stage-label:first-child{margin-top:1px}
html[data-theme="dark"] .dj-stage-block{background:#172c2f;border-color:#3c5b55}html[data-theme="dark"] .dj-stage-heading h4{color:#9af0be}html[data-theme="dark"] .dj-stage-heading small{color:#adc5ba}html[data-theme="dark"] .dj-search-results{background:#13272a;border-color:#3c5b55;box-shadow:0 12px 30px rgba(0,0,0,.35)}html[data-theme="dark"] .dj-search-option{color:#eaf6ef}html[data-theme="dark"] .dj-search-option:hover,html[data-theme="dark"] .dj-search-option:focus{background:#1d3a35}html[data-theme="dark"] .dj-search-empty{color:#abc0b6}html[data-theme="dark"] .calendar-stage-label{color:#96b9a4}
@media(max-width:800px){.dj-stage-heading{align-items:flex-start}.dj-stage-heading .btn{white-space:nowrap}.dj-search-results{max-height:190px}}

/* V1.41 — agenda mobile + custos de DJs */
.calendar-toolbar{align-items:flex-end}.calendar-month-picker{display:flex;align-items:end;gap:8px}.calendar-month-picker label{font-size:11px;font-weight:800;color:#607267}.calendar-month-picker .form-select{min-width:130px}.month-calendar{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.calendar-weekdays,.calendar-grid{min-width:860px}.dj-cost-section{border-top:1px solid #dfe8e1;padding-top:18px}.dj-cost-list{display:grid;gap:8px;margin-top:12px}.dj-cost-row{display:grid;grid-template-columns:minmax(150px,1fr) 160px minmax(220px,1.5fr);gap:10px;align-items:end;padding:10px;border:1px solid #dfe8e1;border-radius:12px;background:#fbfdfb}.dj-cost-name{font-weight:800;align-self:center}.dj-cost-row label{font-size:11px;font-weight:800}.dj-cost-total{margin-top:12px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-radius:12px;background:#edf7ef;border:1px solid #cfe3d3;font-weight:900}.dj-cost-total strong{font-size:18px;color:#1d633b}.dj-search-results[hidden]{display:none!important}
@media(max-width:800px){.calendar-toolbar{display:grid;grid-template-columns:1fr}.calendar-month-picker{width:100%}.calendar-month-picker .form-select{min-width:0;flex:1}.month-calendar{width:100%;max-width:100%;border-radius:14px}.calendar-weekdays,.calendar-grid{min-width:820px}.calendar-day{min-height:175px}.dj-cost-row{grid-template-columns:1fr 1fr}.dj-cost-name{grid-column:1/-1}.dj-cost-row label:last-child{grid-column:1/-1}}
@media(max-width:520px){.calendar-weekdays,.calendar-grid{min-width:760px}.calendar-day{min-height:165px}.dj-cost-row{grid-template-columns:1fr}.dj-cost-name,.dj-cost-row label:last-child{grid-column:auto}.dj-cost-total{align-items:flex-start;flex-direction:column}}
html[data-theme="dark"] .dj-cost-row{background:#102522;border-color:#315047}html[data-theme="dark"] .dj-cost-total{background:#173329;border-color:#315844}html[data-theme="dark"] .dj-cost-total strong{color:#8bd2a4}

/* V1.42 — custo da line no calendário */
.calendar-line-cost{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px;padding-top:7px;border-top:1px dashed #d7e3da;font-size:11px}.calendar-line-cost span{font-weight:700;color:#6b7d70}.calendar-line-cost strong{font-size:12px;color:#1d633b;white-space:nowrap}.event-open-label{white-space:normal;overflow-wrap:anywhere}html[data-theme="dark"] .calendar-line-cost{border-top-color:#315047}html[data-theme="dark"] .calendar-line-cost span{color:#9bb1a4}html[data-theme="dark"] .calendar-line-cost strong{color:#8bd2a4}

/* V1.45 · Rotinas de IA e concorrência na agenda */
.ai-api-status{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border-radius:999px;font-weight:700;font-size:.85rem;background:var(--bs-tertiary-bg)}
.ai-api-status>span{width:.6rem;height:.6rem;border-radius:50%;display:inline-block}
.ai-api-status.is-ready>span{background:#198754}.ai-api-status.is-missing>span{background:#dc3545}
.ai-switch{padding:1rem;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-tertiary-bg)}
.ai-source-link{max-width:320px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-competitors{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed rgba(20,80,55,.22)}
.calendar-competitors-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800;margin-bottom:.4rem}
.calendar-competitors-head strong{display:grid;place-items:center;min-width:1.4rem;height:1.4rem;border-radius:999px;background:rgba(25,135,84,.12);font-size:.72rem}
.calendar-competitor-item{display:flex;flex-direction:column;padding:.25rem 0;font-size:.72rem;line-height:1.2}
.calendar-competitor-item strong{font-size:.75rem}.calendar-competitor-item span{opacity:.78;margin-top:.1rem}
.calendar-competitors-more{border:0;background:transparent;padding:.35rem 0 0;color:#198754;font-size:.7rem;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.competitor-modal-item{padding:1rem 0;border-bottom:1px solid var(--bs-border-color)}.competitor-modal-item:first-child{padding-top:0}.competitor-modal-item:last-child{border-bottom:0;padding-bottom:0}
.competitor-modal-top{display:flex;justify-content:space-between;gap:1rem}.competitor-modal-top>div{display:flex;flex-direction:column}.competitor-modal-top strong{font-size:1rem}.competitor-modal-top span:not(.competitor-modal-time){font-size:.9rem;opacity:.8}
.competitor-modal-time{font-weight:700;white-space:nowrap}.competitor-modal-item p{margin:.65rem 0 .35rem;font-size:.9rem}.competitor-modal-item a{font-size:.85rem;font-weight:700}
@media(max-width:767.98px){.ai-source-link{max-width:210px}.calendar-competitors{min-width:0}.competitor-modal-top{flex-direction:column;gap:.25rem}}


/* V1.46 · status claro da rotina automática */
.ai-toggle-card{display:flex;align-items:center;gap:.75rem;min-height:58px;padding:.75rem .9rem;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-tertiary-bg);cursor:pointer;user-select:none}
.ai-toggle-card input{position:absolute;opacity:0;pointer-events:none}
.ai-toggle-box{width:48px;height:28px;border-radius:999px;background:#adb5bd;padding:3px;display:flex;align-items:center;transition:.18s ease;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.ai-toggle-box>span{width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.18s ease}
.ai-toggle-card input:checked + .ai-toggle-box{background:#198754}
.ai-toggle-card input:checked + .ai-toggle-box>span{transform:translateX(20px)}
.ai-toggle-card input:focus-visible + .ai-toggle-box{outline:3px solid rgba(25,135,84,.25);outline-offset:2px}
.ai-toggle-copy{display:flex;flex-direction:column;line-height:1.15}.ai-toggle-copy strong{font-size:.9rem}.ai-toggle-copy small{font-size:.72rem;font-weight:900;letter-spacing:.04em;color:#6c757d;margin-top:.2rem}.ai-toggle-card input:checked ~ .ai-toggle-copy small{color:#198754}
html[data-theme="dark"] .ai-toggle-box{background:#60736b}html[data-theme="dark"] .ai-toggle-card input:checked + .ai-toggle-box{background:#31a36c}

/* V1.47 · frequência diária/semanal e status de erros das rotinas */
[data-ai-weekday][hidden],[data-ai-daily-runs][hidden]{display:none!important}
.ai-routine-card .alert-danger,.ai-routine-card .alert-warning{border-radius:12px}

/* V1.48 · perfil competitivo e origem dos eventos concorrentes */
.competitor-origin{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.18rem .42rem;font-size:.58rem!important;font-weight:900;letter-spacing:.04em;white-space:nowrap}.competitor-origin.is-direct{background:rgba(25,135,84,.12);color:#146c43}.competitor-origin.is-ai{background:rgba(13,110,253,.11);color:#0a58ca}.competitor-modal-meta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:.7rem}.competitor-match-reason{padding:.55rem .7rem;border-radius:9px;background:var(--bs-tertiary-bg);font-size:.84rem!important}.competitor-source-list{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.55rem;font-size:.82rem}.competitor-source-list>a,.competitor-source-list>span{padding:.22rem .48rem;border:1px solid var(--bs-border-color);border-radius:999px;text-decoration:none}.calendar-competitor-item small.text-muted{font-size:.62rem!important;margin-top:.15rem}.ai-routine-card+.card textarea{resize:vertical}
html[data-theme="dark"] .competitor-origin.is-direct{background:rgba(49,163,108,.18);color:#7bd7a5}html[data-theme="dark"] .competitor-origin.is-ai{background:rgba(83,153,255,.18);color:#9bc2ff}

/* V1.51 · detalhes das execuções de IA e pop-ups da agenda */
.ai-run-row{cursor:pointer}.ai-run-row:focus{outline:2px solid rgba(13,110,253,.35);outline-offset:-2px}.ai-run-detail-summary{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.8rem 1rem;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-tertiary-bg);margin-bottom:1rem}.ai-run-source-block{border:1px solid var(--bs-border-color);border-radius:14px;padding:1rem;margin-bottom:1rem}.ai-run-source-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.ai-run-source-head>div{display:flex;flex-direction:column}.ai-run-source-head small{opacity:.7;margin-top:.1rem}.ai-run-event-item{padding:.85rem 0;border-top:1px solid var(--bs-border-color)}.ai-run-event-item:first-of-type{margin-top:.65rem}.ai-run-event-top{display:flex;justify-content:space-between;gap:1rem}.ai-run-event-top>div:first-child{display:flex;flex-direction:column}.ai-run-event-top span{font-size:.86rem;opacity:.8}.ai-run-event-when{font-size:.86rem;font-weight:700;white-space:nowrap}.calendar-competitors-more{cursor:pointer}
@media(max-width:767.98px){.ai-run-event-top{flex-direction:column;gap:.25rem}.ai-run-event-when{white-space:normal}.ai-runs-table{min-width:760px}}

/* V1.55 · histórico de IA por fonte + descartados */
.ai-run-source-collapse{padding:0;overflow:hidden}
.ai-run-source-collapse>.ai-run-source-head{list-style:none;cursor:pointer;padding:1rem;align-items:center}
.ai-run-source-collapse>.ai-run-source-head::-webkit-details-marker{display:none}
.ai-run-source-head-right{display:flex;align-items:center;gap:.6rem}
.ai-run-collapse-arrow{font-size:1.35rem;line-height:1;transition:transform .16s ease;opacity:.65}
.ai-run-source-collapse[open] .ai-run-collapse-arrow{transform:rotate(90deg)}
.ai-run-source-body{padding:0 1rem 1rem}
.ai-run-group-title{margin:.9rem 0 .4rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.ai-run-event-item.is-discarded{background:rgba(255,193,7,.07);padding:.85rem;border-radius:10px;margin-top:.55rem;border:1px dashed rgba(255,193,7,.38)}
.ai-run-discard-reason{margin:.55rem 0 0;padding:.5rem .65rem;border-radius:8px;background:rgba(255,193,7,.14);font-size:.82rem}
.ai-run-evidence{margin:.45rem 0 0;font-size:.82rem;color:var(--bs-secondary-color)}
.ai-run-searches{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.65rem 0 .9rem}
.ai-run-searches strong{width:100%;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.ai-run-searches code{font-size:.73rem;padding:.28rem .45rem;border:1px solid var(--bs-border-color);border-radius:7px;background:var(--bs-tertiary-bg);white-space:normal}
@media(max-width:767.98px){.ai-run-source-collapse>.ai-run-source-head{padding:.85rem}.ai-run-source-body{padding:0 .85rem .85rem}}

/* V1.56 · Agenda / concorrentes: confirmados e descartados organizados */
.calendar-discarded-count{margin-top:.35rem;padding:.35rem .45rem;border-radius:8px;background:rgba(255,193,7,.11);color:#8a6400;font-size:.64rem;font-weight:700;line-height:1.25}
.calendar-no-confirmed-competitor{font-size:.68rem;opacity:.68;padding:.2rem 0}
.competitor-popup-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}
.competitor-popup-stat{border:1px solid var(--bs-border-color);border-radius:12px;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:var(--bs-tertiary-bg)}
.competitor-popup-stat small{font-size:.66rem;font-weight:900;letter-spacing:.04em}.competitor-popup-stat strong{font-size:1.25rem}
.competitor-popup-stat.is-ok strong{color:#198754}.competitor-popup-stat.is-discarded strong{color:#b58100}
.competitor-popup-group{border:1px solid var(--bs-border-color);border-radius:14px;margin-bottom:.85rem;overflow:hidden;background:var(--bs-body-bg)}
.competitor-popup-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;background:var(--bs-tertiary-bg)}
.competitor-popup-group>summary::-webkit-details-marker,.competitor-discard-source>summary::-webkit-details-marker{display:none}
.competitor-popup-group>summary strong{flex:1}.competitor-popup-count{min-width:1.75rem;height:1.75rem;padding:0 .45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900}
.competitor-popup-count.included{background:rgba(25,135,84,.13);color:#146c43}.competitor-popup-count.discarded{background:rgba(255,193,7,.17);color:#856404}
.competitor-popup-arrow{font-size:1.3rem;line-height:1;transition:transform .15s ease;display:inline-block}.competitor-popup-group[open]>summary .competitor-popup-arrow,.competitor-discard-source[open]>summary .competitor-popup-arrow{transform:rotate(90deg)}
.competitor-popup-group-body{padding:0 1rem 1rem}.competitor-popup-group-body>.competitor-modal-item:first-of-type{padding-top:1rem}
.competitor-modal-item.is-discarded{border-left:3px solid rgba(255,193,7,.8);padding-left:.8rem;margin-left:-.8rem;background:linear-gradient(90deg,rgba(255,193,7,.055),transparent 38%)}
.competitor-discard-note{font-size:.83rem;color:var(--bs-secondary-color);margin:1rem 0 .65rem}
.competitor-discard-source{border:1px solid var(--bs-border-color);border-radius:11px;margin:.55rem 0;overflow:hidden}
.competitor-discard-source>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;background:rgba(255,193,7,.06)}
.competitor-discard-source>summary strong{flex:1;font-size:.9rem}.competitor-discard-source>summary span:not(.competitor-popup-arrow){font-size:.72rem;color:var(--bs-secondary-color)}
.competitor-discard-source-body{padding:0 .8rem .3rem}
.competitor-discard-reason{display:flex;flex-direction:column;gap:.15rem;margin:.65rem 0;padding:.55rem .7rem;border-radius:9px;background:rgba(255,193,7,.10);font-size:.82rem}.competitor-discard-reason strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.competitor-evidence{font-size:.8rem!important;color:var(--bs-secondary-color)}
html[data-theme="dark"] .calendar-discarded-count{color:#ffd970;background:rgba(255,193,7,.13)}
html[data-theme="dark"] .competitor-popup-count.included{color:#7bd7a5}html[data-theme="dark"] .competitor-popup-count.discarded{color:#ffd970}
@media(max-width:575.98px){.competitor-popup-summary{grid-template-columns:1fr}.competitor-popup-group>summary{padding:.75rem .8rem}.competitor-popup-group-body{padding:0 .8rem .8rem}}

/* Fechamento V1.82 - validação, formas de pagamento e impressão A4 */
.sector-validation-errors,.staff-validation-errors{border-radius:12px;font-size:.9rem}.sector-validation-errors ul,.staff-validation-errors ul{padding-left:1.2rem}
.expense-payment-fields{padding:10px;border:1px solid #44605b;border-radius:10px;background:#17292b}
.payment-mini-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;width:100%;margin-top:8px;padding-top:8px;border-top:1px dashed #4d6763}.payment-mini-breakdown span{display:flex;justify-content:space-between;gap:8px;font-size:.76rem;color:#bcd0c8}.payment-mini-breakdown strong{font-size:.78rem;color:#edf8f3!important;white-space:nowrap}
.general-kpi-detail{display:grid;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed #48615e}.general-kpi-detail small{display:flex;justify-content:space-between;gap:8px;color:#bed0ca}.general-kpi-detail b{color:inherit;white-space:nowrap}
.payment-reconciliation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-reconciliation-card{border:1px solid #45615d;border-radius:12px;background:#18302f;padding:12px}.payment-reconciliation-card>span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.8px;color:#8fcbb3;margin-bottom:7px}.payment-reconciliation-card>div{display:grid;gap:5px}.payment-reconciliation-card small{display:flex;justify-content:space-between;gap:10px;color:#d8e7e1}.payment-reconciliation-card strong{white-space:nowrap}
.staff-payment-status{display:inline-flex;width:max-content;max-width:100%;margin-top:5px;padding:3px 7px;border-radius:999px;font-size:.7rem;font-weight:800;border:1px solid #57716c;color:#dcebe5;background:#203b38}.staff-payment-status.is-paid,.staff-payment-badge.is-paid{background:#173d2e!important;color:#7ef0b6!important;border-color:#2b7655!important}.staff-payment-status.is-partial,.staff-payment-badge.is-partial{background:#463b16!important;color:#ffe181!important;border-color:#8b7728!important}.staff-payment-status.is-pending,.staff-payment-badge.is-pending{background:#41262a!important;color:#ffb4bd!important;border-color:#82444c!important}.staff-payment-status.is-allocation,.staff-payment-badge.is-allocation{background:#25353b!important;color:#c5dce5!important;border-color:#526b75!important}.staff-payment-badge{white-space:normal;text-align:right;max-width:180px}
.event-review-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.print-only{display:none}

/* Checkbox legível no tema claro e escuro */
.form-check-input{border-width:2px!important;border-color:#78928a!important}.form-check-input:checked{background-color:#198754!important;border-color:#198754!important;box-shadow:0 0 0 2px rgba(25,135,84,.15)!important}.form-check-input:focus{border-color:#198754!important;box-shadow:0 0 0 .2rem rgba(25,135,84,.18)!important}

html[data-theme="light"] .expense-payment-fields{background:#f4f8fc!important;border-color:#d4e1ec!important;color:#193047!important}
html[data-theme="light"] .payment-mini-breakdown{border-color:#d7e2ec!important}html[data-theme="light"] .payment-mini-breakdown span{color:#526a7f!important}html[data-theme="light"] .payment-mini-breakdown strong{color:#193047!important}
html[data-theme="light"] .general-kpi-detail{border-color:#d7e2ec!important}html[data-theme="light"] .general-kpi-detail small{color:#526a7f!important}html[data-theme="light"] .general-kpi-detail b{color:#193047!important}
html[data-theme="light"] .payment-reconciliation-card{background:#fff!important;border-color:#d4e1ec!important;color:#193047!important;box-shadow:0 4px 14px rgba(35,75,128,.07)}html[data-theme="light"] .payment-reconciliation-card>span{color:#236b50!important}html[data-theme="light"] .payment-reconciliation-card small{color:#526a7f!important}
html[data-theme="light"] .form-check-input{background-color:#fff!important;border-color:#61788d!important}html[data-theme="light"] .form-check-input:checked{background-color:#198754!important;border-color:#198754!important;background-image:var(--bs-form-check-bg-image)!important}
html[data-theme="light"] .staff-overview-heading{background:#dcecf9!important;border:1px solid #bdd5e8!important}html[data-theme="light"] .staff-overview-heading h3{color:#123b5c!important}html[data-theme="light"] .staff-overview-heading p{color:#405f78!important}html[data-theme="light"] .staff-overview-badge{background:#fff!important;color:#194f73!important;border:1px solid #a9c8de!important}html[data-theme="light"] .staff-overview-role{background:#f3e7c7!important;color:#704a08!important;border-color:#e1c783!important}html[data-theme="light"] .staff-overview-person{background:#f7faff!important;color:#193047!important;border-color:#d9e5ef!important}html[data-theme="light"] .staff-overview-person-value{color:#193047!important}
html[data-theme="light"] .staff-payment-status.is-paid,html[data-theme="light"] .staff-payment-badge.is-paid{background:#e6f7ee!important;color:#12623f!important;border-color:#9bd0b5!important}html[data-theme="light"] .staff-payment-status.is-partial,html[data-theme="light"] .staff-payment-badge.is-partial{background:#fff7da!important;color:#735b00!important;border-color:#e3cb70!important}html[data-theme="light"] .staff-payment-status.is-pending,html[data-theme="light"] .staff-payment-badge.is-pending{background:#fff0f1!important;color:#8a2e3a!important;border-color:#e4b5bb!important}html[data-theme="light"] .staff-payment-status.is-allocation,html[data-theme="light"] .staff-payment-badge.is-allocation{background:#eef4f7!important;color:#3e5967!important;border-color:#c4d3db!important}

@media(max-width:767.98px){.payment-reconciliation{grid-template-columns:1fr}.payment-mini-breakdown{grid-template-columns:1fr}.staff-payment-badge{max-width:100%;text-align:left}}

@media print{
 @page{size:A4 portrait;margin:10mm}
 html,body{background:#fff!important;color:#111!important;font-size:10pt!important}
 body *{visibility:hidden!important}
 #printable-closing-preview,#printable-closing-preview *{visibility:visible!important}
 #printable-closing-preview{position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important;color:#111!important;padding:0!important;margin:0!important;box-shadow:none!important;border:0!important}
 #event-review-disclosure{display:block!important;border:0!important;margin:0!important}
 #event-review-disclosure>.event-review-toggle,.print-hide{display:none!important}
 #event-review-disclosure>.event-review-panel{display:block!important;background:#fff!important;padding:0!important;border:0!important}
 .print-only{display:block!important}.closing-print-heading{border-bottom:2px solid #111;margin-bottom:10px;padding-bottom:7px}.closing-print-heading strong{font-size:8pt;letter-spacing:1px}.closing-print-heading h1{font-size:18pt;margin:3px 0}.closing-print-heading p{margin:0;color:#444!important}
 #printable-closing-preview .row{display:flex!important;flex-wrap:wrap!important;margin:0 -3mm!important}#printable-closing-preview .col-12.col-lg-6{width:50%!important;padding:0 3mm 5mm!important}
 #printable-closing-preview .sector-summary,#printable-closing-preview .staff-overview,#printable-closing-preview .general-kpi,#printable-closing-preview .payment-reconciliation-card,#printable-closing-preview .event-notes-preview{background:#fff!important;color:#111!important;border:1px solid #c8c8c8!important;box-shadow:none!important;break-inside:avoid!important}
 #printable-closing-preview .sector-summary * ,#printable-closing-preview .staff-overview * ,#printable-closing-preview .general-kpi * ,#printable-closing-preview .payment-reconciliation-card *{color:#111!important}
 #printable-closing-preview .text-success{color:#146c43!important}#printable-closing-preview .text-danger{color:#b02a37!important}
 #printable-closing-preview .payment-mini-breakdown,#printable-closing-preview .general-kpi-detail{border-color:#bbb!important}
 #printable-closing-preview .general-kpi-grid>.col-12{width:50%!important}
 #printable-closing-preview .payment-reconciliation{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4mm!important;break-inside:avoid!important}
 #printable-closing-preview .staff-overview-heading{background:#f0f0f0!important;color:#111!important}#printable-closing-preview .staff-overview-role{background:#eee!important;color:#111!important}
 #printable-closing-preview .badge,#printable-closing-preview .staff-payment-status{border:1px solid #999!important;background:#fff!important;color:#111!important}
 footer,.side,.mobile-top,.mobile-menu,.save-bar,.event-final-actions{display:none!important}
}

/* Fechamento V1.83 - contraste, comissão pendente e impressão compacta */
.commission-pending-note{display:block;margin-top:4px;font-size:.68rem;line-height:1.25;color:#e4c36a}
html[data-theme="light"] .commission-pending-note{color:#805d00!important}

/* Modal de lançamentos: cabeçalho legível no tema claro */
html[data-theme="light"] .modal[id^="sectorModal-"] .modal-header .small.text-muted{color:#486780!important;font-weight:800;letter-spacing:.04em}
html[data-theme="light"] .modal[id^="sectorModal-"] .modal-title{color:#123b5c!important}
html[data-theme="light"] .modal[id^="sectorModal-"] .ledger-head{color:#193047!important}
html[data-theme="light"] .modal[id^="sectorModal-"] .ledger-head.text-success{color:#12623f!important}
html[data-theme="light"] .modal[id^="sectorModal-"] .ledger-head.text-danger{color:#8a2e3a!important}

/* Pré-visualização: força contraste correto em claro, inclusive dentro de regras dark antigas */
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric>span,
html[data-theme="light"] .event-review-panel .sector-summary .sector-balance>span{color:#24465d!important}
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric small,
html[data-theme="light"] .event-review-panel .sector-summary .sector-balance small{color:#607789!important}
html[data-theme="light"] .event-review-panel .payment-mini-breakdown span{color:#405f78!important}
html[data-theme="light"] .event-review-panel .payment-mini-breakdown strong{color:#173a50!important}
html[data-theme="light"] .event-review-panel .sector-balance strong{color:#173d30!important}
html[data-theme="light"] .event-review-panel .sector-balance strong.text-success{color:#12623f!important}
html[data-theme="light"] .event-review-panel .sector-balance strong.text-danger{color:#9b2d3b!important}
html[data-theme="light"] .event-review-panel .general-kpi>span{color:#405f78!important}
html[data-theme="light"] .event-review-panel .general-kpi>strong{color:#193047!important}
html[data-theme="light"] .event-review-panel .general-kpi>strong.text-success{color:#12623f!important}
html[data-theme="light"] .event-review-panel .general-kpi>strong.text-danger{color:#9b2d3b!important}
html[data-theme="light"] .event-review-panel .payment-reconciliation-card strong{color:#193047!important}
html[data-theme="light"] .event-review-panel .payment-reconciliation-card strong.text-success{color:#12623f!important}
html[data-theme="light"] .event-review-panel .payment-reconciliation-card strong.text-danger{color:#9b2d3b!important}

@media print{
 html,body{font-size:8.5pt!important}
 #printable-closing-preview{font-size:8.5pt!important;line-height:1.22!important}
 #printable-closing-preview .closing-print-heading h1{font-size:15pt!important}
 #printable-closing-preview .closing-print-heading p{font-size:8pt!important}
 #printable-closing-preview .sector-summary{padding:8px!important;margin-bottom:3mm!important}
 #printable-closing-preview .sector-summary-head{margin-bottom:5px!important}
 #printable-closing-preview .sector-summary-head h3{font-size:10pt!important}
 #printable-closing-preview .sector-metric,#printable-closing-preview .sector-balance{padding:6px!important;margin:4px 0!important}
 #printable-closing-preview .payment-mini-breakdown,#printable-closing-preview .general-kpi-detail{margin-top:4px!important;padding-top:4px!important;gap:2px 7px!important}
 #printable-closing-preview .general-kpi{padding:8px!important;min-height:0!important}
 #printable-closing-preview .payment-reconciliation-card{padding:8px!important}
 #printable-closing-preview .payment-reconciliation{gap:2mm!important}
 #printable-closing-preview .event-notes-preview{padding:8px!important}
 /* A lista de funcionários permanece no tamanho anterior para leitura confortável. */
 #printable-closing-preview .staff-overview{font-size:10pt!important;line-height:1.35!important}
 #printable-closing-preview .staff-overview-heading h3{font-size:12pt!important}
 #printable-closing-preview .staff-overview-person,#printable-closing-preview .staff-overview-role,#printable-closing-preview .staff-overview-footer{font-size:10pt!important}
 #printable-closing-preview .staff-payment-status,#printable-closing-preview .staff-payment-badge{font-size:8pt!important}
}

/* V1.84 — contraste definitivo dos cards do fechamento + separação claro/escuro */
html[data-theme="light"] .event-review-panel .sector-summary{
  background:#ffffff!important;
  color:#17364a!important;
  border-color:#d7e3ec!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-summary-head,
html[data-theme="light"] .event-review-panel .sector-summary .sector-summary-head h3{
  color:#17364a!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric{
  background:#eef6ff!important;
  color:#17364a!important;
  border-color:#c9dced!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric:nth-child(even),
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric:nth-child(odd){
  background:#eef6ff!important;
  color:#17364a!important;
  border-color:#c9dced!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-balance{
  background:#edf8f1!important;
  color:#173d30!important;
  border-color:#bfdcc9!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric>span,
html[data-theme="light"] .event-review-panel .sector-summary .sector-balance>span{
  color:#25465d!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric>strong,
html[data-theme="light"] .event-review-panel .sector-summary .sector-balance>strong{
  color:#193047!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric>strong.text-success,
html[data-theme="light"] .event-review-panel .sector-summary .sector-balance>strong.text-success{
  color:#0f7245!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .sector-metric>strong.text-danger,
html[data-theme="light"] .event-review-panel .sector-summary .sector-balance>strong.text-danger{
  color:#a52f43!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .payment-mini-breakdown{
  border-top-color:#c8d9e7!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .payment-mini-breakdown span{
  color:#526d81!important;
}
html[data-theme="light"] .event-review-panel .sector-summary .payment-mini-breakdown strong{
  color:#163a50!important;
}

html[data-theme="dark"] .event-review-panel .sector-summary .sector-metric{
  background:#203336!important;
  color:#eef8f4!important;
  border-color:#45625e!important;
}
html[data-theme="dark"] .event-review-panel .sector-summary .sector-balance{
  background:#173a30!important;
  color:#eef8f4!important;
  border-color:#398262!important;
}
html[data-theme="dark"] .event-review-panel .sector-summary .sector-metric>span,
html[data-theme="dark"] .event-review-panel .sector-summary .sector-balance>span{
  color:#f2faf5!important;
}
html[data-theme="dark"] .event-review-panel .sector-summary .sector-metric small,
html[data-theme="dark"] .event-review-panel .sector-summary .sector-balance small,
html[data-theme="dark"] .event-review-panel .sector-summary .payment-mini-breakdown span{
  color:#b9d0c7!important;
}
html[data-theme="dark"] .event-review-panel .sector-summary .payment-mini-breakdown strong{
  color:#f1faf6!important;
}

/* V1.85 — contraste definitivo do cabeçalho dos modais de lançamentos por setor */
html[data-theme="light"] .modal.show[id^="sectorModal-"] .modal-header,
html[data-theme="light"] .modal[id^="sectorModal-"] .modal-header{
  background:#eaf3fc!important;
  color:#163a5a!important;
  border-bottom:1px solid #bfd4e6!important;
}
html[data-theme="light"] .modal.show[id^="sectorModal-"] .modal-header :is(.small,.text-muted,.modal-title,h1,h2,h3,h4,h5,h6,span,strong,div),
html[data-theme="light"] .modal[id^="sectorModal-"] .modal-header :is(.small,.text-muted,.modal-title,h1,h2,h3,h4,h5,h6,span,strong,div){
  color:#163a5a!important;
  -webkit-text-fill-color:#163a5a!important;
}
html[data-theme="dark"] .modal.show[id^="sectorModal-"] .modal-header,
html[data-theme="dark"] .modal[id^="sectorModal-"] .modal-header{
  background:#0e3029!important;
  color:#fff!important;
  border-bottom:1px solid #2b7457!important;
}
html[data-theme="dark"] .modal.show[id^="sectorModal-"] .modal-header :is(.small,.text-muted,.modal-title,h1,h2,h3,h4,h5,h6,span,strong,div),
html[data-theme="dark"] .modal[id^="sectorModal-"] .modal-header :is(.small,.text-muted,.modal-title,h1,h2,h3,h4,h5,h6,span,strong,div){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* V1.90 · Despesas & Compras */
.expense-tabs{display:flex;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid var(--bs-border-color,#dee2e6);padding-bottom:.6rem}.expense-tab{padding:.55rem .85rem;border-radius:.65rem;text-decoration:none;font-weight:700;color:var(--bs-body-color,#212529);background:rgba(127,127,127,.08)}.expense-tab.active{background:#198754;color:#fff}.expense-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.expense-kpi{background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dee2e6);border-radius:1rem;padding:1rem;display:flex;flex-direction:column;gap:.3rem}.expense-kpi small,.expense-kpi span{color:var(--bs-secondary-color,#6c757d)}.expense-kpi strong{font-size:1.35rem}.expense-summary-row,.expense-project-row,.expense-fixed-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(127,127,127,.18)}.expense-summary-row:last-child,.expense-project-row:last-child,.expense-fixed-row:last-child{border-bottom:0}.expense-filter{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.expense-table small{color:var(--bs-secondary-color,#6c757d)}.expense-status{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:800}.status-paid{background:#d1e7dd;color:#0f5132}.status-partial{background:#fff3cd;color:#664d03}.status-pending{background:#f8d7da;color:#842029}.status-planned{background:#cff4fc;color:#055160}.status-cancelled{background:#e2e3e5;color:#41464b}.expense-ai-card{border-left:4px solid #198754!important}.expense-items{display:flex;flex-direction:column;gap:.55rem}.expense-item-row{display:grid;grid-template-columns:minmax(180px,2.3fr) minmax(70px,.55fr) minmax(80px,.65fr) minmax(110px,.9fr) minmax(110px,.9fr) auto;gap:.5rem;align-items:center}.expense-fixed-row>div:last-child{align-items:end}.expense-project-row strong{font-size:1.02rem}
html[data-theme="dark"] .expense-kpi,html[data-theme="dark"] .expense-tab:not(.active){background:#0f1c1d;color:#f1f7f5;border-color:#2a4547}html[data-theme="dark"] .expense-kpi small,html[data-theme="dark"] .expense-kpi span,html[data-theme="dark"] .expense-table small{color:#b5c7c5}html[data-theme="dark"] .status-paid{background:#123f2d;color:#bcf5d7}html[data-theme="dark"] .status-pending{background:#4a1f24;color:#ffd8dc}html[data-theme="dark"] .status-partial{background:#483b18;color:#fff0ad}html[data-theme="dark"] .status-planned{background:#143843;color:#c5f1ff}
@media(max-width:1100px){.expense-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.expense-kpis{grid-template-columns:1fr}.expense-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.75rem}.expense-tab{white-space:nowrap}.expense-item-row{grid-template-columns:1fr 72px 78px}.expense-item-row .expense-unit-price,.expense-item-row .expense-item-total{grid-column:span 1}.expense-item-row button{grid-column:3}.expense-fixed-row{align-items:flex-start;flex-direction:column}}

/* V1.91 · Despesas & Compras clean/progressivo */
.expense-step-card{border-left:4px solid #198754!important}.expense-step-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#198754;color:#fff;font-weight:900}.expense-doc-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.expense-doc-option{position:relative;display:block;cursor:pointer}.expense-doc-option input{position:absolute;opacity:0;pointer-events:none}.expense-doc-option span{display:flex;min-height:92px;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.9rem;background:var(--bs-body-bg,#fff);transition:.15s ease}.expense-doc-option strong{font-size:.95rem}.expense-doc-option small{color:var(--bs-secondary-color,#6c757d)}.expense-doc-option.active span,.expense-doc-option:has(input:checked) span{border-color:#198754;box-shadow:0 0 0 2px rgba(25,135,84,.14);background:rgba(25,135,84,.06)}.expense-progressive-block{padding:1rem;border:1px solid rgba(127,127,127,.18);border-radius:.9rem;background:rgba(127,127,127,.035)}.expense-more-options{border-top:1px solid rgba(127,127,127,.18);padding-top:1rem}.expense-more-options>summary{cursor:pointer;font-weight:800;color:#198754}.expense-clean-form label{font-weight:650}.expense-clean-form label .form-control,.expense-clean-form label .form-select{font-weight:400;margin-top:.3rem}.expense-item-row .form-select{min-width:115px}
html[data-theme="dark"] .expense-doc-option span{background:#0f1c1d;border-color:#2a4547;color:#eef7f5}html[data-theme="dark"] .expense-doc-option small{color:#b5c7c5}html[data-theme="dark"] .expense-doc-option.active span,html[data-theme="dark"] .expense-doc-option:has(input:checked) span{background:#123126;border-color:#2fa66c}html[data-theme="dark"] .expense-progressive-block{background:#0f1c1d;border-color:#2a4547}
@media(max-width:900px){.expense-doc-types{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.expense-doc-types{grid-template-columns:1fr}.expense-doc-option span{min-height:auto}.expense-item-row{grid-template-columns:minmax(0,1fr) 70px 105px}.expense-item-row .expense-unit-price,.expense-item-row .expense-item-total{grid-column:auto}.expense-item-row button{grid-column:3}}

/* V1.93 · Busca de fornecedor no lançamento financeiro */
.expense-supplier-picker{position:relative}.expense-supplier-suggestions{position:absolute;z-index:1080;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #d9e2e8;border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.16);padding:6px;max-height:260px;overflow:auto}.expense-supplier-suggestion{width:100%;border:0;background:transparent;text-align:left;border-radius:8px;padding:9px 10px;display:flex;justify-content:space-between;gap:10px;color:#16232b}.expense-supplier-suggestion:hover,.expense-supplier-suggestion:focus{background:#eef7f2}.expense-supplier-suggestion small{color:#6b7780}.expense-supplier-match{font-size:.82rem;margin-top:5px;color:#227447}.theme-dark .expense-supplier-suggestions{background:#102326;border-color:#294247;box-shadow:0 12px 30px rgba(0,0,0,.35)}.theme-dark .expense-supplier-suggestion{color:#f1f7f5}.theme-dark .expense-supplier-suggestion:hover,.theme-dark .expense-supplier-suggestion:focus{background:#18363a}.theme-dark .expense-supplier-suggestion small{color:#aebfc2}.theme-dark .expense-supplier-match{color:#7fe0aa}

/* V1.94 · produtos inteligentes e relatório de compras/despesas */
.expense-product-field{min-width:0}.expense-product-field small{display:block;margin-top:3px;line-height:1.15}.expense-report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-product-sector{margin-top:1.1rem;border-top:1px solid rgba(127,127,127,.18);padding-top:1rem}.expense-product-sector h3{font-size:1.05rem;margin:0 0 .65rem}.expense-report-products table,.expense-report-transactions table{font-size:.88rem}.expense-report-print-heading{display:none}
html[data-theme="dark"] .expense-report-products .table,html[data-theme="dark"] .expense-report-transactions .table{--bs-table-bg:transparent;--bs-table-color:#eef7f5}
@media(max-width:900px){.expense-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.expense-report-kpis{grid-template-columns:1fr}.expense-report-products table{min-width:980px}.expense-report-transactions table{min-width:850px}}
@media print{
 body.printing-expense-report *{visibility:hidden!important}
 body.printing-expense-report #printable-expense-report,body.printing-expense-report #printable-expense-report *{visibility:visible!important}
 body.printing-expense-report #printable-expense-report{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important;color:#111!important;padding:0!important;margin:0!important}
 body.printing-expense-report #printable-expense-report .card{display:block!important;background:#fff!important;color:#111!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 5mm!important}
 body.printing-expense-report #printable-expense-report .print-only{display:block!important}
 body.printing-expense-report #printable-expense-report .expense-report-print-heading{display:block!important;border-bottom:2px solid #111;padding-bottom:4mm;margin-bottom:4mm}
 body.printing-expense-report #printable-expense-report .expense-report-print-heading h1{font-size:16pt!important;margin:1mm 0}
 body.printing-expense-report #printable-expense-report .expense-report-kpis{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:2mm!important;margin-bottom:4mm!important}
 body.printing-expense-report #printable-expense-report .expense-kpi{display:block!important;border:1px solid #bbb!important;padding:2.5mm!important;break-inside:avoid!important}
 body.printing-expense-report #printable-expense-report .expense-kpi small,body.printing-expense-report #printable-expense-report .expense-kpi strong{color:#111!important}
 body.printing-expense-report #printable-expense-report h2{font-size:12pt!important;margin:3mm 0 1mm!important}body.printing-expense-report #printable-expense-report h3{font-size:10pt!important}
 body.printing-expense-report #printable-expense-report table{display:table!important;width:100%!important;font-size:7.5pt!important;border-collapse:collapse!important;color:#111!important}
 body.printing-expense-report #printable-expense-report table th,body.printing-expense-report #printable-expense-report table td{padding:1.3mm!important;border-bottom:1px solid #ccc!important;background:#fff!important;color:#111!important}
 body.printing-expense-report #printable-expense-report .table-responsive{overflow:visible!important}
 body.printing-expense-report #printable-expense-report .expense-product-sector{break-before:auto!important}.expense-report-actions,.expense-report-filter{display:none!important}
}

/* V1.95 — Catálogo de Rotinas de IA */
.ai-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ai-catalog-card{padding:22px}.ai-catalog-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ai-catalog-card h2{font-size:1.15rem;margin:.55rem 0 .5rem}.ai-catalog-card p{line-height:1.5}.ai-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.ai-metrics>div,.ai-info-list>div{border:1px solid var(--bs-border-color);border-radius:12px;padding:12px}.ai-metrics small,.ai-info-list span{display:block;color:var(--bs-secondary-color);font-size:.78rem}.ai-metrics strong{display:block;margin-top:3px;font-size:.9rem}.ai-info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-info-list strong{display:block;margin-bottom:5px}@media(max-width:900px){.ai-catalog-grid,.ai-info-list{grid-template-columns:1fr}}@media(max-width:560px){.ai-metrics{grid-template-columns:1fr 1fr}.ai-catalog-card{padding:16px}}

/* V2.00 • Monitor de preços SEFAZ */
.price-promotions-card{border:1px solid rgba(25,135,84,.18)!important}
.price-promotions-card .table td,.price-promotions-card .table th{vertical-align:middle}
.price-promotions-card .badge{font-size:.78rem}
[data-theme="dark"] .price-promotions-card{border-color:rgba(75,190,125,.32)!important}
[data-theme="dark"] .price-promotions-card .table{--bs-table-bg:transparent;--bs-table-color:#eef7f1}
.ai-catalog-card .text-bg-warning{color:#332400!important}

/* V2.03 · Fechamento + itens por setor */
html[data-theme="light"] #staffModal .staff-paid-method,
html[data-theme="light"] #staffModal .staff-paid-method label,
html[data-theme="light"] #staffModal .staff-paid-method .form-label,
html[data-theme="light"] #staffModal .staff-paid-method .form-select{
  color:#183247!important;
}
html[data-theme="light"] #staffModal .staff-paid-method{background:#edf5fb!important;border-color:#bfd5e5!important}
html[data-theme="light"] #staffModal .staff-paid-method .form-select{background:#fff!important;color:#183247!important;border-color:#b9ccdc!important}

.sector-review-lines{display:flex;flex-direction:column;gap:.35rem;margin:.7rem 0 .85rem;padding:.65rem .75rem;border:1px solid rgba(127,127,127,.16);border-radius:.7rem;background:rgba(127,127,127,.035)}
.sector-review-line{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;font-size:.82rem}
.sector-review-line span{min-width:0;overflow-wrap:anywhere}
.sector-review-line strong{white-space:nowrap}

.expense-item-head,.expense-item-row{grid-template-columns:minmax(180px,2.1fr) minmax(140px,1.15fr) minmax(70px,.55fr) minmax(105px,.75fr) minmax(110px,.9fr) minmax(110px,.9fr) auto!important}
.expense-item-head{display:grid;gap:.5rem;padding:0 .1rem .35rem;font-size:.72rem;font-weight:800;color:var(--bs-secondary-color,#6c757d);text-transform:uppercase;letter-spacing:.02em}
.expense-item-row select[name="item_sector[]"]{min-width:140px}
@media(max-width:900px){.expense-item-head{display:none}.expense-item-row{grid-template-columns:1fr 1fr!important}.expense-item-row .expense-product-field{grid-column:1/-1}.expense-item-row button{grid-column:2;justify-self:end}.expense-item-row select[name="item_sector[]"]{min-width:0}}
@media(max-width:560px){.expense-item-row{grid-template-columns:1fr!important}.expense-item-row>*{grid-column:1!important}.expense-item-row button{justify-self:stretch}}

/* V2.05 — menu lateral com tarjas, ícones e melhor hierarquia visual. */
.side{width:280px;min-width:280px;padding:24px 14px 18px;gap:8px}
.side-sections{display:flex;flex-direction:column;gap:12px}
.side-section{display:flex;flex-direction:column;gap:8px}
.side-label{display:flex;align-items:center;gap:10px;margin:6px 8px 0;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:none}
.side-label-icon,.mobile-menu-heading-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.16);font-size:13px;flex:0 0 24px}
.side-label-text{line-height:1}
.side-links{display:flex;flex-direction:column;gap:4px;padding:0 4px 0 10px}
.side-link{display:flex;align-items:center;gap:11px;padding:11px 12px 11px 14px;border-radius:12px;font-size:14px;font-weight:650;position:relative;transition:background .18s,color .18s,border-color .18s,transform .18s}
.side-link-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.10);font-size:15px;flex:0 0 28px}
.side-link-text{line-height:1.2}
.side-link[aria-current="page"]{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important;box-shadow:inset 3px 0 0 rgba(255,255,255,.88),0 8px 18px rgba(0,0,0,.12)}
.side-link[aria-current="page"] .side-link-icon{background:rgba(255,255,255,.18)}
.side-link:hover,.side-link:focus-visible{transform:translateX(2px)}
.side-bottom{padding:16px 10px 0;font-size:12px}
.mobile-menu .mobile-menu-heading{display:flex;align-items:center;gap:10px}
.mobile-menu .mobile-menu-group a{display:flex;align-items:center;gap:10px}
.mobile-menu .mobile-menu-group a .side-link-icon{width:26px;height:26px;font-size:14px;background:rgba(17,77,128,.08)}
html[data-theme="light"] .side-label{background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.20)!important;color:#eef7ff!important}
html[data-theme="light"] .side-label-icon{background:rgba(255,255,255,.18)!important}
html[data-theme="light"] .side-link{padding-left:14px!important}
html[data-theme="light"] .side-link .side-link-icon{background:rgba(255,255,255,.12)!important}
html[data-theme="light"] .side-link[aria-current="page"]{background:#ffffff2b!important;border-color:#ffffff40!important;color:#fff!important}
html[data-theme="light"] .side-link:hover,html[data-theme="light"] .side-link:focus-visible{background:#ffffff21!important;border-color:#ffffff2f!important}
html[data-theme="light"] .mobile-menu .mobile-menu-heading-icon{background:#dcecff!important}
html[data-theme="light"] .mobile-menu .mobile-menu-group a .side-link-icon{background:#deebf7!important;color:#205987!important}
html[data-theme="dark"] .side-label,body.theme-dark .side-label{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important}
html[data-theme="dark"] .side-link,body.theme-dark .side-link{border:1px solid transparent}

/* V2.06 — hierarquia visual do menu */
.side{width:274px;min-width:274px;padding-left:14px;padding-right:14px}
.side-sections{gap:14px}
.side-section{gap:7px;padding:3px 0 6px;border-radius:15px;transition:background .18s ease,box-shadow .18s ease}
.side-label{margin:0 4px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:#c9ddd4;font-size:12px;font-weight:800}
.side-label-icon{width:30px;height:30px;flex-basis:30px;border-radius:9px;font-size:15px;background:rgba(255,255,255,.10)}
.side-label-icon i,.side-link-icon i,.mobile-menu-heading-icon i{line-height:1}
.side-links{padding:0 5px 0 12px;gap:3px}
.side-link{min-height:46px;padding:8px 11px;border-radius:11px;font-size:14px;font-weight:600;color:#dce9e3}
.side-link-icon{width:31px;height:31px;flex-basis:31px;border-radius:9px;font-size:15px;background:rgba(255,255,255,.065)}
.side-section.is-active{background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.side-section.is-active .side-label{background:#2f7a55!important;border-color:#4e9b73!important;color:#fff!important;box-shadow:0 6px 16px rgba(0,0,0,.13)}
.side-section.is-active .side-label-icon{background:#fff!important;color:#236342!important}
.side-link[aria-current="page"]{background:#f4fff8!important;border:1px solid #a9d9bd!important;color:#164d32!important;box-shadow:0 6px 16px rgba(0,0,0,.14)!important;font-weight:800!important;transform:none!important}
.side-link[aria-current="page"] .side-link-icon{background:#dff4e6!important;color:#1d6944!important}
.side-link[aria-current="page"]::after{content:"";position:absolute;right:10px;width:7px;height:7px;border-radius:50%;background:#2f8d5b;box-shadow:0 0 0 3px rgba(47,141,91,.16)}
.side-link:hover:not([aria-current="page"]),.side-link:focus-visible:not([aria-current="page"]){background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}

.mobile-menu .mobile-menu-group.is-active{border-color:#58a87d!important;box-shadow:0 7px 18px rgba(0,0,0,.10)}
.mobile-menu .mobile-menu-group.is-active .mobile-menu-heading{background:#2f7a55!important;color:#fff!important;border-radius:9px;padding:8px 10px;margin-bottom:7px;border-bottom:0!important}
.mobile-menu .mobile-menu-group.is-active .mobile-menu-heading-icon{background:#fff!important;color:#236342!important}
.mobile-menu .mobile-menu-group a[aria-current="page"]{background:#e7f7ed!important;color:#165335!important;box-shadow:inset 4px 0 #2f8d5b!important;font-weight:800!important}

html[data-theme="light"] .side-section.is-active{background:#ffffff10!important}
html[data-theme="light"] .side-section.is-active .side-label{background:#2f7a55!important;border-color:#56a77b!important;color:#fff!important}
html[data-theme="light"] .side-section.is-active .side-label-icon{background:#fff!important;color:#246443!important}
html[data-theme="light"] .side-link[aria-current="page"]{background:#f3fff7!important;border-color:#b6dfc5!important;color:#174d33!important}
html[data-theme="light"] .side-link[aria-current="page"] .side-link-icon{background:#dff4e6!important;color:#1d6944!important}
html[data-theme="dark"] .side-section.is-active .side-label,body.theme-dark .side-section.is-active .side-label{background:#26704c!important;border-color:#45936a!important;color:#fff!important}
html[data-theme="dark"] .side-link[aria-current="page"],body.theme-dark .side-link[aria-current="page"]{background:#dff6e7!important;color:#143f2b!important;border-color:#77b891!important}
