@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-primary: #614124;--color-primary-hover: #988471;--color-primary-pressed: #49311b;--color-primary-soft: #ece8e5;--color-on-primary: #fff9f2;--color-bg: #f4efe8;--color-bg-deep: #e9e0d4;--color-surface: #fffdf9;--color-surface-muted: #f2ece4;--color-surface-strong: #e7ddcf;--color-overlay: rgba(32, 23, 15, .44);--color-text: #241b13;--color-text-secondary: #6d5e50;--color-text-muted: #9a8b7c;--color-text-inverse: #fff9f2;--color-border: #e5d9cb;--color-border-strong: #cbb8a3;--color-success: #3f6f53;--color-success-soft: #e6efe7;--color-warning: #a8651f;--color-warning-soft: #f8ead8;--color-danger: #a5443b;--color-danger-soft: #f7e2df;--color-info: #45637a;--color-info-soft: #e6edf2;--color-accent: #6f7f5e;--color-accent-soft: #ebeee2;--color-highlight: #c07a3a;--color-highlight-soft: #f7e7d6;--chart-1: #2a78d6;--chart-2: #eb6834;--chart-3: #1baf7a;--chart-brand: #c07a3a;--chart-brand-soft: #e8ddd2;--chart-grid: #ece3d8;--chart-axis: #9a8b7c;--font-sans: "Inter", "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;--font-display: "Poppins", "Inter", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;--fs-12: .75rem;--fs-13: .8125rem;--fs-14: .875rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-20: 1.25rem;--fs-24: 1.5rem;--fs-28: 1.75rem;--fs-32: 2rem;--lh-tight: 1.18;--lh-snug: 1.35;--lh-normal: 1.55;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--shadow-raised: 0 1px 2px rgba(48, 32, 18, .05), 0 8px 24px rgba(48, 32, 18, .06);--shadow-float: 0 16px 48px rgba(36, 24, 13, .2);--shadow-inset: inset 0 0 0 1px var(--color-border);--shell-max: 375px;--page-pad: 20px;--card-pad: 16px;--bottomnav-h: 64px;--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-fast: .14s;--dur-base: .22s;--dur-slow: .32s}[data-theme=dark]{color-scheme:dark;--color-primary: #c69a6c;--color-primary-hover: #d8b28c;--color-primary-pressed: #b08355;--color-primary-soft: #2e241b;--color-on-primary: #1a130d;--color-bg: #14110e;--color-bg-deep: #0d0b09;--color-surface: #1e1915;--color-surface-muted: #272019;--color-surface-strong: #33291f;--color-overlay: rgba(0, 0, 0, .58);--color-text: #f4ede4;--color-text-secondary: #c4b5a6;--color-text-muted: #938476;--color-text-inverse: #1a130d;--color-border: #3a2f25;--color-border-strong: #4c3d2f;--color-success: #86c69c;--color-success-soft: #1e2c23;--color-warning: #e5b073;--color-warning-soft: #32261a;--color-danger: #e79185;--color-danger-soft: #33201d;--color-info: #93b3c7;--color-info-soft: #1b262d;--color-accent: #a8b78f;--color-accent-soft: #252b1e;--color-highlight: #e0a86b;--color-highlight-soft: #34271b;--chart-1: #3987e5;--chart-2: #d95926;--chart-3: #199e70;--chart-brand: #c2823f;--chart-brand-soft: #2e241b;--chart-grid: #33291f;--chart-axis: #938476;--shadow-raised: 0 0 0 1px #3a2f25, 0 8px 24px rgba(0, 0, 0, .32);--shadow-float: 0 0 0 1px #3a2f25, 0 20px 56px rgba(0, 0, 0, .55);--shadow-inset: inset 0 0 0 1px var(--color-border)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,PingFang SC,Noto Sans CJK SC,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}.auth__agreement button,.profile-row,.settings-row,.search-group__title button,.tone-dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}img,svg{display:block;max-width:min(100%,var(--shell-max))}.shell{min-height:100dvh;display:flex;justify-content:center;background:var(--color-bg-deep)}.shell__screen{width:min(var(--shell-max),100vw);min-height:100dvh;background:var(--color-bg);padding:0 var(--page-pad) calc(var(--bottomnav-h) + var(--space-6));position:relative}@media(min-width:720px){.shell__screen{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);box-shadow:var(--shadow-float)}}.tabular{font-variant-numeric:tabular-nums}:root{--color-page-bg: #e9e4df}html,body,#root{height:auto;min-height:100%}#root{align-items:flex-start}.shell,.app-shell{min-height:100vh;min-height:100dvh}body{background:var(--color-page-bg, #e9e4df)}a{color:inherit;text-decoration:none}a:visited{color:inherit}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.iconbtn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.iconbtn:disabled{cursor:not-allowed;opacity:.45}.iconbtn--sm{width:32px;height:32px;border-radius:var(--radius-sm)}.iconbtn--filled{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}.iconbtn:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.iconbtn--filled:hover:not(:disabled){background:var(--color-surface-strong)}.iconbtn:active:not(:disabled){transform:translateY(1px)}.iconbtn svg{width:20px;height:20px}.iconbtn--sm svg{width:18px;height:18px}.toast-stack{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(440px,calc(100vw - 24px));z-index:2000;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-text-inverse);border:1px solid var(--color-border);box-shadow:var(--shadow-float);pointer-events:auto;animation:toast-slide-in var(--dur-base) var(--ease-out)}.toast__icon{display:inline-flex;flex:0 0 auto}.toast--success .toast__icon{color:var(--color-success)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--error .toast__icon{color:var(--color-danger)}.toast__message{flex:1;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--color-text-inverse)}.toast .iconbtn{color:var(--color-text-inverse);opacity:.75}.toast .iconbtn:hover{background:var(--color-overlay);color:var(--color-text-inverse)}.toast__action{flex:0 0 auto;padding:0 var(--space-2);border:0;background:transparent;color:var(--color-highlight);font-size:var(--fs-13);font-weight:var(--fw-semibold);cursor:pointer}.toast__action:hover{text-decoration:underline}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.bottomnav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(var(--shell-max),100vw);height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom));padding:0 var(--space-2) env(safe-area-inset-bottom);display:flex;align-items:stretch;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:var(--shadow-raised);z-index:500}.bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--color-text-muted);font-size:var(--fs-12);font-weight:var(--fw-medium);border-radius:var(--radius-md);transition:color var(--dur-fast) var(--ease-out)}.bottomnav__item:active{transform:translateY(1px)}.bottomnav__item.is-active{color:var(--color-primary)}.bottomnav__icon{position:relative;display:inline-flex}.bottomnav__badge{position:absolute;top:-4px;right:-8px}.btn{--btn-h: 40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--btn-h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);line-height:1;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--full{width:100%}.btn--sm{--btn-h: 32px;padding:0 var(--space-3);font-size:var(--fs-12);border-radius:var(--radius-sm)}.btn--lg{--btn-h: 48px;padding:0 var(--space-5);font-size:var(--fs-16);border-radius:var(--radius-lg)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--primary:active:not(:disabled){background:var(--color-primary-pressed)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-muted)}.btn--secondary:active:not(:disabled){background:var(--color-surface-strong)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.btn__icon svg{width:18px;height:18px}.btn__label{display:inline-block}.btn__spinner{animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.field__label{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.input{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.field--sm .input{min-height:36px;border-radius:var(--radius-sm)}.input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.field--error .input{border-color:var(--color-danger)}.field--error .input:focus-within{box-shadow:0 0 0 3px var(--color-danger-soft)}.field--disabled .input{background:var(--color-surface-muted);opacity:.7}.input__control{flex:1;width:100%;min-width:0;border:0;background:transparent;color:var(--color-text);font-size:var(--fs-14);outline:none;padding:var(--space-2) 0}.input__control::placeholder{color:var(--color-text-muted)}.input__control[type=search]::-webkit-search-cancel-button{display:none}.field--sm .input__control{font-size:var(--fs-13)}.input__prefix,.input__suffix{display:inline-flex;align-items:center;color:var(--color-text-muted);flex:0 0 auto}.input__action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.input__action:hover{background:var(--color-surface-muted);color:var(--color-text)}.input__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.field__hint,.field__error{font-size:var(--fs-12);line-height:var(--lh-snug)}.field__hint{color:var(--color-text-muted)}.field__error{color:var(--color-danger)}.checkbox{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox--disabled{cursor:not-allowed;opacity:.55}.checkbox__control{position:relative;display:inline-flex;flex:0 0 auto;padding-top:1px}.checkbox__input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.checkbox__box{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid var(--color-border-strong);border-radius:6px;background:var(--color-surface);color:var(--color-on-primary);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.checkbox__input:checked+.checkbox__box,.checkbox__input:indeterminate+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox__input:focus-visible+.checkbox__box{outline:2px solid var(--color-primary);outline-offset:2px}.checkbox__text{display:flex;flex-direction:column;gap:2px}.checkbox__label{font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--color-text)}.checkbox__description{font-size:var(--fs-12);color:var(--color-text-muted);line-height:var(--lh-snug)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);animation:modal-backdrop-in var(--dur-base) var(--ease-out)}.modal{position:relative;z-index:1;display:flex;flex-direction:column;width:min(420px,calc(100vw - 40px));max-height:calc(100dvh - 80px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-float);overflow:hidden;animation:modal-in var(--dur-base) var(--ease-out)}.modal--sm{width:min(340px,calc(100vw - 40px))}.modal--lg{width:min(480px,calc(100vw - 32px))}.modal.is-closing{animation:modal-out .18s var(--ease-in) forwards}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3)}.modal__heading{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.modal__title{font-size:var(--fs-18);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--color-text)}.modal__description{font-size:var(--fs-13);line-height:var(--lh-normal);color:var(--color-text-secondary)}.modal__body{padding:var(--space-3) var(--space-5) var(--space-5);overflow-y:auto;flex:1;min-height:0}.modal__footer{display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-out{to{opacity:0;transform:translateY(6px) scale(.985)}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.auth{min-height:100dvh;display:flex;flex-direction:column;padding:0 var(--page-pad) var(--space-6);gap:var(--space-6)}.auth__hero{margin:0 calc(-1 * var(--page-pad));position:relative;height:220px;overflow:hidden}.auth__hero img{width:100%;height:100%;object-fit:cover}.auth__hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#140c062e,#140c068c)}.auth__hero-caption{position:absolute;left:var(--page-pad);right:var(--page-pad);bottom:var(--space-4);z-index:1;color:#fff9f2}.auth__hero-caption h1{font-family:var(--font-display);font-size:var(--fs-28);font-weight:var(--fw-bold);line-height:var(--lh-tight);text-shadow:0 1px 8px rgba(20,12,6,.4)}.auth__hero-caption p{font-size:var(--fs-13);opacity:.92;margin-top:4px}.auth__brand{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4)}.auth__logo{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center}.auth__title{font-family:var(--font-display);font-size:var(--fs-28);font-weight:var(--fw-bold);color:var(--color-text);line-height:var(--lh-tight)}.auth__subtitle{font-size:var(--fs-14);color:var(--color-text-secondary);line-height:var(--lh-normal)}.auth__form{display:flex;flex-direction:column;gap:var(--space-4)}.auth__coderow{display:flex;gap:var(--space-3);align-items:flex-start}.auth__coderow>:first-child{flex:1}.auth__codebtn{flex-shrink:0;margin-top:22px;white-space:nowrap}.auth__agreement{font-size:var(--fs-12);color:var(--color-text-secondary);line-height:var(--lh-normal)}.auth__agreement a,.auth__agreement button{color:var(--color-primary);font-weight:var(--fw-medium);text-decoration:underline;text-underline-offset:2px;background:none;border:0;padding:0;cursor:pointer;font-size:inherit;font-family:inherit;line-height:inherit;text-align:inherit;border-radius:0}.auth__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--fs-12)}.auth__divider:before,.auth__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth__wechat{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-14);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.auth__wechat:active{background:var(--color-primary-soft)}.auth__footer{margin-top:auto;text-align:center;font-size:var(--fs-13);color:var(--color-text-secondary)}.auth__footer a,.auth__footer button{color:var(--color-primary);font-weight:var(--fw-semibold);text-decoration:none;background:none;border:0;padding:0;font-size:inherit;cursor:pointer}.auth__demo{font-size:var(--fs-12);color:var(--color-text-muted);text-align:center;line-height:var(--lh-normal)}.auth__demo strong{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.auth-dialog{display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--fs-14);color:var(--color-text-secondary);line-height:var(--lh-normal);max-height:60vh;overflow-y:auto}.auth-dialog h3{font-size:var(--fs-16);color:var(--color-text)}.stat-tile{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0}.stat-tile--flat{background:var(--color-surface-muted);border-color:transparent}.stat-tile__label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-13);color:var(--color-text-secondary)}.stat-tile__value{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-semibold);color:var(--color-text);font-variant-numeric:tabular-nums;line-height:var(--lh-tight)}.stat-tile__value--sm{font-size:var(--fs-20)}.stat-tile__delta{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-12);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.stat-tile__delta--up{color:var(--color-success)}.stat-tile__delta--down{color:var(--color-danger)}.stat-tile__delta--flat{color:var(--color-text-muted)}.stat-tile__hint{font-size:var(--fs-12);color:var(--color-text-muted)}.stat-tile--sm{padding:var(--space-3);gap:2px}.stat-tile--sm .stat-tile__label{font-size:var(--fs-12);line-height:var(--lh-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-tile--sm .stat-tile__value{font-size:var(--fs-20);line-height:1.2}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.card--flat{box-shadow:none}.card--raised{box-shadow:var(--shadow-raised)}.card--pad-none{padding:0}.card--pad-sm{padding:var(--space-3)}.card--pad-md{padding:var(--card-pad)}.card--interactive{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.card--interactive:hover{border-color:var(--color-border-strong);background:var(--color-surface-muted)}.card--interactive:active{transform:translateY(1px)}.card--interactive:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:var(--fs-11, .6875rem);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}.badge--count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--color-danger);color:var(--color-text-inverse);font-variant-numeric:tabular-nums}.badge--dot{gap:var(--space-2);font-size:var(--fs-12);color:var(--color-text-secondary)}.badge__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-text-muted)}.badge--dot.badge--danger .badge__dot{background:var(--color-danger)}.badge--dot.badge--success .badge__dot{background:var(--color-success)}.badge--dot.badge--warning .badge__dot{background:var(--color-warning)}.badge--dot.badge--info .badge__dot{background:var(--color-info)}.badge--pill{padding:5px 9px;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:var(--fs-12);letter-spacing:.01em}.badge--pill.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--pill.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--pill.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--pill.badge--info{background:var(--color-info-soft);color:var(--color-info)}.badge--pill.badge--muted{background:var(--color-surface-muted);color:var(--color-text-muted)}.badge--pill.badge--neutral{background:var(--color-primary-soft);color:var(--color-primary)}.statuspill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--fs-12);font-weight:var(--fw-semibold);white-space:nowrap}.statuspill--neutral{background:var(--color-surface-strong);color:var(--color-text-secondary)}.statuspill--info{background:var(--color-info-soft);color:var(--color-info)}.statuspill--success{background:var(--color-success-soft);color:var(--color-success)}.statuspill--warning{background:var(--color-warning-soft);color:var(--color-warning)}.statuspill--danger{background:var(--color-danger-soft);color:var(--color-danger)}.skeleton{position:relative;overflow:hidden;background:var(--color-surface-strong);border-radius:var(--radius-sm);pointer-events:none}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--color-surface-muted),transparent);transform:translate(-100%);animation:skeleton-shimmer 1.4s var(--ease-out) infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton--text{height:14px;min-width:64px}.skeleton--text:last-child{width:60%}.skeleton--card{height:96px;width:100%;border-radius:var(--radius-md)}.skeleton--list{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.skeleton--list .skeleton-row{display:flex;align-items:center;gap:var(--space-3)}.skeleton--list .skeleton-avatar{height:40px;width:40px;border-radius:var(--radius-pill);flex-shrink:0}.skeleton--list .skeleton-lines{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);text-align:center}.empty-state__illustration{width:132px;height:auto}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-primary-soft);color:var(--color-primary)}.empty-state__text{display:flex;flex-direction:column;gap:var(--space-1);max-width:280px}.empty-state__title{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--color-text)}.empty-state__description{font-size:var(--fs-13);line-height:var(--lh-normal);color:var(--color-text-secondary)}.empty-state__action{margin-top:var(--space-1)}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;pointer-events:none}.drawer-layer.drawer-layer--bottom{align-items:flex-end;justify-content:center}.drawer-layer.drawer-layer--left{align-items:stretch;justify-content:flex-start}.drawer-layer.drawer-layer--right{align-items:stretch;justify-content:flex-end}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);pointer-events:auto;animation:drawer-backdrop-in var(--dur-base) var(--ease-out)}.drawer{position:relative;z-index:1;display:flex;flex-direction:column;pointer-events:auto;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-float);outline:none}.drawer--bottom{width:min(var(--shell-max),100vw);max-height:90dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:0;animation:drawer-bottom-in .24s var(--ease-out)}.drawer--bottom.drawer--lg{max-height:94dvh}.drawer--left,.drawer--right{width:min(340px,86vw);height:100dvh;max-height:100dvh;border-radius:0}.drawer--left{border-left:0;animation:drawer-left-in .24s var(--ease-out)}.drawer--right{border-right:0;animation:drawer-right-in .24s var(--ease-out)}.drawer--bottom.drawer--closing{animation:drawer-bottom-out .22s var(--ease-in) forwards}.drawer--left.drawer--closing{animation:drawer-left-out .22s var(--ease-in) forwards}.drawer--right.drawer--closing{animation:drawer-right-out .22s var(--ease-in) forwards}.drawer__grabber{width:36px;height:4px;margin:var(--space-2) auto 0;border-radius:var(--radius-pill);background:var(--color-surface-strong);flex:0 0 auto}.drawer--left .drawer__grabber,.drawer--right .drawer__grabber{display:none}.drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-2);flex:0 0 auto}.drawer__heading{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.drawer__title{font-size:var(--fs-18);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--color-text)}.drawer__description{font-size:var(--fs-13);color:var(--color-text-secondary);line-height:var(--lh-normal)}.drawer__body{padding:var(--space-3) var(--space-5) var(--space-5);overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}.drawer__footer{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-5);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);flex:0 0 auto}.drawer__footer>*{flex:1}@keyframes drawer-bottom-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes drawer-bottom-out{to{transform:translateY(100%)}}@keyframes drawer-left-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-left-out{to{transform:translate(-100%)}}@keyframes drawer-right-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-right-out{to{transform:translate(100%)}}@keyframes drawer-backdrop-in{0%{opacity:0}to{opacity:1}}.select{position:relative;display:flex;align-items:center}.select__control{width:100%;min-height:44px;padding:0 var(--space-8) 0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-14);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.field--sm .select__control{min-height:36px;border-radius:var(--radius-sm);font-size:var(--fs-13)}.select__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.field--error .select__control{border-color:var(--color-danger)}.select__control:disabled{background:var(--color-surface-muted);color:var(--color-text-muted);cursor:not-allowed}.select__chevron{position:absolute;right:var(--space-3);color:var(--color-text-muted);pointer-events:none}.textarea{width:100%;min-height:92px;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-14);line-height:var(--lh-normal);resize:vertical;outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.textarea::placeholder{color:var(--color-text-muted)}.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.field--error .textarea{border-color:var(--color-danger)}.field--error .textarea:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}.quickorder{display:flex;flex-direction:column;gap:var(--space-4)}.quickorder__section{display:flex;flex-direction:column;gap:var(--space-2)}.quickorder__sectiontitle{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.quickorder__cats{display:flex;gap:var(--space-2);flex-wrap:wrap}.quickorder__items{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.quickorder__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.quickorder__item:last-child{border-bottom:0}.quickorder__item.is-off{opacity:.45}.quickorder__itemmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.quickorder__itemname{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--color-text)}.quickorder__itemprice{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.quickorder__stepper{display:inline-flex;align-items:center;gap:var(--space-2)}.quickorder__stepbtn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.quickorder__stepbtn:active{background:var(--color-primary-soft)}.quickorder__stepbtn:disabled{opacity:.4;cursor:not-allowed}.quickorder__qty{min-width:20px;text-align:center;font-size:var(--fs-14);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.quickorder__grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.quickorder__summary{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius-md);font-size:var(--fs-13)}.quickorder__sumrow{display:flex;justify-content:space-between;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.quickorder__sumrow strong{color:var(--color-text)}.quickorder__sumrow--total{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--color-text);border-top:1px dashed var(--color-border-strong);padding-top:var(--space-2)}.listitem{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);background:transparent;border:0;border-radius:var(--radius-md);text-align:left;color:var(--color-text);transition:background-color var(--dur-fast) var(--ease-out)}.listitem--interactive{cursor:pointer}.listitem--interactive:hover{background:var(--color-surface-muted)}.listitem--interactive:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.listitem.is-selected{background:var(--color-primary-soft)}.listitem__leading{display:inline-flex;flex:0 0 auto}.listitem__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.listitem__title{font-size:var(--fs-14);font-weight:var(--fw-medium);line-height:var(--lh-snug);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listitem__subtitle{font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listitem__meta{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:0 0 auto;text-align:right}.listitem__trailing{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--color-text-muted)}.dashboard{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-4)}.dash-head{display:flex;align-items:center;gap:var(--space-3)}.dash-head__main{flex:1;min-width:0}.dash-head__greeting{font-size:var(--fs-13);color:var(--color-text-muted)}.dash-head__name{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);color:var(--color-text);line-height:var(--lh-tight)}.dash-head__icons{display:flex;gap:var(--space-1)}.dash-kpis{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.dash-kpis__main{grid-column:1 / -1}.dash-section{display:flex;flex-direction:column;gap:var(--space-3)}.dash-section__head{display:flex;align-items:center;justify-content:space-between}.dash-section__title{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--color-text)}.dash-section__more{font-size:var(--fs-13);color:var(--color-primary);font-weight:var(--fw-medium);text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.quick-grid__item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--fs-12);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);text-decoration:none}.quick-grid__item:active{background:var(--color-primary-soft)}.quick-grid__item span{line-height:1.2;text-align:center}.quick-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--fs-13);cursor:pointer;border:0;width:100%;text-align:left;transition:filter var(--dur-fast) var(--ease-out)}.quick-alert:active{filter:brightness(.96)}.today-orders{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.hot-product{display:flex;align-items:center;gap:var(--space-3)}.hot-product__rank{width:22px;height:22px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--fs-12);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-variant-numeric:tabular-nums}.hot-product__bar{height:6px;border-radius:3px;background:var(--chart-brand);transition:width var(--dur-slow) var(--ease-out)}.page-header{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;position:sticky;top:0;z-index:40;background:var(--color-bg)}.page-header__side{display:flex;align-items:center;flex-shrink:0;min-width:40px}.page-header__main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.page-header__title{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header__subtitle{font-size:var(--fs-12);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page-header--centered .page-header__title{text-align:center}.tabs{display:flex;align-items:center;gap:var(--space-1);width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs__tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 var(--space-3);border:0;background:transparent;color:var(--color-text-secondary);font-size:var(--fs-14);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.tabs__tab:hover{color:var(--color-text)}.tabs__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.tabs__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:.6875rem;font-variant-numeric:tabular-nums}.tabs__tab.is-active .tabs__count{background:var(--color-primary);color:var(--color-on-primary)}.tabs--underline{border-bottom:1px solid var(--color-border);gap:0}.tabs--underline .tabs__tab{padding:0 var(--space-2);margin-bottom:-1px;border-bottom:2px solid transparent}.tabs--underline .tabs__tab.is-active{color:var(--color-text);border-bottom-color:var(--color-primary);font-weight:var(--fw-semibold)}.tabs--pill{gap:4px;padding:4px;background:var(--color-surface-muted);border-radius:var(--radius-pill)}.tabs--pill .tabs__tab{flex:1;min-height:32px;border-radius:var(--radius-pill);font-size:var(--fs-13)}.tabs--pill .tabs__tab.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-raised)}.tabs--sm .tabs__tab{min-height:32px;font-size:var(--fs-13)}.searchbar{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.searchbar:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.searchbar__icon{color:var(--color-text-muted);flex-shrink:0}.searchbar__input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:var(--fs-14);color:var(--color-text)}.searchbar__input::placeholder{color:var(--color-text-muted)}.searchbar__clear{display:inline-flex;flex-shrink:0}.orders{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.orders__toolbar{display:flex;gap:var(--space-2);align-items:center}.orders__list{display:flex;flex-direction:column;gap:var(--space-2)}.order-row{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.order-row:active{background:var(--color-primary-soft)}.order-row__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:4px}.order-row__no{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.order-row__mid{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.order-row__customer{font-size:var(--fs-15, var(--fs-14));font-weight:var(--fw-semibold);color:var(--color-text)}.order-row__items{font-size:var(--fs-12);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-row__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.order-row__time{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.order-row__total{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.filter-drawer{display:flex;flex-direction:column;gap:var(--space-4);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-group{display:flex;flex-direction:column;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-group__label{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-chip{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-pill);padding:5px 12px;font-size:var(--fs-13);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.filter-chip.is-on{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--fw-semibold)}.filter-summary{font-size:var(--fs-12);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-summary__clear{color:var(--color-primary);background:none;border:0;padding:0;font-size:inherit;cursor:pointer}.detail{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.detail__block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.detail__blocktitle{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.detail__head{display:flex;flex-direction:column;gap:var(--space-2)}.detail__statusrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.detail__no{font-size:var(--fs-13);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.detail__total{font-family:var(--font-display);font-size:var(--fs-32);font-weight:var(--fw-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.kv{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-14)}.kv__key{color:var(--color-text-secondary);flex-shrink:0}.kv__val{color:var(--color-text);text-align:right;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}.kv--strong .kv__val{font-weight:var(--fw-semibold)}.line-item{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-14)}.line-item__name{color:var(--color-text)}.line-item__qty{color:var(--color-text-muted);font-size:var(--fs-12)}.line-item__amount{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium)}.timeline{display:flex;flex-direction:column;gap:0}.timeline__step{display:flex;gap:var(--space-3);position:relative;padding-bottom:var(--space-4)}.timeline__step:last-child{padding-bottom:0}.timeline__dot{width:10px;height:10px;border-radius:50%;background:var(--color-border-strong);margin-top:5px;flex-shrink:0;position:relative;z-index:1}.timeline__step.is-done .timeline__dot{background:var(--color-primary)}.timeline__step:before{content:"";position:absolute;left:4.5px;top:16px;bottom:0;width:1px;background:var(--color-border)}.timeline__step:last-child:before{display:none}.timeline__label{font-size:var(--fs-14);color:var(--color-text);font-weight:var(--fw-medium)}.timeline__time{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.refund-banner{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--fs-13)}.refund-banner strong{font-size:var(--fs-14)}.action-bar{display:flex;gap:var(--space-3);flex-wrap:wrap}.action-bar>*{flex:1;min-width:140px}.reason-group{display:flex;flex-direction:column;gap:var(--space-2)}.confirm-body{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fs-14);color:var(--color-text-secondary);line-height:var(--lh-normal)}.confirm-body strong{color:var(--color-text)}.progress-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.switch{display:inline-flex;align-items:center;gap:var(--space-3);padding:0;border:0;background:transparent;cursor:pointer;color:var(--color-text);text-align:left}.switch:disabled{cursor:not-allowed;opacity:.5}.switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.switch__track{position:relative;display:inline-block;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--color-surface-strong);border:1px solid var(--color-border-strong);flex:0 0 auto;transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.switch__thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--color-surface);box-shadow:0 1px 2px var(--color-overlay);transition:transform var(--dur-base) var(--ease-out)}.switch--on .switch__track{background:var(--color-primary);border-color:var(--color-primary)}.switch--on .switch__thumb{transform:translate(18px)}.switch__text{display:flex;flex-direction:column;gap:2px}.switch__label{font-size:var(--fs-14);font-weight:var(--fw-medium)}.switch__description{font-size:var(--fs-12);color:var(--color-text-muted);line-height:var(--lh-snug)}.switch--with-label{justify-content:space-between;width:100%}.stepper{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 0 0}.stepper__step{display:flex;align-items:center;gap:var(--space-2)}.stepper__num{width:22px;height:22px;border-radius:50%;background:var(--color-surface-strong);color:var(--color-text-secondary);font-size:var(--fs-12);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-variant-numeric:tabular-nums}.stepper__step.is-current .stepper__num{background:var(--color-primary);color:var(--color-on-primary)}.stepper__step.is-done .stepper__num{background:var(--color-success);color:var(--color-on-primary)}.stepper__label{font-size:var(--fs-12);color:var(--color-text-secondary);white-space:nowrap}.stepper__line{flex:1;height:1px;background:var(--color-border)}.type-cards{display:flex;flex-direction:column;gap:var(--space-3)}.type-card{display:flex;flex-direction:column;gap:4px;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;text-align:left;transition:all var(--dur-fast) var(--ease-out)}.type-card.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.type-card__name{font-size:var(--fs-15, var(--fs-14));font-weight:var(--fw-semibold);color:var(--color-text)}.type-card__desc{font-size:var(--fs-12);color:var(--color-text-secondary);line-height:var(--lh-snug)}.promo-form{display:flex;flex-direction:column;gap:var(--space-4)}.promo-preview{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-soft)}.promo-preview__name{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--color-text)}.promo-preview__rule{font-size:var(--fs-13);color:var(--color-text-secondary)}.form-footer{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.success-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);text-align:center}.success-hero__icon{width:64px;height:64px;border-radius:50%;background:var(--color-success-soft);color:var(--color-success);display:flex;align-items:center;justify-content:center}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--color-surface-strong);border-radius:var(--radius-md)}.seg__option{border:0;background:transparent;color:var(--color-text-secondary);font-size:var(--fs-13);font-weight:var(--fw-semibold);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);white-space:nowrap}.seg__option.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-raised)}.seg__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.chart{width:100%}.chart__svg{display:block;width:100%;height:auto}.chart__grid{stroke:var(--chart-grid);stroke-width:1}.chart__axislabel{fill:var(--chart-axis);font-size:10px;font-family:var(--font-sans)}.chart__value{fill:var(--color-text-secondary);font-size:10px;font-weight:600;font-family:var(--font-sans)}.chart-bar{transition:opacity var(--dur-fast) var(--ease-out)}.chart-bar.is-dim{opacity:.35}.chart-hit{fill:transparent;cursor:pointer}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-dot{stroke:var(--color-surface);stroke-width:2}.chart-crosshair{stroke:var(--color-border-strong);stroke-width:1;stroke-dasharray:3 3}.chart-tooltip{position:absolute;pointer-events:none;background:var(--color-text);color:var(--color-text-inverse);border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--fs-12);line-height:var(--lh-snug);box-shadow:var(--shadow-float);z-index:20;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px))}.chart-tooltip strong{font-variant-numeric:tabular-nums}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.chart-legend__item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-12);color:var(--color-text-secondary)}.chart-legend__swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.reports{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.report-kpis{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.channel-list{display:flex;flex-direction:column;gap:var(--space-3)}.channel-row{display:grid;grid-template-columns:72px 1fr 84px;gap:var(--space-3);align-items:center;font-size:var(--fs-13)}.channel-row__bar{height:8px;background:var(--color-surface-strong);border-radius:4px;overflow:hidden}.channel-row__fill{display:block;height:100%;border-radius:4px;transition:width var(--dur-slow) var(--ease-out)}.channel-row__num{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:var(--fw-semibold)}.export-list{display:flex;flex-direction:column;gap:var(--space-2)}.export-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--fs-13)}.export-row__meta{color:var(--color-text-muted);font-size:var(--fs-12)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;overflow:hidden;font-family:var(--font-sans);font-weight:var(--fw-semibold);letter-spacing:.02em;border:1px solid transparent}.avatar--sm{width:28px;height:28px;font-size:var(--fs-12)}.avatar--md{width:36px;height:36px;font-size:var(--fs-13)}.avatar--lg{width:56px;height:56px;font-size:var(--fs-18)}.avatar--clay{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-border)}.avatar--olive{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-border)}.avatar--ink{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-border)}.avatar--sand{background:var(--color-highlight-soft);color:var(--color-highlight);border-color:var(--color-border)}.avatar__image{width:100%;height:100%;object-fit:cover}.avatar__initials{line-height:1}.team{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.week-grid{display:flex;flex-direction:column;gap:var(--space-3)}.week-day{display:flex;flex-direction:column;gap:var(--space-2)}.week-day__head{display:flex;align-items:baseline;gap:var(--space-2)}.week-day__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--color-text)}.week-day__date{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.shift-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.shift-row:active{background:var(--color-primary-soft)}.shift-row__time{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--color-text);font-variant-numeric:tabular-nums;min-width:96px}.shift-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.shift-row__staff{font-size:var(--fs-13);color:var(--color-text)}.shift-row__role{font-size:var(--fs-12);color:var(--color-text-muted)}.member-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.member-row:last-child{border-bottom:0}.member-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.member-row__name{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--color-text)}.member-row__meta{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.swap-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.swap-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.swap-card__reason{font-size:var(--fs-13);color:var(--color-text-secondary);line-height:var(--lh-snug)}.hours-pill{font-size:var(--fs-12);color:var(--color-text-secondary);background:var(--color-surface-strong);border-radius:var(--radius-pill);padding:2px 8px;font-variant-numeric:tabular-nums}.notifications{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.notif-list{display:flex;flex-direction:column;gap:var(--space-2)}.notif-row{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);align-items:flex-start}.notif-row:active{background:var(--color-primary-soft)}.notif-row.is-unread{border-color:var(--color-primary);background:var(--color-primary-soft)}.notif-row__icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-row__title{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--color-text)}.notif-row__body{font-size:var(--fs-13);color:var(--color-text-secondary);line-height:var(--lh-snug)}.notif-row__time{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.notif-cat-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.notif-cat-row:last-child{border-bottom:0}.notif-cat-row__main{display:flex;flex-direction:column;gap:1px}.notif-cat-row__name{font-size:var(--fs-14);color:var(--color-text)}.profile{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.profile-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) 0 var(--space-4)}.profile-hero__name{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);color:var(--color-text)}.profile-hero__meta{font-size:var(--fs-13);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.tone-row{display:flex;gap:var(--space-3);justify-content:center}.tone-dot{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:transparent;transition:border-color var(--dur-fast) var(--ease-out)}.tone-dot.is-active{border-color:var(--color-text);color:var(--color-surface)}.profile-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--space-4)}.profile-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);cursor:pointer}.profile-row:last-child{border-bottom:0}.profile-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.profile-row__name{font-size:var(--fs-14);color:var(--color-text)}.profile-row__value{font-size:var(--fs-13);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.form-modal{display:flex;flex-direction:column;gap:var(--space-3)}.phone-step{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-13);color:var(--color-text-secondary)}.region-picker{display:flex;flex-direction:column;gap:var(--space-2)}.region-picker__row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2)}.region-picker__readonly{font-size:var(--fs-14);color:var(--color-text);line-height:var(--lh-snug)}.settings{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.settings-group{display:flex;flex-direction:column;gap:var(--space-2)}.settings-group__title{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--color-text-secondary);padding-left:var(--space-1)}.settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--space-4);overflow:hidden}.settings-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left;cursor:pointer}.settings-row:last-child{border-bottom:0}.settings-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.settings-row__name{font-size:var(--fs-14);color:var(--color-text)}.settings-row__value{font-size:var(--fs-13);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.promo-manage-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.promo-manage-row:last-child{border-bottom:0}.promo-manage-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pay-method{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.pay-method.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.danger-zone{border:1px solid var(--color-danger-soft)}.settings-row__field{width:110px;flex:0 0 auto;align-self:center}.support{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.support-hero{margin:0;border-radius:var(--radius-lg);overflow:hidden;height:120px}.support-hero img{width:100%;height:100%;object-fit:cover}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.faq-item__q{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:0;text-align:left;font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--color-text);cursor:pointer}.faq-item__a{padding:0 var(--space-4) var(--space-3);font-size:var(--fs-13);color:var(--color-text-secondary);line-height:var(--lh-normal)}.chat-drawer{display:flex;flex-direction:column;gap:var(--space-3);min-height:200px}.chat-msg{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-13);line-height:var(--lh-snug)}.chat-msg--bot{align-self:flex-start;background:var(--color-surface-strong);color:var(--color-text)}.chat-msg--me{align-self:flex-end;background:var(--color-primary);color:var(--color-on-primary)}.chat-quick{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ticket-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.ticket-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.searchpage{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2);min-height:70dvh}.search-group{display:flex;flex-direction:column;gap:var(--space-2)}.search-group__title{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.history-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.result-list{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-6);min-height:80dvh}.ob-hero{display:flex;flex-direction:column;gap:var(--space-2)}.ob-hero__step{font-size:var(--fs-13);color:var(--color-primary);font-weight:var(--fw-semibold)}.ob-hero__title{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-bold);color:var(--color-text);line-height:var(--lh-tight)}.ob-hero__desc{font-size:var(--fs-14);color:var(--color-text-secondary);line-height:var(--lh-normal)}.ob-form{display:flex;flex-direction:column;gap:var(--space-4)}.ob-done{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding-top:var(--space-10)}.ob-summary{display:flex;flex-direction:column;gap:var(--space-2);width:100%;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left}.favorites{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.fav-list{display:flex;flex-direction:column;gap:var(--space-2)}.fav-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.fav-tone{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.fav-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.fav-row__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--color-text)}.fav-row__desc{font-size:var(--fs-12);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.all-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.all-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.all-card:active{background:var(--color-primary-soft)}.activity{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.timeline-list{display:flex;flex-direction:column}.timeline-row{display:flex;gap:var(--space-3);position:relative;padding-bottom:var(--space-4)}.timeline-row:last-child{padding-bottom:0}.timeline-row:before{content:"";position:absolute;left:15px;top:36px;bottom:2px;width:1px;background:var(--color-border)}.timeline-row:last-child:before{display:none}.timeline-row__icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.timeline-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.timeline-row__title{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--color-text)}.timeline-row__detail{font-size:var(--fs-12);color:var(--color-text-secondary);line-height:var(--lh-snug)}.timeline-row__time{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.inventory{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.inv-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}.inv-list{display:flex;flex-direction:column;gap:var(--space-2)}.inv-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.inv-row:active{background:var(--color-primary-soft)}.inv-row__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.inv-row__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--color-text)}.inv-row__cat{font-size:var(--fs-12);color:var(--color-text-muted)}.inv-row__mid{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.inv-row__stock{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.inv-row__stock.is-low{color:var(--color-danger)}.inv-row__meta{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.inv-row__bar{height:5px;border-radius:3px;background:var(--color-surface-strong);overflow:hidden}.inv-row__barfill{height:100%;border-radius:3px;background:var(--color-success);transition:width var(--dur-slow) var(--ease-out)}.inv-row__barfill.is-low{background:var(--color-danger)}.count-row{display:grid;grid-template-columns:1fr auto 84px;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.count-row:last-child{border-bottom:0}.count-row__name{font-size:var(--fs-14);color:var(--color-text)}.count-row__expected{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.count-diff{font-size:var(--fs-12);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.restock-line{display:grid;grid-template-columns:1fr 96px auto;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.restock-line:last-child{border-bottom:0}.restock-line__name{font-size:var(--fs-14);color:var(--color-text);display:flex;flex-direction:column}.restock-line__stock{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.products{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.prod-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.prod-list{display:flex;flex-direction:column;gap:var(--space-2)}.prod-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.prod-row.is-off{opacity:.65}.prod-tone{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.prod-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.prod-row__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--color-text)}.prod-row__meta{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.prod-row__price{text-align:right;display:flex;flex-direction:column;gap:2px}.prod-row__amount{font-size:var(--fs-15, var(--fs-14));font-weight:var(--fw-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.prod-form{display:flex;flex-direction:column;gap:var(--space-3)}.variant-row{display:grid;grid-template-columns:1fr 96px auto;gap:var(--space-2);align-items:center}.draft-card{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface-muted)}.draft-card__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.customers{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.cust-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.cust-list{display:flex;flex-direction:column;gap:var(--space-2)}.cust-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.cust-row:active{background:var(--color-primary-soft)}.cust-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cust-row__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--color-text);display:flex;align-items:center;gap:6px}.cust-row__meta{font-size:var(--fs-12);color:var(--color-text-muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cust-row__spend{text-align:right;display:flex;flex-direction:column;gap:1px;flex-shrink:0}.tier-chip{font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-pill);flex-shrink:0}.tier-chip--会员{background:var(--color-primary-soft);color:var(--color-primary)}.tier-chip--常客{background:var(--color-success-soft);color:var(--color-success)}.tier-chip--新客{background:var(--color-info-soft);color:var(--color-info)}.cust-form,.import-zone{display:flex;flex-direction:column;gap:var(--space-3)}.import-drop{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--fs-13);color:var(--color-text-muted);background:var(--color-surface-muted)}.import-preview{display:flex;flex-direction:column;gap:var(--space-1);max-height:200px;overflow-y:auto;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--fs-12)}.import-preview__row{display:flex;justify-content:space-between;gap:var(--space-2);padding:3px 0;border-bottom:1px dashed var(--color-border)}.import-preview__row:last-child{border-bottom:0}.cust-detail{display:flex;flex-direction:column;gap:var(--space-3)}.cust-detail__orders{display:flex;flex-direction:column;gap:var(--space-2)}.billing{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.plan-list{display:flex;flex-direction:column;gap:var(--space-3)}.plan-card{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);position:relative}.plan-card.is-current{border-color:var(--color-primary);background:var(--color-primary-soft)}.plan-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.plan-card__name{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--color-text)}.plan-card__price{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.plan-card__price small{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--color-text-muted)}.plan-card__features{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-13);color:var(--color-text-secondary)}.plan-card__features span:before{content:"✓";color:var(--color-success);font-weight:700;margin-right:6px}.invoice-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.invoice-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--fs-13)}.invoice-row:last-child{border-bottom:0}.invoice-row__no{color:var(--color-text-muted);font-size:var(--fs-12);font-variant-numeric:tabular-nums}.pay-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface)}.pay-card__brand{width:44px;height:30px;border-radius:6px;background:var(--color-primary);color:var(--color-on-primary);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
