/* EasyFin design contract. See docs/DESIGN_SYSTEM.md. */
@font-face{font-family:"Medeo Sans";src:url('/fonts/medeo-sans-4992444.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Medeo Mono";src:url('/fonts/medeo-mono-4992444.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@media(max-width:440px){.tx-subject{grid-template-columns:1fr!important}.tx-subject>.field:first-child{grid-column:auto}.transfers{grid-template-columns:1fr}.transfers .flow-arrow{display:none}.settings-grid .form-row{grid-template-columns:1fr!important}}
.planning-page{max-width:1040px;container-type:inline-size;container-name:planning}
.plan-controls{display:flex;align-items:center;gap:12px;margin:0 0 24px;flex-wrap:wrap}.plan-controls .select{width:300px;max-width:100%}.plan-controls label{color:var(--muted);font-size:var(--text-small)}
.plan-table-wrap{border:1px solid var(--stroke);border-radius:var(--radius-panel);overflow:hidden;background:#fff}
.plan-comparison{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums}.plan-comparison col{width:17%}.plan-comparison .plan-name-col{width:49%}
.plan-comparison th,.plan-comparison td{padding:12px 16px;border-bottom:1px solid var(--stroke);vertical-align:middle;font-size:var(--text-body)}.plan-comparison th{text-align:left;font-weight:var(--weight-normal)}
.plan-comparison thead th{font-size:var(--text-small);color:var(--muted);background:var(--bg);padding:12px 16px}.plan-comparison thead th:not(:first-child),.plan-money{text-align:right;white-space:nowrap}
.plan-comparison .plan-total th,.plan-comparison .plan-total td{padding-top:20px;padding-bottom:20px;font-weight:var(--weight-strong);background:#eef3fd}.plan-total .plan-money{font-size:var(--text-section)}
.plan-category{background:#fafbfc}.plan-category .plan-money{font-weight:var(--weight-strong)}.plan-category th{padding:4px 8px}.plan-expand{display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;width:100%;min-height:48px;padding:8px;font-weight:var(--weight-strong);cursor:pointer;color:var(--ink)}.plan-expand svg{flex-shrink:0}.plan-expand:hover{color:var(--blue)}
.plan-position th{padding-left:40px}.plan-position-name{display:flex;gap:8px;align-items:center}.plan-position-name>span{min-width:0;overflow-wrap:anywhere}.plan-position-name .icon-button{flex-shrink:0;width:40px;height:40px;color:var(--muted)}
.plan-quantity{font-size:var(--text-small);color:var(--muted);font-weight:var(--weight-normal)}.plan-negative{color:#a92f39}
.plan-fact{display:inline-block;min-height:40px;padding:8px 0;border:0;background:transparent;color:var(--blue);font:inherit;text-decoration:underline;text-decoration-color:#becbe8;text-underline-offset:4px;cursor:pointer}.plan-fact:hover{color:#153d99;text-decoration-color:currentColor}
.plan-unassigned{background:var(--yellow-soft)}.plan-unassigned th{padding-left:40px;color:var(--yellow-ink)}.plan-unassigned .plan-negative{color:var(--yellow-ink)}.plan-add td{padding:4px 16px 8px 32px}.plan-add .link-btn{padding:8px;color:var(--blue)}
.plan-comparison tbody:last-child tr:last-child>*{border-bottom:0}
.allocation-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}.plan-allocation-form{display:grid;gap:16px}.allocation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;border-top:1px solid var(--stroke);padding-top:16px}.allocation-info{display:grid;gap:4px}.allocation-row>strong{white-space:nowrap;font-weight:var(--weight-strong)}.allocation-description{border:0;background:transparent;text-align:left;color:var(--blue);padding:4px 0;cursor:pointer;min-height:40px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.allocation-select{grid-column:1/-1;display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:center}.allocation-select>span{font-size:var(--text-small);color:var(--muted)}.allocation-select select{width:100%;min-width:0}.dialog:has(.plan-allocation-form){width:760px;max-width:calc(100vw - 32px)}
@container planning (max-width:700px){.plan-comparison,.plan-comparison tbody{display:block}.plan-comparison colgroup,.plan-comparison thead{display:none}.plan-comparison tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--stroke)}.plan-comparison th,.plan-comparison td{border-bottom:0;padding:8px 12px}.plan-comparison th{grid-column:1/-1}.plan-comparison .plan-money{text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:var(--text-body)}.plan-money:before{content:attr(data-label);display:block;color:var(--muted);font-size:var(--text-small);font-weight:var(--weight-normal);margin-bottom:4px}.plan-comparison .plan-total th,.plan-comparison .plan-total td{padding:12px}.plan-comparison .plan-position th,.plan-unassigned th{padding-left:24px}.plan-add td{grid-column:1/-1}.plan-comparison tbody:last-child tr:last-child{border-bottom:0}.plan-fact{padding:0;min-height:32px}.plan-position-name{justify-content:space-between}.plan-controls{gap:8px}.plan-controls label{width:100%}.plan-controls .select{flex:1;min-width:160px}.plan-controls .btn{flex-shrink:0}}
@media(max-width:500px){.allocation-select{grid-template-columns:1fr;gap:4px}.allocation-row{grid-template-columns:1fr}.allocation-row>strong{grid-row:2}.plan-controls .btn{width:100%}}
:root{
 --yellow:#ffdd00;--yellow-soft:#fff7b3;--yellow-ink:#202833;--orange:var(--yellow-ink);--orangebg:var(--yellow-soft);
 --font-ui:"Medeo Sans","Segoe UI",Arial,sans-serif;
 --text-small:14px;--text-body:16px;--text-section:20px;--text-title:24px;--text-value:24px;--text-total:28px;
 --weight-normal:400;--weight-strong:600;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;
 --radius-control:8px;--radius-panel:12px;--control-height:40px;
 --ink:#202833;--muted:#596575;--stroke:#dce1e8;--blue:#2855c6;--bg:#f5f6f8;
 font-size:var(--text-body);font-family:var(--font-ui);
}
body,button,input,select,textarea{font-family:var(--font-ui);font-size:var(--text-body);font-weight:var(--weight-normal);line-height:1.45;font-optical-sizing:auto;font-synthesis:none}
.amount,.plan-money,.plan-fact,.metric strong,.overview-summary strong,.allocation-total strong,.allocation-row>strong,.budget-actual strong,.plan-form-total{font-variant-numeric:tabular-nums lining-nums}
.audit-id,code{font-family:"Medeo Mono",monospace;font-variant-numeric:tabular-nums}
body{color:var(--ink)}
b,strong{font-weight:var(--weight-strong)}
h1,h2,h3,h4{font-weight:var(--weight-strong);line-height:1.3;letter-spacing:normal}
.page-head h1,.dialog-head h2,.login-card h1{font-size:var(--text-title)}
.section-heading h2,.panel-head h2,.setting-head h2,.contractor-title h3{font-size:var(--text-section);font-weight:var(--weight-strong)}
.account-block h4,.account-block h2{font-size:var(--text-body);font-weight:var(--weight-strong)}
.hint,.badge,small,.cell-minor,.field>label,.field-label,.section-label,.btn.sm,.btn.link-btn,.profile-short .name{font-size:var(--text-small)!important;line-height:1.45}
.field>label,.field-label{font-weight:var(--weight-normal);color:var(--muted);margin:0 0 var(--space-2);display:block}
.metric>span,.metric.state-negative>span,.overview-summary span{font-size:var(--text-small);font-weight:var(--weight-normal)}
.metric strong,.metric.state-negative strong,.contract-metrics .metric strong,.contract-progress-label strong,.overview-summary strong{font-size:var(--text-value);font-weight:var(--weight-strong);letter-spacing:normal;font-variant-numeric:tabular-nums}
.overview-summary .summary-main strong,.plan-summary strong{font-size:var(--text-total);font-weight:var(--weight-strong);letter-spacing:normal}
.contract-progress-label span,.category-line-top,.category-line-top b{font-size:var(--text-small)}
.month-label,.month-chart .legend,.legend,.legend span,.chart-legend,.chart-legend span{font-size:var(--text-small);font-weight:var(--weight-normal)}
.btn,.btn.sm,.nav-link,.type-choice{font-size:var(--text-small);font-weight:var(--weight-strong);min-height:var(--control-height);border-radius:var(--radius-control)}
.icon-button{width:var(--control-height);height:var(--control-height)}
.input,.select{font-size:var(--text-body);height:var(--control-height);min-height:var(--control-height);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);min-width:0}
.textarea{font-size:var(--text-body);min-height:88px;height:88px;padding:var(--space-2) var(--space-3);line-height:1.45}
.field,.form-row>.field{min-width:0;margin:0}.form-row{align-items:start;gap:var(--space-4)}
.inline-field{display:flex;align-items:center;gap:var(--space-2)}.inline-field .select{flex:1;min-width:0}.inline-field .btn{flex:none;padding:var(--space-2)}
.content{padding:var(--space-6) var(--space-8) var(--space-8)}
.panel-head,.setting-head,.contractor-title{padding:var(--space-4) var(--space-6)}
.panel-body,.setting-content,.account-block{padding:var(--space-6)}
.overview-summary{padding:var(--space-6);gap:var(--space-6)}
.section-heading{margin:var(--space-6) 0 var(--space-4)}
.contractor-card,.panel,.setting-card,.overview-summary{border-radius:var(--radius-panel)}
.journal-layout{grid-template-columns:280px minmax(0,1fr)}
.journal-filters{padding:var(--space-6) var(--space-4)}
.filter-heading{margin-bottom:var(--space-4)}
.filter-field{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}
.filter-field>span{font-size:var(--text-small);font-weight:var(--weight-normal)}
.filter-field .input,.filter-field .select{font-size:var(--text-small);padding:var(--space-2);height:var(--control-height)}
.filter-divider{margin:var(--space-4) 0}.journal-filters .full{margin-top:var(--space-2)}
.dialog{width:900px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border-radius:var(--radius-panel)}
.dialog.compact{width:480px}.dialog-head{padding:var(--space-4) var(--space-6)}
.dialog-body{padding:var(--space-4) var(--space-6)}.dialog-footer{padding:var(--space-3) var(--space-6)}
#tx-form .compact-grid{gap:var(--space-4)}
.type-choices{gap:var(--space-2);margin-bottom:var(--space-4)}
.type-choice{min-height:var(--control-height);padding:var(--space-2) var(--space-3)}
.tx-primary{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:var(--space-4);align-items:start}
.tx-subject{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:var(--space-4);align-items:start}
.tx-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-6);align-items:start}
.attach-box{padding:var(--space-2) var(--space-3);gap:var(--space-2);border-radius:var(--radius-control)}
.attach-box>.icon{display:none}.attach-meta{font-size:var(--text-small)}.attach-box .attach-meta{min-width:0}
.attach-box .btn{font-size:var(--text-small)}.receipt-field>.link-btn{padding:var(--space-2) 0}
.audit-modal{margin-top:var(--space-3);padding-top:var(--space-3)}.audit-modal summary{font-weight:var(--weight-normal)}
.account-quick{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-2)}
.dictionary-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--stroke)}
.dictionary-archive{margin:var(--space-4);font-size:var(--text-small)}.dictionary-archive summary{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:1250px){.contract-metrics{gap:var(--space-4)}}
@media(max-width:1150px){.journal-table{display:none}.mobile-ops{display:grid;gap:var(--space-3)}.mobile-op{background:white;border:1px solid var(--stroke);padding:var(--space-4);border-radius:var(--radius-panel);text-align:left;display:grid;gap:var(--space-2)}.mobile-op-top,.mobile-op-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.mobile-op-desc{font-weight:var(--weight-normal)}}
@media(max-width:760px){
 .side .nav-link{font-size:var(--text-small)!important}.content{padding:var(--space-4) var(--space-4) 96px!important}
 .journal-layout{display:block}.journal-filters{width:310px;max-width:calc(100vw - 24px)}
 .dialog,.dialog.compact{width:100%;max-width:100%;height:auto;max-height:100dvh;border-radius:0;align-self:center}
 .dialog-head,.dialog-body,.dialog-footer{padding:var(--space-4)!important}
 .tx-primary{grid-template-columns:1fr 1fr}.tx-primary>.field:last-child{grid-column:1/-1}
 .tx-subject{grid-template-columns:1fr 1fr}.tx-subject>.field:first-child{grid-column:1/-1}
 .tx-bottom{grid-template-columns:1fr;gap:var(--space-4)}
 .type-choice{flex-direction:row;min-height:var(--control-height);font-size:var(--text-small);padding:var(--space-2);gap:var(--space-1)}
 .type-choice .icon{display:none}.account-quick{grid-template-columns:1fr 1fr}.account-quick>.btn{grid-column:1/-1}
 .contract-metrics .metric strong,.metric strong{font-size:var(--text-value)}
 .dictionary-row{flex-wrap:wrap}.form-row{grid-template-columns:1fr 1fr!important}
}
.field+.field,.compact-grid>.field,.tx-primary>.field,.tx-subject>.field{margin:0}.field{gap:var(--space-2)}.field>label{margin:0}.attach-box{border:0;padding:0}.dialog{animation:none}.month-chart{overflow-x:auto}.month{min-width:52px}
body.has-dialog{overflow:hidden}.filter-field{grid-template-columns:80px minmax(0,1fr)}
/* Category dictionaries: preview in the list, bounded editor in a dialog. */
.category-entry{border-top:1px solid var(--stroke)}
.category-entry-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4)}
.category-expand{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;border:0;background:none;text-align:left;min-height:var(--control-height);padding:var(--space-2);color:var(--ink)}
.category-expand>span{font-size:var(--text-body);font-weight:var(--weight-strong)}
.category-expand>small{margin-left:auto;white-space:nowrap;color:var(--muted);font-weight:var(--weight-normal)}
.category-expand>.icon{flex:none}.category-actions{display:flex;gap:var(--space-1);flex:none}
.category-preview{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-6) var(--space-4) 58px;max-width:1000px}
.category-preview>span{font-size:var(--text-small);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);background:var(--bg)}
.dialog.category-dialog{width:600px;max-height:calc(100dvh - 32px)}
.category-editor{display:grid;gap:var(--space-4)}
.category-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-2)}
.category-editor-heading>span{font-size:var(--text-body);font-weight:var(--weight-strong)}
#sub-edit-list{display:grid;gap:var(--space-2)}
#sub-edit-list:empty{display:none}
.edit-cat-item{display:grid;grid-template-columns:minmax(0,1fr) var(--control-height);gap:var(--space-2);align-items:center}
.edit-cat-item>.icon-button:hover{background:#fff0f0;color:var(--red)}
.category-dialog .dialog-footer{justify-content:flex-end;gap:var(--space-2)}
@media(max-width:760px){.category-entry-head{padding:var(--space-2)}.category-expand{flex-wrap:wrap;gap:var(--space-2)}.category-expand>small{margin-left:26px;width:100%}.category-preview{padding:0 var(--space-4) var(--space-4) 42px}.dialog.category-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:var(--radius-panel)}}
/* Journal: semantic colors always accompanied by text. */
:root{--expense-ink:#9f3038;--expense-fill:#fff4f4;--work-ink:#254fb5;--work-fill:#f1f5ff;--accountable-ink:#b38f00;--accountable-fill:var(--yellow)}
[data-tone=expense]{--operation-ink:var(--expense-ink);--operation-fill:var(--expense-fill)}
[data-tone=work]{--operation-ink:var(--work-ink);--operation-fill:var(--work-fill)}
[data-tone=accountable]{--operation-ink:var(--accountable-ink);--operation-fill:var(--accountable-fill)}
[data-tone=transfer]{--operation-ink:var(--muted);--operation-fill:#f5f6f8}
.journal-table tr[data-tone],.mobile-op[data-tone]{background:var(--paper)}
.journal-table tr[data-tone]:hover,.mobile-op[data-tone]:hover{background:#f9fafc}
[data-tone] .amount,[data-tone] .mobile-op-top strong{color:var(--operation-ink)}
.operation-kind{display:block;color:var(--muted);font-size:var(--text-small);font-weight:var(--weight-normal);margin-top:var(--space-1)}
.mobile-op[data-tone]{border:1px solid var(--stroke)}
.journal-main{max-width:1100px;width:100%}.journal-table .ops{table-layout:fixed;min-width:780px;width:100%}
.journal-table .ops th:nth-child(1){width:108px}.journal-table .ops th:nth-child(2){width:170px}.journal-table .ops th:nth-child(4){width:145px}.journal-table .ops th:nth-child(5){width:125px}.journal-table .ops th:nth-child(6){width:50px}
.journal-table .ops td,.journal-table .ops th{padding:var(--space-3) var(--space-2)}
.journal-table .description-cell{min-width:0;overflow-wrap:anywhere}.journal-table .ops td:nth-child(4){overflow-wrap:anywhere}
.audit-tools{display:flex;gap:var(--space-2);flex-wrap:wrap}.audit-modal .audit-tools{margin:var(--space-3) 0}
.audit-event{border-top:1px solid var(--stroke);font-size:var(--text-small)}
.audit-event>summary{display:flex;gap:var(--space-4);padding:var(--space-4);cursor:pointer;align-items:start}
.audit-event>summary::before{content:'›';font-size:var(--text-body)}.audit-event[open]>summary::before{content:'⌄'}
.audit-event time{color:var(--muted);flex:0 0 145px}.audit-event>summary>span{min-width:0}
.audit-author{display:block;margin-top:var(--space-1);color:var(--muted);overflow-wrap:anywhere}
.audit-event-body{padding:0 var(--space-4) var(--space-4)}.audit-change{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-4);padding:var(--space-2) 0;border-top:1px solid var(--stroke)}
.audit-change>div{white-space:pre-wrap;overflow-wrap:anywhere}.audit-before{color:var(--muted)}.audit-id{margin-top:var(--space-3);color:var(--muted);overflow-wrap:anywhere}.audit-more{margin:var(--space-4)}
@media(max-width:760px){.audit-event>summary{flex-wrap:wrap;gap:var(--space-2)}.audit-event time{flex:1}.audit-event>summary>span{width:100%}.audit-change{grid-template-columns:1fr;gap:var(--space-1)}.setting-head:has(.audit-tools){flex-wrap:wrap}}
.journal-table .ops{min-width:0}.audit-tools .btn{min-height:40px}
.journal-table .ops th:nth-child(1){width:104px}.journal-table .ops th:nth-child(2){width:auto}.journal-table .ops th:nth-child(3){width:140px}.journal-table .ops th:nth-child(4){width:130px}.journal-table .ops th:nth-child(5){width:48px}.operation-meta{display:grid;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-small);color:var(--muted)}.operation-meta .operation-kind{margin:0}.journal-table .cell-title{font-weight:var(--weight-normal)}

.allocation-row[hidden]{display:none}.allocation-search{display:grid;gap:8px}.allocation-search>span{font-size:var(--text-small);color:var(--muted)}
@media(max-width:360px){.overview-summary{grid-template-columns:1fr!important}.overview-summary>div{grid-column:1/-1}.contract-metrics{grid-template-columns:1fr}.cash-metrics{grid-template-columns:1fr}}
@container planning (max-width:400px){.plan-comparison tr{grid-template-columns:1fr}.plan-comparison .plan-money{display:flex;justify-content:space-between;align-items:center;gap:12px;white-space:nowrap;overflow-wrap:normal}.plan-money:before{display:inline;margin:0}.plan-fact{white-space:nowrap}}
.overview-summary{align-items:stretch}.overview-summary>div{justify-content:space-between}
.account-block{container:account / inline-size}
@container account (max-width:480px){.contract-metrics{grid-template-columns:1fr 1fr}.contract-metrics .metric:last-child{grid-column:1/-1}}
@container account (max-width:270px){.contract-metrics,.cash-metrics{grid-template-columns:1fr}}
html{scrollbar-gutter:stable}
body{font-variant-numeric:tabular-nums lining-nums}
.analytics-grid{--chart-expense:#bf5c67}.worker-analytics{--chart-expense:var(--yellow)}.analytics-grid .month-expense,.analytics-grid .bar-fg{background:var(--chart-expense)}.analytics-grid .month-work{background:var(--blue)}

/* EasyFin identity and the shared plan / journal reading hierarchy. */
.brand-mark{display:block;width:36px;height:36px;flex:none}
.side-brand,.login-brand{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-section);font-weight:var(--weight-strong);letter-spacing:normal}
.login-screen{display:grid;grid-template-columns:1fr;min-height:100dvh;place-items:center;padding:var(--space-6)}
.login-left{padding:0;min-height:0;width:100%;display:block}
.login-card{width:100%;max-width:420px;padding:var(--space-8);margin:auto;background:var(--paper);border:1px solid var(--stroke);border-radius:var(--radius-panel)}
.login-card h1{font-size:var(--text-title);margin:var(--space-8) 0 var(--space-2)}
.login-card>p{font-size:var(--text-body);color:var(--muted);margin:0 0 var(--space-6)}
.login-card .field+.field{margin-top:var(--space-4)}
.login-card .hint{margin:var(--space-4) 0 0}
.login-switch{margin-top:var(--space-6);font-size:var(--text-small)}
.login-switch button{font-size:inherit;min-height:var(--control-height)}
.journal-main{max-width:1104px;padding:var(--space-6) var(--space-8) var(--space-8)}
.journal-table .ops th,.journal-table .ops td{padding:var(--space-3) var(--space-4);vertical-align:middle}
.journal-table .ops th{font-size:var(--text-small);font-weight:var(--weight-normal);color:var(--muted);background:var(--bg)}
.journal-table .ops th button{font:inherit}
.journal-table .cell-title{display:block;font-size:var(--text-body);font-weight:var(--weight-normal);line-height:1.45}
.journal-table .ops td.amount{font-size:var(--text-body);font-weight:var(--weight-strong)}
.operation-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);font-size:var(--text-small);font-weight:var(--weight-normal)}
.operation-meta>span+span:before{content:'·';margin-right:var(--space-2);color:var(--muted)}
.operation-meta .operation-kind{color:var(--muted)}
.mobile-op-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:start}
.mobile-op-top strong{font-size:var(--text-body);font-weight:var(--weight-strong);white-space:nowrap}
.mobile-op-desc{font-size:var(--text-body);font-weight:var(--weight-normal);overflow-wrap:anywhere}
.mobile-op-foot{font-size:var(--text-small);font-weight:var(--weight-normal)}
.mobile-op .operation-meta{margin:0}
@media(max-width:760px){.side-brand .brand-mark{width:30px;height:30px}.journal-main{padding:var(--space-4) var(--space-4) 96px}.login-screen{padding:var(--space-4)}.login-card{padding:var(--space-6)}}
.nav-compact{display:none}
@media(max-width:760px){.nav-wide{display:none}.nav-compact{display:inline}}
.actual-costs{max-width:1040px;container:actual / inline-size}
.actual-table-wrap{background:var(--paper);border:1px solid var(--stroke);border-radius:var(--radius-panel);overflow:hidden}
.actual-table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.actual-table th,.actual-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--stroke);font-size:var(--text-body);font-weight:var(--weight-normal);text-align:left;vertical-align:middle}
.actual-table th:last-child,.actual-table td:last-child{width:180px;text-align:right;white-space:nowrap}
.actual-table thead th{font-size:var(--text-small);color:var(--muted);background:var(--bg)}
.actual-table .actual-category{background:#fafbfc}.actual-table .actual-category th{padding:var(--space-1) var(--space-2)}
.actual-table .actual-sum,.actual-table .amount{font-weight:var(--weight-strong)}
.actual-table tbody:last-child tr:last-child>*{border-bottom:0}
.actual-operation{display:grid;gap:var(--space-1);background:none;border:0;width:100%;text-align:left;padding:var(--space-2) 0 var(--space-2) var(--space-6);min-height:var(--control-height);font-size:var(--text-body);font-weight:var(--weight-normal);overflow-wrap:anywhere}
.actual-operation:hover>span:first-child{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.actual-meta{font-size:var(--text-small);color:var(--muted);font-weight:var(--weight-normal)}
@container actual (max-width:500px){.actual-table th:last-child,.actual-table td:last-child{width:130px}.actual-table .actual-entry{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--stroke)}.actual-entry td{border:0}.actual-entry td:last-child{width:100%;padding-top:0}.actual-operation{padding-left:var(--space-2)}.actual-table th,.actual-table td{padding-left:var(--space-3);padding-right:var(--space-3)}}

/* Every operation uses amount text color only, on desktop and mobile. */
[data-tone=accountable] .money-figure,[data-tone=accountable] .mobile-op-top strong{color:var(--accountable-ink)}
.balance-detail.warn,.attention-banner{background:var(--yellow-soft);color:var(--yellow-ink);border-color:var(--yellow)}
.plan-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}
.view-switch{display:flex;gap:var(--space-1)}.view-switch .btn[aria-pressed=true]{background:#edf2ff;border-color:var(--blue);color:var(--blue)}
.plan-sort-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--muted)}.plan-sort-label .select{width:240px;font-size:var(--text-small)}
.planning-flat-page{max-width:1280px}.plan-flat-wrap{max-width:100%;overflow:auto;border:1px solid var(--stroke);border-radius:var(--radius-panel);background:var(--paper)}
.plan-flat{width:100%;min-width:1070px;table-layout:auto;border-collapse:collapse;font-variant-numeric:tabular-nums}
.plan-flat th,.plan-flat td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--stroke);text-align:left;font-size:var(--text-body);font-weight:var(--weight-normal);vertical-align:middle;overflow-wrap:anywhere}
.plan-flat thead th,.plan-flat td:nth-child(1),.plan-flat td:nth-child(2),.plan-flat .plan-date{font-size:var(--text-small)}
.plan-flat thead th{background:var(--bg);color:var(--muted)}.plan-flat thead th:nth-child(n+5){text-align:right}
.plan-flat td.plan-money{white-space:nowrap;text-align:right}.plan-flat .plan-money:before{display:none}
.plan-sort-button{font:inherit;background:none;border:0;min-height:var(--control-height);padding:0;cursor:pointer;text-align:inherit;color:inherit}.plan-flat [aria-sort] .plan-sort-button{color:var(--blue)}
.plan-flat-total>*{background:#eef3fd;font-weight:var(--weight-strong)!important}.plan-flat .plan-flat-total td.plan-money{font-size:var(--text-body)}
.plan-flat .plan-unassigned th{padding-left:var(--space-4)}.plan-flat .plan-position-name .icon-button{flex:none}
@media(max-width:760px){.plan-toolbar{align-items:stretch;gap:var(--space-3)}.view-switch .btn{flex:1}.view-switch{width:100%}.plan-sort-label{width:100%}.plan-sort-label .select{flex:1;min-width:0}}
@media(max-width:440px){#plan-form .form-row{grid-template-columns:1fr!important}}
@media(min-width:641px){.dialog.compact:has(#plan-form){width:760px;max-width:calc(100vw - 32px)}}
