@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;600;700;800;900&display=swap";:root{--ink:#0a0a0a;--paper:#f0f0ea;--surface:#fafaf7;--card:#fff;--line:#e2e2dc;--line-strong:#d0d0ca;--muted:#606060;--dim:#999;--amber:#f59e0b;--amber-dark:#d97706;--green:#16803c;--red:#dc2626;--teal:#087f8f;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Plus Jakarta Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-width:1240px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.granatum-shell{min-height:100vh;color:var(--ink)}.app-header{z-index:20;color:var(--ink);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafaf7f5;position:sticky;top:0;box-shadow:0 10px 24px #0a0a0a14}.header-main{grid-template-columns:230px 1fr auto;align-items:center;gap:18px;height:64px;padding:0 22px;display:grid}.brand-mark{color:var(--ink);text-align:left;letter-spacing:0;background:0 0;border:0;padding:0;font-size:28px;font-weight:900;line-height:.9}.brand-mark span{color:var(--amber)}.brand-mark small{border-top:1px solid var(--line);color:#9b9b96;letter-spacing:.22em;margin-top:8px;padding-top:7px;font-family:DM Mono,monospace;font-size:8px;font-weight:400;display:block}.top-menu{align-items:stretch;gap:2px;height:100%;display:flex}.top-menu button,.link-btn{color:#4a4a46;letter-spacing:.08em;background:0 0;border:0;font-size:11px;font-weight:900}.top-menu button{border-bottom:3px solid #0000;padding:0 11px}.top-menu button.active{color:var(--ink);border-color:var(--amber)}.top-menu button:hover,.link-btn:hover{color:var(--amber)}.header-actions{align-items:center;gap:10px;display:flex}.header-actions select{min-width:250px;color:var(--ink);border-color:var(--line-strong);background:#fff}.quickbar{border-top:1px solid var(--line);background:#fff;align-items:center;gap:8px;min-height:48px;padding:8px 22px;display:flex}.page{padding:24px}.page-title{justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.page-title h1{letter-spacing:0;margin:0;font-size:28px;font-weight:900}.page-title p{color:var(--muted);margin:6px 0 0;font-size:13px}.btn,.review,.chip{border:1px solid var(--line-strong);background:var(--card);color:#232323;letter-spacing:.02em;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:0 11px;font-size:11px;font-weight:900;display:inline-flex}.btn.primary{border-color:var(--amber);background:var(--amber);color:var(--ink)}.btn.danger{color:#fff;background:#ef4444;border-color:#ef4444}.btn.success{color:#063715;background:#22c55e;border-color:#22c55e}.btn.info{color:#062535;background:#0ea5e9;border-color:#0ea5e9}.btn.primary.subtle{background:#fff7e8}.page-toolbar,.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}input,select,textarea{border:1px solid var(--line-strong);min-height:32px;color:var(--ink);background:#fff;border-radius:4px;min-width:0;padding:0 9px}textarea{resize:vertical;min-height:88px;padding:10px}input:disabled{color:#777;background:#f3f3ee}.dashboard-layout{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.panel{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden}.panel.wide{grid-column:1/-1}.panel-head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:11px 13px;display:flex}.panel-head h2{margin:0;font-size:14px;font-weight:900}.panel-head span{color:var(--amber-dark);font-family:DM Mono,monospace;font-size:11px;font-weight:500}.panel-body{padding:12px}.grouped-list,.entry-mini,.summary-rows{gap:8px;display:grid}.list-row,.mini-row,.summary-rows div{border-bottom:1px solid #eeeeea;align-items:center;gap:8px;min-height:34px;padding-bottom:7px;display:grid}.list-row{grid-template-columns:110px 1fr auto}.mini-row{grid-template-columns:82px 1fr auto 68px}.summary-rows div{grid-template-columns:1fr auto}.list-row span,.mini-row span,.summary-rows span{color:var(--muted);font-size:11px}.list-row strong,.mini-row strong,.summary-rows strong{font-size:12px}.mini-row small{color:var(--muted);margin-top:2px;font-size:10px;font-weight:600;display:block}.mini-row button{background:var(--amber);height:25px;color:var(--ink);border:0;border-radius:4px;font-size:10px;font-weight:900}.panel-total{border-top:2px solid var(--ink);justify-content:space-between;margin-top:12px;padding-top:12px;display:flex}.progress-line{margin-top:12px}.progress-line div{color:var(--muted);justify-content:space-between;font-size:11px;font-weight:900;display:flex}.progress-line em{background:#e7e7e1;border-radius:999px;height:9px;margin-top:6px;display:block;overflow:hidden}.progress-line i{background:var(--green);height:100%;display:block}.progress-line i.warn{background:var(--amber)}.table-scroll{overflow-x:auto}.data-table,.budget-table{border-collapse:collapse;width:100%}.data-table th,.data-table td,.budget-table th,.budget-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #eeeeea;padding:8px 9px;font-size:12px}.data-table th,.budget-table th{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.data-table td:last-child{text-align:right}.positive{color:var(--green)}.negative{color:var(--red)}.pill{color:#333;text-transform:uppercase;letter-spacing:.05em;background:#eeeeea;border-radius:999px;align-items:center;height:24px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.pill.amber{color:#9a5b00;background:#fff4dd}.review{height:26px}.review.done{color:var(--green);background:#e8f8ee;border-color:#b8dec4}.metrics-row,.entry-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.entry-kpis.compact{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:10px}.entry-workspace{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:14px;display:grid}.granatum-tabs{background:#f5f5f0;align-items:end;gap:4px;padding:12px 12px 0;display:flex}.filter-tab{border:1px solid var(--line);color:#555;background:#fff;border-bottom:0;border-radius:4px 4px 0 0;min-height:34px;padding:0 14px;font-size:11px;font-weight:900}.filter-tab.active{color:var(--ink);background:#fff}.locked-link{color:var(--muted);margin-bottom:9px;margin-left:8px;font-size:11px}.cashline{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:7px;min-height:46px;padding:8px 12px;display:flex}.segmented,.period-switch,.date-switch{border:1px solid var(--line-strong);background:#fff;border-radius:4px;align-items:center;display:inline-flex;overflow:hidden}.segmented button,.period-switch button,.date-switch button{border:0;border-right:1px solid var(--line);color:#555;background:#fff;min-height:30px;padding:0 9px;font-size:11px;font-weight:900}.segmented button:last-child,.period-switch button:last-child,.date-switch button:last-child{border-right:0}.segmented button.active,.period-switch button.active{color:var(--ink);background:#eeeeea}.date-switch strong{text-align:center;min-width:98px;font-size:12px}.bulkbar{border-bottom:1px solid var(--line);background:#fbfbf8;grid-template-columns:repeat(5,auto) 1fr repeat(2,auto);align-items:center;gap:8px;min-height:38px;padding:7px 12px;display:grid}.bulkbar button{color:#2877aa;background:0 0;border:0;padding:0;font-size:11px;font-weight:800}.entry-tabs{gap:6px;padding:10px 10px 0;display:flex}.entry-tabs.compact{align-items:center;padding:10px 10px 0}.entry-tabs.compact select{margin-left:auto}.entry-tabs button{border:1px solid var(--line);background:#fff;border-radius:4px;min-height:30px;padding:0 10px;font-size:11px;font-weight:900}.entry-tabs button.active{border-color:var(--amber);color:#9a5b00;background:#fff7e8}.finance-filters{border-bottom:1px solid var(--line);margin:0;padding:10px}.ledger-table{overflow-x:auto}.ledger-table.granatum-like .data-table{min-width:1180px}.data-table tr.selected-row{background:#fffaf0}.data-table tbody tr{cursor:default}.data-table td small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.granatum-like .data-table th,.granatum-like .data-table td{padding:7px 8px;font-size:11px}.granatum-like .data-table th{background:#eeeeea}.previous-balance td{color:var(--muted);background:#fafaf7}.category-tag{text-overflow:ellipsis;color:#fff;text-transform:uppercase;border-radius:3px;max-width:170px;padding:4px 6px;font-size:9px;font-weight:900;display:inline-block;overflow:hidden}.tag-receita{background:#16803c}.tag-gateway{background:#087f8f}.tag-tributos{background:#9a3412}.tag-professores{background:#7c3aed}.tag-marketing{color:#111;background:#f59e0b}.tag-pessoas{background:#a855f7}.tag-tecnologia{color:#073b19;background:#22c55e}.tag-financeiro{background:#64748b}.tag-capex{background:#dc2626}.repeat-badge{color:#555;background:#e9ecef;border-radius:3px;align-items:center;height:20px;padding:0 5px;font-size:9px;font-weight:900;display:inline-flex}.row-action,.row-menu{color:#2086c9;background:0 0;border:0;font-size:11px;font-weight:900}.row-menu{color:#999;font-size:18px;line-height:1}.row-menu-cell{position:relative}.row-actions-menu{z-index:12;border:1px solid var(--line);background:#fff;border-radius:4px;width:188px;padding:5px;position:absolute;top:28px;right:8px;box-shadow:0 16px 34px #0a0a0a29}.row-actions-menu button{color:#333;text-align:left;background:0 0;border:0;border-radius:3px;width:100%;min-height:30px;padding:0 8px;font-size:11px;font-weight:800}.row-actions-menu button:hover{background:#f5f5f0}.row-actions-menu .danger-action{color:var(--red)}.entry-status{color:#555;text-transform:uppercase;letter-spacing:.04em;background:#eeeeea;border-radius:999px;align-items:center;height:18px;margin-top:4px;padding:0 6px;font-size:8px;font-weight:900;display:inline-flex}.status-pago,.status-recebido,.status-transferido{color:var(--green);background:#e8f8ee}.status-a_pagar,.status-a_receber,.status-aprovar{color:#9a5b00;background:#fff4dd}.period-summary{border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr repeat(4,auto);align-items:center;gap:20px;padding:12px;display:grid}.period-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:900;display:block}.period-summary strong{text-align:right;margin-top:3px;font-size:12px;display:block}.entry-schema-note{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:4px;margin-top:12px;padding:10px 12px;font-size:12px}.entry-schema-note strong{color:var(--ink)}.entry-detail{border:1px solid var(--line);background:#fff;border-radius:4px;padding:14px;position:sticky;top:130px}.detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.entry-detail h2{margin:13px 0 6px;font-size:18px}.detail-value{margin-bottom:14px;font-size:24px;display:block}.detail-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.detail-grid div{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:9px}.detail-grid span,.allocation-row span,.entry-detail p{color:var(--muted);font-size:11px}.detail-grid strong{margin-top:4px;font-size:12px;display:block}.entry-detail section{margin-top:15px}.entry-detail h3{text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:12px}.allocation-row{border-bottom:1px solid #eeeeea;grid-template-columns:1fr 1fr 46px 70px;align-items:center;gap:8px;min-height:32px;padding:7px 0;font-size:11px;display:grid}.allocation-row em{text-align:right;font-family:DM Mono,monospace;font-style:normal}.metric{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:13px}.metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:900;display:block}.metric strong{margin-top:6px;font-size:21px;font-weight:900;display:block}.budget-board{gap:14px;display:grid;overflow-x:auto}.budget-group{border:1px solid var(--line);border-radius:4px;min-width:1780px;overflow:hidden}.budget-group-head{height:46px;color:var(--ink);border-bottom:1px solid var(--line);background:#fff7e8;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.budget-group-head strong,.budget-group-head span{display:block}.budget-group-head span{color:var(--muted);margin-top:2px;font-size:11px}.budget-table input{text-align:right;width:82px;font-family:DM Mono,monospace}.budget-table select{width:190px}.budget-table td>input{text-align:left;width:170px;font-family:inherit}.budget-table small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.triple-cell{gap:2px;display:grid}.triple-cell small{font-family:DM Mono,monospace}.auto-row{background:#fffaf0}.total{font-family:DM Mono,monospace;font-weight:900}.report-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.report-tabs button{border:1px solid var(--line);background:#fff;border-radius:4px;min-height:32px;padding:0 11px;font-size:11px;font-weight:900}.settings-grid,.admin-grid,.endpoint-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.add-line,.module-chips,.endpoint-grid{margin-top:12px}.module-chips{flex-wrap:wrap;gap:8px;display:flex}.chip.on{background:var(--amber);border-color:var(--amber)}.endpoint{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:12px}.endpoint b,.endpoint code,.endpoint span{display:block}.endpoint b{color:var(--amber-dark);font-size:11px}.endpoint code{margin-top:5px;font-family:DM Mono,monospace;font-size:12px}.endpoint span{color:var(--muted);margin-top:5px;font-size:12px}.integration-pill{border:0;border:1px solid var(--line-strong);height:36px;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:900;display:flex;position:fixed;bottom:16px;right:18px;box-shadow:0 12px 30px #0a0a0a2e}.modal-backdrop{z-index:40;background:#0a0a0a75;justify-content:center;align-items:flex-start;padding-top:76px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--line);border-radius:5px;width:880px;box-shadow:0 26px 80px #0a0a0a3d}.modal.receipt-modal{width:760px}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.modal-head h2{margin:0;font-size:18px}.modal-head p{color:var(--muted);margin:5px 0 0;font-size:12px}.receipt-sheet{border:1px solid var(--line);background:var(--surface);border-radius:4px;grid-template-columns:repeat(2,1fr);margin:16px;display:grid}.receipt-sheet div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px}.receipt-sheet div:nth-child(2n){border-right:0}.receipt-sheet span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900;display:block}.receipt-sheet strong{margin-top:5px;font-size:14px;display:block}.modal-tabs{gap:6px;padding:12px 16px 0;display:flex}.modal-tabs button{border:1px solid var(--line);color:#383834;background:#fff;border-radius:4px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.modal-tabs button.active{border-color:var(--amber);color:#9a5b00;background:#fff7e8}.modal-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;display:grid}.modal-grid label,.modal-notes label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:11px;font-weight:900;display:grid}.modal-notes{padding:0 16px 16px}.modal-audit{flex-wrap:wrap;gap:8px;margin:0 16px 16px;display:flex}.modal-audit span{color:#555;background:#eeeeea;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.allocation-editor{border:1px solid var(--line);background:var(--surface);border-radius:4px;margin:0 16px 16px;padding:12px}.allocation-editor>div:first-child{gap:4px;margin-bottom:8px;display:grid}.allocation-editor>div:first-child span{color:var(--muted);font-size:11px}.allocation-row.editor{border-bottom:0}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 16px;display:flex}.header-user-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;overflow:hidden}.login-field{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--surface);width:100%;height:40px;color:var(--ink);border-radius:4px;padding:0 11px;font-family:inherit;font-size:13px;display:block}
