@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap");

:root{color-scheme:dark;--bg:#15110f;--panel:#211b18;--panel-soft:#29211d;--line:#41342b;--text:#fff8ef;--muted:#b6aaa0;--gold:#f8c447;--gold-deep:#e6a92a;--red:#e94636;--green:#77d697;--radius:24px;--shadow:0 24px 65px #0005;font-family:"Noto Sans TC",system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*::before,*::after{box-sizing:border-box}body{margin:0;min-width:340px;min-height:100vh;color:var(--text);background:radial-gradient(ellipse at 88% 7%,#51231955 0,transparent 32%),radial-gradient(ellipse at 15% 28%,#73502022 0,transparent 30%),var(--bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.panel{border:1px solid #ffffff12;background:linear-gradient(145deg,#2a221eec,#1c1715e8);border-radius:var(--radius);box-shadow:var(--shadow)}.eyebrow{display:block;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:2.2px}.app-header,.dashboard-header{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:auto;padding:20px 24px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-logo{width:48px;height:48px;object-fit:contain}.brand strong,.brand small{display:block}.brand strong{font-size:17px;letter-spacing:.5px}.brand small{margin-top:3px;color:var(--muted);font-size:12px}.header-actions,.dashboard-actions,.toolbar-actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 17px;border:1px solid transparent;border-radius:12px;text-align:center;font-weight:700;transition:transform .16s,border-color .16s,background-color .16s,opacity .16s}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.55}.button-ghost{border-color:#ffffff1b;background:#ffffff08;color:var(--text)}.button-ghost:hover:not(:disabled){border-color:#f8c44780;background:#f8c44713}.button-primary{border-color:#ffdc83;background:linear-gradient(150deg,#ffe092,#f7c142 48%,#d9961d);color:#28170a;box-shadow:0 10px 28px #f8c44726}.order-shell{display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-template-areas:"hero cart" "promotion cart" "menu cart";gap:22px;align-items:start;max-width:1280px;margin:auto;padding:12px 24px 80px}.order-hero{grid-area:hero;position:relative;display:flex;min-height:290px;overflow:hidden;padding:37px 34px;background:radial-gradient(ellipse at 81% 40%,#d7973533,transparent 43%),linear-gradient(135deg,#34221d,#201917 75%)}.order-hero h1{margin:12px 0 10px;font-size:clamp(34px,5vw,54px);line-height:1.18;letter-spacing:1px}.order-hero h1 span{color:var(--gold)}.order-hero p,.admin-hero p,.admin-login>p,.availability-dialog>p,.success-dialog>p{color:var(--muted);line-height:1.75}.hero-mascot{position:absolute;right:1%;bottom:-6%;width:245px;max-width:38%;filter:drop-shadow(0 20px 22px #0006)}.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:17px;color:var(--muted);font-size:12px}.shop-status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #77d69750;border-radius:99px;background:#77d69715;color:var(--green);font-weight:700}.shop-status::before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.shop-status.paused{border-color:#e946364f;background:#e9463615;color:#ff8e80}.shop-status.loading{border-color:#f8c44755;background:#f8c44712;color:var(--gold)}.promotion-strip{grid-area:promotion;display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;padding:13px 16px;border:1px solid #f8c44735;border-radius:15px;background:#f8c4470c;font-size:13px}.promotion-strip strong{color:var(--gold)}.promotion-strip small{color:var(--muted);font-size:11px}.menu-area{grid-area:menu;min-width:0}.section-heading,.orders-toolbar,.cart-heading{display:flex;align-items:end;justify-content:space-between;gap:15px}.section-heading h2,.cart-heading h2,.orders-toolbar h2{margin:7px 0 0;font-size:24px}.menu-count{color:var(--muted);font-size:12px}.category-filters,.status-filters{display:flex;gap:8px;overflow:auto;margin:20px 0;padding-bottom:4px;scrollbar-width:none}.category-filters::-webkit-scrollbar,.status-filters::-webkit-scrollbar{display:none}.filter-chip{flex:none;min-height:39px;padding:8px 13px;border:1px solid #ffffff18;border-radius:99px;background:#ffffff08;color:var(--muted);font-size:13px;font-weight:600}.filter-chip.active{border-color:#f8c44780;background:#f8c4471b;color:var(--gold)}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-card{position:relative;display:flex;flex-direction:column;min-height:149px;padding:16px;border:1px solid #ffffff11;border-radius:17px;background:linear-gradient(150deg,#28211d,#201a17);transition:transform .16s,border-color .16s}.product-card:hover{transform:translateY(-2px);border-color:#f8c44755}.product-card.unavailable{opacity:.62}.product-badge{align-self:flex-start;margin-bottom:8px;padding:3px 7px;border-radius:6px;background:#e9463625;color:#ffae9c;font-size:10px}.product-card h3{margin:0 0 5px;font-size:16px}.product-card p{min-height:21px;margin:0 0 15px;color:var(--muted);font-size:12px}.product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.product-price{color:var(--gold);font-size:18px}.add-product{width:33px;height:33px;border:0;border-radius:9px;background:linear-gradient(145deg,#f9d270,#dfa630);color:#28170a;font-size:22px;font-weight:700}.add-product:disabled{width:auto;padding:0 8px;background:#ffffff12;color:var(--muted);font-size:11px}.cart-panel{position:sticky;top:16px;grid-area:cart;padding:22px}.cart-heading{align-items:center;margin-bottom:16px}.cart-close{display:none}.cart-items{display:flex;flex-direction:column;gap:12px;max-height:265px;overflow:auto;padding-right:3px}.empty-cart{padding:30px 8px 20px;text-align:center}.empty-cart>span,.empty-cart>strong{display:block}.empty-cart>span{font-size:38px}.empty-cart>strong{margin-top:9px}.empty-cart>p{color:var(--muted);font-size:13px}.cart-line{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px;border:1px solid #ffffff11;border-radius:12px;background:#ffffff05}.cart-line h3{margin:0;font-size:14px}.cart-line-meta{color:var(--muted);font-size:11px}.cart-line-price{align-self:center;color:var(--gold);font-weight:700}.cart-line-actions{display:flex;align-items:center;gap:8px}.cart-line-actions button,.quantity-stepper button{display:grid;place-items:center;width:27px;height:27px;border:1px solid #ffffff1c;border-radius:8px;background:#ffffff08;color:var(--text)}.promotion-progress{margin:14px 0 0;padding:10px;border-radius:11px;background:#f8c4470c;color:#ead4a0;font-size:12px;line-height:1.6}.promotion-progress:empty{display:none}.cart-total{display:flex;align-items:center;justify-content:space-between;margin:16px 0;padding-top:15px;border-top:1px solid var(--line)}.cart-total strong{color:var(--gold);font-size:25px}.checkout-form h3{margin:0 0 10px;font-size:15px}label{display:block;margin-bottom:11px;color:#e7ddd6;font-size:12px;font-weight:600}.optional{color:var(--muted);font-size:11px;font-weight:400}input,select,textarea{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #ffffff1c;border-radius:10px;background:#171310;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#f8c4478f}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.website-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.payment-note{display:flex;justify-content:space-between;margin:13px 0;color:var(--muted);font-size:11px}.payment-note span:first-child{color:var(--green);font-weight:700}.checkout-button{width:100%}.checkout-hint{margin-bottom:0;color:var(--muted);font-size:11px;text-align:center}.mobile-cart-button{display:none}.app-dialog{width:min(490px,calc(100vw - 30px));max-height:min(85vh,850px);overflow:auto;padding:26px;border:1px solid #ffffff1d;border-radius:22px;background:linear-gradient(145deg,#2d241e,#1c1715);color:var(--text);box-shadow:0 35px 100px #0009}.app-dialog::backdrop{background:#090706ba;backdrop-filter:blur(5px)}.app-dialog h2{margin:10px 0}.dialog-close{position:absolute;top:18px;right:18px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff09;color:var(--text);font-size:23px}.dialog-description{margin:0;color:var(--muted);font-size:13px}.dialog-price{display:block;margin:14px 0;color:var(--gold);font-size:20px}.app-dialog fieldset{margin:18px 0;padding:0;border:0}.app-dialog legend{margin-bottom:9px;color:#e7ddd6;font-size:13px;font-weight:700}.choice-group{display:flex;flex-wrap:wrap;gap:8px}.choice-group label{margin:0}.choice-group input{position:absolute;width:1px;height:1px;opacity:0}.choice-group span{display:inline-block;padding:8px 12px;border:1px solid #ffffff1b;border-radius:9px;color:var(--muted);font-size:12px}.choice-group input:checked+span{border-color:#f8c44799;background:#f8c44715;color:var(--gold)}.item-dialog-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.quantity-stepper{display:flex;align-items:center;gap:12px}.item-dialog-footer>.button{min-width:180px}.tracking-form .button,.success-dialog>.button,.availability-dialog>.button{width:100%;margin-top:8px}.tracking-result{margin-top:16px}.tracking-card{padding:15px;border:1px solid #ffffff17;border-radius:14px;background:#ffffff06}.tracking-card h3{margin:10px 0}.tracking-card p{margin:8px 0;color:var(--muted);font-size:13px}.status-badge{display:inline-flex;padding:5px 10px;border-radius:99px;background:#f8c44720;color:var(--gold);font-size:11px;font-weight:700}.status-badge.accepted,.status-badge.preparing{background:#84b8ff1f;color:#a7caff}.status-badge.ready,.status-badge.completed{background:#77d6971c;color:var(--green)}.status-badge.cancelled,.status-badge.rejected{background:#e9463621;color:#ff9b8e}.success-dialog{text-align:center}.success-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 15px;border-radius:50%;background:#77d69720;color:var(--green);font-size:30px;font-weight:800}.success-order{margin:16px 0;padding:15px;border:1px solid #f8c44750;border-radius:12px;background:#f8c4470d}.success-order strong{display:block;margin-bottom:6px;color:var(--gold);font-size:19px}.success-order span{display:block;color:var(--muted);font-size:13px}.toast{position:fixed;z-index:20;right:20px;bottom:20px;max-width:min(400px,calc(100vw - 40px));padding:12px 16px;border:1px solid #ffffff22;border-radius:12px;background:#312720;color:var(--text);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .18s,transform .18s}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{border-color:#e9463699}

.order-hero>div:first-child{position:relative;z-index:1;max-width:72%}.order-hero h1.hero-copy-title{font-size:clamp(27px,3.2vw,40px);line-height:1.28}.order-hero p{max-width:40ch}

.admin-login{width:min(465px,calc(100vw - 32px));margin:12vh auto;padding:32px}.admin-login .brand{margin-bottom:35px}.admin-login h1{margin:9px 0}.admin-login form{margin-top:23px}.admin-login form .button{width:100%;margin-top:4px}.login-error{min-height:20px;color:#ff9b8e!important;font-size:13px}.back-link{display:block;margin-top:18px;color:var(--muted);font-size:13px}.dashboard{max-width:1280px;margin:auto;padding:0 24px 70px}.dashboard-header{padding:20px 0}.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 20px;padding:27px 30px}.admin-hero h1{margin:9px 0;font-size:29px}.admin-hero p{margin:5px 0;font-size:13px}.accepting-switch{display:flex;align-items:center;gap:13px;margin:0;cursor:pointer}.accepting-switch input{position:absolute;width:1px;height:1px;opacity:0}.switch-track{position:relative;width:49px;height:27px;border-radius:20px;background:#ffffff26;transition:background .2s}.switch-track::after{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .2s;content:""}.accepting-switch input:checked+.switch-track{background:#55a872}.accepting-switch input:checked+.switch-track::after{transform:translateX(22px)}.accepting-switch strong,.accepting-switch small{display:block}.accepting-switch small{margin-top:4px;color:var(--muted);font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat-card{padding:19px}.stat-card span,.stat-card strong{display:block}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{margin-top:10px;font-size:30px}.stat-card.pending strong,.stat-card.revenue strong{color:var(--gold)}.orders-section{margin-top:32px}.date-label{display:flex;align-items:center;gap:7px;margin:0}.date-label input{width:auto;margin:0}.orders-list{display:grid;gap:12px}.order-card{padding:17px 20px;border:1px solid #ffffff14;border-radius:17px;background:linear-gradient(145deg,#29211d,#201a17)}.order-card.pending{border-color:#f8c44755}.order-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.order-card-head h3{margin:0;font-size:17px}.order-customer{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0;color:var(--muted);font-size:13px}.order-customer a{color:#a7caff}.order-lines{display:grid;gap:6px;margin:13px 0;padding:12px;border-radius:11px;background:#ffffff07}.order-line{display:flex;justify-content:space-between;gap:12px;font-size:13px}.order-line small{display:block;margin-top:3px;color:var(--muted)}.order-notes{color:#ecd6a0;font-size:12px}.order-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.order-card-footer strong{color:var(--gold);font-size:19px}.order-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.order-actions .button{min-height:37px;padding:8px 11px;font-size:12px}.button-danger{border-color:#e9463650;background:#e9463615;color:#ff9b8e}.orders-empty{padding:45px 20px;border:1px dashed #ffffff22;border-radius:16px;color:var(--muted);text-align:center}.availability-dialog{width:min(580px,calc(100vw - 30px))}.availability-list{display:grid;gap:8px;max-height:48vh;overflow:auto;margin:17px 0}.availability-item{display:flex;align-items:center;justify-content:space-between;margin:0;padding:11px 12px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff05}.availability-item>span{display:flex;flex-direction:column;gap:3px}.availability-item small{color:var(--muted)}.availability-item input{width:19px;height:19px;margin:0;accent-color:var(--gold)}

@media(max-width:980px){.order-shell{grid-template-columns:minmax(0,1fr) 355px;gap:16px}.cart-panel{padding:17px}.hero-mascot{opacity:.72}.promotion-strip{gap:7px 11px;font-size:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-header,.dashboard-header{padding:15px 16px}.phone-link{display:none}.order-shell{display:block;padding:8px 14px 105px}.order-hero{min-height:250px;padding:26px 22px}.order-hero h1{font-size:38px}.hero-mascot{right:-2%;bottom:1%;max-width:41%}.hero-meta{max-width:74%}.promotion-strip{margin:16px 0 24px}.section-heading h2{font-size:22px}.product-grid{gap:10px}.product-card{min-height:143px;padding:13px}.product-card h3{font-size:14px}.product-card p{font-size:11px}.cart-panel{position:fixed;z-index:10;inset:auto 0 0;max-height:88vh;overflow:auto;border-radius:22px 22px 0 0;transform:translateY(102%);transition:transform .22s}.cart-panel.open{transform:translateY(0)}.cart-close{display:grid}.cart-items{max-height:200px}.mobile-cart-button{position:fixed;z-index:9;right:14px;bottom:14px;left:14px;display:flex;justify-content:space-between;min-height:54px;padding:12px 16px}.mobile-cart-button b{display:inline-grid;place-items:center;width:23px;height:23px;margin-left:5px;border-radius:50%;background:#28170a22;font-size:12px}.dashboard{padding:0 14px 60px}.dashboard-header{padding:15px 0}.dashboard-actions{gap:6px}.dashboard-actions .button{min-height:38px;padding:8px 10px;font-size:12px}.admin-hero{display:block;padding:20px}.admin-hero h1{font-size:24px}.accepting-switch{margin-top:20px}.stats-grid{gap:9px}.stat-card{padding:14px}.stat-card strong{font-size:24px}.orders-toolbar{align-items:flex-start}.toolbar-actions{align-items:flex-end;flex-direction:column}.date-label{font-size:11px}.date-label input{padding:7px}.order-card{padding:14px}.order-card-head{align-items:flex-start;flex-direction:column}.order-card-footer{align-items:flex-start;flex-direction:column}.order-actions{justify-content:flex-start}.toast{right:14px;bottom:80px;left:14px;max-width:none}.admin-page .toast{bottom:15px}}
