:root{--bg: #f6f7f9;--panel: #ffffff;--text: #1c2430;--muted: #68737f;--border: #dde3ea;--accent: #2563eb;--accent-text: #ffffff;--ok: #15803d;--error: #b91c1c;--warn-bg: #fef3c7;--warn-text: #92400e;--chip-bg: #eef1f5;--debit: #1d4ed8;--credit: #b45309;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0f141a;--panel: #171e26;--text: #e6ebf1;--muted: #8b97a3;--border: #2a3441;--accent: #3b82f6;--ok: #4ade80;--error: #f87171;--warn-bg: #3a2f10;--warn-text: #fbbf24;--chip-bg: #232c37;--debit: #93b4f8;--credit: #f0b35f}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{max-width:1440px;margin:0 auto;padding:0 clamp(12px,2.5vw,40px) 64px}@media(max-width:700px){.app{padding:0 10px 48px}.statement{padding:14px 12px 18px}.stmt-table .amount{width:auto}.card{padding:12px}.row{flex-wrap:wrap}}.topbar{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:20px;flex-wrap:wrap}.brand{font-weight:700;font-size:18px}.book-name{color:var(--muted);font-weight:400;margin-left:6px}.topbar nav{display:flex;gap:4px;flex:1}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.tab,a.tab{border:none;background:transparent;color:var(--muted);padding:6px 10px;white-space:nowrap;text-decoration:none;font-size:14px;cursor:pointer}button.tab.active,a.tab.active{color:var(--text);font-weight:600;border-bottom:2px solid var(--accent);border-radius:0}.pair-warn{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-text);border-radius:10px;padding:10px 14px}.pair-warn p{margin:0 0 6px}.dep-warn{border:3px solid var(--error);background:color-mix(in srgb,var(--error) 12%,var(--panel));color:var(--error);border-radius:12px;padding:14px 18px;font-size:15px}.dep-warn .dep-warn-title{font-size:17px;font-weight:800;letter-spacing:.02em;margin:0 0 6px}.dep-warn p{margin:0}button.link{border:none;background:transparent;color:var(--accent);padding:2px 6px}button.link.danger{color:var(--error)}.lang-toggle{font-size:13px}.book-select{font-weight:600;max-width:260px}.group-note{flex:1}.checkbox-group>.row{gap:10px;padding:6px 0}.mismatch-card{border-color:var(--error);max-width:920px;margin:0 auto 16px}.account-picker{position:relative;min-width:220px}.ap-trigger{width:100%;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 10px;display:flex;align-items:center;gap:6px}.ap-trigger .ap-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ap-required{position:absolute;inset:auto 0 0 0;width:1px;height:1px;opacity:0;pointer-events:none}.ap-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:320px;max-width:460px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #00000059;padding:8px}.ap-search{width:100%;margin-bottom:6px}.ap-list{max-height:320px;overflow-y:auto}.ap-item{display:flex;align-items:center;gap:6px;width:100%;padding:4px 10px;font-size:13px;border:none;background:transparent;border-radius:6px;text-align:left}.ap-item .ap-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.ap-leaf{cursor:pointer;color:var(--text)}button.ap-leaf:hover{background:var(--chip-bg);border:none}.ap-leaf.ap-selected{background:var(--chip-bg);font-weight:600}.ap-parent{color:var(--muted);font-weight:600;cursor:default}.ap-section{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);padding:8px 10px 2px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.card h1{margin-top:0}.card h2{margin:0 0 10px;font-size:16px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.row{display:flex;gap:12px;align-items:flex-end}.row.wrap{flex-wrap:wrap}.space-between{justify-content:space-between;align-items:center}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}label.checkbox{flex-direction:row;align-items:center}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 10px;min-width:0}.center-note{text-align:center;color:var(--muted);padding:80px 0}.setup-wrap{display:flex;justify-content:center;padding-top:60px}.setup{width:460px;display:flex;flex-direction:column;gap:12px}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--error)}.ok{color:var(--ok)}.chip{display:inline-block;background:var(--chip-bg);color:var(--muted);border-radius:6px;font-size:11px;padding:1px 6px;margin-left:6px;vertical-align:middle}.chip.id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chip.cat{color:var(--accent)}.chip.warn{background:var(--warn-bg);color:var(--warn-text)}.chip.st{color:var(--ok)}.account-row{display:flex;align-items:center;gap:4px;padding:5px 0;border-bottom:1px solid var(--border)}.account-row:last-child{border-bottom:none}.account-row .account-name{font-weight:500}.account-row.retired .account-name{color:var(--muted);text-decoration:line-through}.account-row .row-actions{margin-left:auto;display:inline-flex;gap:2px;align-items:center}.move-btn{font-size:12px}.account-form{border:1px dashed var(--border);border-radius:10px;padding:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.journal-nav{margin-bottom:16px}.entry-form{display:flex;flex-direction:column;gap:14px}.legs{display:flex;flex-direction:column;gap:10px}.legs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.legs-col{display:flex;flex-direction:column;gap:10px}.legs-col-head{font-weight:600;font-size:13px;padding:2px 4px 6px;border-bottom:1px solid var(--border)}.legs-col-head.debit{color:var(--debit)}.legs-col-head.credit{color:var(--credit)}.legs-add{align-self:flex-start}.leg{border:1px dashed var(--border);border-radius:10px;padding:10px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:13px;color:var(--muted)}.side-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.side-toggle button{border:none;border-radius:0;background:transparent;color:var(--muted);padding:6px 10px;font-size:12px;white-space:nowrap}.side-toggle button.active{background:var(--accent);color:var(--accent-text);font-weight:600}.swap-btn{align-self:flex-end;border-radius:8px;font-size:15px;padding:5px 10px}.vat-btn{align-self:flex-end;border-radius:8px;color:var(--accent);border-color:var(--accent);white-space:nowrap}.vat-rate{width:80px}.fx-summary{display:flex;flex-wrap:wrap;gap:18px;padding:10px 14px;border:1px dashed var(--border);border-radius:10px;font-size:14px}@media(max-width:860px){.legs-grid{grid-template-columns:1fr}}.meta-pairs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.meta-pairs .pair{display:inline-flex;gap:4px}.meta-pairs input{width:110px;padding:3px 8px;font-size:12px}.chip.meta{color:var(--warn-text);background:var(--warn-bg)}.entry .entry-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);margin-right:10px}.entry .entry-payee{font-weight:600}.entry.voided{opacity:.55}table.postings,table.report{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px}table.postings td,table.report td,table.report th{padding:5px 8px;border-top:1px solid var(--border);text-align:left}.saved-flash{color:var(--ok, #4caf50);font-size:13px;align-self:center}.balance-hint{display:block;margin-top:2px;font-variant-numeric:tabular-nums}.item-ac{position:relative}.item-ac-list{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:30;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000040;max-height:280px;overflow-y:auto}.item-ac-hint{padding:4px 8px 6px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:2px}.item-ac-list li:not(.item-ac-hint){display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 8px;border-radius:6px;cursor:pointer}.item-ac-list li.active{background:var(--accent-soft, rgba(120, 140, 255, .16))}.item-ac-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-ac-meta{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.stmt-notes{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:14px 32px 16px;margin:0 auto 16px;max-width:920px;font-size:13px}.stmt-notes-title{font-weight:600}.stmt-notes-list{margin:8px 0 0;padding-left:20px}.stmt-notes-list li{margin:4px 0;white-space:pre-wrap}.notes-manage{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.note-row{gap:8px;align-items:center;margin:4px 0}.note-snippet{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-form{margin-top:8px}.note-form textarea{width:100%}.note-presets{gap:4px;align-items:flex-end}table.report th.amount,table.report td.amount,td.amount{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}td.side{width:60px;font-size:12px;font-weight:600}td.side.debit{color:var(--debit)}td.side.credit{color:var(--credit)}tr.group-head td{font-weight:600;background:var(--chip-bg)}tr.total td{font-weight:700;border-top:2px solid var(--text)}td.indent{padding-left:24px}tr.retired{opacity:.55}.bs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media(max-width:860px){.bs-grid{grid-template-columns:1fr}}.statement{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:24px 32px 28px;margin:0 auto 16px;max-width:1080px;overflow-x:auto}.stmt-head{text-align:center;margin-bottom:20px}.stmt-book{font-weight:600;font-size:14px;color:var(--muted);letter-spacing:.06em}.stmt-title{font-weight:700;font-size:17px;letter-spacing:.1em;margin-top:4px}.stmt-sub{font-size:13px;color:var(--muted);margin-top:6px}.stmt-unit{font-size:12px;color:var(--muted);margin-top:2px}.stmt-table{width:100%;border-collapse:collapse;font-size:14px}.stmt-table td,.stmt-table th{padding:5px 8px;text-align:left;vertical-align:bottom}.stmt-table td:first-child,.stmt-table th:first-child{white-space:nowrap}.stmt-table td.stmt-label-cell,.stmt-table td:first-child{width:100%}.stmt-line{display:flex;align-items:baseline;gap:0}.stmt-line-label{white-space:nowrap}.stmt-leader{flex:1 1 auto;min-width:18px;margin:0 8px 4px;border-bottom:1px dotted var(--border)}.stmt-contra-lbl .stmt-line-label{color:var(--muted)}.stmt-table .amount,.stmt-table .stmt-amt{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.stmt-table th.amount{padding-right:10px}.stmt-cp{display:inline-block;width:0}.stmt-cols th{border-bottom:1px solid var(--text);font-size:12px;font-weight:700}.ts-scroll{overflow-x:auto}.ts-table td.ts-label,.ts-table th:first-child{width:auto;white-space:nowrap;position:sticky;left:0;background:var(--panel);z-index:1}.ts-table .stmt-amt,.ts-table th.amount{min-width:92px;padding-right:10px}tr.stmt-section td{font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding-top:16px;border-bottom:1px solid var(--text)}tr.stmt-subhead td{color:var(--muted);font-style:italic;padding-top:8px}td.stmt-indent{padding-left:28px}td.stmt-contra{padding-left:44px;color:var(--muted)}tr.stmt-netline td{font-style:italic;color:var(--muted)}tr.stmt-parent td{font-weight:600}.tx-table .tx-when{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;color:var(--muted)}.tx-table .tx-actions{white-space:nowrap}.tx-table tr.voided-row{opacity:.5}.tx-filters{margin-bottom:16px;align-items:flex-end}tr.stmt-subtotal td{border-top:1px solid var(--muted);font-weight:600}tr.stmt-total td,tr.stmt-grand td{border-top:1px solid var(--text);font-weight:700}tr.stmt-grand td.amount,tr.stmt-grand td:last-child{border-bottom:3px double var(--text)}tr.stmt-gap td{padding:10px 0}.stmt-note{font-size:12px;color:var(--muted);font-style:italic}.stmt-fx{display:block;margin-left:18px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.stmt-caret,.tree-caret{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;width:18px;font-size:11px;text-align:left}.stmt-caret:hover,.tree-caret:hover{color:var(--text);border:none}.stmt-caret-space,.tree-caret-space{display:inline-block;width:18px}
