:root{--bg: #0a0a0a;--bg-elev: #141414;--bg-card: #1a1a1a;--border: #262626;--text: #f5f5f5;--text-dim: #9ca3af;--text-faint: #525252;--accent: #ffaa3a;--accent-hover: #ffb855;--green: #4ade80;--red: #f87171;--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);padding:24px 16px 16px;display:flex;flex-direction:column;gap:4px;height:100vh;position:sticky;top:0}.sidebar-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:4px;margin-right:-4px}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-footer{padding-top:12px;border-top:1px solid var(--border);margin-top:8px}.nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.nav-group-title{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);padding:6px 12px 4px;font-weight:600}.nav-divider{height:1px;background:var(--border);margin:8px 4px}.nav-import{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-sm);background:var(--accent);color:#0a0a0a;font-weight:700;font-size:13px;letter-spacing:.2px;transition:background .15s,transform .05s;margin:4px 0}.nav-import:hover{background:var(--accent-hover)}.nav-import.active{background:var(--accent-hover);box-shadow:0 0 0 2px #ffaa3a40}.nav-import .icon{width:18px;text-align:center}.sidebar .logo{font-size:20px;font-weight:700;padding:8px 12px 24px;display:flex;align-items:center;gap:8px}.sidebar .logo .dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-dim);font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:var(--bg-card);color:var(--text)}.nav-link.active{background:var(--bg-card);color:var(--accent)}.nav-link .icon{width:18px;text-align:center}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:64px;border-bottom:1px solid var(--border);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg);position:sticky;top:0;z-index:10}.topbar h1{font-size:18px;font-weight:600}.topbar .right{display:flex;align-items:center;gap:12px}.topbar .user{color:var(--text-dim);font-size:13px}.content{padding:32px;flex:1;overflow-x:hidden}.grid{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:2fr 1fr}@media (max-width: 900px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card h3{font-size:12px;color:var(--text-dim);font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.card .value{font-size:28px;font-weight:700;letter-spacing:-.5px}.card .value.neg{color:var(--red)}.card .value.pos{color:var(--green)}.card .sub{color:var(--text-dim);font-size:12px;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);background:var(--accent);color:#0a0a0a;font-weight:600;font-size:13px;transition:background .15s}.btn:hover{background:var(--accent-hover)}.btn.ghost{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{background:var(--bg-elev)}.btn.sm{padding:6px 12px;font-size:12px}.input,.select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text);font-size:13px;outline:none;transition:border-color .15s;width:100%}.input:focus,.select:focus{border-color:var(--accent)}.month-picker{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text);font-size:13px;font-weight:500}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px}.table th{color:var(--text-dim);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.5px;background:var(--bg-elev)}.table tr:last-child td{border-bottom:none}.table .amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.table .amount.neg{color:var(--red)}.table .amount.pos{color:var(--green)}.tag{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--bg-elev);color:var(--text-dim);font-size:11px;font-weight:500;border:1px solid var(--border)}.tag.account{color:var(--accent);border-color:var(--accent);background:transparent}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.login-card h1{font-size:24px;margin-bottom:4px}.login-card .sub{color:var(--text-dim);margin-bottom:24px;font-size:13px}.login-card .field{margin-bottom:12px}.login-card .field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px}.login-card button{width:100%;justify-content:center;margin-top:8px}.error{color:var(--red);font-size:12px;margin-top:8px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--text-dim);transition:border-color .15s,background .15s;cursor:pointer}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:#ffaa3a0d;color:var(--text)}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar .input,.toolbar .select{width:auto;min-width:160px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:48px;text-align:center;color:var(--text-dim);font-size:14px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:10px 16px;color:var(--text-dim);font-weight:500;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100;padding:24px}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;min-width:360px;max-width:560px;width:100%}.modal h3{font-size:16px;font-weight:600;color:var(--text);margin-bottom:16px}.modal .field{margin-bottom:12px}.modal .field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px}.switch{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:20px;transition:background .15s}.switch .slider:before{content:"";position:absolute;height:14px;width:14px;left:3px;top:3px;background:#f5f5f5;border-radius:50%;transition:transform .15s}.switch input:checked+.slider{background:var(--accent)}.switch input:checked+.slider:before{transform:translate(16px)}.badge-dup{display:inline-block;padding:2px 6px;border-radius:4px;background:var(--red);color:#0a0a0a;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.preview-table tr.dup-row{opacity:.7;background:#f871710d}.preview-table td,.preview-table th{vertical-align:middle}pre{font-family:JetBrains Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.pills{display:inline-flex;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:2px;gap:2px}.pill{padding:5px 12px;border-radius:999px;color:var(--text-dim);font-size:12px;font-weight:500;transition:background .15s,color .15s}.pill:hover{color:var(--text)}.pill.active{background:var(--bg-elev);color:var(--text)}.pill.p-paulo.active{color:#ffaa3a}.pill.p-debora.active{color:#c084fc}.avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#0a0a0a;font-size:11px;font-weight:700;margin-right:8px;vertical-align:middle;flex-shrink:0}.file-list{display:flex;flex-direction:column;gap:12px}.file-item{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev)}.file-thumb{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-card);flex-shrink:0}.file-thumb-icon{display:grid;place-items:center;color:var(--text-dim);font-weight:700;font-size:12px}.progress{margin-top:6px;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress .bar{height:100%;background:var(--accent);transition:width .2s ease-out}.progress .bar.ok{background:var(--green)}.progress .bar.err{background:var(--red)}.cashflow-table td,.cashflow-table th{white-space:nowrap}.cashflow-table .total-row td{border-top:2px solid var(--border);background:var(--bg-elev)}.bill-list{display:flex;flex-direction:column;gap:8px}.bill-card{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev)}.bill-card:hover{border-color:var(--accent)}.app{grid-template-columns:240px 1fr}@media (max-width: 720px){.app{grid-template-columns:1fr}.sidebar{display:none}}
