:root{--bg-color:#fafafa;--text-color:#333;--text-muted:#888;--primary-color:#0f4c3a;--primary-hover:#0a3a2b;--border-color:#e2e8f0;--success-color:#10b981;--danger-color:#ef4444;--table-header-bg:#fff;--table-row-alt:#f4f8f6;--table-col-first:#eaf2ee;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}.top-header{background-color:var(--white);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.top-header h1{color:var(--primary-color);margin:0;font-size:1.25rem;font-weight:700}.top-header .subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.btn{border:1px solid var(--border-color);background:var(--white);border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn:hover{background:#f1f5f9}.btn-primary{background-color:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-hover)}.filter-bar{align-items:center;gap:1rem;padding:1rem 2rem;display:flex}.year-tabs,.month-tabs{background:var(--primary-color);border-radius:4px;display:flex;overflow:hidden}.year-tabs button,.month-tabs button{color:var(--white);padding:.5rem 1rem;font-size:.875rem;font-weight:600}.year-tabs button.active,.month-tabs button.active{background:#fff3}.year-tabs button:not(.active),.month-tabs button:not(.active){background:var(--white);color:var(--primary-color);border-right:1px solid var(--border-color)}.year-tabs button:last-child,.month-tabs button:last-child{border-right:none}.dre-container{background:var(--white);border:1px solid var(--border-color);border-radius:8px;margin:0 2rem 2rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.dre-header-title{color:var(--primary-color);border-bottom:1px solid var(--border-color);background:var(--white);padding:1rem;font-size:1rem;font-weight:600}.dre-table-wrapper{overflow-x:auto}table.dre-table{border-collapse:collapse;white-space:nowrap;width:100%}table.dre-table th,table.dre-table td{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);text-align:right;padding:.75rem 1rem;font-size:.875rem}table.dre-table th{background:var(--table-header-bg);color:var(--primary-color);text-align:center;font-weight:600}table.dre-table th.col-competencia{text-align:left;background:var(--table-col-first);z-index:2;position:sticky;left:0}table.dre-table td.col-competencia{text-align:left;background:var(--table-col-first);z-index:1;font-weight:500;position:sticky;left:0}table.dre-table tr:nth-child(2n) td:not(.col-competencia){background:var(--table-row-alt)}table.dre-table tr.total-row td{background:var(--white);font-weight:700}table.dre-table tr.row-expanded-receita td,table.dre-table tr.row-expanded-receita td.col-competencia{background-color:var(--primary-color)!important;color:var(--white)!important}table.dre-table tr.row-expanded-despesa td,table.dre-table tr.row-expanded-despesa td.col-competencia{background-color:var(--danger-color)!important;color:var(--white)!important}table.dre-table tr.row-expanded-receita td .val-negative,table.dre-table tr.row-expanded-receita td .val-positive,table.dre-table tr.row-expanded-despesa td .val-negative,table.dre-table tr.row-expanded-despesa td .val-positive{color:var(--white)!important}table.dre-table tr.row-detail td{font-style:italic;background-color:#f0f8ff!important}.dre-sub-header th{color:var(--text-muted);padding:.5rem;font-size:.75rem;font-weight:500}.val-positive{color:var(--success-color)}.val-negative{color:var(--danger-color);font-weight:600}.val-neutral{color:var(--text-muted)}.glass-panel{background:var(--white);border:1px solid var(--border-color);border-radius:8px;padding:2rem;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0000001a}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-panel{background:var(--white);border-radius:16px;width:100%;max-width:540px;animation:.2s slideUp;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding:1.75rem 1.75rem 0;display:flex}.modal-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--primary-color);margin-bottom:.25rem;font-size:.7rem;font-weight:600}.modal-title{color:var(--text-color);font-size:1.25rem;font-weight:700}.modal-close{width:32px;height:32px;color:var(--text-muted);background:#f1f5f9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.modal-close:hover{color:var(--text-color);background:#e2e8f0}form{flex-direction:column;gap:1rem;padding:0 1.75rem 1.75rem;display:flex}.field-group{flex-direction:column;gap:.4rem;display:flex}.field-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}input,select,textarea{color:var(--text-color);background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--primary-color);background:var(--white);box-shadow:0 0 0 3px #0f4c3a14}.modal-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.modal-grid-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.modal-toggle-row{align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.modal-toggle-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex:1;font-size:.8rem;font-weight:600}.toggle-switch{cursor:pointer;background:#e2e8f0;border:none;border-radius:999px;flex-shrink:0;width:42px;height:24px;transition:background .2s;position:relative}.toggle-switch.on{background:var(--primary-color)}.toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch.on .toggle-thumb{transform:translate(18px)}.modal-divider{background:#f1f5f9;height:1px;margin:.5rem 0}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:0;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}@media (width<=768px){.top-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.top-header .flex{justify-content:flex-end;width:100%}.filter-bar{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.filter-bar>div[style*="flex: 1"]{display:none}.year-tabs,.month-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;overflow-x:auto}.year-tabs::-webkit-scrollbar{display:none}.month-tabs::-webkit-scrollbar{display:none}.year-tabs button,.month-tabs button{flex:1 0 auto;padding:.5rem .75rem}.filter-bar .flex.gap-2{flex-wrap:wrap;justify-content:flex-start}.dre-container{margin:1rem}.dre-header-title{font-size:.9rem}.modal-panel{border-radius:12px}.modal-grid-2,.modal-grid-3{grid-template-columns:1fr}.modal-header{padding:1.25rem 1.25rem 0}form{padding:0 1.25rem 1.25rem}}
