:root{font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;color:#243047;background:#f3f6f8}*{box-sizing:border-box}body{margin:0}.topbar{height:64px;background:#173b5d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.topbar strong{font-family:KaiTi,"DFKai-SB",serif;font-size:22px}.topbar span{margin-left:12px;color:#bcd0df;font-size:13px}.period{display:flex;gap:12px}.period label{font-size:13px}.period input,.period select{width:70px;margin-left:5px;border:1px solid #7790a5;border-radius:7px;padding:6px;background:#fff}.shell{display:grid;grid-template-columns:190px 1fr;min-height:calc(100vh - 64px)}nav{background:#fff;border-right:1px solid #dbe3e8;padding:20px 12px;display:flex;flex-direction:column;gap:6px}nav button{border:0;background:none;text-align:left;padding:11px 13px;border-radius:8px;color:#556274;font-size:14px}nav button.active{background:#e8f0f6;color:#173b5d;font-weight:700}nav small{margin-top:auto;color:#86919e;padding:12px;line-height:1.5}main{padding:28px;min-width:0}.hero{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.hero h1{margin:0 0 4px;font-family:KaiTi,"DFKai-SB",serif;font-size:30px;color:#173b5d}.hero p{margin:0;color:#6a7685}.actions{display:flex;gap:10px}button{cursor:pointer}.actions button{border:1px solid #b9c7d1;border-radius:8px;padding:10px 16px;background:#fff;color:#344556}.actions .primary{background:#173b5d;color:white;border-color:#173b5d}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.summary div{background:#fff;border:1px solid #dfe6eb;border-radius:10px;padding:15px}.summary span{font-size:12px;color:#768291;display:block}.summary strong{font-size:22px;color:#173b5d;margin-top:5px;display:block}.panel{background:#fff;border:1px solid #dfe6eb;border-radius:12px;overflow:hidden}.panelhead{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4eaee}.panelhead h2{margin:0;font-size:17px}.search{font-size:13px;color:#657181}.search input{margin-left:6px;padding:8px 10px;border:1px solid #cad4dc;border-radius:7px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1250px;font-size:13px}th,td{border-bottom:1px solid #e5eaee;padding:9px 7px;text-align:center}th{background:#f6f8fa;color:#596676;font-weight:600;white-space:nowrap}th.company,td.company{text-align:left;min-width:190px}td input[type=text],td input[type=number],td input[type=date]{width:100%;border:1px solid transparent;border-radius:5px;padding:6px;background:transparent}td input:focus{border-color:#7ba2c1;outline:none;background:#fff}.money{min-width:82px;text-align:right}.total{font-weight:700;color:#173b5d}.note{margin-top:14px;color:#647180;font-size:13px}.note strong{color:#344556}@media(max-width:800px){.shell{grid-template-columns:1fr}nav{display:none}main{padding:18px}.summary{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start;gap:14px}.actions{flex-direction:column}}
@page{size:241.3mm 139.7mm;margin:0}@media print{body>*:not(#printArea){display:none!important}#printArea{display:block}.print-page{width:241.3mm;height:139.7mm;page-break-after:always;display:grid;grid-template-columns:1fr 1fr;padding:5mm 12.5mm;gap:4mm;font-family:"Noto Serif TC","DFKai-SB",serif;color:#111}.slip{height:129.7mm;display:grid;grid-template-rows:11mm 8mm 1fr 20mm}.slip-title{display:flex;align-items:end;justify-content:space-between;border-bottom:0}.slip-title h2{font-size:17pt;margin:0;font-weight:500}.slip-date{font-size:9pt;white-space:nowrap}.slip-company{font-size:10pt;white-space:nowrap;overflow:hidden;display:flex;align-items:center}.slip table{min-width:0;width:100%;font-size:8.5pt;table-layout:fixed;border-collapse:collapse}.slip th,.slip td{border:0.3mm solid #222;padding:1mm;height:7.2mm}.slip th:nth-child(2n),.slip td:nth-child(2n){width:19%}.slip .sum td{font-weight:500}.slip-footer{text-align:center;padding-top:4mm}.slip-footer strong{font-size:16pt;font-weight:500}.slip-footer div{font-size:7.5pt;line-height:1.35}.blank{visibility:hidden}}
