:root{font-family:system-ui,-apple-system,'Noto Sans TC',sans-serif;color:#183b33;background:#f5f7f5;font-size:16px;font-synthesis:none;--green:#12382f;--line:#d7e0da;--gold:#f0cf7b}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:white;color:var(--green);font-weight:650}button:hover{background:#eef4ef}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:#a53224}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ce9f39;outline-offset:3px}header{max-width:1200px;margin:auto;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-weight:800;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:20px}.brand small{display:block;font-weight:400;font-size:12px;letter-spacing:2px;margin-top:4px}.mark{display:grid;place-items:center;background:var(--green);color:var(--gold);width:48px;height:48px;border-radius:50%;font-size:24px}nav{display:flex;gap:24px;font-size:14px}nav a{text-decoration:none;padding:10px 0}nav a.active{border-bottom:2px solid var(--green);font-weight:700}main{max-width:1144px;margin:0 auto;padding:34px 0 60px;min-height:75vh}.eyebrow{font-size:12px;font-weight:750;letter-spacing:3px;color:#59766b}h1{font-size:clamp(28px,4vw,42px);letter-spacing:-1px;margin:10px 0}h2{font-size:22px;margin:0 0 18px}h3{font-size:18px;margin:0 0 10px}p{line-height:1.7}.muted,small{color:#667a70}small{font-size:13px}.heading{margin-bottom:26px}.rules{background:var(--green);color:white;border-radius:14px;display:flex;gap:22px;align-items:center;justify-content:space-between;padding:20px 24px;margin-bottom:28px}.rules p{margin:0}.rules strong{color:var(--gold)}.layout{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:start}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.product{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.product img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#e9eee9}.product .content{padding:18px}.product p{font-size:14px;margin:6px 0 16px;color:#667a70}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.price{font-size:24px;font-weight:750}.stepper{display:flex;align-items:center;gap:14px}.stepper button{padding:8px;width:44px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px}.cart{position:sticky;top:20px}.cart h2{padding-bottom:18px;border-bottom:1px solid var(--line)}label{display:block;font-weight:650;font-size:14px;margin:16px 0 6px}input,select,textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #c8d5cc;background:white;color:#173b32;border-radius:8px}textarea{min-height:80px;resize:vertical}.full{width:100%;margin-top:20px}.total{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:20px;font-weight:750}.cart-item{padding:10px 0;font-size:14px}.empty{padding:30px 0;color:#667a70;text-align:center}.alert{background:#fff2cd;border:1px solid #e1c878;padding:16px 20px;border-radius:10px;margin:18px 0;line-height:1.7}.error{background:#fff0eb;color:#993326;border-color:#e1ada2}.badge{font-size:13px;padding:5px 9px;border-radius:6px;background:#e7efe8;display:inline-block}.actions{display:flex;gap:10px;flex-wrap:wrap}.narrow{max-width:600px;margin:auto}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.metric{padding:22px;background:white;border:1px solid var(--line);border-radius:12px}.metric strong{display:block;font-size:28px;margin-top:10px}.filters{display:grid;grid-template-columns:180px 1fr auto;align-items:end;gap:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:14px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}th{background:#f1f5f1}td small{display:block}td button{font-size:14px;padding:8px 10px}.tabs{display:flex;gap:12px;margin:24px 0}.tabs button.selected{background:var(--green);color:white}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.order-code{font:700 18px ui-monospace,monospace;overflow-wrap:anywhere;background:#edf2ed;border-radius:8px;padding:14px}.receipt-item{padding:12px 0;border-bottom:1px solid var(--line)}#notice:not(:empty){position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:#12382f;color:white;padding:14px 22px;border-radius:12px;z-index:20;box-shadow:0 8px 30px #0002}footer{max-width:1144px;margin:auto;border-top:1px solid var(--line);padding:24px 0 32px;font-size:14px}footer span{float:right;color:#667a70}.help{font-size:14px;line-height:1.8}.photo-empty{aspect-ratio:4/3;display:grid;place-items:center;background:#e9eee9;color:#617567}.toolbar{margin-bottom:20px}.success{border-top:5px solid #397b52}.status-text{font-size:14px;margin-top:12px;color:#667a70}details{margin:18px 0}summary{cursor:pointer;font-weight:650}code{overflow-wrap:anywhere}dialog{border:1px solid var(--line);border-radius:16px;max-width:560px;width:calc(100% - 32px);padding:26px}dialog::backdrop{background:#08221999}
.image-upload{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f7faf7}.image-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.image-preview{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:#e9eee9;color:#617567;margin-bottom:12px}.image-preview img{width:100%;height:100%;object-fit:cover}.file-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;border:1px solid var(--green);border-radius:10px;padding:10px 16px;background:var(--green);color:white;font-weight:650;cursor:pointer}.file-button:focus-within{outline:3px solid #ce9f39;outline-offset:3px}
.short-order-code{font-size:clamp(28px,7vw,42px);letter-spacing:5px;text-align:center}.quick-pickup{border-top:5px solid var(--gold)}.quick-pickup h2,.quick-pickup p{margin-bottom:4px}.pickup-input{width:170px}.pickup-input label{margin-top:0}.pickup-input input{font-size:24px;font-weight:750;letter-spacing:4px;text-align:center}.pickup-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:16px 0}.pickup-card p{margin:6px 0 0}.pickup-card small{display:block;margin-top:5px}.pickup-check{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.pickup-check input{width:24px;min-height:24px}
.stock-countdown{display:inline-block;margin:0 0 14px;padding:6px 10px;border-radius:999px;background:#fff0cd;color:#805a00;font-size:14px;font-weight:800}.stock-countdown.sold-out{background:#f4dddd;color:#8c2929}
.admin-cancel-order{margin-top:8px;min-height:36px;padding:6px 10px}
@media(max-width:1000px){main,footer{margin:0 24px}.layout{grid-template-columns:1fr 300px;gap:20px}.products{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{padding:18px 20px;align-items:flex-start;flex-direction:column;gap:16px}nav{width:100%;justify-content:space-between;gap:12px}.brand{font-size:19px}main{margin:0;padding:24px 18px 40px}.heading{margin-bottom:20px}.layout{display:block}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product .content{padding:12px}.product h3{font-size:16px}.product p{font-size:13px}.product .row{align-items:flex-start;flex-direction:column}.price{font-size:20px}.stepper{gap:10px;justify-content:space-between;width:100%}.stepper button{width:40px;min-height:44px}.cart{position:static;margin-top:24px}.rules{align-items:flex-start;flex-direction:column;gap:8px;padding:18px}.panel{padding:20px}.filters{grid-template-columns:1fr}.grid2{grid-template-columns:1fr;gap:0}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:24px}footer{margin:0 18px}footer span{float:none;display:block;margin-top:8px}.tabs{flex-wrap:wrap}.order-code{font-size:16px}.short-order-code{font-size:30px}.quick-pickup>.row,.pickup-card{align-items:stretch;flex-direction:column}.pickup-input{width:100%}.pickup-check{min-height:44px}}
