:root{color:#242424;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{color:#1f241d;cursor:pointer;background:#fff;border:1px solid #c9cfc3;border-radius:6px;padding:9px 12px}button:hover:not(:disabled){background:#f0f4ec}button:disabled{cursor:not-allowed;opacity:.55}button.danger{color:#8d2424;border-color:#c89090}button.danger:hover:not(:disabled){background:#fff0ed}input,select,textarea{background:#fff;border:1px solid #cfd5c8;border-radius:6px;min-width:0;padding:9px 10px}table{border-collapse:collapse;width:100%;font-size:14px}.entry-table-wide-detail .entry-place-cell{min-width:190px}.entry-table-wide-detail .entry-date-cell{padding-left:12px}.entry-table-wide-detail .entry-detail-cell{min-width:clamp(420px,42vw,700px)}.entry-table-wide-detail .category-cell{width:200px;min-width:200px}.entry-table-wide-detail .category-cell select{min-width:0}th,td{vertical-align:middle;border-bottom:1px solid #e5e8df;padding:9px 8px}th{color:#5f665a;text-align:left;font-size:12px;font-weight:700}.app-shell{flex-direction:column;gap:16px;max-width:1600px;min-height:100vh;margin:0 auto;padding:24px;display:flex}.login-shell{place-items:center;min-height:100vh;padding:18px;display:grid}.login-card{background:#fff;border:1px solid #d8ddcf;border-radius:8px;width:min(420px,100%);padding:22px}.login-card h1{margin:0;font-size:28px}.login-card p{color:#697164;margin:8px 0 18px}.login-card form{gap:10px;display:grid}.login-card .statusline{margin:14px 0 0}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:28px}.topbar p{color:#697164;margin:4px 0 0}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.save-needed{color:#5f470e;background:#fff5cf;border-color:#8c6b19}.statusline{color:#596153;background:#fff;border:1px solid #d8ddcf;border-radius:6px;padding:10px 12px}.security-warning{color:#5d3c00;background:#fff4d8;border:1px solid #c58a24;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.month-close-warning{color:#3f5634;background:#f1f6eb;border:1px solid #8d9e79;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.month-close-warning div{gap:3px;display:grid}.month-close-warning span{font-size:13px}.security-warning div{gap:3px;display:grid}.security-warning span{font-size:13px}.audit-panel{margin-top:0}.audit-panel .panel-header p{color:#687064;margin:4px 0 0;font-size:13px}.audit-path{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin-top:0;display:grid}.main-column,.right-column{gap:16px;display:grid}.tabs{gap:8px;display:grid}.primary-tabs{background:#fff;border:1px solid #d8ddcf;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px}.sub-tabs{background:#eef1e8;border:1px solid #d8ddcf;border-radius:999px;flex-wrap:wrap;justify-self:start;gap:6px;margin-bottom:0;padding:4px;display:inline-flex}.tabs button{text-align:left;justify-content:space-between;align-items:center;gap:10px;min-height:48px;display:flex}.tabs button strong{color:#3f5137;white-space:nowrap;font-size:13px}.tabs button.active{background:#eef5e9;border-color:#93ad83;box-shadow:inset 0 0 0 1px #c9d9bf}.primary-tabs button{background:0 0;border-color:#0000;min-height:54px}.primary-tabs button.active{background:#eef5e9;border-color:#8ea879}.sub-tabs button{background:0 0;border:0;border-radius:999px;min-height:34px;padding:7px 12px}.sub-tabs button strong{font-size:12px}.sub-tabs button.active{background:#fff;box-shadow:0 1px 3px #2630201f}.tab-panel{display:none}.tab-panel.active{gap:16px;display:grid}.panel{background:#fff;border:1px solid #d8ddcf;border-radius:8px;overflow:auto hidden}.panel-header{background:#fbfcf8;border-bottom:1px solid #e5e8df;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.panel-header h2{margin:0;font-size:16px}.panel-header span{color:#3f5137;font-weight:700}.header-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.header-actions button{margin-left:4px}.payment-budget-field{color:#687064;gap:4px;min-width:210px;font-size:12px;display:grid}.payment-budget-field input{width:100%}.empty{color:#747b6f;margin:0;padding:18px 14px}.amount{text-align:right;white-space:nowrap;width:108px}.panel-title-cell{width:100%;min-width:260px}.date{color:#5d6657;white-space:nowrap;width:120px}.category-cell{width:clamp(220px,22vw,300px);min-width:220px}.category-cell select{width:100%;min-width:220px;padding:6px 8px;display:block}.inline-form,.entry-form,.panel-form,.planned-form,.cash-flow-form{background:#fbfcf8;border-top:1px solid #e5e8df;border-bottom:1px solid #e5e8df;gap:8px;padding:12px;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) 140px 70px}.entry-form{grid-template-columns:150px minmax(180px,.8fr) minmax(300px,1.6fr) 150px 70px}.panel-form{grid-template-columns:minmax(0,1fr) 150px 70px}.panel-form-claim,.panel-form-family_card{grid-template-columns:142px minmax(260px,1fr) 160px 70px}.planned-form{grid-template-columns:100px minmax(90px,.5fr) minmax(0,1.5fr) 150px 70px}.cash-flow-form{grid-template-columns:140px 100px minmax(0,1fr) 140px auto 70px}.history-header{align-items:flex-end}.history-header p{color:#747b6f;margin:4px 0 0;font-size:13px}.history-controls{align-items:center;gap:10px;display:flex}.history-controls select{min-width:150px}.history-controls span{color:#3f5137;white-space:nowrap;font-weight:700}.muted-inline{color:#747b6f;white-space:nowrap;margin-left:8px;font-size:12px;display:inline-block}.action-cell{text-align:right;width:88px;min-width:88px}.action-cell button{white-space:nowrap;min-width:54px;padding:6px 10px}.positive{color:#275d22}.negative{color:#8d2424}.summary-panel dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.summary-panel dl div{border-bottom:1px solid #e5e8df;border-right:1px solid #e5e8df;justify-content:space-between;gap:12px;padding:10px 14px;display:flex}.summary-panel dl div:nth-child(3n){border-right:0}.summary-panel dl div:nth-last-child(-n+3){border-bottom:0}.summary-panel dl div:last-child{border-right:0}.summary-panel dt{color:#5d6657}.summary-panel dd{margin:0;font-weight:700}.summary-panel .total{background:#f2f6ee}.summary-panel .total dd{color:#275d22;font-size:18px}.summary-setting{background:#fbfcf8;border-top:1px solid #e5e8df;justify-content:flex-end;align-items:center;gap:8px;padding:12px;display:flex}.summary-setting span{color:#62695d;margin-right:auto;font-size:13px;font-weight:700}.summary-setting input{max-width:160px}.committee-verdict{color:#3f5338;background:#f4f7f1;border-bottom:1px solid #e5e8df;margin:0;padding:12px 16px;font-size:14px;line-height:1.45}.committee-verdict.steady{color:#665826;background:#f7f4e8}.committee-verdict.warning,.committee-verdict.danger{color:#7d3f2d;background:#fff0e8}.stats-panel{margin-top:0}.insight-stack{gap:16px;margin-top:0;display:grid}.insight-stack .stats-panel{margin-top:0}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats-grid div{border-right:1px solid #e5e8df;padding:14px}.stats-grid div:last-child{border-right:0}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{color:#5d6657;font-size:14px}.stats-grid span{color:#25351f;margin-top:8px;font-size:20px;font-weight:800}.stats-grid p{color:#747b6f;margin:8px 0 0;font-size:13px}.credit-panel{margin-top:0}.credit-meter{background:#f5f5ef;border:1px solid #dfe2d8;border-radius:999px;height:12px;margin:14px 16px;overflow:hidden}.credit-meter div{border-radius:inherit;background:#6f875b;height:100%}.credit-panel.warning .credit-meter div{background:#b07a2a}.credit-panel.danger .credit-meter div{background:#a9473e}.credit-stats{border-top:1px solid #ece8df;border-bottom:1px solid #ece8df;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.credit-stats div{border-right:1px solid #ece8df;padding:12px 16px}.credit-stats div:last-child{border-right:0}.credit-stats dt{color:#6f7468;font-size:12px}.credit-stats dd{color:#28331f;margin:5px 0 0;font-size:17px;font-weight:800}.credit-panel p{color:#5e6657;margin:12px 16px 16px;font-size:13px;line-height:1.5}.credit-panel .credit-note{color:#858a7c;margin-top:-6px;font-size:12px}.discount-policy{background:#fff;border:1px solid #d8ddcf;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:11px 14px;display:flex}.discount-policy div{gap:3px;display:grid}.discount-policy strong{color:#333b2e;font-size:14px}.discount-policy span{color:#737a6d;font-size:12px}.discount-policy.enabled{background:#f5faf2;border-color:#afc6a1}.discount-policy.disabled{background:#f7f5f2;border-color:#d1c7bd}.payment-overview .discount-policy{border-left:0;border-right:0;border-radius:0}.discount-cell{text-align:right;white-space:nowrap;min-width:168px}.discount-cell button,.discount-editor button{padding:5px 7px;font-size:12px}.discount-editor{justify-items:end;gap:6px;display:grid}.discount-editor div{gap:5px;display:flex}.discount-editor input{width:86px;padding:5px 7px;font-size:12px}.discount-badge{color:#47603c;background:#eef5e9;border:1px solid #b9c7ae;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.muted-badge{color:#6f7669;white-space:nowrap;background:#f4f5f1;border:1px solid #d1d6ca;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.discount-payment-cell{white-space:nowrap;padding-left:18px}.discount-payment-content{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.discount-payment-content .inline-action{margin-left:0}button.discount-badge{padding:2px 7px}button.discount-badge:hover:not(:disabled){background:#e3efdc}.net-amount{color:#5c6655;margin-top:4px;font-size:12px;display:block}.share-wide-button{color:#2f4b27;background:#eef5e9;border-color:#9fb291;width:100%;margin-top:12px;padding:11px 14px;font-weight:800}.share-wide-button:hover:not(:disabled){background:#e1eed9}.modal-backdrop{z-index:30;background:#1e231c47;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.settings-modal{background:#fff;border:1px solid #cfd5c8;border-radius:8px;width:min(720px,100%);max-height:min(760px,100vh - 36px);overflow:auto;box-shadow:0 18px 50px #1f241d38}.stats-modal{background:#fff;border:1px solid #cfd5c8;border-radius:8px;width:min(960px,100%);max-height:min(820px,100vh - 36px);overflow:auto;box-shadow:0 18px 50px #1f241d38}.stats-modal .insight-stack{padding:14px}.settings-grid{gap:12px;padding:14px;display:grid}.settings-grid label,.settings-row{grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.settings-grid label:has(input[type=password]){grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) auto}.settings-grid span{color:#596153;font-size:13px;font-weight:700}.danger-zone{background:#fff8f7;border:1px solid #d9a3a3;border-radius:8px;gap:10px;margin-top:8px;padding:14px;display:grid}.danger-action{grid-template-columns:minmax(0,1fr) minmax(220px,auto);align-items:center;gap:10px;display:grid}.danger-action+.danger-action{border-top:1px solid #efd2ce;padding-top:10px}.danger-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.danger-zone h3{color:#8d2424;margin:0 0 4px;font-size:15px}.danger-zone p{color:#7a5450;margin:0;font-size:13px}.pre-restore-section{border-top:1px solid #e9c4c0;gap:10px;margin-top:4px;padding-top:12px;display:grid}.pre-restore-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.pre-restore-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pre-restore-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.pre-restore-list{gap:8px;display:grid}.pre-restore-item{background:#fffdfc;border:1px solid #ead2cf;border-radius:8px;padding:10px}.pre-restore-item div{gap:3px;min-width:0;display:grid}.pre-restore-item strong,.pre-restore-item span,.pre-restore-item code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pre-restore-item span,.pre-restore-empty{color:#7a5450;font-size:13px}.pre-restore-item code{color:#596153;font-size:12px}.hidden-input{display:none}.payment-stack{gap:16px;display:grid}.payment-overview .panel-header p,.late-entry-panel .panel-header p{color:#747b6f;margin:4px 0 0;font-size:13px}.payment-alert,.judgment-line{border-bottom:1px solid #e5e8df;margin:0;padding:12px 14px}.payment-alert{color:#912e25;background:#fff0ed;font-weight:800}.judgment-line{color:#5b6255}.fallback-note{color:#62695d;background:#fbfcf8;border-bottom:1px solid #e5e8df;margin:0;padding:10px 14px;font-size:13px}.deferred-row{opacity:.66;background:#f5f5f1}.carried-row{background:#fff9e7}.toll-badge,.deferred-badge{color:#596153;background:#eef1e8;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:11px;font-weight:700;display:inline-block}.deferred-badge{color:#716653;background:#eeeae2}.inline-action{margin-left:8px;padding:3px 7px;font-size:11px}.payment-overview.warning .judgment-line{background:#fff8df}.payment-overview.danger .judgment-line{color:#79251f;background:#fff0ed}.payment-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.payment-summary div{border-bottom:1px solid #e5e8df;border-right:1px solid #e5e8df;padding:12px 14px}.payment-summary div:last-child{border-right:0}.payment-summary dt{color:#747b6f;font-size:12px}.payment-summary dd{margin:5px 0 0;font-weight:800}.payment-controls,.fallback-setting{background:#fbfcf8;border-top:1px solid #e5e8df;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.fallback-setting{border-top:0}.fallback-setting span{color:#62695d;margin-right:auto;font-size:13px}.check-label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.select-cell{text-align:center;width:58px}.payment-input-cell{width:150px}.payment-input-cell input{width:100%;min-width:120px}.paid-row{color:#858b80;background:#fafbf8}.transport-badge,.primary-income-badge{color:#47603c;background:#eef5e9;border:1px solid #b9c7ae;border-radius:999px;margin-left:7px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.compact table td:first-child{width:auto}.compact table .date{padding-right:22px}@media (width<=980px){.app-shell{padding:14px}.entry-table-wide-detail .entry-detail-cell{min-width:48vw}.entry-table-wide-detail .entry-place-cell,.entry-table-wide-detail .category-cell{min-width:160px}.topbar{flex-direction:column;align-items:flex-start}.actions{justify-content:flex-start}.layout{grid-template-columns:1fr}.tabs,.primary-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form,.entry-form,.panel-form,.panel-form-claim,.panel-form-family_card,.planned-form,.cash-flow-form,.settings-grid label,.settings-row{grid-template-columns:1fr}.settings-grid label:has(input[type=password]){grid-template-columns:1fr}.danger-zone,.danger-action,.danger-controls{grid-template-columns:1fr}.amount,.date,.category-cell{width:auto}.history-header{flex-direction:column;align-items:stretch}.history-controls{justify-content:space-between}}@media (width<=720px){.discount-policy{flex-direction:column;align-items:stretch}.summary-panel dl,.stats-grid{grid-template-columns:1fr}.stats-grid div{border-bottom:1px solid #e5e8df;border-right:0}.stats-grid div:last-child{border-bottom:0}.credit-stats,.payment-summary{grid-template-columns:1fr}.credit-stats div{border-bottom:1px solid #ece8df;border-right:0}.credit-stats div:last-child{border-bottom:0}.tabs{grid-template-columns:1fr}.sub-tabs{border-radius:8px;justify-self:stretch;display:grid}.summary-panel dl div,.summary-panel dl div:nth-child(3n),.summary-panel dl div:nth-last-child(-n+3){border-bottom:1px solid #e5e8df;border-right:0}.summary-panel dl div:last-child{border-bottom:0}}
