:root{--line:#111;--ui:#2457d6;--muted:#667085}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif;background:#fff;color:#111}
button,input,select{font:inherit}
button{cursor:pointer}
.app{display:grid;grid-template-columns:360px 1fr;min-height:100vh}
.sidebar{background:#fff;border-right:1px solid #d0d5dd;padding:20px;height:100vh;overflow:auto;position:sticky;top:0}
.sidebar h1{font-size:20px;margin:0}.version{font-size:11px;color:var(--muted)}
.sidebar section{border-top:1px solid #eaecf0;margin-top:16px;padding-top:16px}
.sidebar h2{font-size:14px;margin:0 0 8px}
.sidebar label{display:block;font-size:11px;color:var(--muted);margin:8px 0 4px}
.sidebar input,.sidebar select{width:100%;padding:9px;border:1px solid #d0d5dd;border-radius:8px;background:#fff}
.file-button{display:block;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:10px;text-align:center;cursor:pointer}
.file-button input{display:none}
.secondary,.primary{width:100%;border:0;border-radius:8px;padding:10px;margin-top:8px}
.secondary{background:#fff;border:1px solid #d0d5dd;color:#344054}
.primary{background:var(--ui);color:#fff}
.help,.status{font-size:11px;color:var(--muted)}
.status{text-align:center;min-height:17px;margin-top:7px}
.workspace{padding:26px;overflow:auto;background:#fff}
.page{width:210mm;min-height:297mm;background:#fff;margin:auto;box-shadow:0 6px 24px #0002;padding:18mm 14mm 14mm;overflow:hidden}



.petty-title-row{display:flex;justify-content:space-between;align-items:end;margin:0 2mm 5mm}
.main-title{font-size:18pt;line-height:1.2;text-align:center;flex:1}.main-title small{display:block;font-size:15pt;margin-top:2mm}
.period{font-size:12pt;white-space:nowrap;margin-left:8mm}
.table-wrap{width:100%;max-width:100%;overflow:hidden}
table{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed;font-size:9.5pt;background:#fff}
th,td{border:0.35mm solid var(--line);padding:0;background:#fff}
th{height:10mm;font-weight:600}
td{height:10mm}
td input{width:100%;height:100%;border:0;background:#fff;padding:1.5mm;font-size:9.5pt}
td input:focus{outline:2px solid #9ec5ff;outline-offset:-2px}
.num{text-align:center;vertical-align:middle}
.balance{display:flex;align-items:center;justify-content:flex-end;padding:1.5mm;height:100%;font-variant-numeric:tabular-nums}
.col-no{width:10mm}.col-date{width:22mm}.col-summary{width:46mm}.col-note{width:24mm}.col-delete{width:14mm}
.delete-row{width:100%;height:100%;border:0;background:#fff;color:#b42318}
.pdf-exporting{box-shadow:none!important;background:#fff!important}
.pdf-exporting *{box-shadow:none!important;text-shadow:none!important;filter:none!important}
.pdf-exporting .screen-only{display:none!important}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.workspace{padding:12px}}
@media print{body{background:#fff}.sidebar,.screen-only{display:none!important}.app{display:block}.workspace{padding:0}.page{box-shadow:none;margin:0}}
#rowsBody td:first-child{text-align:center;vertical-align:middle;font-weight:600;}

#pettyTable{margin:0;box-sizing:border-box}
#pettyTable th,#pettyTable td{overflow:hidden}
