:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#243a35;background:#f4f6f5;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{background:#176b54;color:white;border:1px solid #176b54;border-radius:6px;padding:10px 17px;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:#344c45;border-color:#cbd5d1}input,select,textarea{display:block;background:white;color:#263d36;border:1px solid #bdccc5;border-radius:5px;padding:10px;max-width:100%;width:100%}label{display:block;font-size:13px;color:#4b6158}label input,label select,label textarea{margin-top:7px}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #a3d8c7;outline-offset:2px}h1{font-size:28px;letter-spacing:-.6px;margin:10px 0}h2{font-size:19px}p{line-height:1.8;color:#586b63}aside{position:fixed;width:222px;height:100dvh;background:#fff;border-right:1px solid #dae2de;padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:22px;font-weight:700;letter-spacing:2px;color:#176b54}aside p{font-size:12px}nav{margin-top:42px;display:grid;gap:9px}nav button{background:none;color:#556b62;border:0;text-align:left;padding:14px}nav button.selected{background:#e7f1ec;color:#176b54;font-weight:600}aside small{margin-top:auto;line-height:2.2;color:#70837a}#logout{background:none;border:0;color:#50695e;text-align:left;padding-left:0;margin-top:16px}main{margin-left:222px;padding:36px 40px;max-width:1680px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.eyebrow{font-size:12px;color:#71847a}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:20px;background:#fff;border:1px solid #dee5e1;border-radius:8px}.filters label{min-width:135px}.summary{display:flex;gap:45px;padding:28px 5px;flex-wrap:wrap}.metric strong{display:block;font-size:29px;font-weight:600;margin:8px 0;font-variant-numeric:tabular-nums}.metric span{color:#677e72}.hint{font-size:12px}.table-wrap{overflow:auto;background:white;border:1px solid #dce4df;border-radius:8px}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;background:#edf2ef;font-weight:500;color:#526b5e;padding:15px}td{padding:18px 15px;border-top:1px solid #e9eeeb;font-variant-numeric:tabular-nums}td small{display:block;color:#7b8b83;margin-top:5px}.tag{padding:5px 8px;border-radius:4px;font-size:12px;background:#edf1ee;color:#566e61}.tag.ok{background:#e2f2ea;color:#136b49}.tag.warn{background:#fff1d9;color:#865716}.panel{background:white;border:1px solid #dce4df;border-radius:8px;padding:26px;margin-bottom:28px;max-width:850px}form:not(#loginForm){display:flex;gap:16px;align-items:end;flex-wrap:wrap}#uploadForm label{min-width:240px}.empty{padding:60px;text-align:center}#fileList>div,#shopList>div{background:white;padding:18px;margin:8px 0;border:1px solid #e0e7e3;border-radius:6px;overflow-wrap:anywhere}#fileList a{color:#176b54}#fileList small{display:block;margin-top:8px;color:#728278}.login{min-height:100dvh;display:grid;place-items:center}.login form{width:min(420px,92vw);padding:36px;background:white;border:1px solid #dce4df;border-radius:10px}.login label{margin:22px 0}.login button{width:100%}#message{padding:14px 18px;border:1px solid #e0c78f;background:#fff7e5;color:#715516;border-radius:6px}dialog{border:1px solid #ccd8d1;border-radius:10px;width:min(730px,94vw);padding:28px;max-height:85vh;overflow:auto}dialog::backdrop{background:#183b3055}#detailText{white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere}#noteForm{display:block}#noteForm label{margin:16px 0}.inline{display:flex;align-items:center;gap:8px}.inline input{width:auto;margin:0}[hidden]{display:none!important}@media(max-width:800px){aside{position:static;width:auto;height:auto;padding:18px}aside p,aside small{display:none}nav{margin:16px 0 0;display:flex;flex-wrap:wrap}#logout{position:absolute;right:20px;top:10px}main{margin:0;padding:22px 16px}header{margin-bottom:20px}.filters{padding:15px}.summary{gap:25px}.metric strong{font-size:23px}}

#receiptForm{display:block}#receiptForm label{margin:16px 0}#receiptError{color:#9a3426}
