:root{color-scheme:dark;--bg:#122b43;--panel:#204462;--panel-alt:#244a68;--line:#426d8c;--line-soft:#345f7c;--text:#f5fbff;--muted:#c3dbea;--brand:#55c3ff;--primary:#55c3ff;--positive:#35e5ad;--warning:#ffca45;--danger:#ff96a4;--field:#173951;--selected:#194866;--action-text:#062a42;--primary-hover:#7dd0ff;--control-line:#75a3c1;--button-bg:#285571;--table-head:#254d6d;--hover:#244a68;--tip-bg:#234b68;--success-bg:#125244;--warning-bg:#59451d;--danger-bg:#59344b;--radius:6px;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,input,select,textarea,a{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,.table-region:focus-visible{outline:2px solid var(--brand)}[hidden]{display:none!important}::selection{background:var(--brand);color:var(--action-text)}input,textarea{caret-color:var(--brand)}*{scrollbar-width:thin;scrollbar-color:var(--control-line) var(--field)}h1,h2,h3,p{margin:0}a{color:var(--brand);text-underline-offset:3px}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.management-shell{padding:22px 26px 32px;max-width:none;width:100%;margin:0 auto;min-width:0}.management-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-heading{display:flex;align-items:center;gap:16px;min-width:0}.page-heading h1{font-size:22px;line-height:1.35;font-weight:650}.page-heading>span{color:var(--muted);font-size:12px}.page-actions{display:flex;gap:12px;align-items:center}.unit-control{display:flex;align-items:center;gap:8px;color:var(--muted);white-space:nowrap}.unit-control select{width:86px}.button{height:36px;min-height:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--control-line);border-radius:var(--radius);background:var(--button-bg);color:var(--text);font-weight:500;white-space:nowrap;text-decoration:none}.button:hover{background:var(--selected);border-color:var(--brand)}.button.primary{background:var(--primary);border-color:var(--primary);color:var(--action-text)}.button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.button.danger{color:var(--danger)}.button.text{border:0;background:transparent;padding:0 6px;color:var(--brand);height:30px;min-height:30px}.button.text:hover{background:var(--selected)}.button.text.danger{color:var(--danger)}.icon-button{width:36px;height:36px;display:grid;place-items:center;background:transparent;color:var(--muted);border:0;border-radius:var(--radius)}.icon-button:hover{color:var(--text);background:var(--selected)}
.management-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:16px}.management-tabs button{position:relative;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:10px 20px 12px;font-size:16px;font-weight:550;margin-bottom:-1px;white-space:nowrap}.management-tabs button[aria-current=page]{color:var(--brand);border-bottom-color:var(--brand)}.management-tabs button:hover{color:var(--text);background:var(--panel)}.management-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-heading h2{font-size:18px;font-weight:650}.panel-heading p{color:var(--muted);font-size:12px;margin-top:3px}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.management-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}.filter-field{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1 1 140px}.filter-field.search-field{flex:1.5 1 220px}.filter-field label,.form-field>label{font-size:13px;color:var(--muted)}input,select,textarea{width:100%;min-width:0;height:36px;color:var(--text);background:var(--field);border:1px solid var(--control-line);border-radius:5px;padding:6px 10px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{height:72px;resize:vertical}select{padding-right:24px}input[readonly]{color:var(--muted);background:var(--panel-alt)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary)}.filter-buttons{display:flex;gap:8px}.management-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px;padding:14px 0;color:var(--muted)}.management-summary span{white-space:nowrap}.management-summary strong{font-size:18px;font-weight:650;color:var(--text);font-variant-numeric:tabular-nums;margin-left:6px}.management-summary .income strong{color:var(--positive)}.management-summary .expense strong{color:var(--warning)}.summary-unit{font-size:12px;margin-left:auto!important;color:var(--muted)}
.table-region{overflow:auto;max-width:100%;max-height:calc(100dvh - 330px);min-height:0;border:1px solid var(--line-soft);border-radius:5px;overscroll-behavior:contain}.management-table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}.management-table th{position:sticky;top:0;z-index:1;color:var(--muted);background:var(--table-head);font-size:13px;text-align:left;font-weight:550;border-bottom:1px solid var(--line);padding:10px 12px}.management-table td{padding:8px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--text)}.management-table tbody tr:last-child td{border-bottom:0}.management-table tbody tr:hover td{background:var(--hover)}.management-table .num{text-align:right;font-variant-numeric:tabular-nums}.management-table .numeric{font-size:16px;font-weight:600}.management-table td small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.management-table .secondary{color:var(--muted)}.management-table .wrap-cell{white-space:normal;min-width:100px;max-width:240px;overflow-wrap:anywhere}.management-table .actions-cell{white-space:nowrap;padding:5px 8px}.management-table .inactive td{color:var(--muted)}.management-table .status{display:inline-block;font-size:12px;padding:2px 7px;border:1px solid var(--line);border-radius:4px}.status.income{color:var(--positive)}.status.expense{color:var(--warning)}.status.active{color:var(--positive)}.status.inactive{color:var(--muted)}.target-lines{display:grid;gap:3px}.target-lines span{display:flex;gap:10px;justify-content:space-between;font-size:13px}.target-lines em{font-style:normal;color:var(--muted)}.target-lines b{font-weight:550}.management-empty{padding:40px 16px;text-align:center;border:1px dashed var(--line);border-radius:5px}.management-empty h3{font-size:16px;font-weight:550;margin-bottom:6px}.management-empty p{color:var(--muted);font-size:13px;margin-bottom:16px}.page-error{padding:12px 16px;background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);margin-top:16px}.item-tabs{display:flex;gap:4px;margin:0 0 14px;background:var(--field);padding:3px;border:1px solid var(--line-soft);border-radius:var(--radius);width:max-content}.item-tabs button{height:30px;border:0;padding:0 18px;color:var(--muted);border-radius:4px;background:transparent}.item-tabs button[aria-pressed=true]{background:var(--selected);color:var(--text)}
dialog{padding:0;border:1px solid var(--control-line);border-radius:10px;background:var(--panel);color:var(--text);width:min(720px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);overflow:hidden;box-shadow:0 20px 70px #08152166}dialog::backdrop{background:#081725b3}dialog[open]{display:flex;flex-direction:column}dialog>form{display:flex;flex-direction:column;min-height:0;max-height:inherit}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.dialog-header h2{font-size:18px;font-weight:650}.dialog-body{padding:18px 20px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--line);flex-shrink:0;background:var(--panel)}.dialog-footer .editor-unit{margin-right:auto;font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.form-field{display:flex;flex-direction:column;gap:5px;min-width:0}.form-field.full{grid-column:1/-1}.form-field .required{color:var(--danger);margin-left:3px}.form-field small{font-size:12px;color:var(--muted)}.project-belonging{display:flex;flex-wrap:wrap;gap:4px 18px;padding:9px 10px;border:1px solid var(--line-soft);border-radius:5px;font-size:13px;color:var(--muted);min-height:38px}.project-belonging b{color:var(--text);font-weight:500}.form-notice{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.5}.form-error{margin-top:14px;padding:10px 12px;border:1px solid var(--danger);border-radius:5px;color:var(--danger);background:var(--danger-bg);font-size:13px}.form-error a{color:var(--text)}.editor-link{padding:0;border:0;background:transparent;color:var(--brand);font:inherit;font-size:12px;text-align:left;width:max-content;text-decoration:underline;text-underline-offset:3px}.target-group{padding:0;margin:0 0 18px;border:0}.target-group:last-child{margin-bottom:0}.target-group legend{font-size:15px;font-weight:600;margin-bottom:10px;padding:0}.target-group .form-grid{padding:12px;border:1px solid var(--line-soft);border-radius:5px;background:var(--field)}.target-help{margin-bottom:16px;font-size:13px;color:var(--muted)}.target-help summary{cursor:pointer;color:var(--brand);width:max-content}.target-help p{margin-top:8px;line-height:1.7;max-width:70ch}.audit-list{list-style:none;padding:0;margin:0}.audit-list>li{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--line-soft)}.audit-list>li:last-child{padding:0;margin:0;border-bottom:0}.audit-heading{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}.audit-heading time{color:var(--muted)}.audit-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.audit-values section{min-width:0;padding:10px;background:var(--field);border-radius:5px}.audit-values h3{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:6px}.audit-values dl{margin:0}.audit-values dl>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;margin:4px 0;font-size:12px}.audit-values dt{color:var(--muted)}.audit-values dd{margin:0;overflow-wrap:anywhere}.audit-empty{color:var(--muted);text-align:center;padding:18px 0}#confirmDialog{max-width:440px}#confirmText{line-height:1.7}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100vw - 32px);padding:10px 18px;border:1px solid var(--control-line);border-radius:6px;background:var(--tip-bg);color:var(--text);font-size:14px;box-shadow:0 5px 20px #07131e40;pointer-events:none}
@media(max-width:1000px){.management-shell{padding:18px}.page-heading{align-items:flex-start;flex-direction:column;gap:3px}.management-filters .filter-field{flex:1 1 calc(33.333% - 12px)}.management-summary{gap:8px 20px}.table-region{max-height:calc(100dvh - 380px)}}
@media(max-width:640px){.management-shell{padding:14px 12px 24px}.management-header{align-items:flex-start;gap:10px;margin-bottom:14px}.page-heading h1{font-size:19px}.page-heading>span{font-size:11px;max-width:150px}.page-actions{flex-direction:column-reverse;align-items:flex-end;gap:8px}.page-actions .button{height:34px;min-height:34px;padding:0 10px;font-size:13px}.unit-control{font-size:12px;gap:6px}.unit-control select{width:73px;height:30px;padding:3px 7px;font-size:12px}.management-tabs{gap:0;margin-bottom:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.management-tabs button{padding:10px 3px;font-size:13px;min-height:42px}.management-panel{padding:12px}.panel-heading{align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:12px}.panel-heading h2{font-size:17px}.panel-actions{gap:6px}.button{height:40px;min-height:40px;padding:0 12px}.panel-actions .button{font-size:13px}.management-filters{gap:9px;padding-bottom:12px}.management-filters .filter-field{flex:1 1 calc(50% - 6px)}.management-filters .search-field{flex-basis:100%}input,select{height:40px;font-size:14px}.filter-buttons{flex:1 1 100%;justify-content:flex-end}.filter-buttons button{flex:1}.management-summary{gap:8px 16px;padding:12px 0;font-size:12px}.management-summary strong{font-size:16px;margin-left:4px}.summary-unit{margin-left:0!important;flex:1 1 100%}.table-region{max-height:55dvh}.management-table th{padding:9px 10px}.management-table td{padding:8px 10px}.management-table .button.text{height:36px;min-height:36px}.management-empty{padding:28px 12px}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:8px}.dialog-header{padding:12px 14px}.dialog-body{padding:14px}.dialog-footer{padding:10px 14px}.dialog-header h2{font-size:17px}.form-grid{grid-template-columns:1fr;gap:12px}.form-field.full{grid-column:1}.target-group .form-grid{grid-template-columns:1fr;padding:10px}.target-help p{font-size:12px}.audit-values{grid-template-columns:1fr}.audit-heading{flex-wrap:wrap;gap:3px}.dialog-footer .editor-unit{font-size:11px}.toast{bottom:16px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Annual and quarterly plans share the existing monthly budget ledger. */
.budget-editor{width:min(860px,calc(100vw - 32px))}.budget-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px}.budget-preview-heading strong{font-size:15px;font-weight:600}.budget-preview-heading span,.budget-allocation-rule{font-size:12px;color:var(--muted)}.budget-allocation-rule{line-height:1.7;margin:3px 0 10px}.budget-quarter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:5px;overflow:hidden}.budget-quarter-grid section{min-width:0;padding:10px 12px;background:var(--field)}.budget-quarter-grid section:nth-child(odd){border-right:1px solid var(--line)}.budget-quarter-grid section:nth-child(-n+2){border-bottom:1px solid var(--line)}.budget-quarter-grid h3{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:500;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.budget-quarter-grid h3 strong{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}.budget-quarter-grid dl{margin:6px 0 0}.budget-quarter-grid dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:3px 0;font-size:13px;color:var(--muted)}.budget-quarter-grid dt{flex-shrink:0}.budget-quarter-grid dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-quarter-grid .proposed{color:var(--text)}.budget-quarter-grid dt span{font-size:10px;margin-left:5px;color:var(--brand)}.budget-year-total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.budget-year-total>strong{font-size:20px;color:var(--positive);font-variant-numeric:tabular-nums}.budget-year-total small{font-size:12px;font-weight:400;color:var(--muted);margin-left:5px}.budget-overwrite{padding:9px 11px;border:1px solid var(--warning);background:var(--warning-bg);color:var(--warning);font-size:12px;border-radius:5px;margin-top:10px}.budget-preview-empty{font-size:12px;color:var(--muted);padding:10px 0;border-top:1px solid var(--line-soft)}
@media(max-width:640px){.budget-editor{width:calc(100vw - 20px)}.budget-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.budget-editor .form-field.full{grid-column:1/-1}.budget-editor .budget-quarter-grid{grid-template-columns:1fr}.budget-quarter-grid section:nth-child(odd){border-right:0}.budget-quarter-grid section:not(:last-child){border-bottom:1px solid var(--line)}.budget-preview-heading{flex-wrap:wrap;gap:3px}.budget-year-total{flex-wrap:wrap}.budget-year-total>span{display:flex;flex-wrap:wrap;align-items:center}.budget-editor .dialog-footer{flex-wrap:wrap}.budget-editor .editor-unit{flex-basis:100%}.budget-editor .dialog-footer button{flex:1}.budget-views{display:flex;width:100%}.budget-views button{flex:1;padding-inline:8px;font-size:13px}}

.budget-drill-scope{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:-5px 0 10px;font-size:13px;color:var(--brand)}.budget-drill-scope .button{font-size:12px}

.actual-import-dialog{width:min(1240px,calc(100vw - 32px))}.actual-import-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actual-import-tools>span{font-size:13px;color:var(--muted);overflow-wrap:anywhere;min-width:0}.actual-import-help{font-size:13px;line-height:1.7;color:var(--muted);margin:12px 0}.actual-import-sheet{max-width:420px;margin:12px 0}.actual-import-summary{font-size:14px;font-weight:550;margin:12px 0;color:var(--text)}.actual-import-preview{max-height:46dvh}.actual-import-preview td{font-size:13px;max-width:300px;white-space:normal;overflow-wrap:anywhere}.actual-import-preview td:nth-child(2),.actual-import-preview td:nth-child(8),.actual-import-preview td:nth-child(9){white-space:nowrap}.actual-import-preview .import-invalid td{background:var(--danger-bg)}.actual-import-preview td:last-child{min-width:180px;color:var(--positive)}.actual-import-preview .import-invalid td:last-child{color:var(--danger)}.actual-import-pages{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px;font-size:13px;color:var(--muted)}#actualImportError{white-space:pre-line;max-height:140px;overflow:auto}.actual-import-dialog .dialog-footer .editor-unit{max-width:60%;white-space:normal}.actual-import-tools label.button{cursor:pointer}.actual-import-tools label.button:focus-within{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:640px){.actual-import-dialog{width:calc(100vw - 20px)}.actual-import-dialog .dialog-footer{flex-wrap:wrap}.actual-import-dialog .dialog-footer .editor-unit{max-width:none;flex:1 1 100%;font-size:12px}.actual-import-dialog .dialog-footer button{flex:1}.actual-import-preview{max-height:40dvh}.actual-import-tools>span{flex-basis:100%}.actual-import-pages{justify-content:space-between;gap:6px;font-size:12px}}

/* Shared ocean navigation and paired income amounts. */
.management-sidebar{position:fixed;inset:0 auto 0 0;width:196px;background:#173851;border-right:1px solid var(--line);padding:25px 14px;z-index:20}.management-identity{padding:0 12px 26px;display:grid;gap:5px}.management-identity strong{font-size:22px;letter-spacing:2px}.management-identity span{font-size:12px;color:var(--muted)}.management-shell{width:calc(100% - 196px);margin-left:196px}.management-sidebar .management-tabs{display:flex;flex-direction:column;gap:8px;border:0;margin:0}.management-sidebar .management-tabs button{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:6px;padding:12px;font-size:15px;min-height:48px;margin:0;text-align:left}.management-sidebar .management-tabs button[aria-current=page]{background:#245573;border-color:#4b8eaf;color:var(--brand)}.management-sidebar .management-tabs svg{width:20px;height:20px}.actual-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding-top:14px;font-size:13px;color:var(--muted)}.actual-pagination>span{margin-right:auto}.actual-pagination label,.page-step,.page-jump{display:flex;align-items:center;gap:7px}.actual-pagination select{width:82px}.actual-pagination input{width:62px}.actual-pagination .button{padding-inline:10px}.management-table .reference-cell{max-width:230px;white-space:normal;overflow-wrap:anywhere}.status.system{color:var(--brand)}.status.import{color:var(--positive)}.status.manual{color:var(--muted)}
@media(max-width:760px){.management-shell{width:100%;margin-left:0;padding-bottom:100px}.management-sidebar{inset:auto 0 0;width:100%;padding:0 8px max(6px,env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:#173851}.management-identity{display:none}.management-sidebar .management-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.management-sidebar .management-tabs button{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:9px 1px 7px;border:0;border-radius:0;font-size:12px;min-height:64px}.management-sidebar .management-tabs button[aria-current=page]{background:transparent;color:var(--brand);box-shadow:inset 0 2px var(--brand)}.management-sidebar .management-tabs svg{width:20px;height:20px}.actual-pagination{gap:9px}.actual-pagination>span{flex:1 1 100%}.actual-pagination .page-jump{margin-left:auto}.toast{bottom:90px}}

/* Import guidance supports the file and preview task without competing with it. */
.actual-import-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;min-width:0}
.actual-import-main{min-width:0;max-width:100%}
.actual-import-guide{min-width:0;max-height:clamp(180px,calc(100dvh - 220px),600px);overflow-y:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel-alt);color:var(--text)}
.actual-import-guide h3{margin:0 0 12px;font-size:16px;line-height:1.5;font-weight:650}
.actual-import-guide>p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.65}
.actual-import-guide :is(p,dt,dd,li,strong,summary){overflow-wrap:anywhere}
.import-help-section+.import-help-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.import-help-section h4{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 6px;font-size:14px;line-height:1.5;font-weight:600}
.import-help-section p{margin:0;font-size:14px;line-height:1.65;color:var(--text)}
.actual-import-guide .status{display:inline-flex;align-items:center;flex-shrink:0;padding:1px 6px;border:1px solid var(--line);border-radius:4px;background:var(--field);font-size:12px;line-height:1.5;font-weight:600}
.actual-import-guide .status.income{color:var(--positive);border-color:var(--positive);background:var(--success-bg)}
.actual-import-guide .status.expense{color:var(--warning);border-color:var(--warning);background:var(--warning-bg)}
.import-help-rules,.import-help-rules dl{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr);gap:6px 12px;margin:0;font-size:12px;line-height:1.65}
.import-help-rules>div,.import-help-rules dl>div{display:contents}
.import-help-rules dt{color:var(--muted)}
.import-help-rules dd{min-width:0;margin:0;color:var(--text)}
.actual-import-guide details{margin-top:12px;font-size:14px;line-height:1.5}
.actual-import-guide>details{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.actual-import-guide summary{min-height:36px;padding:6px 0;color:var(--brand);cursor:pointer;font-weight:550}
.actual-import-guide summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}
.actual-import-guide details[open]>summary{margin-bottom:8px}
.import-help-options{list-style:none;margin:0;padding:0}
.import-help-options li{min-width:0;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12px;line-height:1.65;color:var(--muted)}
.import-help-options li:last-child{border-bottom:0;padding-bottom:0}
.import-help-options strong{display:block;margin-bottom:3px;color:var(--text);font-size:14px;font-weight:550}
.actual-import-guide details dl{margin:0;font-size:12px;line-height:1.65}
.actual-import-guide details dt{margin-top:8px;color:var(--text);font-weight:600}
.actual-import-guide details dd{margin:3px 0 0;color:var(--muted)}
@media(max-width:1000px){.actual-import-layout{grid-template-columns:minmax(0,1fr);gap:16px}.actual-import-guide{max-height:360px}}
@media(max-width:640px){.actual-import-layout{gap:14px}.actual-import-guide{padding:14px;max-height:min(360px,50dvh)}.import-help-rules,.import-help-rules dl{grid-template-columns:72px minmax(0,1fr);gap:6px 10px}}

.import-help-options li>span{display:block}.import-help-footnote{margin-top:16px!important;color:var(--muted);font-size:12px;line-height:1.7}

/* Income classification reuses the source cell and the existing editor. */
.income-tag{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.5;white-space:nowrap}.income-tag.tagged{color:var(--brand);font-weight:600}
/* Both import workflows use the same visible steps and guidance layout. */
.actual-import-guide>h4{margin:0 0 6px;font-size:14px;font-weight:600}.import-help-steps{margin:0 0 18px;padding-left:22px;font-size:13px;line-height:1.75;color:var(--text)}.import-help-steps li{padding-left:3px;margin:5px 0}.import-help-steps li::marker{color:var(--brand);font-weight:600}
#budgetImportSummary{white-space:pre-line;line-height:1.75}#budgetImportError{white-space:pre-line;max-height:140px;overflow:auto}.budget-import-confirmation{padding:12px;margin:12px 0;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-bg);color:var(--warning)}.budget-import-confirmation>p{white-space:pre-line;font-size:12px;line-height:1.75;max-height:140px;overflow:auto;margin:0 0 10px}.budget-import-confirmation>label{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.budget-import-confirmation input{flex:0 0 17px;margin:3px 0 0}.budget-import-preview td{min-width:76px}.budget-import-preview td:nth-child(3){min-width:150px;white-space:normal}.budget-import-preview td:nth-child(4),.budget-import-preview td:nth-child(5){min-width:130px}.budget-import-preview td:nth-child(10){text-align:right;white-space:nowrap}.budget-import-preview td:last-child{min-width:210px}.budget-import-months{margin-top:5px;font-size:12px;color:var(--text)}.budget-import-months summary{color:var(--brand);min-height:30px;padding:5px 0;cursor:pointer}.budget-import-months summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.budget-import-months dl{margin:5px 0 0}.budget-import-months dl>div{padding:6px 0;border-top:1px solid var(--line-soft)}.budget-import-months dt{color:var(--muted);margin-bottom:2px}.budget-import-months dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.budget-import-months dd>small{display:block;color:var(--muted);font-size:12px;white-space:normal}

/* Shared source-type rules replace per-record income tagging. */
dialog.income-sync-rules-dialog{width:min(900px,calc(100vw - 32px))}.income-sync-rules-scope{color:var(--text);font-size:14px;line-height:1.7;margin-bottom:16px}.income-sync-rules-table{width:100%;table-layout:fixed}.income-sync-rules-table th:first-child{width:36%}.income-sync-rules-table th:nth-child(2){width:48%}.income-sync-rules-table th:last-child{width:16%}.income-sync-rules-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:middle;padding:14px 12px}.income-sync-rules-table td>strong{font-weight:600}.income-sync-rules-table small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}.income-sync-rules-table select{width:100%;max-width:100%}.income-sync-rules-note{margin-top:14px;font-size:12px;line-height:1.7;color:var(--muted)}#incomeSyncRulesError{white-space:pre-line;margin-top:12px}
@media(max-width:640px){dialog.income-sync-rules-dialog{width:calc(100vw - 20px)}.income-sync-rules-table,.income-sync-rules-table tbody{display:block}.income-sync-rules-table thead{display:none}.income-sync-rules-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--line)}.income-sync-rules-table tr:first-child{border-top:1px solid var(--line)}.income-sync-rules-table td{display:block;padding:12px 0;border:0;min-width:0}.income-sync-rules-table td:nth-child(2){grid-column:1/-1;grid-row:2;padding-top:0}.income-sync-rules-table td:nth-child(2)::before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.income-sync-rules-table .rules-audit-cell{grid-column:2;grid-row:1;padding-left:12px;align-self:start}.income-sync-rules-dialog .dialog-footer{flex-wrap:wrap}.income-sync-rules-dialog .editor-unit{flex:1 1 100%}.income-sync-rules-dialog .dialog-footer>button{flex:1}}
