:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;color:#183c36;background:#f5f5ef;font-size:15px;--ink:#173f39;--green:#245f51;--lime:#dce9ab;--line:#dfe4da}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #ccd6c8;border-radius:9px;background:#fff;padding:10px 15px;color:var(--ink);font-weight:600}button:hover{background:#eef2e8}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #91b9a5;outline-offset:2px}.primary{color:#fff;background:var(--green);border-color:var(--green)}.primary:hover{background:#173f39}button:disabled{opacity:.6}input,select{background:#fff;border:1px solid #ccd6c8;border-radius:10px;color:var(--ink);padding:12px}h1,h2,p{margin:0}h1{letter-spacing:-1px}header{background:var(--ink);color:#fff;padding:30px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-size:10px;letter-spacing:2px;font-weight:800}header h1{font-size:33px;margin:7px 0}header h1 em{color:#dce9ab;font-style:normal}header h1 span{font-size:21px;font-weight:500;margin-left:12px}header p{font-size:12px;color:#c4d4c5}.dot{margin:0 6px}.header-right{display:flex;align-items:center;gap:15px;font-size:12px}header button{background:transparent;color:#fff;border-color:#708a80}main{max-width:1180px;margin:auto;padding:26px 24px}.stats{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px 4px;box-shadow:0 4px 12px #173f3905}.stats>div{padding:0 25px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats small{display:block;color:#69796d;font-size:12px}.stats strong{display:block;font-size:30px;margin-top:6px;font-variant-numeric:tabular-nums}.stats strong span{font-size:15px;font-weight:400;color:#788174}.track{height:4px;border-radius:4px;background:#edf0e7;margin-top:9px}.track div{height:100%;background:#749e64;border-radius:4px}.notice{margin:17px 0 22px;color:#627363;font-size:12px;line-height:1.9}.local{font-size:10px;font-weight:700;border:1px solid #ccd7c6;padding:4px 6px;margin-right:5px;border-radius:4px}#offlineReady{font-weight:600}.tools{position:sticky;top:0;z-index:2;background:#f5f5eff5;padding:10px 0 14px;backdrop-filter:blur(10px)}.search-wrap{display:flex;background:#fff;border:1px solid #cbd5c7;border-radius:12px;align-items:center;padding:0 12px;box-shadow:0 2px 8px #183c3604}.search-wrap span{font-size:30px;color:#6e8474}.search-wrap input{width:100%;border:0;background:none;padding:15px 12px;outline:0}.search-wrap button{border:0;font-size:24px;padding:3px 10px;font-weight:400}.filterrow{display:flex;justify-content:space-between;gap:12px;margin-top:13px;align-items:center}nav{display:flex;gap:7px;flex-wrap:wrap}nav button{padding:9px 14px;font-size:13px}nav button.active{background:var(--ink);color:#fff;border-color:var(--ink)}nav button span{opacity:.7;margin-left:7px}select{padding:9px 12px;font-size:13px}.listbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 15px}.listbar p{font-size:12px;color:#6a7c6e}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button{font-size:11px;background:transparent;padding:7px 9px}.day{margin-bottom:27px}.dayhead{display:flex;align-items:center;justify-content:space-between;padding:13px 2px;border-bottom:2px solid #ced8c4;margin-bottom:12px;gap:10px}.dayhead h2{font-size:19px}.dayhead small{color:#6a7b6c;font-size:12px}.dayhead p{font-size:11px;color:#637b66;margin-top:6px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:#fff;border:1px solid #dce3d6;border-radius:12px;padding:19px;position:relative;min-width:0}.card.done{background:#edf3e8;border-color:#cadbc0}.cardtop{display:flex;justify-content:space-between;gap:15px;align-items:start}.id{font-family:ui-monospace,monospace;letter-spacing:1px;font-size:12px;color:#6c7b69}.card h3{font-size:19px;margin:6px 0 4px;overflow-wrap:anywhere}.email{font-size:12px;color:#70806f;overflow-wrap:anywhere}.cardamount{font-size:24px;font-weight:700;white-space:nowrap}.items{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 12px}.pill{background:#f0f3e9;border:1px solid #e4e8dc;border-radius:6px;padding:6px 9px;font-size:12px}.pill b{margin-left:7px}.pill.bag{background:#f3eacb;border-color:#e8dbad}.note{font-size:12px;white-space:pre-wrap;line-height:1.65;color:#6a7265;padding:10px 0;overflow-wrap:anywhere}.warn{font-size:11px;line-height:1.6;padding:9px 11px;background:#fff3d9;color:#8d611c;border-radius:7px;margin:9px 0}.cardfoot{border-top:1px solid #edf0e7;padding-top:12px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650;cursor:pointer}.check input{appearance:none;padding:0;width:24px;height:24px;border:1.5px solid #93a78b;border-radius:6px;cursor:pointer;display:grid;place-content:center;flex-shrink:0}.check input:checked{background:var(--green);border-color:var(--green)}.check input:checked:after{content:'✓';color:#fff;font-size:17px}.time{font-size:10px;color:#70816b;text-align:right}.empty{text-align:center;padding:60px 15px;font-size:20px}.empty p{font-size:13px;margin-top:10px}footer{text-align:center;color:#81907a;font-size:11px;line-height:1.8;padding:20px 0}#saveState{display:block}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.gate{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:30px;background:radial-gradient(ellipse at top right,#dfe8c8,transparent 65%),#f3f4eb}.login{max-width:430px;width:100%}.login .tag{display:block;margin-top:45px}.tag{font-size:11px;color:#708258;letter-spacing:1px;font-weight:700}.login h1{font-size:43px;line-height:1.3;margin:17px 0}.login p{color:#7e8b75;font-size:14px}.login form{margin:35px 0 25px}.login label{font-size:12px;display:block;margin-bottom:8px}.login input{width:100%;padding:14px}.login button{width:100%;padding:14px;margin-top:12px}.login small{font-size:11px;color:#839078}.error{color:#b2562c!important;font-size:12px!important;margin-top:12px!important}dialog{border:0;border-radius:16px;width:min(480px,calc(100% - 32px));padding:27px;color:var(--ink);box-shadow:0 20px 80px #10291d50}dialog::backdrop{background:#122d2580}dialog h2{font-size:25px;margin:10px 0 4px}dialog #confirmId{color:#7a8871;font-size:13px}.due{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid var(--line);font-size:13px}.due strong{font-size:30px}.hint{font-size:12px;line-height:1.8;color:#7b8573;margin-top:10px}menu{padding:0;display:flex;gap:9px;justify-content:flex-end;margin-bottom:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173f39;color:#fff;border-radius:10px;padding:10px 15px;box-shadow:0 4px 20px #173f3930;z-index:8;font-size:13px;width:max-content;max-width:calc(100% - 24px)}#toast button{color:#e1edb5;background:transparent;border:0;margin-left:15px;padding:6px}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@media(max-width:720px){header{padding:23px 18px;align-items:start}header h1{font-size:28px}header h1 span{font-size:15px;display:block;margin:7px 0}header .brand{font-size:8px}header p{font-size:10px}.header-right{flex-direction:column;gap:10px;align-items:end;font-size:10px}main{padding:18px 14px}.stats{grid-template-columns:1fr 1fr;padding:0}.stats>div{padding:17px;border-bottom:1px solid var(--line)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(3){border-bottom:0}.stats strong{font-size:28px}.stats small{font-size:10px}.cards{grid-template-columns:1fr}.notice{font-size:11px;margin-bottom:8px}.filterrow{align-items:stretch;flex-direction:column}nav{gap:5px;display:grid;grid-template-columns:repeat(4,1fr)}nav button{padding:10px 5px;font-size:12px}nav button span{margin-left:4px}select{width:100%}.listbar{align-items:start;flex-direction:column;gap:10px;margin:5px 0 14px}.dayhead{align-items:start}.dayhead h2{font-size:17px}.dayhead small{font-size:11px}.card{padding:17px}.search-wrap input{font-size:14px;min-width:0}#toast{font-size:12px}}@media print{body{background:#fff;color:#000}header{background:none;color:#000;padding:0 0 15px}header p{color:#000}.header-right,.tools,.notice,.actions,footer,#toast,.gate{display:none!important}main{padding:0;max-width:none}.stats{box-shadow:none;margin-bottom:15px}.stats strong{font-size:22px}.cards{display:block}.card{break-inside:avoid;margin-bottom:8px;border-radius:0;padding:10px}.card h3{font-size:16px}.dayhead{break-after:avoid}.cardfoot{margin-top:6px;padding-top:6px}.items{margin:7px 0}.day{break-before:auto}.warn{background:none;border:1px solid #999}.pill{background:none}.cardamount{font-size:20px}header h1 span{display:inline}header .brand{color:#000}}
