:root{--bg:#f2ece1;--bg-card:#fff;--text:#2c2018;--mocha:#8c6940;--mocha-lt:#a07840;--green:#4a7d58;--red:#a03830;--border:rgba(100,70,30,.13);--text-dim:rgba(44,32,24,.42);--sidebar-w:240px;--radius:10px;--font:"IBM Plex Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.5;height:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:var(--font);font-size:13px}input,select,textarea{color:var(--text)}.app-shell,.sidebar{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;padding:20px 16px;gap:20px;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:10}.main{margin-left:var(--sidebar-w);flex:1 1;padding:36px 24px 40px;min-height:100vh}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-sm{padding:12px 14px}.card-grid{display:grid;grid-gap:12px;gap:12px}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid-4{grid-template-columns:repeat(4,1fr)}.card-grid-5{grid-template-columns:repeat(5,1fr)}.label{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.value-lg{font-size:22px;font-weight:600;color:var(--text);line-height:1.2}.value-md{font-size:16px;font-weight:500;color:var(--text)}.value-sm{font-size:13px;font-weight:500}.green{color:var(--green)}.red{color:var(--red)}.mocha{color:var(--mocha)}.dim{color:var(--text-dim)}.sidebar-brand{font-size:15px;font-weight:600;color:var(--mocha);letter-spacing:.05em}.sidebar-section{display:flex;flex-direction:column;gap:8px}.sidebar-section-title{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.month-slider-wrap{display:flex;flex-direction:column;gap:4px}.month-slider-label{font-size:15px;font-weight:600;color:var(--text)}input[type=range]{width:100%;accent-color:var(--mocha);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;letter-spacing:.03em;transition:opacity .15s}.btn:hover{opacity:.82}.btn:active{opacity:.65}.btn-primary{background:var(--mocha);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-ghost{background:transparent;color:var(--mocha);border:1px solid var(--border)}.btn-sm{padding:4px 9px;font-size:11px}.btn-xs{padding:2px 7px;font-size:11px}.btn-full{width:100%}.tab-nav{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{padding:8px 14px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s;flex-shrink:0}.tab-btn.active,.tab-btn:hover{color:var(--mocha)}.tab-btn.active{border-bottom-color:var(--mocha)}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:11px;font-weight:500;color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase}.form-input{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text);width:100%;transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--mocha)}.form-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}.radio-group{display:flex;gap:6px}.radio-btn{flex:1 1;padding:6px 10px;text-align:center;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-dim);transition:all .15s;cursor:pointer}.radio-btn.active{background:var(--mocha);border-color:var(--mocha);color:#fff}.tx-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);gap:10px}.tx-row:not(:last-child){margin-bottom:4px}.tx-meta{display:flex;flex-direction:column;gap:1px;flex:1 1;min-width:0}.tx-desc{font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-cat{font-size:10px;color:var(--text-dim)}.tx-amount{font-size:13px;font-weight:600;white-space:nowrap}.tx-delete{color:var(--text-dim);font-size:16px;line-height:1;padding:2px 4px;border-radius:4px;transition:color .15s;flex-shrink:0}.tx-delete:hover{color:var(--red)}.section-title{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mocha);margin-bottom:10px}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-card .label{margin-bottom:2px}.caixinha-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:8px}.caixinha-header{display:flex;align-items:center;justify-content:space-between}.caixinha-name{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.caixinha-balance{font-size:24px;font-weight:600;color:var(--text)}.caixinha-sub{gap:12px}.caixinha-sub,.staged-item{display:flex;font-size:11px}.staged-item{align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;gap:6px}.staged-item-label{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbl-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl th{background:var(--bg);color:var(--text-dim);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;text-align:left;white-space:nowrap}.tbl td,.tbl th{border-bottom:1px solid var(--border)}.tbl td{padding:7px 12px;color:var(--text)}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--bg)}.divider{height:1px;background:var(--border);width:100%}.rate-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-size:11px;color:var(--mocha);font-weight:500}.inner-tab-group{display:flex;gap:4px;margin-bottom:14px}.inner-tab-btn{padding:5px 14px;border:1px solid var(--border);border-radius:20px;font-size:11px;font-weight:500;color:var(--text-dim);transition:all .15s}.inner-tab-btn.active{background:var(--mocha);border-color:var(--mocha);color:#fff}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.w-full{width:100%}.mt-4{margin-top:16px}.mt-3{margin-top:12px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.text-right{text-align:right}.recharts-wrapper,.recharts-wrapper *,.recharts-wrapper :focus,.recharts-wrapper:focus{outline:none!important}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--mocha);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:900px){.card-grid-4{grid-template-columns:repeat(2,1fr)}.card-grid-5{grid-template-columns:repeat(3,1fr)}.card-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.sidebar{display:none}.main{margin-left:0;padding:12px}.card-grid-2,.card-grid-3,.card-grid-4,.card-grid-5{grid-template-columns:1fr}}