:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1e2328;background:#f3f4f5;--ui:1;--font:1}*{box-sizing:border-box}body{margin:0;font-size:calc(16px * var(--font))}button,input,select{font:inherit}.app{width:min(1180px,calc(100% - 28px));margin:auto;padding:18px 0 60px;transform-origin:top center}.topbar{display:flex;align-items:center;gap:14px;border-bottom:1px solid #cfd3d7;padding:4px 0 16px}.brand{border:0;background:none;text-align:left;cursor:pointer;padding:0;display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 7px}.brand b{font-size:29px}.brand em{font-size:13px;font-style:normal;opacity:.58}.brand small{grid-column:1/3;font-size:13px}.outline{margin-left:auto;background:#fff;border:1px solid #cdd2d6;border-radius:10px;padding:8px 13px}.targetpill{margin-left:auto;background:#222;color:#fff;border-radius:999px;padding:7px 12px;font-size:12px}.hero,.panel,.ledgerpaper{background:#fff;border:1px solid #dfe3e6;border-radius:16px;padding:22px;margin-top:18px}.hero small{font-weight:800;letter-spacing:.16em;opacity:.5}.hero h1{margin:5px 0}.hero.admin{padding:24px}.summary3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:16px 0}.summary3 article{background:#fff;border:1px solid #dfe3e6;border-radius:15px;padding:18px;display:grid;gap:6px}.summary3 strong{font-size:24px}.annual{background:#fff;border:1px solid #dfe3e6;border-radius:12px;padding:12px 16px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.tiles button{min-height:105px;border:1px solid #d9dee2;border-radius:15px;background:#fff;display:grid;place-items:center;align-content:center;gap:6px;font-weight:700}.tiles b{font-size:28px}.adminTiles{grid-template-columns:repeat(3,1fr)}.pagetitle{display:flex;align-items:center;gap:12px;margin:18px 0}.pagetitle h1{margin:0}.pagetitle button{background:#fff;border:1px solid #d5dade;border-radius:9px;padding:8px 12px}.pagetitle>:last-child:not(h1){margin-left:auto}.periodbar{display:flex;align-items:center;justify-content:center;gap:18px;background:#fff;border:1px solid #dfe3e6;border-radius:12px;padding:9px}.periodbar button{border:0;background:none;font-size:30px}.periodbar div{display:grid;text-align:center}.periodbar small{opacity:.65}.mode3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mode3 button{min-height:130px;background:#fff;border:1px solid #d9dee2;border-radius:16px;font-size:28px;display:grid;place-items:center;align-content:center;gap:8px}.mode3 b{font-size:16px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.panel label{display:grid;gap:5px;font-weight:650}.panel input,.panel select,.searchbar input{width:100%;padding:10px;border:1px solid #cfd5da;border-radius:9px;background:#fff}.itemshead{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.itemline{display:grid;grid-template-columns:1.3fr 1.7fr .65fr .8fr .65fr .8fr .9fr auto;gap:7px;align-items:center;margin:7px 0}.itemline input,.itemline select{min-width:0;padding:8px;border:1px solid #cfd5da;border-radius:8px}.totals{display:flex;justify-content:flex-end;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid #e3e6e8;margin-top:14px;padding-top:14px}.totals label{display:flex;grid-auto-flow:column;align-items:center}.totals input{width:130px}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.actions button,.primary{border:0;border-radius:9px;padding:10px 17px}.primary{background:#202428;color:#fff}.note,.templateNote{background:#f4f5f6;border-radius:9px;padding:10px;margin-top:12px;font-size:13px}.error{background:#fff0f0;border:1px solid #e4b4b4;color:#8a1f1f;padding:10px 13px;border-radius:10px;margin:10px 0}.ledgerpaper{overflow:hidden}.ledgercaption{text-align:center;font-family:serif;font-size:21px;font-weight:700;margin-bottom:12px}.ledgertable{display:grid;grid-template-columns:120px 210px minmax(380px,1fr) 130px;min-width:840px;border:1px solid #555;font-family:Yu Mincho,serif}.ledgerpaper{overflow-x:auto}.lh{font-weight:700;text-align:center;background:#f7f2d4;border-right:1px solid #777;border-bottom:1px solid #777;padding:8px}.ledgerrow{display:contents}.ledgerrow>*{padding:8px;border-right:1px solid #999;border-bottom:1px solid #aaa}.ledgerrow b{text-align:right}.searchbar{display:flex;gap:8px;margin:14px 0}.results{display:grid;gap:8px}.results article{background:#fff;border:1px solid #dfe3e6;border-radius:11px;padding:11px;display:grid;grid-template-columns:120px 1fr 1fr auto;gap:10px;align-items:center}.settings{display:grid;gap:18px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg button,.step button{background:#fff;border:1px solid #ccd2d7;border-radius:9px;padding:10px}.seg .on{border:2px solid #222}.step{display:flex;align-items:center;gap:12px}.preview{border:7px solid #222;border-radius:16px;padding:15px;background:#fff;max-width:540px}.usercards{display:grid;gap:10px}.usercards article{background:#fff;border:1px solid #dfe3e6;border-radius:13px;padding:14px;display:flex;justify-content:space-between;align-items:center}.usercards article>div{display:grid;gap:3px}.usercards button{padding:9px 12px}.adminbar{position:sticky;top:0;z-index:20;background:#25292d;color:#fff;border-radius:11px;padding:10px 13px;margin-top:10px;display:flex;align-items:center;gap:12px}.adminbar button{margin-left:auto}.login,.center{min-height:100vh;display:grid;place-items:center}.loginCard{width:min(420px,calc(100% - 30px));background:#fff;border:1px solid #dfe3e6;border-radius:18px;padding:25px;display:grid;gap:13px}.loginCard h1{margin:0}.loginCard h1 small{font-size:13px;opacity:.6}.loginCard label{display:grid;gap:5px}.loginCard input{padding:11px;border:1px solid #cfd5da;border-radius:9px}@media(max-width:720px){body{font-size:calc(15px * var(--font))}.app{width:min(100% - 18px,700px)}.topbar{gap:8px}.brand b{font-size:28px}.targetpill{display:none}.summary3{grid-template-columns:1fr 1fr}.summary3 article:last-child{grid-column:1/-1}.tiles,.adminTiles,.mode3{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.itemline{grid-template-columns:1fr 1.4fr .6fr .8fr}.itemline>*:nth-child(n+5){grid-column:auto}.results article{grid-template-columns:95px 1fr auto}.results article span:nth-of-type(2){display:none}.adminbar{align-items:stretch;flex-direction:column}.adminbar button{margin-left:0}.usercards article{align-items:stretch;flex-direction:column;gap:10px}.ledgertable{min-width:760px}.totals{justify-content:flex-start}}.useractions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.useractions button{border:1px solid #ccd2d7;background:#fff;border-radius:8px;padding:8px 10px}.important{border:1px solid #d2bd77;background:#fff9df;word-break:break-all}.createuser{margin-bottom:14px}@media(max-width:720px){.useractions{justify-content:flex-start}.useractions button{flex:1 1 45%}}.linkbtn{width:100%;margin-top:10px;border:0;background:transparent;text-decoration:underline;cursor:pointer}.muted{opacity:.7;line-height:1.6}.annual3{margin-top:14px}.annual3 article strong{font-size:clamp(1.65rem,3vw,2.25rem)}.summaryTitle{margin:14px 2px 8px;font-size:1.35rem}.monthTitle{margin-top:22px}.annual3{margin-top:0}.receiptPreview{max-width:680px;margin:20px auto}.receiptPaper{background:#fff;color:#111;padding:28px;max-width:430px;margin:auto;border:1px solid #ccc;font-family:ui-monospace,Consolas,monospace;box-shadow:0 8px 24px #0002}.receiptPaper h2{text-align:center}.receiptPaper hr{border:0;border-top:1px dashed #555}.receiptLine,.receiptTotal{display:flex;justify-content:space-between;gap:16px;margin:10px 0}.receiptLine span{white-space:pre-line}.receiptLine small{display:block;opacity:.7}.receiptTotal{font-size:1.3rem;font-weight:700;border-top:2px solid;padding-top:12px}.weeknav{display:flex;justify-content:center;align-items:center;gap:18px;margin:12px 0}.excelLedger{display:flex;gap:12px;overflow:auto;background:#fff;padding:10px;border:1px solid #bbb}.excelLedger table{border-collapse:collapse;min-width:1500px;font-size:.8rem}.excelLedger th,.excelLedger td{border:1px solid #777;padding:4px;vertical-align:top}.excelLedger th{background:#f0f0f0}.excelLedger td:nth-child(2){min-width:150px;font-weight:600}.excelLedger td{white-space:pre-line}.excelLedger tr td:nth-child(2n+4){text-align:right}.excelLedger .totalRow td{background:#f5f5f5;font-weight:700}.excelLedger aside{min-width:220px;border:1px solid #777;padding:10px}.excelLedger aside h3{writing-mode:horizontal-tb;letter-spacing:.25em}@media(max-width:700px){.excelLedger{padding:4px}.excelLedger table{font-size:.72rem;min-width:1250px}}.displaySettings .seg{display:flex;gap:8px}.displaySettings .seg button{flex:1}.displaySettings .seg .active{border:2px solid currentColor;font-weight:700}.settingBlock{margin:22px 0;padding:16px;border:1px solid #d4d8dc;border-radius:12px}.settingBlock label{display:block;margin:12px 0}.settingBlock input[type=range]{width:100%}.settingBlock .check{display:flex;gap:8px;align-items:center}.stepper{display:flex;gap:8px;margin:8px 0 16px}.stepper button{min-width:44px}.muted{opacity:.68}.realPreview{margin:18px 0;border:2px solid #333;border-radius:14px;overflow:hidden}.previewLabel{padding:8px 12px;background:#202428;color:#fff;font-weight:700}.previewViewport{height:390px;overflow:auto;background:#fff;color:#111;padding:10px}.miniLedger{border-collapse:collapse;min-width:1450px;font-size:.8rem}.miniLedger th,.miniLedger td{border:1px solid #777;padding:5px;white-space:nowrap}.miniLedger th{background:#eee}.listPreview table{border-collapse:collapse;width:100%}.listPreview th,.listPreview td{border:1px solid #aaa;padding:8px}.previewCards{display:flex;gap:12px;margin:12px 0}.previewCards article{border:1px solid #bbb;border-radius:10px;padding:14px;flex:1}.wide{width:100%}.ledgerWide{width:min(98vw,1900px);max-width:none;position:relative;left:50%;transform:translate(-50%)}.ledgerToolbar{display:flex;justify-content:space-between;gap:12px;margin:12px 0}.ledgerToolbar button{margin-right:6px}.ledgerToolbar .active{border:2px solid currentColor;font-weight:700}.ledgerList{overflow:auto;background:var(--panel,#fff);border-radius:12px}.ledgerList table{width:100%;border-collapse:collapse}.ledgerList th,.ledgerList td{padding:9px;border-bottom:1px solid #ddd;white-space:nowrap;text-align:left}.clickableSummary{cursor:pointer}.clickableSummary small{display:block;margin-top:8px;opacity:.6}.clickableSummary:hover{outline:2px solid #777}.modalShade{position:fixed;inset:0;background:#0008;display:grid;place-items:center;z-index:99;padding:20px}.editModal{background:#fff;color:#111;width:min(520px,95vw);max-height:90vh;overflow:auto;padding:22px;border-radius:14px}.editModal label{display:block;margin:10px 0}.editModal input{width:100%;box-sizing:border-box}.breakRow{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #ddd}.genreChecks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px}.genreChecks label{margin:0!important}@media(max-width:700px){.ledgerWide{width:100%;left:auto;transform:none}.ledgerToolbar{flex-direction:column}.ledgerList table{min-width:780px}}.appShell{display:flex;min-height:calc(100vh - 90px)}.sideNav{position:sticky;top:0;align-self:flex-start;height:calc(100vh - 90px);width:210px;padding:12px 8px;border-right:1px solid #d7dbe0;background:var(--bg,#f6f7f8);transition:.2s;z-index:20}.sideNav.collapsed{width:54px}.sideNav button{display:flex;width:100%;align-items:center;gap:12px;padding:11px;border:0;background:transparent;border-radius:8px;text-align:left}.sideNav button.active{background:#e5e8eb;font-weight:700}.sideNav button b{min-width:22px;text-align:center}.navCollapse{justify-content:center!important}.shellMain{flex:1;min-width:0;padding-left:18px}.mobileMenuBtn{display:none}.settingsLayout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}.settingsNav{position:sticky;top:12px}.settingsNav input{width:100%;box-sizing:border-box;margin-bottom:10px;padding:10px}.settingsNav button{width:100%;display:flex;gap:10px;border:0;background:transparent;padding:11px;border-radius:8px;text-align:left}.settingsNav button.active{background:#e5e8eb;font-weight:700}.settingsContent{min-height:560px}.settingsContent>label{display:block;margin:16px 0}.settingsContent select,.settingsContent input[type=number]{margin-left:10px}.chartGrid{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;margin-top:18px}.donut{width:210px;height:210px;border-radius:50%;margin:20px auto;display:grid;place-items:center}.donut:before{content:"";width:125px;height:125px;background:var(--panel,#fff);border-radius:50%;position:absolute}.donut div{position:relative;z-index:1;font-weight:700}.breakRow i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px}.barChart{height:300px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid #aaa;padding:20px 5px 0}.barGroup{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;text-align:center}.bars{height:250px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.bars span{width:34%;min-height:2px;background:#777}.bars span+span{background:#aaa}.chartLegend{display:flex;gap:20px;justify-content:center;margin-top:10px}@media(max-width:700px){.mobileMenuBtn{display:block;position:fixed;left:8px;bottom:12px;z-index:40}.sideNav{position:fixed;left:0;top:0;height:100vh;box-shadow:4px 0 18px #0003}.sideNav.collapsed{transform:translate(-100%)}.shellMain{padding-left:0}.settingsLayout{grid-template-columns:1fr}.settingsNav{position:static;display:flex;overflow:auto;gap:5px}.settingsNav input{display:none}.settingsNav button{min-width:max-content}.chartGrid{grid-template-columns:1fr}}.recentPanel{margin-top:22px}.recentHead{display:flex;justify-content:space-between}.recentFilters{display:flex;gap:7px;margin:12px 0}.recentFilters .active{border:2px solid currentColor;font-weight:700}.recentRow{display:grid;grid-template-columns:100px minmax(140px,1fr) 110px 120px 42px;gap:10px;align-items:center;padding:11px 4px;border-top:1px solid #ddd;cursor:pointer}.recentRow>b{text-align:right}.receiptDetail{position:relative;background:#fff;color:#111;width:min(520px,94vw);max-height:88vh;overflow:auto;border-radius:15px;padding:24px}.modalClose{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:24px}.receiptMeta,.receiptTotal{display:flex;justify-content:space-between;padding:14px 0;border-bottom:2px dashed #aaa}.receiptLines>div{display:grid;grid-template-columns:1fr auto;padding:10px 0;border-bottom:1px dashed #ccc}.receiptLines small{grid-column:1;color:#666}.receiptLines b{grid-column:2;grid-row:1/3}@media(max-width:700px){.recentRow{grid-template-columns:80px 1fr auto 40px}.recentRow>span:nth-child(3){display:none}.recentRow>b{grid-column:2;text-align:left}}:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light;--bg:#f4f5f6;--panel:#fff;--text:#15171a}:root[data-theme=dark]{color-scheme:dark;--bg:#17191c;--panel:#23262a;--text:#f2f3f4}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17191c;--panel:#23262a;--text:#f2f3f4}}body{background:var(--bg,#f4f5f6);color:var(--text,#15171a)}.panel,.noticeList article{background:var(--panel,#fff)}.noticeList article{padding:14px 16px;border:1px solid #d7dbe0;border-radius:10px;margin:9px 0;cursor:pointer}.noticeList article.unread{border-left:5px solid currentColor}.noticeList p{margin:6px 0}.pageActions{display:flex;gap:8px;justify-content:flex-end}.updateHistory{display:grid;gap:12px}.updateHistory h2{margin-top:0}.excelLedger{padding:6px;border-color:#9b9b8b;background:#fff}.excelLedger table{min-width:1680px;table-layout:fixed;font-family:Yu Mincho,Yu Gothic,serif;background:#fff}.excelLedger th,.excelLedger td{border:1px solid #8e8b78;padding:3px 5px;line-height:1.25}.excelLedger th{background:#eee9cf;text-align:center}.excelLedger th small{display:block;font-size:.72em;font-weight:400}.excelLedger th:first-child,.excelLedger td:first-child{width:210px;min-width:210px;font-weight:700;white-space:normal}.excelLedger .descHead{width:112px}.excelLedger .amountHead{width:76px}.excelLedger td:nth-child(n+2){min-width:0}.excelLedger td.money{text-align:right;white-space:nowrap}.excelLedger .summaryRow td,.excelLedger .totalRow td{background:#fff2b8;font-weight:700}.excelLedger .balanceRow td{background:#fff;font-weight:700}.excelLedger .foodGroup td:first-child,.excelLedger .incomeRow td{background:#fff}.excelLedger .dailyMemoRow td,.excelLedger .weeklyMemoRow td{background:#fff;vertical-align:middle}.memoCell{width:100%;min-height:34px;border:0;background:transparent;padding:4px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.memoCell:hover{background:#fff4bf}.memoCell.weekly{min-height:42px}.memoModal textarea{width:100%;min-height:180px;resize:vertical;padding:10px;border:1px solid #bbb;border-radius:8px;font:inherit}.monthLedgerSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.monthLedgerSummary span{border:1px solid #ddd;border-radius:10px;padding:14px;display:grid;gap:6px}.monthLedgerSummary b{font-size:1.25rem}@media(max-width:700px){.excelLedger table{min-width:1500px}.excelLedger th:first-child,.excelLedger td:first-child{width:180px;min-width:180px}.memoModal textarea{min-height:150px}.monthLedgerSummary{grid-template-columns:1fr}}
