:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f4ef;--panel:#fff;--ink:#17201d;--muted:#65736d;--line:#dbe1db;--green:#18745a;--red:#b5483a;--blue:#2c5f87;--gold:#ad7a24;--violet:#70599b;--shadow:0 18px 45px #232d2814}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif}a{color:var(--blue);font-weight:800}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.appShell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 48px}.loginShell{align-items:center;min-height:100vh;padding:24px;display:flex}.loginPanel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;width:100%;max-width:420px;margin:0 auto;padding:24px}.topBar{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.topActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.eyebrow{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{max-width:780px;margin-bottom:0;font-size:clamp(30px,4vw,48px);line-height:1.08}h2{margin-bottom:0;font-size:22px}.summaryGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.summaryCard{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:18px}.summaryCard p{color:var(--muted);margin-bottom:10px}.summaryCard strong{font-size:28px;display:block}.summaryCard.income strong{color:var(--green)}.summaryCard.expense strong{color:var(--red)}.summaryCard.balance strong,.summaryCard.bank strong{color:var(--blue)}.summaryCard.cash strong{color:var(--gold)}.summaryCard.advance strong{color:var(--violet)}.workspace{grid-template-columns:minmax(330px,410px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.entryPanel,.ledgerPanel,.settingsPanel,.batchPanel,.budgetPanel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:20px}.settingsPanel,.batchPanel,.budgetPanel{margin-bottom:18px}.toolsPanel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-top:18px;padding:16px 20px}.toolsPanel>summary{cursor:pointer;font-size:18px;font-weight:900}.toolsPanel .batchPanel,.toolsPanel .budgetPanel{box-shadow:none;margin:16px 0 0}.footer{color:var(--muted);text-align:center;padding:22px 0 0;font-size:13px}.settingsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.adminPanel{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.userForm{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) 120px 130px;gap:10px;margin-bottom:12px;display:grid}.userList{gap:10px;display:grid}.userItem{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.userItem p{color:var(--muted);margin:5px 0 0}.userItem button{color:var(--blue);background:0 0;border:0;padding:0;font-weight:800}.panelHeader{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.segmented,.filterTabs{background:#eef1ee;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:3px;padding:3px;display:grid}.filterTabs{grid-template-columns:repeat(3,1fr)}.segmented button,.filterTabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:38px;padding:8px 12px}.segmented .active,.filterTabs .active{background:var(--panel);color:var(--ink);font-weight:700}.uploadBox{text-align:center;border:1px dashed #9aa59f;border-radius:8px;place-items:center;gap:5px;min-height:118px;margin:16px 0 12px;padding:18px;display:grid}.cameraButton{color:var(--green);cursor:pointer;background:#edf5ef;border:1px solid #c9dccf;border-radius:6px;justify-content:center;align-items:center;min-height:42px;padding:10px 12px;font-weight:800;display:flex}.cameraButton input{display:none}.dropZone{text-align:center;background:#fbfcfb;border:1px dashed #8f9b95;border-radius:8px;place-items:center;gap:7px;min-height:128px;margin-bottom:14px;padding:20px;display:grid}.dropZone input{display:none}.dropZone span{font-size:17px;font-weight:800}.dropZone small{color:var(--muted);font-weight:600}.uploadBox input{display:none}.uploadBox span{font-weight:800}.uploadBox small,.statusText,.entryItem p,.emptyState p,.noteText,.receiptName{color:var(--muted)}.receiptPreview{border:1px solid var(--line);border-radius:8px;max-height:260px;margin-bottom:12px;overflow:hidden}.receiptPreview img{object-fit:contain;width:100%;height:100%;max-height:260px;display:block}.pdfPreview{color:#6f501b;background:#f7f1e6;justify-content:center;align-items:center;min-height:96px;font-weight:800;display:flex}label{color:#38443f;gap:7px;margin-bottom:14px;font-size:14px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fbfcfb;border-radius:6px;width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.budgetForm{grid-template-columns:140px 140px minmax(150px,1fr) minmax(120px,.8fr) 120px;gap:10px;margin-bottom:14px;display:grid}.budgetForm input,.budgetForm select,.budgetForm button{min-width:0}.batchList,.budgetList{gap:10px;display:grid}.batchItem,.budgetItem{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;padding:12px;display:grid}.batchItem{grid-template-columns:minmax(0,1fr) 90px auto}.batchItem span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batchItem small{color:var(--muted)}.batchItem button,.budgetItem button{color:var(--red);background:0 0;border:0;padding:0;font-weight:800}.budgetItem{grid-template-columns:minmax(190px,1fr) minmax(160px,1fr) minmax(120px,auto) auto}.budgetItem p{color:var(--muted);margin:5px 0 0}.budgetMeter{background:#edf0ed;border-radius:999px;height:12px;overflow:hidden}.budgetMeter span{background:var(--green);height:100%;display:block}.overBudget{color:var(--red)}.underBudget{color:var(--green)}.subPanel{border:1px solid var(--line);background:#f7f8f6;border-radius:8px;margin-bottom:14px;padding:14px}.primaryButton,.scanButton,.ghostButton{border:0;border-radius:6px;min-height:44px;padding:10px 14px;font-weight:800}.primaryButton,.scanButton{background:var(--ink);color:#fff;width:100%}.scanButton{background:var(--blue);margin-bottom:10px}.ghostButton{background:var(--panel);border:1px solid var(--line);color:var(--ink)}.ghostButton.compact{min-height:38px;padding:8px 12px}.statusText{margin:0 0 14px;font-size:14px}.entryList{gap:12px;margin-top:14px;display:grid}.ledgerHeader{align-items:start}.toolbar{grid-template-columns:minmax(140px,1fr) minmax(130px,1fr);gap:8px;min-width:min(100%,320px);display:grid}.entryItem{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:start;gap:18px;padding:16px;display:flex}.entryItem h3{margin:8px 0 6px;font-size:18px}.typeBadge{border-radius:999px;margin:0 6px 0 0;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.methodBadge{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.reviewBadge{color:#80610f;background:#fff5d8;border-radius:999px;margin-left:6px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.auditTrail{color:var(--muted);margin-top:8px;font-size:13px}.auditTrail summary{color:var(--ink);cursor:pointer;font-weight:800}.auditTrail p{margin:6px 0 0}.methodBadge.bank{color:var(--blue);background:#e6f0f7}.methodBadge.cash{color:var(--gold);background:#fbefd9}.methodBadge.advance{color:var(--violet);background:#ede8f5}.typeBadge.income{color:var(--green);background:#e5f3ee}.typeBadge.expense{color:var(--red);background:#fae9e5}.entryAmount{justify-items:end;gap:12px;min-width:142px;display:grid}.entryAmount strong{white-space:nowrap;font-size:18px}.entryActions{gap:12px;display:flex}.entryActions button{background:0 0;border:0;padding:0;font-weight:800}.entryActions button:first-child{color:var(--blue)}.entryActions button:last-child{color:var(--red)}.emptyState{border:1px dashed var(--line);text-align:center;border-radius:8px;padding:44px 20px}.emptyState h3{margin-bottom:8px}@media (max-width:860px){.topBar{flex-direction:column;align-items:stretch}.topActions{justify-content:stretch}.topActions button{flex:1}.summaryGrid,.workspace{grid-template-columns:1fr}.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.budgetForm,.userForm,.budgetItem{grid-template-columns:1fr 1fr}.budgetForm button,.userForm button,.budgetMeter{grid-column:1/-1}}@media (max-width:560px){.appShell{width:min(100% - 20px,1180px);padding-top:18px}.formGrid,.settingsGrid,.panelHeader,.entryItem{grid-template-columns:1fr}.panelHeader,.entryItem{flex-direction:column;align-items:stretch}.entryAmount{justify-items:start}.summaryGrid,.toolbar,.budgetForm,.budgetItem,.batchItem,.userForm,.userItem{grid-template-columns:1fr}}
