@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Public+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");.topbar{background:var(--card);border-bottom:1px solid var(--line);padding:0 28px;height:58px;display:flex;align-items:center;gap:22px}:root{--paper:#F7F7F4;--card:#FFFFFF;--ink:#20241F;--ink2:#5B6157;--ledger:#1E5748;--ledger-soft:#E8F0ED;--line:#DDDFD8;--line2:#C7CBC1;--stamp:#A63D2F;--stamp-soft:#F7ECEA;--ok:#1E5748;--mono:"IBM Plex Mono",monospace;--sans:"Public Sans",sans-serif;--disp:"Fraunces",serif}*{box-sizing:border-box;margin:0}body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}button{font:inherit;cursor:pointer}input,select{font:inherit;color:var(--ink)}:focus-visible{outline:2px solid var(--ledger);outline-offset:1px}.wordmark{display:inline-block;font:600 24px var(--disp);color:var(--ledger);letter-spacing:.01em;text-decoration:none}.wordmark small{font:400 11px var(--sans);color:var(--ink2);display:block;margin-top:-4px;letter-spacing:.06em;text-transform:uppercase}.firm{margin-left:auto;text-align:right;font-size:13px;color:var(--ink2)}.firm b{display:block;color:var(--ink);font-weight:600}.topnav{display:flex;align-items:center;gap:14px;margin-left:18px;padding-left:18px;border-left:1px solid var(--line)}.topnav a{font-size:13px;font-weight:600;color:var(--ink2);text-decoration:none}.topnav a.active,.topnav a:hover{color:var(--ledger)}.signout{border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink2);padding:0}.signout:hover{color:var(--stamp)}.signout:disabled{opacity:.6;cursor:not-allowed}.authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.authcard{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px}.authcard h1{font:600 22px var(--disp);color:var(--ledger)}.authcard .sub{font-size:13px;color:var(--ink2);margin-top:-8px}.authcard .btn{width:100%}.authlink{font-size:13px;font-weight:600;color:var(--ledger);text-decoration:none;text-align:center}.authlink:hover{text-decoration:underline}.settingswrap{grid-template-columns:1fr;max-width:720px}.savedmsg{font-size:12.5px;color:var(--ok);font-weight:600;margin-bottom:10px}.archivewrap{grid-template-columns:1fr;max-width:1040px}.mono{font-family:var(--mono)}.badge{display:inline-block;font:500 11px var(--sans);letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:var(--ledger-soft);color:var(--ledger)}.badge.badge-error{background:var(--stamp-soft);color:var(--stamp)}.rowerrmsg{font-size:11.5px;color:var(--stamp);margin-top:4px}.wrap{max-width:1240px;margin:26px auto;padding:0 28px;display:grid;grid-template-columns:1fr 330px;grid-gap:24px;gap:24px;align-items:start}@media (max-width:980px){.wrap{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:10px}.card h2{font:600 15px var(--sans);padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.card h2 .tag{font:500 10.5px var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--ledger);background:var(--ledger-soft);padding:3px 8px;border-radius:99px}.pad{padding:18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px 16px;gap:14px 16px}.f label{display:block;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:4px}.f label .req{color:var(--stamp)}.f input,.f select{width:100%;padding:8px 10px;border:1px solid var(--line2);border-radius:7px;background:#fff}.f input.mono{font-family:var(--mono);font-size:13.5px}.f .hint{font-size:11.5px;color:var(--ink2);margin-top:3px}.f.err input,.f.err select{border-color:var(--stamp);background:var(--stamp-soft)}.f .errmsg{display:none;font-size:12px;color:var(--stamp);margin-top:3px}.f.err .errmsg{display:block}.import{border:1.5px dashed var(--line2);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;margin-bottom:16px;background:#FCFCFA;transition:border-color .15s,background .15s}.import.dragover{border-color:var(--ledger);background:var(--ledger-soft)}.import p{font-size:13px;color:var(--ink2)}.import p b{color:var(--ink)}.importtextarea{width:100%;min-height:56px;padding:9px 10px;border:1px solid var(--line2);border-radius:7px;background:#fff;font:inherit;font-size:13px;resize:vertical}.importrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.infobox{margin-top:2px;background:var(--ledger-soft);border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:12.5px;color:var(--ink);display:none}.infobox.show{display:block}.import .errbox,.import .infobox{margin:0}.btn{border:1px solid var(--line2);background:#fff;border-radius:7px;padding:8px 14px;font-weight:600;font-size:13.5px}.btn:hover{color:var(--ledger)}.btn.primary,.btn:hover{border-color:var(--ledger)}.btn.primary{background:var(--ledger);color:#fff}.btn.primary:hover{background:#174437;color:#fff}.btn.primary:disabled{background:var(--line2);border-color:var(--line2);cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:13.5px}th{font:600 11px var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);text-align:left;padding:8px 10px}td,th{border-bottom:1px solid var(--line)}td{padding:0;vertical-align:middle}tbody tr:nth-child(2n){background:#FAFBF8}td input,td select{width:100%;border:0;background:transparent;padding:9px 10px}td input:focus,td select:focus{background:var(--ledger-soft);outline:none}td.num input{font-size:13px}td .rowsum,td.num input{font-family:var(--mono);text-align:right}td .rowsum{display:block;padding:9px 10px;color:var(--ink2)}td .del{border:0;background:none;color:var(--ink2);padding:6px 10px;font-size:15px;line-height:1}td .del:hover{color:var(--stamp)}tr.rowerr td:first-child{box-shadow:inset 3px 0 0 var(--stamp)}tr.rowcheck{background:#FFF8E8}tr.rowcheck td:first-child{box-shadow:inset 3px 0 0 #C98A1E}tr.rowcheck.rowerr td:first-child{box-shadow:inset 3px 0 0 var(--stamp)}tfoot td{padding:10px;border:0}.errbox{margin:14px 18px 0;background:var(--stamp-soft);border:1px solid #e5c7c1;border-radius:8px;padding:12px 14px;font-size:13px;color:#7A2A1F;display:none}.errbox.show{display:block}.errbox ul{margin:4px 0 0 18px}.hintbox{margin:8px 18px 0;background:var(--ledger-soft);border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:12.5px;color:var(--ink);display:none}.hintbox.show{display:block}.f .hint a{color:var(--ledger);font-weight:600}.summary{position:-webkit-sticky;position:sticky;top:20px}.summary .head{padding:16px 18px 10px}.summary .head .st{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink2)}.dot{width:9px;height:9px;border-radius:99px;background:var(--line2)}.dot.ok{background:var(--ok)}.dot.bad{background:var(--stamp)}.ledgerbox{margin:8px 14px 14px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.ledgerbox .lrow{display:flex;justify-content:space-between;padding:9px 14px;font-size:13.5px;border-bottom:1px solid var(--line)}.ledgerbox .lrow:last-child{border-bottom:0}.ledgerbox .lrow span:last-child{font-family:var(--mono)}.ledgerbox .lrow.total{background:var(--ledger-soft);font-weight:600}.ledgerbox .lrow.total span:last-child{color:var(--ledger);font-size:15px}.summary .note{padding:0 18px 14px;font-size:12.5px;color:var(--ink2)}.summary .actions{padding:0 18px 18px;display:grid;grid-gap:10px;gap:10px}.receipt{display:none;margin:0 14px 16px;border:1px solid var(--ledger);border-radius:8px;padding:14px;background:var(--ledger-soft)}.receipt.show{display:block}.receipt h3{font:600 18px var(--disp);color:var(--ledger)}.receipt p{font-size:12.5px;margin-top:6px}.receipt .rid{font-family:var(--mono);font-size:12.5px}.receipt a{color:var(--ledger);font-weight:600;font-size:13px;display:inline-block;margin-top:8px}.mini{font-size:11.5px;color:var(--ink2);padding:0 18px 16px}