:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#e9eef4;background:#11151b;color-scheme:dark}*{box-sizing:border-box}body{margin:0}main{max-width:1040px;margin:auto;padding:24px 20px 70px}header{display:flex;justify-content:space-between;gap:12px}a{color:#a8dcd1}h1{font-size:36px;margin:30px 0 4px;letter-spacing:-1px}h1 span{color:#80c9ac}.muted,small{color:#9daebb;font-size:13px}button,input{font:inherit}button{cursor:pointer;color:inherit;background:#27323e;border:1px solid #495666;border-radius:8px;padding:9px 12px}button:disabled{opacity:.5;cursor:wait}input{min-width:0;background:#19222c;border:1px solid #495666;border-radius:7px;padding:10px;color:inherit}input[type=checkbox]{width:22px;height:22px;accent-color:#2a7042}button:focus-visible,input:focus-visible{outline:3px solid #49bca6;outline-offset:2px}.month-nav,.opening,form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0}.month-nav input{max-width:200px}.balances{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;background:#11151bf5}.balances>div{border:1px solid #344753;border-radius:12px;padding:16px}.balances strong{display:block;font-size:28px;font-variant-numeric:tabular-nums;margin:6px 0}.balances>div:first-child{border-color:#62ac93}.opening input{width:145px}#export{margin-left:auto}form{padding:16px;background:#1c2630;border-radius:12px}#description{flex:1;min-width:160px}#amount{width:165px}.paid-label{display:flex;align-items:center;gap:5px;font-size:13px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;padding:10px 6px;color:#adbdc9;font-weight:500}td{padding:7px 6px;border-bottom:1px solid #c6d0c2}td:not(:nth-child(2)){font-variant-numeric:tabular-nums}.ledger tr{background:white;color:#17251a}.ledger tr.paid{background:#c1e59f}.ledger td input:not([type=checkbox]){background:transparent;color:#17251a;border-color:transparent;width:100%;padding:7px 3px}.ledger td input:focus{background:#ffffff88}.ledger td:nth-child(2){width:45%;min-width:135px}.ledger td:nth-child(3){width:120px;min-width:95px}.ledger td:nth-child(4){min-width:110px;text-align:right}.ledger td button{color:#354b3a;background:transparent;border:0;padding:5px}.order{display:flex;align-items:center}.grip{touch-action:none;cursor:grab;font-size:20px}.ledger tr.dragging{outline:3px solid #d2a545;opacity:.65}.order button{font-size:12px}.negative{color:#ad3030}#error{padding:12px;background:#622d26;border-radius:8px}details{margin-top:30px}summary{cursor:pointer;padding:14px 0;font-weight:600}#summary td{border-color:#334451;text-align:right}#summary td:first-child{text-align:left}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:600px){main{padding:18px 10px 50px}h1{font-size:29px}.balances strong{font-size:23px}.balances>div{padding:11px}.opening{gap:7px}.opening label{width:100%}form{padding:10px;gap:8px}#description{flex-basis:100%}#amount{flex:1}.ledger th,.ledger td{padding:6px 3px}.ledger td:nth-child(4){min-width:95px}.order{flex-direction:column}.legend{line-height:1.6}}
@media(max-width:600px){.ledger{table-layout:fixed;font-size:12px}.ledger th:first-child{width:24px}.ledger th:nth-child(2){width:auto}.ledger th:nth-child(3){width:69px}.ledger th:nth-child(4){width:81px}.ledger th:nth-child(5){width:32px}.ledger th:nth-child(6){width:22px}.ledger td:nth-child(2),.ledger td:nth-child(3),.ledger td:nth-child(4){min-width:0;width:auto}.ledger input[type=checkbox]{width:20px;height:20px;margin:0}.ledger td input:not([type=checkbox]){font-size:13px}.ledger th{font-size:11px}.ledger td:nth-child(4){white-space:nowrap}#amount{min-width:135px}.paid-label{flex:1}.ledger thead{background:#11151b}}
select{font:inherit;padding:9px;border-radius:7px;background:#19222c;border:1px solid #495666;color:inherit}.ledger select{font-size:10px;color:#37593e;background:transparent;border:0;padding:2px 0;width:100%}

.balances{grid-template-columns:1.3fr 1fr 1fr}.balances .result-card{border-width:2px}.result-card strong{font-size:34px}.balances>div.positive{background:#173729;border-color:#4ea978}.balances>div.negative{background:#442325;border-color:#d66868}.balances .positive strong{color:#8ce6ac}.balances .negative strong{color:#ffaaaa}.ledger .income-row td:first-child{box-shadow:inset 4px 0 #268648}.ledger .expense-row td:first-child{box-shadow:inset 4px 0 #c33b3b}.ledger .income-row td:nth-child(3) input{color:#176732;font-weight:750}.ledger .expense-row td:nth-child(3) input{color:#aa2424;font-weight:750}.ledger .running{font-weight:700}.ledger .running.positive{color:#176732}.ledger .running.negative{color:#aa2424}@media(max-width:600px){.balances{grid-template-columns:1fr 1fr;gap:6px;padding:6px 0}.balances .result-card{grid-column:1/-1;padding:8px 11px}.result-card strong{font-size:27px;margin:2px 0}.balances small{font-size:11px}}

.ledger tr.withdrawal-row{background:#79b68c}.ledger tr.withdrawal-row.paid{background:#579e70}.ledger .withdrawal-row td{border-bottom-color:#427f57}.ledger .withdrawal-row select{color:#102d1b;font-weight:700}.ledger .withdrawal-row td:nth-child(3) input{color:#761919}

/* Saldo acumulado negativo tem prioridade sobre o tipo de movimento. */
.ledger tr.overdrawn{background:#fce4e4}
.ledger tr.overdrawn.paid{background:#efb5b5}
.ledger tr.overdrawn td{border-bottom-color:#d79c9c}

.balances{grid-template-columns:1.1fr 1.5fr 1fr}.balances>div{min-width:0}.balance-pair{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.balances .balance-pair strong{font-size:clamp(19px,2.4vw,28px)}.balance-pair>span{color:#9daebb}.balances strong.positive{color:#8ce6ac}.balances strong.negative{color:#ffaaaa}.balances .withdrawals-card{background:#1c382b;border-color:#508f6a}.withdrawals-card strong{color:#b4e5c4}@media(max-width:600px){.balances{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.balances .result-card{grid-column:1/-1}.balances .balance-pair{gap:4px}.balances .balance-pair strong{font-size:18px}.withdrawals-card strong{font-size:22px}}

.signed-value{display:inline-flex;align-items:center;gap:4px;min-width:0}.signed-value input{flex:1;min-width:0}.sign-toggle,.ledger td .sign-toggle{min-width:44px;min-height:44px;padding:6px;border:1px solid #627585;border-radius:8px;font-size:21px;background:#27323e;color:#fff}.ledger .signed-value{display:flex;flex-wrap:wrap}.ledger .signed-value input{width:100%;flex-basis:100%}.ledger td .sign-toggle{color:#17251a;background:#ffffff77;border-color:#627585}#add .signed-value{flex:0 1 220px}.opening .signed-value input{width:120px}

.paid-summary{margin:24px 0;padding:18px;border:1px solid #46536a;border-radius:12px;background:#1c222d;color:#eef2f8}.paid-summary h2{margin:0 0 8px;font-size:20px}.paid-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:0}.paid-totals dt{font-size:14px}.paid-totals dd{margin:6px 0;font-size:24px;font-weight:750;overflow-wrap:anywhere}.paid-totals small{color:#b6bfcd}.paid-totals .positive{color:#8ce6ac}.paid-totals .negative{color:#ffaaaa}.paid-result{border-left:3px solid #83a994;padding-left:12px}@media(max-width:480px){.paid-totals{grid-template-columns:1fr 1fr}.paid-totals dd{font-size:20px}.paid-summary{padding:12px}}

.row-quantity{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:4px}.ledger .row-quantity input{width:75px;min-width:0}.paid-summary table{width:100%}

.view-filter{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}.view-filter select{min-height:44px;max-width:100%}.view-filter small{flex-basis:100%;color:#a8b4c5}.ledger tr[hidden]{display:none}
