/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{color-scheme:light;--page:light-dark(#fff,#0a0a0c);--rail:light-dark(#f4f4f6,#16181d);--surface:light-dark(#fff,#16181d);--surface2:light-dark(#fafafa,#1d2027);--surface3:light-dark(#f4f4f5,#23262e);--ink:light-dark(#09090b,#fafafa);--ink2:light-dark(#3f3f46,#d4d4d8);--muted:light-dark(#71717a,#8b8f99);--grid:light-dark(#f4f4f5,#23262e);--axis:light-dark(#e4e4e7,#2a2d34);--ring:light-dark(#e4e4e7,#2a2d34);--brand:#1f324e;--accent:light-dark(#1f324e,#93b4dc);--accent-soft:light-dark(#1f324e14,#93b4dc29);--on-accent:light-dark(#fff,#0a0a0c);--s1:light-dark(#0284c7,#38bdf8);--s2:light-dark(#ea580c,#fb923c);--s3:light-dark(#059669,#34d399);--good:light-dark(#16a34a,#4ade80);--warn:light-dark(#b45309,#fbbf24);--serious:light-dark(#ea580c,#fb923c);--crit:light-dark(#dc2626,#f87171);--radius:12px;--shadow-card:0 1px 2px #1113180a,0 12px 30px -16px #11131847;--shadow-card-hover:0 2px 6px #11131812,0 18px 40px -20px #11131866;font-size:15px}html.dark{color-scheme:dark}html[lang^=zh] body{font-family:var(--font-geist-sans),"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",system-ui,-apple-system,sans-serif}html[lang=ja] body{font-family:var(--font-geist-sans),"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP",system-ui,-apple-system,sans-serif}html.dark{--shadow-card:0 1px 2px #00000080,0 12px 30px -16px #000c;--shadow-card-hover:0 2px 6px #0009,0 18px 40px -20px #000000e6}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--page);color:var(--ink);font-family:var(--font-geist-sans),system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.neu-rest{transition:box-shadow .2s,transform .2s,color .15s}.neu-rest:hover{transform:translateY(-2px);box-shadow:8px 8px 18px #8d95abcc,-7px -7px 16px #fff}.neu-rest:active{transform:none;box-shadow:inset 6px 6px 13px #858da3d9,inset -6px -6px 12px #fff}.neu-inset{background-color:#7880961a;box-shadow:inset 6px 6px 13px #858da3e6,inset -6px -6px 12px #fff}html.dark .neu-rest:hover{box-shadow:6px 6px 16px #0000008c,-5px -5px 14px #ffffff08}html.dark .neu-inset,html.dark .neu-rest:active{box-shadow:inset 5px 5px 12px #0009,inset -5px -5px 11px #ffffff09}html.dark .neu-inset{background-color:#ffffff0f}#app{display:flex;overflow:hidden}#sidebar{background:var(--rail);border-radius:16px;flex-direction:column;gap:2px;width:228px;min-width:228px;margin:8px 0 8px 8px;padding:18px 12px;display:flex;overflow-y:auto}.mobile-nav-backdrop,.mobile-nav-close,.mobile-nav-toggle{display:none}.brand{flex-wrap:wrap;align-items:center;gap:10px;padding:4px 10px 16px;display:flex}.brand .logo{filter:drop-shadow(0 1px 1px #11131829)drop-shadow(0 5px 11px #1113183d);flex-shrink:0;align-items:baseline;gap:4px;display:flex}.brand .logo img{flex-shrink:0;width:auto;height:19px}html.dark .brand .logo img{filter:invert()brightness(1.6)}.brand .logo b{letter-spacing:-.03em;text-transform:uppercase;color:var(--brand);font-size:26px;font-weight:900;line-height:1}html.dark .brand .logo b{color:#dbe6f5}.brand .t{letter-spacing:.08em;flex:0 0 100%;margin-top:-4px;font-size:.68rem;font-weight:600;line-height:1.15}.brand .t,.navsec{color:var(--muted);text-transform:uppercase}.navsec{letter-spacing:.1em;margin-top:14px;padding:0 10px 6px;font-size:.66rem}.navitem{color:var(--ink2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;width:100%;padding:6px 12px;font-size:.875rem;font-weight:500;display:flex}.navitem:hover{color:var(--ink)}.navitem.active{color:var(--brand);font-weight:700}html.dark .navitem.active{color:#dbe6f5}.navitem .ic{opacity:.9;flex:0 0 18px;place-items:center;width:18px;display:grid}.navitem .ic svg{width:16px;height:16px}.navitem .pill{background:var(--surface);border:1px solid var(--ring);color:var(--muted);border-radius:99px;margin-left:auto;padding:2px 7px;font-size:.66rem}.navitem.locked{opacity:.35;cursor:not-allowed}.navitem.locked:hover{box-shadow:none;transform:none}#main{flex-direction:column;flex:1;min-width:0;display:flex}#topbar{border-bottom:1px solid var(--ring);background:var(--page);align-items:center;gap:12px;padding:12px 22px;display:flex}#topbar .spacer{flex:1}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{background:var(--surface);color:var(--ink);border:1px solid var(--ring);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:.86rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}.switch-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-right:-6px;font-size:.7rem}.topbar-store{font-weight:650}.btn,.topbar-store{color:var(--ink);font-size:.85rem}.btn{background:var(--surface);border:1px solid var(--ring);cursor:pointer;box-shadow:var(--shadow-card);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:7px 14px;font-family:inherit;transition:background .15s,border-color .15s,box-shadow .2s;display:inline-flex}.btn svg{width:15px;height:15px}.btn:hover{background:var(--surface3)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:650}.btn.primary:hover{background:#2b4468}.btn.ghost{box-shadow:none;background:0 0}.btn.small{padding:4px 10px;font-size:.76rem}.btn.danger{color:var(--crit);border-color:var(--crit)}.btn:disabled{opacity:.4;cursor:not-allowed}#content{flex:1;padding:24px 26px 60px;overflow-y:auto}h1.pagetitle{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.pagehead{border-bottom:1px solid var(--ring);align-items:center;gap:14px;margin-bottom:6px;padding-bottom:14px;display:flex}.pagehead .sub{color:var(--muted);margin-top:3px;font-size:.85rem}.pagehead .right{gap:8px;margin-left:auto;display:flex}.chips{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.chip{border:1px solid var(--ring);color:var(--ink2);cursor:pointer;background:var(--surface);border-radius:99px;padding:5px 13px;font-size:.78rem}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.chips.sub{border-left:2px solid var(--ring);margin-top:-8px;padding-left:10px}.xrlbl{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:10px 0 2px;font-size:.72rem}.xrlbl+.chips{margin:6px 0 0}.grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--ring);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-card);transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s;overflow:hidden}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card .photo{justify-content:center;align-items:center;height:120px;font-size:2.6rem;display:flex;position:relative;overflow:hidden}.card .photo .photoimg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.card .photo .price{color:#fff;background:#09090bb8;border-radius:8px;padding:3px 9px;font-size:.8rem;font-weight:700;position:absolute;top:10px;right:10px}.card .body{padding:12px 14px 14px}.card .name{align-items:center;gap:8px;font-size:.95rem;font-weight:650;display:flex}.card .meta{color:var(--muted);margin-top:4px;font-size:.76rem}.tag{background:var(--surface3);color:var(--ink2);border-radius:6px;margin:6px 4px 0 0;font-size:.68rem;display:inline-block}.badge,.tag{padding:2px 8px}.badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:99px;font-size:.64rem;font-weight:700}.badge.active{color:light-dark(#15803d,#4ade80);background:light-dark(#dcfce7,#4ade8029)}.badge.seasonal{color:light-dark(#0369a1,#38bdf8);background:light-dark(#e0f2fe,#38bdf829)}.badge.testing{color:light-dark(#b45309,#fbbf24);background:light-dark(#fef3c7,#fbbf2429)}.badge.upcoming{color:light-dark(#6d28d9,#a78bfa);background:light-dark(#ede9fe,#a78bfa2e)}.badge.archived{background:var(--surface3);color:var(--muted)}.badge.locked{background:var(--accent-soft);color:var(--accent)}.badge.draft{background:var(--surface3);color:var(--ink2)}.badge.submitted{color:light-dark(#c2410c,#fb923c);background:light-dark(#ffedd5,#fb923c29)}.badge.review{color:light-dark(#b45309,#fbbf24);background:light-dark(#fef3c7,#fbbf2429)}.badge.approved{color:light-dark(#15803d,#4ade80);background:light-dark(#dcfce7,#4ade8029)}.allergen-chip{color:light-dark(#b45309,#fbbf24);background:light-dark(#fef3c7,#fbbf2429);border-radius:99px;align-items:center;gap:4px;margin:6px 4px 0 0;padding:2px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.allergen-chip svg{width:11px;height:11px}.panel{background:var(--surface);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:18px;padding:18px 20px}.panel h3{align-items:center;gap:8px;margin-bottom:12px;font-size:.95rem;display:flex}.panel h3 .hint{color:var(--muted);margin-left:auto;font-size:.76rem;font-weight:400}table.tbl{border-collapse:collapse;width:100%;font-size:.84rem}.tbl th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.06em;background:var(--surface2);border-bottom:1px solid var(--axis);padding:7px 10px;font-size:.7rem;font-weight:600}.tbl th:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.tbl th:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.tbl td{border-bottom:1px solid var(--grid);vertical-align:middle;padding:8px 10px}.tbl tr:last-child td{border-bottom:none}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl tr.rowhover:hover{background:var(--surface2)}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi{background:var(--surface);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:16px 16px 14px;transition:transform .2s ease-out,box-shadow .2s ease-out;position:relative;overflow:hidden}.kpi:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.kpi:before{content:"";background:linear-gradient(90deg,var(--tone-a),var(--tone-b));height:4px;position:absolute;inset:0 0 auto}.kpi{--tone-a:#8b5cf6;--tone-b:#d946ef;--tone:#8b5cf6}.kpi:nth-child(8n+2){--tone-a:#0ea5e9;--tone-b:#2563eb;--tone:#0ea5e9}.kpi:nth-child(8n+3){--tone-a:#34d399;--tone-b:#14b8a6;--tone:#10b981}.kpi:nth-child(8n+4){--tone-a:#fbbf24;--tone-b:#f97316;--tone:#f59e0b}.kpi:nth-child(8n+5){--tone-a:#fb7185;--tone-b:#ec4899;--tone:#f43f5e}.kpi:nth-child(8n+6){--tone-a:#6366f1;--tone-b:#7c3aed;--tone:#6366f1}.kpi:nth-child(8n+7){--tone-a:#2dd4bf;--tone-b:#10b981;--tone:#14b8a6}.kpi:nth-child(8n+8){--tone-a:#d946ef;--tone-b:#ec4899;--tone:#d946ef}.kpi .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem}.kpi .val{letter-spacing:-.02em;color:var(--tone);font-variant-numeric:tabular-nums;margin-top:6px;font-size:1.55rem;font-weight:700}.kpi .delta{color:var(--ink2);margin-top:3px;font-size:.75rem}.kpi .delta.up{color:var(--good)}.kpi .delta.down{color:var(--serious)}.cols{gap:18px;display:grid}.cols.c2{grid-template-columns:1fr 1fr}.cols.c3{grid-template-columns:1fr 1fr 1fr}.cols.c21{grid-template-columns:1.6fr 1fr}@media (max-width:1100px){.cols.c2,.cols.c21,.cols.c3{grid-template-columns:1fr}}.ingrow{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ingrow select{flex:1}.ingrow input{width:74px}.ingrow .unit{width:34px;color:var(--muted);text-align:left;font-size:.72rem}.ingrow .cost{text-align:right;width:64px;color:var(--ink2);font-variant-numeric:tabular-nums;font-size:.8rem}.ingrow .x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:4px 6px;display:grid}.ingrow .x svg{width:14px;height:14px}.ingrow .x:hover{background:var(--surface3);color:var(--crit)}.livebar{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}@media (max-width:900px){.livebar{grid-template-columns:repeat(3,1fr)}}.live{background:var(--surface2);border:1px solid var(--ring);text-align:center;border-radius:10px;padding:10px 12px}.live .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.64rem}.live .val{font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.1rem;font-weight:700}.live.ok .val{color:var(--good)}.live.bad .val{color:var(--serious)}.formrow{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.formrow .fld{flex-direction:column;gap:5px;display:flex}.formrow label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.tagpick{flex-wrap:wrap;gap:6px;display:flex}.tagpick .tp{border:1px solid var(--ring);cursor:pointer;color:var(--ink2);background:var(--surface);border-radius:99px;padding:4px 11px;font-size:.75rem}.tagpick .tp.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.compgroup{margin-bottom:12px}.compgroup:last-child{margin-bottom:0}.compgroup .lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px;font-size:.7rem}#modal-back{z-index:40;background:#09090b66;inset:0}#modal,#modal-back{display:none;position:fixed}#modal{background:var(--surface);border:1px solid var(--ring);z-index:41;width:min(880px,94vw);max-height:92vh;box-shadow:var(--shadow-card-hover);border-radius:16px;top:4vh;left:50%;overflow-y:auto;transform:translate(-50%)}#modal .mhead{align-items:flex-start;gap:20px;padding:22px 24px 4px;display:flex;position:relative}#modal .mphoto{border-radius:14px;flex:0 0 192px;justify-content:center;align-items:center;width:192px;height:192px;font-size:3.4rem;display:flex;overflow:hidden}#modal .mheadtext{flex:1;min-width:0;padding-right:42px}#modal .mclose{background:var(--surface3);border:1px solid var(--ring);color:var(--ink);cursor:pointer;border-radius:99px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:12px;right:14px}#modal .mclose svg{width:15px;height:15px}#modal .mbody{padding:10px 24px 26px}#pmodal-back{z-index:42;background:#09090b73;position:fixed;inset:0}#pmodal{background:var(--surface);border:1px solid var(--ring);z-index:43;width:min(720px,92vw);max-height:88vh;box-shadow:var(--shadow-card-hover);border-radius:16px;position:fixed;top:6vh;left:50%;overflow-y:auto;transform:translate(-50%)}#pmodal .mhead{padding:20px 24px 4px;position:relative}#pmodal .mbody{padding:6px 24px 24px}#pmodal .mclose{position:absolute;top:10px;right:14px}.linkrow{font:inherit;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}.linkrow:hover{text-decoration:underline}.linkrow svg{opacity:.75;flex:0 0 12px;width:12px;height:12px}#line-recipe .linkrow{font-size:inherit}#line-recipe .linkrow svg{width:18px;height:18px}.spec2{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:14px 0;display:grid}.spec2 .sp{background:var(--surface2);border-radius:9px;padding:9px 11px}.spec2 .sp .l{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.62rem}.spec2 .sp .v{margin-top:3px;font-size:.86rem;font-weight:600}.pipe{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:1100px){.pipe{grid-template-columns:1fr 1fr}}.pipecol{background:var(--surface);border:1px solid var(--ring);border-radius:var(--radius);min-height:200px;box-shadow:var(--shadow-card);padding:14px}.pipecol h4{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:.78rem;display:flex}.pipecard{background:var(--surface2);border:1px solid var(--ring);border-radius:10px;margin-bottom:10px;padding:11px 12px}.pipecard:hover{box-shadow:var(--shadow-card)}.pipecard .n{font-size:.87rem;font-weight:650}.pipecard .m{color:var(--muted);margin:4px 0 8px;font-size:.73rem}.pipecard .acts{flex-wrap:wrap;gap:6px;display:flex}#line-mode{background:var(--page);z-index:60;flex-direction:column;display:none;position:fixed;inset:0;overflow-y:auto}#line-mode .line-top{background:var(--page);border-bottom:1px solid var(--ring);flex-wrap:wrap;align-items:center;gap:14px;padding:18px 26px;display:flex;position:sticky;top:0}#line-mode input{border-radius:12px;flex:1;padding:12px 18px;font-size:1.2rem}#line-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;padding:22px 26px;display:grid}.linecard{background:var(--surface);border:1px solid var(--ring);cursor:pointer;box-shadow:var(--shadow-card);border-radius:12px;align-items:center;gap:12px;padding:16px;font-size:1.05rem;font-weight:650;transition:transform .2s ease-out,box-shadow .2s ease-out;display:flex}.linecard:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}#line-recipe{width:100%;max-width:760px;margin:0 auto;padding:10px 26px 80px}#line-recipe .big-name{letter-spacing:-.02em;margin:16px 0 4px;font-size:2.3rem;font-weight:800}#line-recipe .line-row{border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;padding:13px 4px;font-size:1.5rem;display:flex}#line-recipe .line-row .amt{width:140px;color:var(--accent);font-weight:750}#line-recipe .line-method{background:var(--surface);border:1px solid var(--ring);box-shadow:var(--shadow-card);border-radius:12px;margin-top:18px;padding:16px 18px;font-size:1.25rem;line-height:1.5}#line-recipe .allergen{color:var(--warn);align-items:center;gap:8px;margin-top:14px;font-size:1.05rem;font-weight:650;display:flex}.qcrow{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.qcrow .q{background:var(--surface2);color:var(--ink2);border-radius:8px;padding:6px 12px;font-size:.8rem}.preprow{border-bottom:1px solid var(--grid);align-items:center;gap:12px;padding:11px 12px;display:flex}.preprow:last-child{border-bottom:none}.preprow input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand);flex:0 0 20px}.preprow .what{flex:1;min-width:0}.preprow .what .n{font-size:.9rem;font-weight:600}.preprow .what .m{color:var(--muted);margin-top:2px;font-size:.74rem}.preprow .qty{font-variant-numeric:tabular-nums;text-align:right;min-width:96px;font-size:.95rem;font-weight:700}.preprow.done .what .n{color:var(--muted);text-decoration:line-through}.stationbar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.viz-tip{z-index:70;pointer-events:none;background:var(--surface);border:1px solid var(--ring);color:var(--ink);box-shadow:var(--shadow-card-hover);border-radius:8px;padding:6px 10px;font-size:.76rem;display:none;position:fixed}.quiz-opt,svg text{font-family:inherit}.quiz-opt{text-align:left;background:var(--surface);border:1px solid var(--ring);width:100%;color:var(--ink2);cursor:pointer;box-shadow:var(--shadow-card);border-radius:9px;margin-bottom:8px;padding:10px 14px;font-size:.88rem;display:block}.quiz-opt:hover{border-color:var(--accent);color:var(--ink)}.quiz-opt.correct{border-color:var(--good);color:var(--good)}.quiz-opt.wrong{border-color:var(--crit);color:var(--crit)}.notice{background:var(--surface2);border:1px dashed var(--axis);color:var(--muted);border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:.82rem}.flavor-axis-lbl{fill:var(--muted);font-size:11px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--axis);border-radius:6px}::-webkit-scrollbar-track{background:0 0}a{color:inherit;text-decoration:none}#app{height:100vh}.navitem{font-family:inherit}#content{position:relative}.login-wrap{background:radial-gradient(1200px 600px at 50% -10%,#1f324e12,transparent),var(--rail);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--ring);width:min(400px,92vw);box-shadow:var(--shadow-card-hover);border-radius:16px;padding:34px 32px}.login-card .logo{filter:drop-shadow(0 1px 1px #11131829)drop-shadow(0 5px 11px #1113183d);align-items:baseline;gap:5px;margin-bottom:18px;display:flex}.login-card .logo img{width:auto;height:22px}html.dark .login-card .logo img{filter:invert()brightness(1.6)}.login-card .logo b{letter-spacing:-.03em;text-transform:uppercase;color:var(--brand);font-size:30px;font-weight:900;line-height:1}html.dark .login-card .logo b{color:#dbe6f5}.login-card h1{margin-bottom:4px;font-size:1.25rem}.login-card .sub{color:var(--muted);margin-bottom:22px;font-size:.85rem}.login-card label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:14px 0 6px;font-size:.7rem;display:block}.login-card input{width:100%;padding:10px 12px;font-size:.95rem}.login-card button{width:100%;margin-top:22px;padding:11px;font-size:.95rem}.login-err{color:var(--crit);margin-top:12px;font-size:.82rem}.loading-screen{height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.spin{border:2px solid var(--axis);border-top-color:var(--accent);border-radius:99px;width:18px;height:18px;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(1turn)}}@media (max-width:760px){#app{height:100dvh}#sidebar{z-index:50;width:min(300px,86vw);min-width:0;padding:max(18px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom));visibility:hidden;pointer-events:none;border-radius:0 16px 16px 0;margin:0;transition:transform .2s ease-out,visibility 0s linear .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:18px 0 50px #11131847}#sidebar.mobile-open{visibility:visible;pointer-events:auto;transition:transform .2s ease-out,visibility;transform:translate(0)}#sidebar .navitem,.brand{min-height:44px}.brand{padding-right:2px}.mobile-nav-close,.mobile-nav-toggle{border:1px solid var(--ring);width:44px;height:44px;color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;border-radius:10px;flex:0 0 44px;place-items:center;display:grid}.mobile-nav-close{margin-left:auto}.mobile-nav-backdrop:focus-visible,.mobile-nav-close:focus-visible,.mobile-nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-nav-backdrop{z-index:49;cursor:pointer;background:#09090b66;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}#main{width:100%;min-height:0}#topbar{min-height:60px;padding:max(8px,env(safe-area-inset-top)) 12px 8px;gap:8px}#topbar .spacer,#topbar .switch-label,.profile-summary,.topbar-line{display:none}#topbar .topbar-select{flex:130px;min-width:100px;max-width:220px;min-height:44px}#content{padding:16px 14px max(44px,env(safe-area-inset-bottom))}.pagehead{flex-wrap:wrap;align-items:flex-start}.pagehead .right:empty{display:none}.pagehead .right:not(:empty){width:100%;margin-left:0}.livebar{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){#sidebar,#sidebar.mobile-open{transition:none}}.locale-switch{gap:6px;padding:6px 10px 2px;display:flex}.locale-switch button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;padding:5px 8px;font-size:.76rem}.locale-switch button:hover{color:var(--ink)}.locale-switch button.on{color:var(--brand);border-color:var(--ring);background:var(--surface);font-weight:700}html.dark .locale-switch button.on{color:#dbe6f5}.unit-switch{border:1px solid var(--ring);background:var(--surface);border-radius:9px;gap:2px;padding:2px;display:flex}.unit-switch button{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;border-radius:7px;padding:3px 10px;font-size:.76rem}.unit-switch button:hover{color:var(--ink)}.unit-switch button.on{background:var(--accent-soft);color:var(--accent);font-weight:700}.store-logo{object-fit:contain;max-width:82%;max-height:74%}.card .photo.has-logo{background:#0a0a0c!important}.store-logo-preview{object-fit:contain;border:1px solid var(--ring);background:var(--surface2);border-radius:8px;width:52px;height:52px;padding:4px}.bubble-rail{z-index:39;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.bubble-backdrop{z-index:38;background:0 0;position:fixed;inset:0}.bubble{border:1px solid var(--ring);background:var(--surface);width:52px;height:52px;color:var(--ink2);cursor:pointer;box-shadow:var(--shadow-card);border-radius:50%;place-items:center;transition:transform .18s ease-out,box-shadow .18s ease-out;display:grid}.bubble:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.bubble svg{width:21px;height:21px}.bubble.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.bubble.on{outline:2px solid var(--accent);outline-offset:2px}.bubble-panel{background:var(--surface);border:1px solid var(--ring);border-radius:var(--radius);width:min(410px,100vw - 40px);height:min(560px,100vh - 140px);box-shadow:var(--shadow-card-hover);flex-direction:column;display:flex;overflow:hidden}.bp-head{border-bottom:1px solid var(--grid);background:var(--surface2);align-items:center;gap:10px;padding:13px 14px;display:flex}.bp-head>svg{width:18px;height:18px;color:var(--accent);flex:0 0 18px}.bp-title{letter-spacing:-.01em;font-size:.92rem;font-weight:700}.bp-sub{margin-top:1px;font-size:.72rem}.bp-sub,.bp-x{color:var(--muted)}.bp-x{cursor:pointer;background:0 0;border:none;place-items:center;margin-left:auto;padding:4px;display:grid}.bp-x svg{width:16px;height:16px}.bp-body{flex-direction:column;flex:1;gap:9px;padding:14px;display:flex;overflow-y:auto}.bp-empty{color:var(--muted);font-size:.84rem;line-height:1.7}.bp-empty .chips{margin:12px 0 0}.bp-msg{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:88%;padding:9px 12px;font-size:.86rem;line-height:1.7}.bp-msg.user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}.bp-msg.assistant{background:var(--surface2);color:var(--ink);border-bottom-left-radius:4px;align-self:flex-start}.bp-msg.busy{color:var(--muted);align-items:center;gap:7px;display:flex}.bp-msg.busy svg{width:14px;height:14px}.bp-note{border:1px solid var(--ring);background:var(--surface);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 11px;display:flex}.bp-note.pinned{border-color:var(--accent);background:var(--accent-soft)}.bp-note-body{white-space:pre-wrap;word-break:break-word;flex:1;font-size:.85rem;line-height:1.65}.bp-note-actions{flex:none;gap:2px;display:flex}.bp-note-actions button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:3px}.bp-note-actions button:hover{color:var(--accent)}.bp-note-actions svg{width:14px;height:14px}.bp-foot{border-top:1px solid var(--grid);background:var(--surface2);align-items:flex-end;gap:8px;padding:11px;display:flex}.bp-foot textarea{resize:none;font:inherit;border:1px solid var(--ring);background:var(--surface);color:var(--ink);border-radius:9px;flex:1;padding:8px 10px;font-size:.85rem;line-height:1.6}.bp-foot .btn{flex:none}.bp-foot .btn svg{width:15px;height:15px}@media (max-width:640px){.bubble-rail{bottom:12px;right:12px}.bubble{width:46px;height:46px}}html[data-embedded] #sidebar,html[data-embedded] .mobile-nav-toggle{display:none}html[data-embedded] #main{width:100%;margin-left:0}html[data-embedded] #topbar .location-switch{display:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}