:root{color-scheme:light;--bg: #2ec1fd;--surface: #ffffff;--surface-2: #e4f4fc;--surface-3: #f4fbff;--border: #d3e9f5;--border-strong: #a9d4ec;--ink: #0b1b2e;--muted: #223c57;--link: #0b3a66;--brand: #0b3a66;--brand-2: #0e4f8c;--brand-3: #0a6fbd;--brand-soft: #dff2fc;--accent: #ffb238;--accent-2: #ffd27a;--accent-soft: #fff1d6;--accent-ink: #6e4200;--berry: #8e2d5a;--berry-soft: #f8e6ee;--danger: #b3261e;--danger-soft: #fce8e6;--warn-ink: #7a4b00;--grad-brand: linear-gradient(135deg, #0f5aa0 0%, #0b3a66 55%, #072645 100%);--grad-accent: linear-gradient(135deg, #ffe08f 0%, #ffb238 100%);--radius: 18px;--radius-sm: 12px;--radius-lg: 26px;--shadow-sm: 0 1px 2px rgb(7 38 69 / 7%), 0 2px 8px rgb(7 38 69 / 6%);--shadow: 0 1px 2px rgb(7 38 69 / 8%), 0 8px 24px rgb(7 38 69 / 10%);--shadow-lg: 0 2px 6px rgb(7 38 69 / 8%), 0 18px 48px rgb(7 38 69 / 18%);--ring: 0 0 0 4px rgb(10 111 189 / 18%);--focus: 0 0 0 3px #fff, 0 0 0 6px var(--brand-3);--font: "IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif;--font-head: "Prompt", "IBM Plex Sans Thai", system-ui, sans-serif;--bottomnav-h: 64px;--topbar-h: 64px}:root:lang(zh){--font: "Noto Sans SC", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans SC", "Prompt", system-ui, sans-serif}:root:lang(ja){--font: "Noto Sans JP", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans JP", "Prompt", system-ui, sans-serif}:root:lang(ar){--font: "Noto Sans Arabic", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans Arabic", "Prompt", system-ui, sans-serif}:root:lang(vi){--font: "Noto Sans", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans", "Prompt", system-ui, sans-serif}:root:lang(my){--font: "Noto Sans Myanmar", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans Myanmar", "Prompt", system-ui, sans-serif}:root:lang(km){--font: "Noto Sans Khmer", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans Khmer", "Prompt", system-ui, sans-serif}:root:lang(zh-TW){--font: "Noto Sans TC", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans TC", "Prompt", system-ui, sans-serif}:root:lang(ko){--font: "Noto Sans KR", "IBM Plex Sans Thai", system-ui, sans-serif;--font-head: "Noto Sans KR", "Prompt", system-ui, sans-serif}[lang=th]{font-family:IBM Plex Sans Thai,Noto Sans Thai,system-ui,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(1200px 560px at 100% -10%,rgb(255 255 255 / 32%),transparent 60%),radial-gradient(900px 480px at -10% 0%,rgb(255 255 255 / 14%),transparent 60%),var(--bg);background-attachment:fixed;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);line-height:1.3;margin:0 0 .5em;font-weight:600;letter-spacing:-.005em}h1{font-size:clamp(1.6rem,4.8vw,2.3rem)}h2{font-size:1.22rem}h3{font-size:1.02rem;margin-top:1.2em}p{margin:0 0 .75em}a{color:var(--link);text-underline-offset:3px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:10px}::selection{background:var(--accent-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;inset-inline-start:-999px;top:8px;background:var(--brand);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}.skip-link:focus{inset-inline-start:8px}.muted{color:var(--muted)}.small{font-size:.875rem}.nowrap{white-space:nowrap}.text-warn{color:var(--warn-ink)}.row{display:flex;align-items:center}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.center{justify-content:center}.row.align-center{align-items:center}.gap{gap:10px}.stack{display:flex;flex-direction:column}.stack.gap{gap:10px}.grow{flex:1 1 220px}.align-end{align-self:flex-end}.proto-banner{display:flex;gap:6px 12px;justify-content:center;align-items:center;flex-wrap:wrap;background:#072645;color:#f3efe4d1;font-size:.74rem;line-height:1.45;padding:5px 16px;text-align:center}.proto-banner .badge{background:#ffffff1f;color:#ffe3a3;font-size:.7rem;padding:1px 8px}.link-btn{background:none;border:0;color:var(--accent-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px 4px;font-size:.74rem}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:10px 20px;min-height:var(--topbar-h);background:#ffffffc7;backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid rgb(7 38 69 / 7%)}.brand{flex:none;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--brand)}.brand img{flex:none;width:38px;height:38px;border-radius:12px;box-shadow:0 4px 12px #0b3a6640}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-family:var(--font-head);font-weight:700;font-size:1.18rem;letter-spacing:-.01em}.brand-th{font-size:.78rem;color:var(--accent-ink);font-weight:600}.topnav{display:none;flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;gap:2px;margin-inline-start:8px;padding:4px;background:var(--surface-2);border-radius:999px}.topnav::-webkit-scrollbar{display:none}.topnav a{flex:none;white-space:nowrap;padding:7px 14px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:600;font-size:.92rem;transition:color .15s,background .15s}.topnav a:hover{color:var(--ink);background:#ffffffb3}.topnav a[aria-current=page]{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.topbar-controls{margin-inline-start:auto;display:flex;gap:8px;align-items:flex-end;min-width:0}.persona{display:flex;flex-direction:column;font-size:.7rem;color:var(--muted);min-width:0}.persona-label{padding-inline-start:4px;display:inline-flex;align-items:center;gap:4px}.lang-select select{max-width:30vw}.persona select{min-height:38px;border:1px solid var(--border);border-radius:999px;background-color:var(--surface);padding:4px 30px 4px 12px;font-size:.88rem;max-width:34vw;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23223c57' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}[dir=rtl] .persona select{padding:4px 12px 4px 30px;background-position:left 11px center}.persona select:hover{border-color:var(--border-strong)}.main{padding-bottom:calc(var(--bottomnav-h) + 40px + env(safe-area-inset-bottom))}.bottomnav{position:fixed;z-index:30;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;padding:6px;gap:2px;background:#ffffffdb;backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border:1px solid rgb(7 38 69 / 8%);border-radius:24px;box-shadow:var(--shadow-lg)}.bottomnav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:calc(var(--bottomnav-h) - 12px);border-radius:18px;text-decoration:none;color:var(--muted);font-size:.7rem;font-weight:600;transition:color .15s,background .15s}.bottomnav a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottomnav a[aria-current=page]{color:var(--brand);background:var(--brand-soft)}.bottomnav a[aria-current=page] svg{stroke-width:2.4}.app.is-cook .main{padding-bottom:0}@media(min-width:960px){.topnav{display:flex}.bottomnav{display:none}.main{padding-bottom:64px}}.load-error,.local-note,.sim-note,.sample-warning,.preview-banner{border-radius:14px;padding:11px 16px;margin:12px 0;font-size:.92rem;border:1px solid transparent}.load-error{margin:12px 16px;background:var(--danger-soft);color:var(--danger);display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center}.local-note{background:var(--surface-3);border-color:var(--border);color:var(--muted)}.sim-note{background:var(--accent-soft);border-color:#f3dcb2;color:var(--accent-ink);display:flex;gap:10px;flex-wrap:wrap}.sample-warning{background:var(--berry-soft);color:var(--berry);font-weight:500}.preview-banner{background:var(--accent-soft);color:var(--accent-ink);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.page{max-width:1160px;margin:0 auto;padding:20px 16px}@media(min-width:720px){.page{padding:28px 24px}}.page-wide{max-width:1260px}.page-title{margin-top:4px;color:var(--ink)}.section-title{color:#072645}.section{margin-top:32px}.section-title{font-size:1.18rem;display:flex;align-items:center;gap:10px}.section-title:before{content:"";width:4px;height:1.05em;border-radius:4px;background:var(--grad-accent);flex:none}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;text-decoration:none;font-weight:600;padding:6px 14px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--brand);font-size:.92rem}.back-link:hover{box-shadow:var(--shadow)}.panel{background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:var(--radius-lg);padding:20px;margin:16px 0;box-shadow:var(--shadow-sm);min-width:0}@media(min-width:720px){.panel{padding:24px}}.panel>h2:first-child{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 18px;border-radius:14px;border:1px solid transparent;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.2;text-align:center;transition:background .15s,border-color .15s,box-shadow .15s,transform .08s,filter .15s}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--grad-brand);color:#fff;box-shadow:0 6px 16px #0b3a6638,inset 0 1px #ffffff1f}.btn-primary:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 8px 22px #0b3a6647,inset 0 1px #ffffff1f}.btn-accent{background:var(--grad-accent);color:#3a2300;box-shadow:0 6px 16px #ffb2384d,inset 0 1px #ffffff59}.btn-accent:hover:not(:disabled){filter:brightness(1.05) saturate(1.05)}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--ink);box-shadow:var(--shadow-sm)}.btn-ghost:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-3)}.btn-danger{background:var(--danger);color:#fff}.btn-danger-ghost{background:var(--surface);border-color:#f0c4c0;color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-lg{min-height:56px;padding:12px 26px;font-size:1.08rem;border-radius:18px}.btn-sm{min-height:38px;padding:6px 14px;font-size:.9rem;border-radius:12px}.fav-btn.is-on{color:var(--berry);border-color:#ecc3d4;background:var(--berry-soft)}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:700}.icon-btn:hover:not(:disabled){border-color:var(--border-strong)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn.danger{color:var(--danger)}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.76rem;font-weight:600;white-space:nowrap;letter-spacing:.01em}.badge-neutral{background:var(--surface-2);color:var(--muted)}.badge-free{background:var(--brand-soft);color:var(--brand-2)}.badge-member{background:var(--accent-soft);color:var(--accent-ink)}.badge-sample{background:var(--berry-soft);color:var(--berry)}.badge-verified,.badge-live{background:var(--brand-soft);color:var(--brand-2)}.badge-warn{background:var(--accent-soft);color:var(--warn-ink)}.badge-draft{background:#ebe9f8;color:#3e3a7a}.hero-card{position:relative;overflow:hidden;isolation:isolate;background:var(--grad-brand);color:#fff;border-radius:28px;padding:26px 20px 18px;box-shadow:0 20px 50px #07264547}.hero-card:before{content:"";position:absolute;z-index:-1;width:420px;height:420px;inset-inline-end:-160px;top:-200px;background:radial-gradient(circle,rgb(255 210 122 / 45%),transparent 65%)}.hero-card:after{content:"";position:absolute;z-index:-1;width:320px;height:320px;inset-inline-start:-140px;bottom:-200px;background:radial-gradient(circle,rgb(46 193 253 / 55%),transparent 65%)}@media(min-width:720px){.hero-card{padding:40px 40px 26px}}.hero{padding:0 0 4px}.hero h1{color:#fff;margin-bottom:.35em}.hero-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:3px 12px;border-radius:999px;background:#ffffff1a;border:1px solid rgb(255 255 255 / 14%);color:var(--accent-2);font-weight:700;font-size:.8rem;letter-spacing:.04em}.hero-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 10px var(--accent-2)}.hero-sub{color:#ffffffc2;max-width:56ch}.toolbar{display:flex;flex-direction:column;gap:12px;margin-top:14px}.search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:0 16px;color:var(--muted);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.search:focus-within{border-color:var(--brand-3);box-shadow:var(--ring)}.hero-card .search{border-color:transparent;box-shadow:0 10px 30px #0000002e}.hero-card .search:focus-within{box-shadow:0 0 0 4px #ffd27a73,0 10px 30px #0000002e}.search input{flex:1;min-width:0;border:0;background:none;min-height:52px;outline:none;font-size:1rem;color:var(--ink)}.search input:focus,.search input:focus-visible{box-shadow:none;outline:none}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;min-height:40px;padding:6px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:600;color:var(--ink);transition:background .15s,border-color .15s,color .15s}.chip:hover{border-color:var(--border-strong)}.chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.hero-card .chip{background:#ffffff17;border-color:#ffffff29;color:#fff}.hero-card .chip:hover{background:#ffffff29}.hero-card .chip.is-active{background:var(--grad-accent);border-color:transparent;color:#3a2300;box-shadow:0 6px 16px #0000002e}.chip-count{opacity:.65;font-weight:500;margin-inline-start:2px}.card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(min-width:640px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}}.card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-img{aspect-ratio:4 / 5}.card-img img:not(.img-backdrop){transition:transform .4s ease}.card:hover .card-img img:not(.img-backdrop){transform:scale(1.03)}.card-body{padding:12px 14px 16px;display:flex;flex-direction:column;flex:1}.card-title{font-size:1.02rem;margin:2px 0 0;overflow-wrap:anywhere;font-weight:600}.card-fav{position:absolute;top:10px;inset-inline-end:10px;background:#ffffffeb;color:var(--berry);border-radius:999px;padding:7px;display:flex;box-shadow:var(--shadow)}.recent-row{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none}.recent-row::-webkit-scrollbar{display:none}.recent-item{flex:none;width:230px;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:18px;padding:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.recent-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.recent-img{width:54px;height:54px;flex:none;border-radius:12px}.recent-img.img-placeholder{width:54px;height:54px;min-height:0;padding:0;font-size:0}.recent-img.img-placeholder svg{width:26px;height:26px}.img-frame{position:relative;overflow:hidden;background:var(--surface-2)}.img-frame>img:not(.img-backdrop){position:relative;width:100%;height:100%;object-fit:contain}.img-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px) saturate(1.1);transform:scale(1.2);opacity:.55}.img-frame.is-loading{background:linear-gradient(90deg,var(--surface-2),#f2f9fe,var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.img-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:.8rem;width:100%;height:100%;min-height:100%;background:radial-gradient(circle at 30% 20%,#eef8fe,var(--surface-2) 70%);text-align:center;padding:8px}.recipe-hero{display:grid;gap:22px}.recipe-hero-img{aspect-ratio:4 / 5;border-radius:var(--radius-lg);max-height:min(460px,42vh);width:100%;box-shadow:var(--shadow-lg)}@media(min-width:720px){.recipe-hero-img{max-height:460px}}@media(min-width:720px){.recipe-hero{grid-template-columns:minmax(240px,340px) 1fr;align-items:start}}.lead{color:var(--muted);font-size:1.05rem}.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:16px 0}.meta div{background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow-sm)}.meta dt{font-size:.74rem;color:var(--muted);font-weight:600;letter-spacing:.02em}.meta dd{margin:0;font-weight:600}.recipe-actions{display:flex;flex-wrap:wrap;gap:10px}.key-note{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#fff6e6,var(--accent-soft));border:1px solid #f1d29b;border-inline-start:5px solid var(--accent);color:#3a2300;border-radius:var(--radius);padding:14px 18px;margin:18px 0;font-weight:600;font-size:1.05rem;box-shadow:0 6px 18px #ffb2381f}.key-note-label{background:var(--grad-accent);color:#3a2300;border-radius:999px;padding:2px 12px;font-size:.78rem}.recipe-body{display:grid;gap:0 18px}@media(min-width:768px){.recipe-body{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.recipe-ingredients{position:sticky;top:76px;grid-row:span 3}}.ingredients{list-style:none;margin:0;padding:0}.ingredients li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 0;border-bottom:1px solid var(--surface-2);align-items:baseline}.ingredients li:last-child{border-bottom:0}.ing-name{font-weight:500;overflow-wrap:anywhere}.ing-qty{font-weight:700;color:var(--brand-2);text-align:end;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end}.ing-hint{font-weight:500;color:var(--accent-ink);font-size:.74rem;white-space:normal}.ing-note{grid-column:1 / -1;color:var(--muted)}.ingredients li.is-container{background:linear-gradient(to right,var(--accent-soft),transparent);margin:0 -8px;padding-inline:8px;border-radius:8px}[dir=rtl] .ingredients li.is-container{background:linear-gradient(to left,var(--accent-soft),transparent)}.ingredients.is-compact li{padding:7px 0;font-size:.95rem}.ingredients.is-compact li.is-container{padding-inline:8px}@media(max-width:380px){.ingredients li{grid-template-columns:1fr}.ing-qty{text-align:start;align-items:flex-start;white-space:normal}}.steps{list-style:none;margin:0;padding:0;counter-reset:s}.steps li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--surface-2);align-items:flex-start}.steps li:last-child{border-bottom:0}.step-num{flex:none;width:32px;height:32px;border-radius:11px;background:var(--grad-brand);color:#fff;box-shadow:0 4px 10px #0b3a6638;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.bullets{margin:0;padding-inline-start:1.2em}.bullets li{margin:4px 0}.cautions li::marker{color:var(--danger)}.lock-panel{background:linear-gradient(135deg,#fff6e6,var(--accent-soft));border:1px solid #f1d29b;border-radius:var(--radius);padding:18px;margin-top:12px}.credit{margin-top:8px}.cook{min-height:calc(100dvh - 34px);display:flex;flex-direction:column;background:var(--bg)}.cook-top{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#ffffffd9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgb(7 38 69 / 7%)}.cook-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3;text-align:center}.cook-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cook-title span{color:var(--muted);font-size:.9rem;font-weight:600}.progress{height:6px;background:var(--surface-2)}.progress div{height:100%;background:var(--grad-accent);border-radius:0 6px 6px 0;transition:width .3s ease}.cook-layout{flex:1;display:grid;gap:16px;padding:16px;max-width:1200px;width:100%;margin:0 auto}.cook-side{display:none}.cook-main{display:flex;flex-direction:column;justify-content:center;gap:20px;min-width:0}.cook-step{background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:28px;padding:26px 22px;box-shadow:var(--shadow-lg)}.cook-step-label{color:var(--accent-ink);font-weight:700;font-family:var(--font-head);font-size:1.1rem}.cook-step-text{font-size:clamp(1.45rem,5.5vw,2.3rem);line-height:1.45;font-weight:600;margin:0;overflow-wrap:anywhere}.cook-dots{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0}.dot{width:40px;height:40px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-weight:700;cursor:pointer;color:var(--muted)}.dot.is-past{background:var(--brand-soft);border-color:var(--brand-soft);color:var(--brand)}.dot.is-current{background:var(--grad-brand);border-color:transparent;color:#fff;box-shadow:0 6px 14px #0b3a6640}.cook-nav{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgb(7 38 69 / 7%)}@media(min-width:768px){.cook-layout{grid-template-columns:minmax(240px,36%) 1fr;align-items:start}.cook-side{display:block;background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:24px;padding:18px 20px;position:sticky;top:16px;box-shadow:var(--shadow-sm)}.cook-side .key-note{font-size:.92rem;padding:10px 12px}.cook-ing-toggle{visibility:hidden}.cook-main{padding-top:24px}.cook-step{padding:36px 32px}.cook-nav{max-width:1200px;width:100%;margin:0 auto;grid-template-columns:1fr 1fr;border-radius:16px 16px 0 0}}.sheet-backdrop{position:fixed;inset:0;background:#07192d73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:85dvh;overflow:auto;border-radius:28px 28px 0 0;box-shadow:var(--shadow-lg);padding:18px 18px calc(18px + env(safe-area-inset-bottom))}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.sheet-head h2{margin:0}.cook-done{display:flex;align-items:center;justify-content:center;min-height:70dvh}.done-card{text-align:center;background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:30px;padding:36px 22px;box-shadow:var(--shadow-lg);max-width:560px;width:100%}.done-card h1{color:var(--brand);font-size:2.2rem}.timer{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:var(--brand-soft);border-radius:18px;padding:14px 18px}.timer-value{font-family:var(--font-head);font-size:2rem;font-weight:700;color:var(--brand);min-width:4ch}.timer.is-done{background:var(--accent-soft)}.empty{text-align:center;padding:40px 16px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:6px}.empty h2{color:var(--ink);margin:6px 0 0}.empty p{max-width:46ch}.error-panel{background:var(--danger-soft);border-radius:var(--radius);padding:24px;color:var(--danger)}.error-list{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);padding:12px 16px;margin:12px 0}.error-list ul{margin:6px 0 0;padding-inline-start:1.2em}.list{list-style:none;margin:0 0 12px;padding:0}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid var(--surface-2)}.list-row:last-child{border-bottom:0}.list-row>div:first-child{min-width:0;overflow-wrap:anywhere}.list-row.is-muted{opacity:.6}.shop-name{font-family:var(--font-head);font-size:1.25rem;font-weight:600;margin:0 0 4px}.field{display:flex;flex-direction:column;gap:4px;min-width:0;border:0;padding:0;margin:0}.field>span,.field>legend{font-size:.85rem;font-weight:600;color:var(--muted);padding:0}.field.inline{flex-direction:row;align-items:center;gap:8px}.field input,.field select,.field textarea{min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--surface-3);padding:9px 13px;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s,background .15s}.field textarea{resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-strong)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;background:var(--surface);border-color:var(--brand-3);box-shadow:var(--ring)}.field.inline input{width:auto;max-width:140px}.field.inline input[type=search]{max-width:none;width:220px}.radio{display:inline-flex;align-items:center;gap:6px;min-height:40px;cursor:pointer}.radio input{width:20px;height:20px;accent-color:var(--brand)}.form-grid{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:720px){.form-grid{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}}.editor-bar{position:sticky;top:calc(var(--topbar-h) + 8px);z-index:10;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgb(7 38 69 / 7%);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow);margin-top:12px}.line-list{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.line-item{display:grid;grid-template-columns:auto 1fr;gap:10px;width:100%;background:var(--surface-3);border:1px solid var(--border);border-radius:16px;padding:12px}.line-item.simple{display:flex;align-items:center;padding:8px}.line-num{width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.line-fields{display:grid;gap:10px;min-width:0}.row-controls{display:flex;gap:6px;grid-column:1 / -1;justify-content:flex-end}.line-item.simple .row-controls{grid-column:auto}.qty-editor{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}@media(min-width:900px){.line-item{grid-template-columns:auto 1fr auto;align-items:start}.row-controls{grid-column:auto}.line-fields{grid-template-columns:minmax(160px,1fr) minmax(0,2fr) minmax(140px,1fr)}.line-fields:has(textarea){grid-template-columns:1fr}}.image-editor{display:grid;gap:16px;grid-template-columns:1fr}.image-editor-preview{aspect-ratio:4 / 5;max-width:220px;border-radius:12px}@media(min-width:640px){.image-editor{grid-template-columns:220px 1fr}}.file-btn{position:relative;align-self:flex-start}.tabs{display:flex;gap:4px;margin:14px 0 6px;padding:4px;overflow-x:auto;background:var(--surface-2);border-radius:16px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{flex:none;padding:9px 16px;text-decoration:none;color:var(--muted);font-weight:600;border:0;border-radius:12px;white-space:nowrap;background:none;cursor:pointer;transition:color .15s,background .15s}.tabs a:hover,.tabs button:hover{color:var(--ink)}.tabs a[aria-current=page],.tabs button[aria-current=page]{color:var(--brand);background:var(--surface);box-shadow:var(--shadow-sm)}.toolbar-admin{margin:14px 0}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{text-align:start;padding:13px 16px;border-bottom:1px solid var(--surface-2);vertical-align:middle}.table th{font-size:.78rem;color:var(--muted);background:var(--surface-3);font-weight:600;letter-spacing:.02em}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:var(--surface-3)}.table tr:last-child td{border-bottom:0}.strong-link{font-weight:600}.history-grid{display:grid;gap:18px}@media(min-width:900px){.history-grid{grid-template-columns:1fr 1fr}}.timeline{list-style:none;margin:0;padding:0;padding-inline-start:14px;border-inline-start:2px solid var(--border)}.timeline li{padding:6px 0 10px;padding-inline-start:10px;position:relative}.timeline li:before{content:"";position:absolute;inset-inline-start:-21px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--brand-2)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}.stat{position:relative;overflow:hidden;background:var(--surface);border:1px solid rgb(7 38 69 / 6%);border-radius:22px;padding:18px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.stat:after{content:"";position:absolute;inset-inline-end:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgb(255 210 122 / 28%),transparent 70%)}.stat-value{font-family:var(--font-head);font-size:1.9rem;font-weight:700;color:var(--brand)}.stat-label{color:var(--muted);font-size:.88rem}.membership-grid{display:grid;gap:0 18px}@media(min-width:860px){.membership-grid{grid-template-columns:1fr 1fr;align-items:start}}.plan-card{position:relative;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--grad-accent) border-box;border:2px solid transparent;box-shadow:var(--shadow-lg)}.checks{list-style:none;padding:0;margin:0 0 14px}.checks li{padding:4px 0;padding-inline-start:28px;position:relative}.checks li:before{content:"✓";position:absolute;inset-inline-start:0;top:7px;width:20px;height:20px;border-radius:50%;background:var(--brand-soft);color:var(--brand-2);font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center}.segmented{display:inline-flex;background:var(--surface-2);border-radius:16px;padding:4px;gap:4px}.segmented button{min-height:40px;padding:6px 18px;border:0;border-radius:12px;background:none;cursor:pointer;font-weight:600;color:var(--muted)}.segmented button.is-active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow)}.toast-host{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--bottomnav-h) + 26px + env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;gap:8px;width:min(520px,calc(100vw - 32px));pointer-events:none}@media(min-width:960px){.toast-host{bottom:24px}}.app.is-cook .toast-host{bottom:96px}.toast{background:var(--ink);color:#fff;padding:13px 18px;border-radius:16px;box-shadow:0 14px 40px #00000038;font-size:.95rem;font-weight:500;animation:rise .25s cubic-bezier(.2,.8,.2,1)}.toast-ok{background:var(--grad-brand)}.toast-error{background:var(--danger)}.toast-info{background:#1b3550}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.dialog{border:0;border-radius:26px;padding:0;max-width:min(460px,calc(100vw - 32px));box-shadow:0 30px 80px #00000047;background:var(--surface);color:var(--ink)}.dialog::backdrop{background:#07192d73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-body{padding:26px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.untranslated-note{background:var(--surface-2);color:var(--muted);border-radius:var(--radius-sm);padding:8px 12px;font-size:.88rem;margin:12px 0}.lang-picker{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(700px 420px at 85% 0%,rgb(255 210 122 / 35%),transparent 60%),var(--grad-brand)}.lang-card{width:100%;max-width:520px;background:var(--surface);border:1px solid rgb(255 255 255 / 40%);border-radius:30px;padding:30px 22px;box-shadow:0 30px 80px #0000004d;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.lang-card h1{color:var(--brand);margin:4px 0 0}.lang-titles{margin:0;color:var(--ink);font-weight:600;font-size:1.15rem;line-height:1.5}.lang-options{display:grid;gap:10px;width:100%;margin:10px 0}.lang-option{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface-3);transition:border-color .15s,background .15s,transform .1s;cursor:pointer;font-size:1.15rem;font-weight:600;color:var(--ink)}.lang-option:hover{border-color:var(--brand-3);background:var(--brand-soft);transform:translateY(-1px)}.lang-option[lang=zh]{font-family:Noto Sans SC,system-ui,sans-serif}.lang-option[lang=ja]{font-family:Noto Sans JP,system-ui,sans-serif}.lang-option[lang=ar]{font-family:Noto Sans Arabic,system-ui,sans-serif}.lang-code{font-size:.75rem;color:var(--muted);font-family:var(--font);letter-spacing:.05em}.lang-tabs{margin-top:16px}.tr-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.tr-list li{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.tr-list li.is-missing{border-color:var(--accent)}.tr-label{font-size:.75rem;color:var(--muted);font-weight:600}.tr-source{font-size:.92rem}.tr-dots{display:inline-flex;gap:3px}.tr-dot{font-size:.64rem;font-weight:700;padding:1px 4px;border-radius:4px;background:var(--surface-2);color:var(--muted)}.tr-dot.is-partial{background:var(--accent-soft);color:var(--accent-ink)}.tr-dot.is-full{background:var(--brand-soft);color:var(--brand)}@media(max-width:520px){.topbar{gap:8px;padding:8px 12px;min-height:58px}.topbar-controls{align-items:center;gap:6px}.brand-text{display:none}.brand img{width:34px;height:34px;border-radius:11px}.persona-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.persona select{max-width:32vw;min-height:36px;font-size:.84rem}}.prep-buttons{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0}@media(min-width:560px){.prep-buttons{grid-template-columns:1fr 1fr}}.prep-btn{justify-content:flex-start;min-height:54px;font-size:1rem;border-radius:16px}.prep-btn svg{color:var(--brand-3);flex:none}.cook-side .prep-buttons,.sheet .prep-buttons{grid-template-columns:1fr}.prep-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}@media(min-width:860px){.prep-list{grid-template-columns:1fr 1fr}}.prep-item{margin:0;display:flex;flex-direction:column;gap:8px}.prep-item .btn{align-self:flex-start;margin-top:auto}.prep-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:flex-start}.prep-head h2{margin:0;font-size:1.08rem}.prep-amount{margin:0}.facts{margin:0;display:grid;gap:8px}.facts div{background:var(--bg);border-radius:10px;padding:8px 12px}.facts dt{font-size:.78rem;color:var(--muted);font-weight:600}.facts dd{margin:0}.facts.is-compact div{padding:6px 10px}.wrap-chips{flex-wrap:wrap;overflow:visible}.wrap-chips .chip{text-decoration:none;color:var(--ink);display:inline-flex;align-items:center}.tr-list-group{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.tr-list-group h3{margin-top:0}.issue-banner{background:var(--accent-soft);color:var(--warn-ink);border:2px solid var(--accent);border-radius:var(--radius-sm);padding:10px 14px;margin:12px 0;font-weight:600}.issue-box{border:2px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:var(--radius-sm);padding:10px 14px;margin:0 0 12px}.issue-box ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.issue-box li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border-radius:8px;padding:8px 10px}.issue-box li>span:first-child{flex:1 1 260px}.issue-box li.is-resolved{opacity:.7}.issue-box li.is-resolved>span:first-child{text-decoration:line-through}.issue-done{color:var(--brand);font-weight:700}.line-item.has-issue{border:2px solid var(--accent);background:var(--accent-soft)}.issue-tag{justify-self:start;font-size:.75rem;font-weight:700;color:var(--warn-ink);background:var(--surface);border:1px solid var(--accent);border-radius:999px;padding:1px 8px}.narrow-page{max-width:640px}.account-chip{align-self:flex-end;min-height:38px;display:inline-flex;align-items:center;padding:4px 14px;border-radius:999px;border:0;color:#fff;font-weight:700;text-decoration:none;font-size:.84rem;white-space:nowrap;background:var(--grad-brand);box-shadow:0 4px 12px #0b3a6638}.account-chip:hover{filter:brightness(1.12)}.member-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;letter-spacing:.03em;color:var(--brand)}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}.plain-fieldset:disabled{opacity:.7}.buy-panel{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.column-row{align-items:flex-start}@media(max-width:520px){.account-chip{align-self:center;min-height:36px;padding:4px 10px;font-size:.76rem}}.plan-table{min-width:0;table-layout:fixed}.plan-table th[scope=col]:first-child,.plan-table th[scope=row]{width:44%}@media(max-width:520px){.plan-table th,.plan-table td{padding:8px 6px;font-size:.85rem}.plan-table .plan-who td{font-size:.75rem}}.plan-table th[scope=col]{vertical-align:top}.plan-table th[scope=col].is-current,.plan-table td.is-current{background:var(--brand-soft)}.plan-table th[scope=row]{font-weight:500;background:none;font-size:.95rem;color:var(--ink)}.plan-table td{text-align:center}.plan-table .plan-who td{text-align:center;vertical-align:top}.plan-yes{color:var(--brand);font-weight:700;font-size:1.15rem}.plan-no{color:var(--muted)}.market-item{width:240px}.plan-table .badge{white-space:normal;text-align:center}.app-loading{padding:48px 16px;text-align:center;color:var(--muted);font-family:system-ui,sans-serif}.import-panel{margin-top:20px}.import-report h3{font-size:1rem;margin:12px 0 6px}.import-report .list-row{gap:12px;flex-wrap:wrap}@media(min-width:960px)and (max-width:1240px){.topnav a{padding:7px 11px;font-size:.88rem}.brand-th{display:none}}.pos-shift-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);font-weight:600;font-size:.86rem}.pos-shift-badge .dot-status{width:9px;height:9px;border-radius:50%;background:#b9c4cf}.pos-shift-badge.is-open .dot-status{background:#22a06b;box-shadow:0 0 0 4px #22a06b2e}.pos-sell{display:grid;gap:16px;margin-top:8px}@media(min-width:900px){.pos-sell{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start}.pos-cart{position:sticky;top:calc(var(--topbar-h) + 12px)}}.pos-menu{min-width:0}.pos-tiles{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.pos-tile{width:100%;min-height:92px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;text-align:start;padding:12px 14px;border-radius:18px;border:1px solid rgb(7 38 69 / 6%);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .1s,box-shadow .15s}.pos-tile:hover{box-shadow:var(--shadow)}.pos-tile:active{transform:scale(.97)}.pos-tile-name{font-weight:600;line-height:1.35;overflow-wrap:anywhere}.pos-tile-price{font-family:var(--font-head);font-weight:700;color:var(--brand-2)}.pos-shift-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;justify-content:space-between;background:var(--accent-soft);border:1px solid #f3d9a6;border-radius:18px;padding:14px 16px;margin-bottom:12px}.pos-shift-inline p{margin:0}.pos-shift-inline .field.inline input{width:120px}.pos-cart-inner{background:var(--surface);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.pos-cart-inner h2{margin:0}.pos-cart-close{display:none}.pos-dining{width:100%}.pos-dining button{flex:1;padding:6px 8px}.pos-cart-empty{text-align:center;padding:18px 0;margin:0}.pos-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.pos-lines li{display:grid;grid-template-columns:1fr auto auto;gap:8px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--surface-2)}.pos-line-main{display:flex;flex-direction:column;min-width:0;line-height:1.35}.pos-line-amount{font-weight:600;min-width:72px;text-align:end}.pos-stepper{display:inline-flex;align-items:center;gap:6px}.pos-stepper span{min-width:22px;text-align:center;font-weight:700}.pos-stepper .icon-btn{width:34px;height:34px;font-size:1.1rem}.pos-discount{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pos-discount input{width:110px;min-height:40px;border:1px solid var(--border);border-radius:12px;padding:6px 10px;background:var(--surface-3)}.pos-link{align-self:flex-start;font-size:.9rem;color:var(--brand-3)}.pos-totals{margin:0;display:grid;gap:4px}.pos-totals div{display:flex;justify-content:space-between;gap:12px}.pos-totals dt{color:var(--muted)}.pos-totals dd{margin:0;font-weight:600}.pos-total{padding-top:8px;border-top:1px dashed var(--border-strong);font-size:1.2rem}.pos-total dt{color:var(--ink);font-weight:700}.pos-total dd{font-family:var(--font-head);font-weight:700;color:var(--brand)}.pos-cart-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.pos-cart-bar{display:none}@media(max-width:899px){.pos-cart{display:none}.pos-cart.is-open{display:flex;position:fixed;inset:0;z-index:45;align-items:flex-end;background:#07192d73}.pos-cart.is-open .pos-cart-inner{width:100%;max-height:92dvh;overflow:auto;border-radius:28px 28px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.pos-cart-close{display:inline-flex}.pos-cart-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;position:fixed;z-index:31;left:16px;right:16px;bottom:calc(var(--bottomnav-h) + 22px + env(safe-area-inset-bottom));padding:14px 20px;border:0;border-radius:18px;background:var(--grad-brand);color:#fff;font-weight:600;box-shadow:var(--shadow-lg);cursor:pointer}.pos-cart-bar strong{font-family:var(--font-head);font-size:1.1rem}.pos-page{padding-bottom:90px}}.pos-opt{border:0;padding:0;margin:12px 0;min-width:0}.pos-opt legend{font-weight:700;margin-bottom:8px;padding:0}.pos-choices{display:flex;flex-wrap:wrap;gap:8px}.pos-opt-foot{margin-top:16px}.pos-due{font-size:1.1rem;margin:4px 0 12px}.pos-due strong{font-family:var(--font-head);font-size:1.8rem;color:var(--brand);display:block}.pos-methods{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.pos-change{font-size:1.1rem;margin:0}.pos-change strong{font-family:var(--font-head);font-size:1.5rem;color:var(--brand)}.pos-qr-box{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin:8px 0}.pos-qr{border-radius:12px;box-shadow:var(--shadow);background:#fff}.pos-charge{width:100%;margin-top:16px}.pos-done{text-align:center}.pos-done-mark{width:64px;height:64px;margin:6px auto 8px;border-radius:50%;background:#22a06b;color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px #22a06b4d}.pos-editor{margin-top:16px;padding:16px;border-radius:18px;background:var(--surface-3);border:1px solid var(--border)}.pos-editor h3{margin:0}.pos-choice-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.pos-choice-row .field:not(.grow){width:120px}.align-start{align-self:flex-start}.span-all{grid-column:1 / -1}.pos-bars{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pos-bars li{display:grid;grid-template-columns:52px 1fr 96px;gap:10px;align-items:center}.pos-bar{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}.pos-bar span{display:block;height:100%;border-radius:6px;background:var(--grad-brand)}.pos-bars li>span:last-child{text-align:end}.receipt{background:#fff;color:#111;max-width:380px;margin:8px auto 16px;padding:22px 20px;border-radius:6px;box-shadow:var(--shadow-lg);font-size:.92rem;line-height:1.45}.receipt-head{text-align:center;border-bottom:1px dashed #999;padding-bottom:10px}.receipt-shop{font-family:var(--font-head);font-size:1.25em}.receipt-logo{display:block;width:72px;height:72px;object-fit:contain;margin:0 auto 6px}.receipt-pre{white-space:pre-line;margin:4px 0}.receipt-kind{margin:6px 0 0;font-weight:700;letter-spacing:.04em}.receipt-stamp{text-align:center;font-weight:800;color:#b3261e;border:2px solid #b3261e;border-radius:6px;padding:2px 8px;margin:10px auto;width:fit-content}.receipt-meta,.receipt-totals{margin:10px 0;display:grid;gap:2px}.receipt-meta div,.receipt-totals div{display:flex;justify-content:space-between;gap:12px}.receipt-meta dt{color:#555}.receipt-meta dd,.receipt-totals dd{margin:0;text-align:end}.receipt-lines{list-style:none;margin:0;padding:8px 0;border-top:1px dashed #999;border-bottom:1px dashed #999}.receipt-lines li{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.receipt-lines small{display:block;color:#555}.receipt-total{font-weight:800;font-size:1.2em;border-top:1px solid #111;padding-top:4px;margin-top:2px}.receipt-foot{text-align:center;border-top:1px dashed #999;padding-top:8px}.receipt-note{text-align:center;color:#555;font-size:.85em;margin:6px 0 0}:root{--rc-width: 72mm;--rc-font: 11.5px;--rc-logo: 22mm}:root[data-paper="58"]{--rc-width: 48mm;--rc-font: 10px;--rc-logo: 16mm}html.print-measure .receipt{width:var(--rc-width);max-width:var(--rc-width);padding:0;font-size:var(--rc-font);box-shadow:none}html.print-measure .receipt-logo{width:var(--rc-logo);height:var(--rc-logo)}@media print{html,body{background:#fff!important;margin:0!important}.proto-banner,.topbar,.bottomnav,.toast-host,.no-print,.skip-link{display:none!important}.main,.page{padding:0!important;margin:0!important;max-width:none!important}.receipt{box-shadow:none;margin:2mm auto 0;width:var(--rc-width);max-width:var(--rc-width);padding:0;border-radius:0;font-size:var(--rc-font);line-height:1.35;color:#000}.receipt-meta dt,.receipt-lines small,.receipt-refunds small,.receipt-note{color:#000}.receipt-logo{width:var(--rc-logo);height:var(--rc-logo);filter:grayscale(1) contrast(1.15)}}.pos-tile{position:relative;overflow:hidden;padding:0;justify-content:flex-start}.pos-tile-body{display:flex;flex-direction:column;justify-content:space-between;gap:8px;flex:1;padding:12px 14px}.pos-tile-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:var(--surface-2)}.pos-tile.has-photo .pos-tile-body{padding:8px 12px 10px;gap:2px}.pos-tile.has-photo .pos-tile-name{font-size:.92rem}.pos-tile.is-color{border-color:transparent;color:#fff;min-height:110px}.pos-tile.is-color .pos-tile-price{color:#fff;opacity:.92}.pos-tile.is-color:after{content:"";position:absolute;inset-inline-end:-24px;top:-24px;width:80px;height:80px;border-radius:50%;background:#ffffff1f;pointer-events:none}.pos-look{gap:10px}.pos-look-grid{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:start}@media(max-width:420px){.pos-look-grid{grid-template-columns:1fr}.pos-look-preview{max-width:170px}}.pos-look-preview .pos-tile{cursor:default}.pos-look .segmented{flex-wrap:wrap}.pos-swatches{display:flex;flex-wrap:wrap;gap:10px}.pos-swatch{width:38px;height:38px;border-radius:12px;border:3px solid #fff;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer}.pos-swatch.is-active{box-shadow:0 0 0 3px var(--accent),0 4px 10px #07264540}.pos-thumb{width:44px;height:44px;border-radius:12px;flex:none;object-fit:cover;background:var(--surface-2)}.pos-menu-row{display:flex;align-items:center;gap:12px;min-width:0}.pos-tiles>li{display:flex}.pos-tiles>li>.pos-tile{flex:1}.rep-layout{display:grid;gap:16px;margin-top:8px}@media(min-width:1000px){.rep-layout{grid-template-columns:220px minmax(0,1fr);align-items:start}}.rep-main{min-width:0}.rep-nav-list{display:none;list-style:none;margin:0;padding:8px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.rep-nav-list a{display:block;padding:9px 12px;border-radius:12px;text-decoration:none;color:var(--ink);font-weight:500;font-size:.94rem}.rep-nav-list a:hover{background:var(--surface-3)}.rep-nav-list a[aria-current=page]{background:var(--brand-soft);color:var(--brand);font-weight:700}@media(min-width:1000px){.rep-nav{position:sticky;top:calc(var(--topbar-h) + 12px)}.rep-nav-list{display:block}.rep-nav-select{display:none}}.rep-nav-select select{font-weight:700;background-color:var(--surface)}.rep-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.rep-date{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.rep-date .icon-btn{width:40px;height:40px;font-size:1.3rem;background:var(--surface);box-shadow:var(--shadow-sm)}.rep-range-label{font-family:var(--font-head);color:#072645;padding:0 4px}.rep-chips{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.rep-chip{display:inline-flex;align-items:center;gap:6px;padding:0 4px 0 12px;min-height:40px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm)}.rep-chip select{border:0;background:transparent;min-height:40px;padding:0 8px 0 2px;font-weight:600;cursor:pointer;max-width:60vw}.rep-hours{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border-radius:12px;padding:4px 8px;box-shadow:var(--shadow-sm)}.rep-hours select{border:1px solid var(--border);border-radius:8px;min-height:32px;background:var(--surface-3)}.rep-custom{display:flex;flex-wrap:wrap;gap:10px;background:var(--surface);border-radius:12px;padding:8px 12px;box-shadow:var(--shadow-sm)}.rep-custom input{width:auto;min-height:38px}.rep-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:0;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.rep-card{display:flex;flex-direction:column;gap:2px;text-align:start;padding:16px 18px 14px;border:0;border-bottom:3px solid transparent;background:none;cursor:pointer;transition:background .15s}.rep-card+.rep-card{border-inline-start:1px solid var(--surface-2)}.rep-card:hover{background:var(--surface-3)}.rep-card.is-active{border-bottom-color:var(--brand-3);background:var(--brand-soft)}.rep-card-label{font-size:.86rem;color:var(--muted);font-weight:600}.rep-card-value{font-family:var(--font-head);font-size:1.45rem;font-weight:700;color:var(--ink)}.rep-card-change{font-size:.78rem;font-weight:600;color:var(--muted)}.rep-card-change.is-up{color:#15803d}.rep-card-change.is-down{color:#b3261e}.rep-compare,.rep-note{margin:6px 4px 0;color:#0b2a47}.rep-table-panel .rep-note,.rep-table-panel .small.muted{color:var(--muted)}.rep-chart-panel h2{margin:0}.rep-chart{width:100%;height:auto;margin-top:10px;display:block}.rep-grid{stroke:var(--surface-2);stroke-width:1}.rep-axis{fill:var(--muted);font-size:11px;font-family:var(--font)}.rep-bar{fill:var(--brand-3)}.rep-bar.is-neg{fill:#d9534f}.rep-bar:hover{fill:var(--brand-2)}.rep-line{fill:none;stroke:var(--brand-3);stroke-width:2.5;stroke-linejoin:round}.rep-dot{fill:#fff;stroke:var(--brand-3);stroke-width:2}.rep-table-head{margin-bottom:6px}.rep-table-head h2{margin:0}.rep-table-wrap{box-shadow:none;border:0;border-radius:0;margin:0 -20px -20px}@media(min-width:720px){.rep-table-wrap{margin:0 -24px -24px}}.rep-table{min-width:640px}.rep-table th.num,.rep-table td.num{text-align:end;white-space:nowrap}.rep-table tr.is-clickable{cursor:pointer}.rep-table tr.is-clickable:focus-visible{outline:2px solid var(--brand-3);outline-offset:-2px}.rep-empty{margin:8px 0 0}.rep-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.rep-counter{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 10px 14px;border:0;border-bottom:3px solid transparent;background:none;cursor:pointer;text-align:start}.rep-counter.is-active{border-bottom-color:var(--brand-3);background:var(--brand-soft)}.rep-counter-icon{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;flex:none;background:#5f7a8f;color:#fff}.rep-counter.is-sale .rep-counter-icon{background:#22a06b}.rep-counter.is-refund .rep-counter-icon{background:#d6336c}.rep-counter-n{display:block;font-family:var(--font-head);font-size:1.6rem;line-height:1.1}@media(max-width:560px){.rep-counter{flex-direction:column;text-align:center;gap:6px}.rep-counter-icon{width:36px;height:36px}}.rep-search{margin-top:14px}.rep-top li{grid-template-columns:minmax(90px,32%) 1fr 96px}.rep-sheet{max-width:420px}@media(min-width:900px){.rep-sheet-backdrop{align-items:stretch;justify-content:flex-end}.rep-sheet{height:100dvh;max-height:none;border-radius:0;width:420px}}.rep-sheet-total{text-align:center;padding:14px 0 12px;border-bottom:1px solid var(--surface-2)}.rep-sheet-total strong{display:block;font-family:var(--font-head);font-size:2.1rem}.rep-sheet-meta{margin:12px 0;display:grid;gap:4px}.rep-sheet-meta div,.rep-sheet-totals div{display:flex;justify-content:space-between;gap:12px}.rep-sheet-meta dt{color:var(--muted)}.rep-sheet-meta dd,.rep-sheet-totals dd{margin:0;text-align:end}.rep-sheet-lines{list-style:none;margin:0;padding:10px 0;border-top:1px solid var(--surface-2);border-bottom:1px solid var(--surface-2)}.rep-sheet-lines li{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.rep-sheet-lines li>div{display:flex;flex-direction:column;min-width:0}.rep-sheet-totals{margin:10px 0;display:grid;gap:4px}.rep-sheet-totals .is-total{font-weight:800;font-size:1.05rem}.rep-sheet-foot{padding-top:10px;border-top:1px solid var(--surface-2)}.switch{position:relative;display:inline-flex;flex:none;width:50px;height:30px;cursor:pointer}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:999px;background:#c3cbd4;transition:background .15s}.switch span:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s}.switch input:checked+span{background:var(--brand-3)}.switch input:checked+span:after{transform:translate(20px)}[dir=rtl] .switch input:checked+span:after{transform:translate(-20px)}.switch input:focus-visible+span{box-shadow:var(--focus)}.pos-branch-pick select{font-weight:700}.pos-branch-row{align-items:flex-start}.pos-branch-row .field.inline input{width:100px}.pos-cart-actions>:only-child{grid-column:1 / -1}.pos-open-price{margin-top:10px}.switch input:disabled+span{opacity:.6}.pos-search{margin-bottom:10px}.pos-no-match{margin:12px 0}button.pos-line-main{background:none;border:0;padding:0;text-align:start;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:0}button.pos-line-main:hover strong,button.pos-line-main:focus-visible strong{color:var(--brand-3);text-decoration:underline}.pos-line-edit{color:var(--brand-3);opacity:.8}.pos-move{display:flex;flex-direction:column;gap:2px}.pos-move .btn{padding:0 8px;min-height:22px;line-height:1;font-size:11px}.pos-autoprint{justify-content:center;margin-top:10px}.pos-split{background:var(--surface-2, #f3f8fc);border:1px solid var(--border);border-radius:14px;padding:10px 12px;margin-bottom:12px}.pos-split-parts{list-style:none;margin:0 0 6px;padding:0}.pos-split-parts li{display:flex;align-items:center;gap:10px;padding:4px 0;border-bottom:1px dashed var(--border)}.pos-split-parts li>span:first-child{flex:1}.pos-split-due{margin:4px 0 0}.pos-split-due strong{font-family:var(--font-head);font-size:1.25rem;color:var(--brand)}.pos-split-toggle{display:block;margin:8px auto 0}.receipt-refunded{color:#b3261e!important}.receipt-refunds{border-top:1px dashed #999;margin-top:8px;padding-top:6px;color:#b3261e}.receipt-refunds>div{padding:3px 0}.receipt-refunds small{display:block;color:#555}.receipt-refund-head{display:flex;justify-content:space-between;gap:12px}.receipt-section{font-size:.95rem;margin:12px 0 4px;padding-top:8px;border-top:1px dashed #999}.pos-refund-lines{list-style:none;margin:0;padding:0}.pos-refund-lines li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.pos-refund-amount{margin:0;font-size:1.05rem}.pos-refund-amount strong{font-family:var(--font-head);font-size:1.3rem;color:#b3261e}.pos-cash-moves{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.pos-cash-form{display:grid;grid-template-columns:auto 1fr 2fr auto;gap:10px;align-items:end}.pos-cash-list{margin-top:10px}@media(max-width:720px){.pos-cash-form{grid-template-columns:1fr}}.pos-opt-head{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.pos-opt-head h2{margin:0;font-size:1.25rem}.pos-opt-head h2 span{color:var(--brand);margin-inline-start:6px}.pos-opt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.pos-opt-choice{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:10px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;text-align:start;cursor:pointer;transition:border-color .12s,background .12s}.pos-opt-choice>span:last-child{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.pos-opt-choice:hover{border-color:var(--brand-3)}.pos-opt-choice.is-active{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:700}.pos-opt-choice.is-active>span:last-child{color:#ffffffd9}.pos-opt-choice:focus-visible{outline:none;box-shadow:var(--ring)}.pos-opt-foot{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));background:var(--surface);padding:12px 0 calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--border);margin-top:8px}@media(min-width:900px){.pos-opt-backdrop{justify-content:flex-end;align-items:stretch}.pos-opt-sheet{max-width:min(560px,48vw);max-height:none;height:100dvh;border-radius:0;display:flex;flex-direction:column;padding-bottom:18px;animation:pos-slide-in .18s ease-out}.pos-opt-body{flex:1;overflow:auto;padding-inline-end:4px}.pos-opt-foot{position:static;padding-bottom:0}}@keyframes pos-slide-in{0%{transform:translate(40px);opacity:0}}@media(prefers-reduced-motion:reduce){.pos-opt-sheet{animation:none}}.pos-brand{display:flex;align-items:center;gap:14px;min-width:0}.pos-brand>div{min-width:0}.pos-brand-kicker{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.pos-brand-name{margin:0;overflow-wrap:anywhere}.pos-brand p.small{margin:2px 0 0}.shop-logo{flex:none;border-radius:16px;object-fit:cover;background:var(--surface);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.shop-logo.is-letter{display:inline-grid;place-items:center;font-family:var(--font-head);font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand-3),var(--brand));border:0}.pos-brand-logo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.printer-help{margin:0;padding-inline-start:20px;display:grid;gap:4px}.print-test-edges{display:flex;justify-content:space-between;font-weight:700}.print-test-rule{border-top:2px solid #000;margin:4px 0}.printer-row{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}.printer-row>span:last-child{display:flex;flex-direction:column;min-width:0}.printer-icon{width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;background:var(--surface-2);font-size:1.2rem;flex:none}.printer-switch{gap:16px;cursor:pointer}.printer-switch>span:first-child{display:flex;flex-direction:column}.printer-advanced{margin-top:10px}.printer-preview{display:block;max-width:100%;margin:0 auto;border:1px solid var(--border);background:#fff;image-rendering:pixelated}.app.is-pos .main{padding-bottom:calc(24px + env(safe-area-inset-bottom))}@media(max-width:899px){.app.is-pos .pos-cart-bar{bottom:calc(14px + env(safe-area-inset-bottom))}}.pos-menu-btn{margin-inline-start:auto;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm)}.pos-menu-btn span{font-size:1.15rem;line-height:1}.pos-menu-btn:hover{border-color:var(--border-strong)}.menu-backdrop{position:fixed;inset:0;z-index:60;background:#07192d73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end}.menu-drawer{width:min(340px,88vw);height:100%;overflow:auto;background:var(--surface);box-shadow:var(--shadow-lg);padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:pos-slide-in .18s ease-out}.menu-drawer-head{display:flex;justify-content:space-between;align-items:center}.menu-drawer-head strong{font-family:var(--font-head);font-size:1.2rem}.menu-drawer-nav{display:grid;gap:4px}.menu-drawer-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:var(--ink);text-decoration:none;font-weight:600}.menu-drawer-nav a:hover{background:var(--surface-2)}.menu-drawer-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.menu-drawer-controls{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.menu-drawer-controls .account-chip{align-self:flex-start}.menu-drawer-controls .persona select,.menu-drawer-controls .lang-select select{max-width:none;width:100%}@media(prefers-reduced-motion:reduce){.menu-drawer{animation:none}}.tax-invoice{background:#fff;color:#111;max-width:820px;margin:8px auto 16px;padding:28px;border-radius:8px;box-shadow:var(--shadow-lg);font-size:.95rem;line-height:1.5;display:grid;gap:16px}.tax-invoice-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:2px solid #111;padding-bottom:12px}.tax-invoice-head .receipt-logo{margin:0 0 6px}.tax-invoice-head p{margin:2px 0}.tax-invoice-seller{font-family:var(--font-head);font-size:1.2rem}.tax-invoice-title{text-align:end}.tax-invoice-title h1{margin:0;font-size:1.35rem}.tax-invoice-title dl{margin:8px 0 0;display:grid;gap:2px}.tax-invoice-title dl div{display:flex;justify-content:flex-end;gap:10px}.tax-invoice-title dt{color:#555}.tax-invoice-title dd{margin:0}.tax-invoice-buyer{border:1px solid #999;border-radius:6px;padding:10px 14px}.tax-invoice-buyer h2{font-size:.9rem;margin:0 0 4px;color:#555}.tax-invoice-buyer p{margin:2px 0}.tax-invoice-lines{width:100%;border-collapse:collapse}.tax-invoice-lines th,.tax-invoice-lines td{border-bottom:1px solid #ccc;padding:6px 8px;text-align:start;vertical-align:top}.tax-invoice-lines th:nth-child(n+3),.tax-invoice-lines td:nth-child(n+3){text-align:end;white-space:nowrap}.tax-invoice-lines th:first-child,.tax-invoice-lines td:first-child{width:3em}.tax-invoice-lines small{color:#555}.tax-invoice-totals{margin:0 0 0 auto;min-width:min(320px,100%);display:grid;gap:2px}.tax-invoice-totals div{display:flex;justify-content:space-between;gap:16px}.tax-invoice-totals dd{margin:0}.tax-invoice-sign{display:flex;justify-content:space-between;gap:24px;margin-top:36px}.tax-invoice-sign span{flex:1;text-align:center;border-top:1px dotted #555;padding-top:6px;color:#555}.tax-buyer-form{margin-top:12px}.h2-like{font-family:var(--font-head);font-size:1.25rem}@media print{.tax-invoice{box-shadow:none;margin:0;padding:0;max-width:none;font-size:11pt}}.rep-branches tbody tr:last-child td{font-weight:700;border-top:2px solid var(--border-strong)}.rep-branches tbody tr:last-child{cursor:default}.rep-branches td:first-child,.rep-branches th:first-child{white-space:nowrap}.chips-sub{margin-top:4px}.chips-sub .chip{min-height:34px;padding:4px 14px;font-size:.92em}.cat-group+.cat-group{margin-top:14px}.cat-group-title{font-size:1rem;margin:12px 0 4px;color:var(--muted)}.chip-sm{min-height:34px;padding:4px 12px;font-size:.92em}.tag-editor,.tag-filter-panel{display:grid;gap:10px}.tag-filter{display:grid;gap:8px;margin-top:4px}.tag-filter-panel{padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);color:var(--ink)}.tag-facet{display:grid;gap:6px}.tag-facet-name{font-size:.85em;font-weight:700;color:var(--muted)}.tag-chips{display:flex;flex-wrap:wrap;gap:6px}.hero-card .tag-filter-panel .chip{background:var(--surface);border-color:var(--border);color:var(--ink)}.hero-card .tag-filter-panel .chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:none}.recipe-tags{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.recipe-tag{padding:3px 10px;border-radius:999px;background:var(--surface-2, rgb(0 0 0 / 5%));border:1px solid var(--border);font-size:.85em;font-weight:600}.pos-member{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.pos-member-found{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.pos-done-points{font-weight:600}.pos-reward-row{display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding:8px 0}.receipt-member{border-top:1px dashed var(--border-strong, var(--border));padding-top:8px;margin-top:8px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.member-card{max-width:340px;margin:16px auto;padding:24px 20px;border-radius:20px;background:#fff;color:#111;text-align:center;display:grid;gap:6px;justify-items:center;box-shadow:var(--shadow, 0 10px 30px rgb(0 0 0 / 12%))}.member-card p{margin:0}.member-card-shop{font-weight:800;font-size:1.2rem}.member-card-no{font-size:1.8rem;font-weight:800;letter-spacing:.06em}.pos-scanner{display:grid;gap:8px}.pos-scanner video{width:100%;max-height:260px;border-radius:12px;background:#000;object-fit:cover}@media print{.no-print,.app-header,.app-nav,.proto-banner{display:none!important}.member-card{box-shadow:none}}.pos-online{display:grid;gap:10px;padding:12px;margin-bottom:12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.pos-online-title{margin:0;font-size:1.05rem;display:flex;align-items:center;gap:8px}.pos-online-switch{align-items:center}.pos-online-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.pos-online-card{display:grid;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2)}.pos-online-card.is-pending{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.pos-online-card.is-ready{border-color:var(--brand)}.pos-online-no{font-size:1.5rem;letter-spacing:.04em}.pos-online-lines{list-style:none;margin:0;padding:0;display:grid;gap:2px}.pos-online-unpaid{color:var(--danger);font-weight:700}.pos-soldout{align-items:center}.pos-tile.is-out{opacity:.45;filter:grayscale(1)}.qr-branch{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.qr-link{word-break:break-all}.qr-sheet{display:grid;justify-items:center;gap:16px;margin-top:12px}.qr-sheet.is-tables{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.qr-card{width:100%;max-width:340px;display:grid;justify-items:center;gap:6px;padding:18px;border:2px dashed #999;border-radius:16px;background:#fff;color:#111;text-align:center;break-inside:avoid}.qr-card p{margin:0}.qr-card-shop{font-weight:800;font-size:1.2rem}.qr-card-call{font-weight:700;font-size:1.1rem}.qr-card-table{font-size:1.6rem;font-weight:800}.order-ticket{max-width:340px;margin:12px auto;padding:16px;background:#fff;color:#111;border-radius:12px}.order-ticket p{margin:2px 0}.order-ticket .is-bold{font-weight:700}.order-ticket .ticket-xl{font-size:2.4rem}.order-ticket .ticket-lg{font-size:1.2rem}.order-ticket .ticket-sm{font-size:.85rem}@media print{.qr-sheet.is-tables{grid-template-columns:repeat(3,1fr)}.qr-card{border-color:#bbb}}.qo{min-height:100vh;max-width:640px;margin:0 auto;padding:0 14px 96px;background:var(--bg);color:var(--ink)}.qo-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:12px 0;background:var(--bg)}.qo-logo{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none}.qo-logo.is-letter{display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;font-size:1.2rem}.qo-head-text{display:grid;flex:1;min-width:0}.qo-lang select{max-width:130px;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.qo-banner{padding:12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-weight:700}.qo-note{display:block;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);margin:6px 0}.qo-last{text-decoration:none;color:var(--brand);font-weight:700}.qo-chips{margin:8px 0}.qo-empty{text-align:center;padding:40px 0;display:grid;gap:12px;justify-items:center}.qo-items{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qo-item{width:100%;display:grid;gap:4px;padding:0 0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-align:start;overflow:hidden;cursor:pointer}.qo-item:disabled{cursor:default}.qo-item.is-out{opacity:.5;filter:grayscale(1)}.qo-item-img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.qo-item-name{padding:0 10px;font-weight:700;line-height:1.3}.qo-item-price{padding:0 10px;color:var(--brand);font-weight:700}.qo-bar{position:fixed;left:50%;transform:translate(-50%);bottom:14px;width:min(612px,calc(100% - 28px));display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:0;border-radius:999px;background:var(--brand);color:#fff;font-size:1.05rem;font-weight:700;box-shadow:var(--shadow-lg);cursor:pointer;z-index:6}.qo-sheet{max-height:92vh;overflow:auto;display:grid;gap:12px}.qo-sheet-img{width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius-sm)}.qo-group{border:0;padding:0;margin:0;display:grid;gap:8px}.qo-group legend{font-weight:700;margin-bottom:6px}.qo-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.qo-choice{display:grid;gap:2px;min-height:52px;padding:8px 10px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--ink);text-align:start;cursor:pointer;font-weight:600}.qo-choice.is-active{border-color:var(--brand);background:var(--brand-soft)}.qo-sheet-foot{position:sticky;bottom:0;padding-top:8px;background:var(--surface)}.qo-total{font-size:1.15rem}.qo-send{width:100%}.qo-status{display:grid;gap:12px;justify-items:center;text-align:center;padding-top:16px}.qo-queue{font-size:4rem;font-weight:900;letter-spacing:.06em;line-height:1;margin:0;color:var(--brand)}.qo-steps{list-style:none;display:flex;gap:6px;padding:0;margin:0;width:100%}.qo-steps li{flex:1;padding:8px 4px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.85rem;font-weight:600}.qo-steps li.is-done{background:var(--brand);color:#fff}.qo-status-msg{font-size:1.15rem;font-weight:700;margin:0}.qo-status-lines{list-style:none;margin:0;padding:12px;width:100%;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);text-align:start;display:grid;gap:4px}.qo-status .qo-total{width:100%;margin:0}.qo-paid{color:var(--brand);font-weight:700}.qo-unpaid{font-weight:700}.offline-sales{flex-direction:column;align-items:flex-start;gap:6px}.offline-failed{list-style:none;margin:0;padding:0;display:grid;gap:6px}.stock-low{color:var(--danger);font-weight:600}.stock-row{align-items:center}.kds-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;align-items:start}@media(max-width:860px){.kds-cols{grid-template-columns:1fr}}.kds-col{background:var(--surface-2, #f3f6fa);border-radius:var(--radius-sm);padding:10px;display:grid;gap:10px}.kds-col h2{font-size:1.05rem;margin:0;display:flex;gap:8px;align-items:center}.kds-count{background:var(--ink, #072645);color:#fff;border-radius:999px;padding:0 9px;font-size:.85rem}.kds-col.is-ready .kds-count{background:#1e7a46}.kds-card{background:var(--surface, #fff);border-radius:var(--radius-sm);padding:12px;display:grid;gap:8px;box-shadow:0 1px 3px #0000001f;border-left:5px solid var(--accent, #f5b400)}.kds-col.is-new .kds-card{border-left-color:var(--danger)}.kds-col.is-ready .kds-card{border-left-color:#1e7a46}.kds-card.is-late{background:var(--danger-soft)}.kds-queue{font-size:1.6rem;letter-spacing:.02em}.kds-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:1.05rem}.kds-note{color:var(--danger);font-weight:600}.kds-act{width:100%}.queue-board{position:fixed;inset:0;z-index:50;background:#072645;color:#fff;display:grid;grid-template-rows:auto 1fr auto;padding:24px;gap:16px}.queue-board-head{display:flex;justify-content:space-between;font-size:1.4rem}.queue-board-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;min-height:0}.queue-board-cols section{background:#ffffff14;border-radius:18px;padding:18px;overflow:hidden}.queue-board-cols section.is-ready{background:#1e7a46}.queue-board-cols h2{margin:0 0 14px;font-size:2rem;color:#fff}.queue-board-nums{display:flex;flex-wrap:wrap;gap:14px 26px;font-size:clamp(2.4rem,6vw,5rem);font-weight:700;line-height:1.1}.queue-board-foot{text-align:center;opacity:.8;margin:0}.app-footer{text-align:center;padding:24px 16px 8px}.legal ul{margin:0;padding-left:1.2em;display:grid;gap:6px}.consent input{margin-top:3px}.stars{color:#e0a100;letter-spacing:1px}.star-btn{background:none;border:0;font-size:1.6rem;line-height:1;color:var(--border-strong);cursor:pointer;padding:2px}.star-btn.is-on{color:#e0a100}.seller-bio{white-space:pre-line}.group-cover{width:100%;max-height:280px;object-fit:cover;border-radius:var(--radius);margin:8px 0;display:block}.market-tools{margin:12px 0 4px}.promo-line{margin:0 0 8px}.btn.is-disabled{opacity:.5;pointer-events:none}.report-box{margin-top:16px}.platform-receipt{display:grid;gap:12px;margin-top:12px}.platform-receipt h1{margin:4px 0;font-size:1.4rem}.platform-receipt .num{text-align:right}.rcpt-refunded{border:2px solid var(--danger);color:var(--danger);font-weight:700;padding:6px 10px;border-radius:var(--radius-sm);justify-self:start}@media print{.platform-receipt{box-shadow:none;border:0;margin:0}}.seller-reply{background:var(--surface-2);border-radius:var(--radius-sm);padding:6px 10px;margin:4px 0 0}.bundle-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.bundle-card ul{margin:0;padding-left:1.2em}.coupon-box{margin-top:8px}.similar-warn{color:var(--warn-ink);background:var(--accent-soft);border-radius:var(--radius-sm);padding:4px 8px;margin-top:4px}.week-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:90px;align-items:end}.week-bar{display:grid;grid-template-rows:1fr auto;height:100%;text-align:center}.week-bar span{align-self:end;background:var(--brand, #0b5cad);border-radius:3px 3px 0 0;min-height:2px}.week-bar small{font-size:.7rem;color:var(--muted)}.ops-stack{white-space:pre-wrap;background:var(--surface-2);padding:6px 8px;border-radius:var(--radius-sm);margin:4px 0 0;overflow-x:auto}.onboarding{border:2px solid var(--accent)}.onb-bar{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin:4px 0 8px}.onb-bar span{display:block;height:100%;background:var(--accent)}.onb-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}.onb-steps li{display:flex;gap:10px;align-items:center}.onb-steps li.is-done strong{color:var(--muted);text-decoration:line-through}.onb-mark{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;font-size:.8rem;flex:none}.onb-steps li.is-done .onb-mark{background:var(--brand-soft);border-color:var(--brand-2);color:var(--brand-2)}.biz-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;height:160px;align-items:end}.biz-bar{display:grid;grid-template-rows:1fr auto;height:100%;text-align:center}.biz-stack{display:flex;flex-direction:column;justify-content:flex-end;height:100%}.biz-stack span{display:block;min-height:0}.biz-bar small{font-size:.7rem;color:var(--muted)}.is-membership{background:var(--brand-2, #0b5cad)}.is-fees{background:var(--accent, #f5b400)}.is-commission{background:var(--berry, #b0306a)}.biz-legend span{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px 0 10px;vertical-align:middle}.biz-funnel{list-style:none;margin:0;padding:0;display:grid;gap:6px}.biz-funnel li{display:grid;gap:2px}.biz-funnel-bar{display:block;height:14px;border-radius:4px;background:var(--brand-soft);border:1px solid var(--brand-2)}html,body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}a,button,select,summary,label,.card{touch-action:manipulation}.topbar,.bottomnav,.btn,.tabs,.segmented,.menu-drawer,.lang-option,.account-chip{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.btn,.lang-option,.card{transition:transform .12s ease,background .15s,color .15s,filter .15s,box-shadow .15s}.btn:active:not(:disabled),.lang-option:active,.card:active{transform:scale(.97)}.appbar-title,.appbar-signout{display:none}.page-enter{animation:page-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.account-lang select{max-width:260px}.account-legal{margin:14px 0 0}@media screen and (max-width:959px){.topbar{padding:calc(8px + env(safe-area-inset-top)) 16px 8px;min-height:calc(56px + env(safe-area-inset-top));gap:12px}.brand img{width:32px;height:32px;border-radius:10px}.app.is-member .brand-text{display:none}.app.is-member .appbar-title{display:block;min-width:0;font-family:var(--font-head);font-weight:600;font-size:1.2rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app.is-member:not(.is-pos) .topbar-controls{display:none}.app.is-member .appbar-signout{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;flex:none;min-height:40px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--brand);font-weight:600;font-size:.85rem;cursor:pointer}.app.is-member .appbar-signout:active{transform:scale(.95);background:var(--brand-soft)}.app.is-member .app-footer{display:none}.bottomnav{left:0;right:0;bottom:0;border-radius:0;border:0;border-top:1px solid rgb(7 38 69 / 8%);box-shadow:0 -4px 20px #0726450f;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#ffffffeb}.bottomnav a,.bottomnav a[aria-current=page]{border-radius:0;background:none;gap:4px}.bottomnav a svg{box-sizing:content-box;padding:4px 18px;border-radius:999px;transition:background .2s,transform .12s}.bottomnav a[aria-current=page] svg{background:var(--brand-soft)}.bottomnav a:active svg{transform:scale(.9)}.main{padding-bottom:calc(var(--bottomnav-h) + 24px + env(safe-area-inset-bottom))}.dialog{margin:auto 0 0;width:100%;max-width:100vw;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-up .25s cubic-bezier(.2,.8,.2,1)}.dialog:before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--border-strong);margin:10px auto 0}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%;justify-content:center;min-height:48px}}@media(prefers-reduced-motion:reduce){.page-enter,.dialog{animation:none}.btn:active:not(:disabled),.lang-option:active,.card:active{transform:none}}.check-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-3);font-size:.85rem;font-weight:600;cursor:pointer}.check-pill:has(input:checked){background:var(--accent-soft);border-color:#f3dcb2;color:var(--accent-ink)}.check-pill:has(input:disabled){opacity:.65;cursor:default}.check-pill input{width:18px;height:18px;margin:0;accent-color:var(--brand)}.group-recipe{align-items:center;gap:12px;width:100%}.group-recipe-img{flex:none;width:56px;height:56px;border-radius:12px;object-fit:cover}.welcome-id{font-size:1.05rem;margin-bottom:4px}.welcome-id .member-id{font-size:1.35rem;margin-inline-start:4px}.forgot-link{align-self:flex-end;margin-top:-4px;padding:6px 2px;background:none;border:0;color:var(--link);font-weight:600;font-size:.92rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.chips-label{flex:none;align-self:center;font-size:.82rem;font-weight:600;color:var(--muted);padding-inline-end:2px}.hero-card .chips-label{color:#fffc}.chip.is-empty:not(.is-active){opacity:.6}.filter-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}@media(max-width:420px){.filter-selects{grid-template-columns:1fr}}.filter-select{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.82rem;font-weight:600}.hero-card .filter-select>span{color:#ffffffd9}.filter-select select{width:100%;min-height:44px;border:1px solid var(--border);border-radius:14px;background-color:var(--surface);color:var(--ink);padding:8px 36px 8px 14px;font-size:.95rem;font-weight:500;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23223c57' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}[dir=rtl] .filter-select select{padding:8px 14px 8px 36px;background-position:left 12px center}.card-price{margin:4px 0 0;color:var(--muted)}.card-price .suggested-price strong{color:var(--brand)}.lock-price{margin:0 0 8px}.price-row{align-items:flex-end}.price-edit-row>td{background:var(--surface-3)}.quick-price{position:sticky;inset-inline-start:0;max-width:min(560px,calc(100vw - 64px))}
