/* Monthly spreadsheet-style editor. Branding comes from app.css. */
.strac-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:0 0 24px}.strac-tabs a{font-size:14px;padding:12px 23px;border-bottom:3px solid transparent;font-weight:650;color:var(--muted)}.strac-tabs a[aria-current=page]{color:var(--blue-dark);border-bottom-color:var(--blue);background:#EDF7FD;border-radius:0}.strac-tabs a:hover{background:#fff9da;color:var(--ink)}.ledger-year-control{display:flex;gap:8px;align-items:end}.ledger-year-control>button{height:45px;padding:8px 13px}.ledger-year-control select{min-width:110px}.ledger-workspace{max-width:1520px}.ledger-panel{padding:25px 0 0;overflow:hidden}.ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 25px}.ledger-heading h2{font-size:19px;margin-bottom:6px}.ledger-heading p{font-size:12px;color:var(--muted)}.ledger-heading .button{white-space:nowrap;font-size:13px}.ledger-help{display:flex;justify-content:space-between;gap:12px;padding:18px 25px 5px;font-size:11px;color:var(--muted)}.ledger-save-status{font-size:12px;color:var(--blue-dark);padding:10px 25px 17px;min-height:46px}.ledger-scroll{overflow:auto;max-height:68vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-color:#8bbfe2 #edf4f8;scrollbar-width:auto}.ledger-table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:2060px;width:100%;font-size:12px}.ledger-table th,.ledger-table td{border-right:1px solid #dce9f0;border-bottom:1px solid #dce9f0;padding:8px;font-variant-numeric:tabular-nums}.ledger-table thead th{position:sticky;top:33px;z-index:3;background:#e0f0fb;font-size:11px;font-weight:650;text-align:center;height:44px}.ledger-table .ledger-group-head th{top:0;height:33px;background:#cce6f8;padding:6px 8px;font-size:11px}.ledger-table .ledger-group-head .computed-head,.ledger-table thead .computed-head{background:#fff0a4}.ledger-table tbody tr:last-child>th,.ledger-table tbody tr:last-child>td{border-bottom:0}.ledger-table .ledger-month{position:sticky;left:0;z-index:2;width:104px;min-width:104px;background:#f8fbfd;text-align:center;border-right:2px solid #c5ddeb}.ledger-table .ledger-actions{position:sticky;right:0;z-index:2;width:100px;min-width:100px;background:#fff;border-left:2px solid #dce9f0;border-right:0;text-align:center}.ledger-table thead .ledger-month,.ledger-table thead .ledger-actions{z-index:5;top:0;background:#e7f2fa}.ledger-month>span{display:block;font-size:10px;font-weight:400;color:var(--muted)}.ledger-month>strong{font-size:17px;line-height:1.5;display:block;color:var(--ink)}.row-status{display:block;font-size:10px;font-weight:400;color:var(--muted)}.row-status.pending{color:#815900;font-weight:700}.ledger-input-cell{min-width:120px;background:var(--ledger-cell-bg,#f3faff)}.ledger-input-cell input{display:block;width:100%;min-width:100px;height:37px;padding:8px 7px;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:0;text-align:right;font-size:13px;font-variant-numeric:tabular-nums}.ledger-input-cell input:hover{background:white;border-color:#c2def0}.ledger-input-cell input:focus{background:white;border:1px solid var(--blue);outline:2px solid #b7dbf3;outline-offset:0}.ledger-input-cell input::placeholder{color:#a1b0b8}.ledger-table .ledger-computed{background:#fffbe7;text-align:right;min-width:145px;white-space:nowrap;font-size:12px}.ledger-actions button{font-size:11px;padding:5px 8px;display:block;width:78px;margin:3px auto}.ledger-actions .row-save{background:var(--blue);color:#102B39;border-color:var(--blue);font-weight:650}.ledger-actions .row-save:disabled{background:#eef2f4;color:#8898a2;border-color:#dfe8ed;cursor:default}.ledger-actions .row-chart:disabled{opacity:.45;cursor:default}.ledger-table tr.has-edits .ledger-month{background:#fff1ac}.ledger-table tr.has-edits .ledger-input-cell{background:var(--ledger-cell-edited,#e8f4fe)}.ledger-table tr.has-edits .ledger-computed{color:var(--muted)}.ledger-bottom-note{padding:15px 25px;display:flex;justify-content:space-between;gap:15px;font-size:10px;line-height:1.8;color:var(--muted)}

/* Group positions follow income (3), expenses (7), repayment (1), then results (3).
   Row headers occupy the first body column but are row-spanned in the subheader. */
.ledger-table .ledger-group-head th:nth-child(2){background:#cce6f8;color:#174f72}
.ledger-table .ledger-group-head th:nth-child(3){background:#f7e5a4;color:#63501f}
.ledger-table .ledger-group-head th:nth-child(4){background:#dce5ec;color:#405b6d}
.ledger-table .ledger-group-head th:nth-child(5){background:#ffe18a;color:#604714}
.ledger-table thead tr:nth-child(2)>th:nth-child(-n+3){background:#e0f0fb;color:#174f72}
.ledger-table thead tr:nth-child(2)>th:nth-child(n+4):nth-child(-n+10){background:#fff3cb;color:#63501f}
.ledger-table thead tr:nth-child(2)>th:nth-child(11){background:#ecf1f5;color:#405b6d}
.ledger-table thead tr:nth-child(2)>th:nth-child(n+12){background:#fff0b5;color:#604714}
.ledger-table tbody tr>td:nth-child(n+2):nth-child(-n+4){--ledger-cell-bg:#f3faff;--ledger-cell-edited:#e8f4fe}
.ledger-table tbody tr>td:nth-child(n+5):nth-child(-n+11){--ledger-cell-bg:#fffdf2;--ledger-cell-edited:#fff6d8}
.ledger-table tbody tr>td:nth-child(12){--ledger-cell-bg:#f6f8fa;--ledger-cell-edited:#eaf0f5}
.ledger-table tbody .ledger-computed{background:#fff8db}
/* A continuous divider makes each category visible without relying on color alone. */
.ledger-table .ledger-group-head th:nth-child(3),
.ledger-table thead tr:nth-child(2)>th:nth-child(4),
.ledger-table tbody tr>td:nth-child(5){border-left:3px solid #c6a34a}
.ledger-table .ledger-group-head th:nth-child(4),
.ledger-table thead tr:nth-child(2)>th:nth-child(11),
.ledger-table tbody tr>td:nth-child(12){border-left:3px solid var(--blue)}
.ledger-table .ledger-group-head th:nth-child(5),
.ledger-table thead tr:nth-child(2)>th:nth-child(12),
.ledger-table tbody tr>td:nth-child(13){border-left:3px solid #c7a23c}
.ledger-table tr.has-edits .ledger-month{box-shadow:inset 4px 0 0 #d3a62e}

@media(max-width:900px){.ledger-heading{align-items:start}.ledger-help{flex-direction:column;gap:5px}.ledger-bottom-note{flex-direction:column;gap:3px}.ledger-scroll{max-height:64vh}.ledger-table{min-width:2060px}}
@media(max-width:680px){.strac-tabs{margin-bottom:18px}.strac-tabs a{flex:1;font-size:12px;padding:11px 8px;text-align:center}.ledger-workspace .period-controls{flex-wrap:wrap;align-items:end}.ledger-workspace .period-controls>label{flex:1;min-width:125px}.ledger-year-control{flex:1}.ledger-year-control label{min-width:80px}.ledger-year-control>button{padding:8px;min-width:34px}.ledger-year-control select{min-width:86px}.ledger-heading{padding:0 16px;flex-direction:column;gap:13px}.ledger-heading .button{width:100%}.ledger-help,.ledger-save-status{padding-left:16px;padding-right:16px}.ledger-table .ledger-month{width:80px;min-width:80px}.ledger-table .ledger-actions{width:85px;min-width:85px}.ledger-actions button{width:65px}.ledger-table th,.ledger-table td{padding:6px}.ledger-scroll{max-height:65vh}.ledger-bottom-note{padding:14px 16px}}
@media print{.strac-tabs{display:none}.ledger-workspace{max-width:none}.ledger-heading button,.ledger-actions,.ledger-help,.ledger-bottom-note{display:none!important}.ledger-scroll{max-height:none;overflow:visible}.ledger-table{min-width:0;font-size:7px}.ledger-table th,.ledger-table td{padding:2px;font-size:7px}.ledger-input-cell{min-width:0}.ledger-input-cell input{font-size:7px;min-width:0;padding:0;width:100%}.ledger-table th,.ledger-table td{position:static!important}}
