@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:500;src:url(./poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(./poppins-devanagari-500-normal-DMPDjHtT.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:500;src:url(./poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(./poppins-latin-ext-500-normal-CgAe2rWW.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:500;src:url(./poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(./poppins-latin-500-normal-DGXqpDMm.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-primary: #0f6bef;--color-primary-strong: #0b57c7;--color-primary-soft: #e7f0ff;--color-primary-softer: #f2f7ff;--color-on-primary: #ffffff;--color-accent: #57eab6;--color-accent-soft: #e3faf2;--color-on-accent: #10382b;--color-text: #17191d;--color-text-secondary: #6b7280;--color-text-tertiary: #9aa1ab;--color-surface: #ffffff;--color-surface-dim: #f5f6f6;--color-bg: #ffffff;--color-line: #e8eaee;--color-danger: #e5484d;--color-danger-soft: #fdebec;--color-warning: #f5a623;--color-warning-soft: #fdf3e0;--color-success: #2f9e6e;--color-success-soft: #e5f5ee;--color-star: #f2b01e;--color-scan: #10151c;--font-display: "Poppins", "Inter", system-ui, "PingFang SC", "Noto Sans CJK SC", sans-serif;--font-body: "Inter", system-ui, "PingFang SC", "Noto Sans CJK SC", sans-serif;--radius-sm: 14px;--radius-md: 20px;--radius-lg: 28px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--shadow-card: 0 10px 30px rgba(23, 25, 29, .06);--shadow-float: 0 14px 40px rgba(23, 25, 29, .16);--shell-max: 430px;--nav-h: 64px}:root{--color-wechat: #0a9e48;--color-alipay: #1677ff;--color-warning-text: #8a5a00;--scan-bg: #10151c;--scan-rim: #2c333d;--scan-mid: #454e5c;--scan-tex: #6b7686;--scan-line: #20262e;--scan-label: #9aa1ab}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--color-text);background:#eef0f3;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}img{display:block;max-inline-size:100%;height:auto}a{color:inherit;text-decoration:none}svg{display:block}.app-shell{position:relative;max-width:var(--shell-max);min-height:100dvh;margin:0 auto;background:var(--color-bg);display:flex;flex-direction:column;overflow-x:clip}.app-shell--page{min-height:100dvh}.page{flex:1;display:flex;flex-direction:column;padding:0 20px;padding-bottom:calc(var(--nav-h) + 28px)}.page--flush{padding:0;padding-bottom:calc(var(--nav-h) + 28px)}.page--no-nav{padding-bottom:28px}.h-display{font-family:var(--font-display);font-weight:600}.section-title{font-family:var(--font-display);font-size:20px;font-weight:600}.muted{color:var(--color-text-secondary)}.dim{color:var(--color-text-tertiary)}.row{display:flex;align-items:center}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column}.tap{cursor:pointer}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:6px}.hr{border:0;border-top:1px solid var(--color-line);margin:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-page-bg: #eef0f3}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, #eef0f3)}.ov-hero{padding:var(--space-4)}.ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ov-mini{display:flex;flex-direction:column;gap:4px;padding:var(--space-4)}.ov-mini__icon{width:40px;height:40px;border-radius:50%;background:var(--color-surface);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:6px;flex-shrink:0}.card--primary .ov-mini__icon{background:var(--color-surface)}.indicator-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.indicator-pill{display:inline-flex;align-items:center;gap:10px;border-radius:var(--radius-pill);padding:12px 20px 12px 12px;font-size:14px;font-weight:600;font-family:var(--font-display)}.indicator-dot{width:26px;height:26px;border-radius:50%;background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center}.indicator-dot:after{content:"";width:10px;height:10px;border-radius:50%;background:inherit}.indicator-levels{display:inline-flex;gap:5px}.indicator-level{width:9px;height:9px;border-radius:50%;background:var(--color-line)}.indicator-level--on{background:var(--color-primary)}.metric-ring{position:relative;width:86px;height:86px;display:flex;align-items:center;justify-content:center}.metric-ring__value{position:absolute;display:inline-flex;align-items:center;gap:2px;font-family:var(--font-display);font-weight:600;font-size:14.5px}.lab-banner{display:flex;align-items:center;gap:12px;padding:var(--space-4);background:var(--color-surface-dim)}.lab-banner__icon{width:48px;height:48px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lab-pkg__icon{width:42px;height:42px;border-radius:50%;background:var(--color-surface);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lab-pkg__icon--on{background:#fff3;color:var(--color-on-primary)}.lab-pkg__count{font-size:12px;color:var(--color-text-secondary)}.lab-pkg__count--on{color:#ffffffd9}.lab-pkg__items{font-size:12px;color:var(--color-text-secondary);line-height:1.6}.lab-pkg__items--on{font-size:12px;color:#ffffffd9;line-height:1.6}.lab-book{border:0;border-radius:var(--radius-pill);padding:9px 20px;font-family:var(--font-display);font-weight:600;font-size:13.5px;background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;white-space:nowrap}.video-page{padding-bottom:calc(var(--nav-h) + 120px)}.video-main{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-dim)}.video-main--live{box-shadow:inset 0 0 0 2px var(--color-primary)}.video-face{height:300px;display:flex;align-items:center;justify-content:center}.video-tag{position:absolute;left:14px;bottom:40px;display:inline-flex;align-items:center;gap:12px;background:#ffffffeb;border-radius:var(--radius-pill);padding:8px 16px 8px 10px;font-size:13.5px;box-shadow:var(--shadow-card)}.video-tag__time{color:var(--color-text-secondary);font-weight:500}.video-tag__wave{width:40px;height:40px;border-radius:50%;background:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;gap:2.5px}.video-tag__wave i{width:3px;border-radius:2px;background:var(--color-on-primary);height:14px;animation:wave .9s ease-in-out infinite}.video-tag__wave i:nth-child(odd){height:9px}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.25)}}.video-note{margin:0;padding:8px 14px 12px;font-size:11.5px;color:var(--color-text-tertiary);text-align:center}.video-pip{position:absolute;right:calc(50% - (min(var(--shell-max),100vw)/2) + 16px);bottom:calc(var(--nav-h) + 118px);display:inline-flex;align-items:center;gap:8px;background:#17191dd1;color:#fff;border-radius:var(--radius-pill);padding:6px 14px 6px 6px;font-size:12.5px;z-index:20}.video-controls{position:fixed;bottom:calc(var(--nav-h) + 16px);left:50%;transform:translate(-50%);width:min(var(--shell-max) - 40px,calc(100vw - 40px));display:flex;justify-content:center;gap:16px;background:#fffffff5;border-radius:var(--radius-pill);padding:12px;box-shadow:var(--shadow-float);z-index:25}.video-ctl{width:52px;height:52px;border-radius:50%;border:0;background:var(--color-surface-dim);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:filter .15s ease}.video-ctl:hover{filter:brightness(.96)}.video-ctl--off{background:var(--color-line);color:var(--color-text-tertiary)}.video-ctl--primary{background:var(--color-primary);color:var(--color-on-primary)}.video-ctl--accent{background:var(--color-accent);color:var(--color-on-accent)}.diag-stage{position:relative;height:260px;border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 35%,var(--color-primary-soft),var(--color-primary-softer) 65%,var(--color-surface-dim));display:flex;align-items:center;justify-content:center;overflow:hidden}.diag-pulse{position:absolute;width:120px;height:120px;border-radius:50%;border:2px solid var(--color-primary);opacity:.5;animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{transform:scale(.55);opacity:.55}to{transform:scale(1.5);opacity:0}}.diag-readout{position:relative;display:inline-flex;align-items:center;gap:10px;background:#17191de0;color:var(--color-accent);border-radius:var(--radius-pill);padding:12px 22px}.diag-readout strong{font-family:var(--font-display);font-size:26px;color:#fff}.diag-readout span{font-size:12.5px;opacity:.85}.diag-count{display:flex;flex-direction:column;align-items:center;justify-content:center;width:128px;height:128px;border-radius:50%;background:var(--color-surface-dim);margin:var(--space-6) auto}.diag-count strong{font-family:var(--font-display);font-size:42px;font-weight:600}.diag-count span{font-size:13px;color:var(--color-text-secondary)}.tl{display:flex;flex-direction:column}.tl-row{display:flex;gap:14px}.tl-rail{display:flex;flex-direction:column;align-items:center;width:44px;flex-shrink:0}.tl-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-line);background:var(--color-surface);margin-top:18px;flex-shrink:0}.tl-dot--on{border-color:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-accent)}.tl-line{flex:1;width:0;border-left:2px dashed var(--color-line);margin:6px 0}.tl-date{display:flex;flex-direction:column;align-items:center;font-family:var(--font-display);font-size:15px;font-weight:600;padding:4px 0 14px}.tl-date em{font-style:normal;font-size:11.5px;font-weight:500;color:var(--color-text-secondary)}.tl-card{flex:1;display:flex;flex-direction:column;gap:8px;margin-bottom:14px;min-width:0}.tl-place{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);line-height:1.55}.tl-place--on{color:#ffffffe0}.tl-meta{font-size:11.5px;color:var(--color-text-tertiary)}.tl-meta--on{color:#ffffffb3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:600;cursor:pointer;transition:filter .15s ease,transform .1s ease,opacity .15s ease;-webkit-user-select:none;user-select:none;text-decoration:none}.btn:active{transform:scale(.98)}.btn--sm{height:34px;padding:0 14px;font-size:13px}.btn--md{height:44px;padding:0 22px;font-size:15px}.btn--lg{height:52px;padding:0 28px;font-size:16px}.btn--full{display:flex;width:100%;flex:0 0 auto}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover{filter:brightness(1.08)}.btn--secondary{background:var(--color-surface-dim);color:var(--color-text)}.btn--secondary:hover{background:var(--color-line)}.btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.btn--accent:hover{filter:brightness(1.05)}.btn--ghost{background:transparent;color:var(--color-primary)}.btn--ghost:hover{background:var(--color-primary-soft)}.btn--outline{background:var(--color-surface);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-line)}.btn--outline:hover{box-shadow:inset 0 0 0 1px var(--color-text-tertiary)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn__spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.icon-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;cursor:pointer;background:transparent;color:var(--color-text);transition:background .15s ease;text-decoration:none}.icon-btn--sm{width:36px;height:36px}.icon-btn--md{width:44px;height:44px}.icon-btn--plain:hover{background:var(--color-surface-dim)}.icon-btn--filled{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-line)}.icon-btn--filled:hover{background:var(--color-surface-dim)}.icon-btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.icon-btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.field__error{font-size:12px;color:var(--color-danger)}.input-box{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface-dim);border-radius:var(--radius-md);padding:0 var(--space-4);height:52px;transition:box-shadow .15s ease}.input-box:focus-within{box-shadow:inset 0 0 0 1.5px var(--color-primary)}.input-box--error{box-shadow:inset 0 0 0 1.5px var(--color-danger)}.input-box--sm{height:42px;border-radius:var(--radius-sm)}.input-box__input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:15px;color:var(--color-text)}.input-box__input::placeholder{color:var(--color-text-tertiary)}.input-box__input:disabled{color:var(--color-text-tertiary)}.input-box__suffix{display:inline-flex;align-items:center}.textarea{border:0;outline:none;background:var(--color-surface-dim);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:15px;resize:vertical;min-height:88px;width:100%}.textarea:focus{box-shadow:inset 0 0 0 1.5px var(--color-primary)}.textarea--error{box-shadow:inset 0 0 0 1.5px var(--color-danger)}.select-wrap{position:relative;display:inline-flex}.select-wrap__native{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:none;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-line);border-radius:var(--radius-pill);height:42px;padding:0 36px 0 18px;font-size:14px;font-weight:500;cursor:pointer;color:var(--color-text)}.select-wrap__native:disabled{opacity:.5}.select-wrap__chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-tertiary)}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:var(--color-text-secondary)}.checkbox__box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--color-text-tertiary);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.checkbox--checked .checkbox__box,.checkbox--indeterminate .checkbox__box{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.checkbox--disabled{opacity:.5;cursor:not-allowed}.checkbox__native{position:absolute;opacity:0;width:1px;height:1px}.switch{position:relative;width:48px;height:28px;border-radius:var(--radius-pill);background:var(--color-line);border:0;cursor:pointer;transition:background .2s ease;flex-shrink:0}.switch--on{background:var(--color-primary)}.switch:disabled{opacity:.45;cursor:not-allowed}.switch__thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--color-surface);box-shadow:0 2px 6px #17191d33;transition:transform .2s ease}.switch--on .switch__thumb{transform:translate(20px)}.card{text-align:left;border:0;display:block;background:var(--color-surface-dim);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--color-text);font-family:var(--font-body)}.card--raised{background:var(--color-surface);box-shadow:var(--shadow-card)}.card--primary{background:var(--color-primary);color:var(--color-on-primary)}.card--primary .muted,.card--primary .dim{color:#ffffffc7}.card--accent{background:var(--color-accent);color:var(--color-on-accent)}.card.row{display:flex;align-items:center;gap:var(--space-3)}.card--interactive{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;width:100%}.card--interactive:hover{box-shadow:var(--shadow-card)}.card--interactive:active{transform:scale(.985)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-display);font-weight:600;flex-shrink:0;-webkit-user-select:none;user-select:none}.avatar--square{border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:var(--radius-pill);font-size:12px;font-weight:600;padding:4px 12px}.badge--primary{background:var(--color-primary);color:var(--color-on-primary)}.badge--accent{background:var(--color-accent);color:var(--color-on-accent)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--neutral{background:var(--color-surface);color:var(--color-text)}.badge-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.badge-dot--primary{background:var(--color-primary)}.badge-dot--accent{background:var(--color-accent)}.badge-dot--danger{background:var(--color-danger)}.badge-count{position:absolute;top:-2px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-danger);color:var(--color-on-primary);font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.online-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary)}.tabs{display:flex;background:var(--color-surface-dim);border-radius:var(--radius-pill);padding:4px;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs__item{flex:1;height:40px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-secondary);font-family:var(--font-display);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease}.tabs__item--active{background:var(--color-primary);color:var(--color-on-primary)}.tabs--underline{background:transparent;border-radius:0;padding:0;border-bottom:1px solid var(--color-line);gap:var(--space-5)}.tabs--underline .tabs__item{flex:0 0 auto;height:40px;border-radius:0;padding:0 2px;box-shadow:inset 0 -2.5px 0 transparent}.tabs--underline .tabs__item--active{background:transparent;color:var(--color-primary);box-shadow:inset 0 -2.5px 0 var(--color-primary)}.list-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border:0;background:transparent;text-align:left;cursor:default;color:var(--color-text);font-family:var(--font-body)}button.list-item{cursor:pointer}button.list-item:hover{background:var(--color-surface-dim)}.list-item--selected{background:var(--color-primary-softer)}.list-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-item__title{font-size:15px;font-weight:600;font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__subtitle{font-size:13px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__trailing{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);flex-shrink:0}.skeleton{display:block;background:linear-gradient(90deg,var(--color-surface-dim) 25%,var(--color-line) 50%,var(--color-surface-dim) 75%);background-size:200% 100%;animation:skeleton-wave 1.2s ease-in-out infinite;border-radius:8px}.skeleton--text{height:14px}.skeleton--avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0}.skeleton--card{height:120px;border-radius:var(--radius-lg)}.skeleton--list{height:76px;border-radius:var(--radius-lg)}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-7) var(--space-5);gap:var(--space-2)}.empty__icon{width:64px;height:64px;border-radius:50%;background:var(--color-surface-dim);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.empty__title{font-family:var(--font-display);font-weight:600;font-size:16px}.empty__desc{font-size:13px;color:var(--color-text-secondary);max-width:260px}.page-header{display:flex;align-items:center;gap:var(--space-3);padding:14px 0 10px;min-height:56px}.page-header__title{flex:1;text-align:center;font-family:var(--font-display);font-size:18px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__actions{display:inline-flex;align-items:center;gap:var(--space-2);min-width:44px;justify-content:flex-end}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.modal__mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#17191d73;animation:modal-fade .2s ease}.modal__panel{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);width:100%;max-height:82vh;display:flex;flex-direction:column;animation:modal-pop .2s ease;box-shadow:var(--shadow-float)}.modal__panel--sm{max-width:300px}.modal__panel--md{max-width:360px}.modal__panel--lg{max-width:440px}.modal--closing .modal__mask{animation:modal-fade-out .16s ease forwards}.modal--closing .modal__panel{animation:modal-pop-out .16s ease forwards}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.modal__title{font-family:var(--font-display);font-size:17px;font-weight:600}.modal__body{overflow-y:auto}.modal__footer{display:flex;gap:var(--space-3);margin-top:var(--space-5)}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-fade-out{to{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:scale(.92)}}@keyframes modal-pop-out{to{opacity:0;transform:scale(.92)}}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.drawer__mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#17191d73;animation:modal-fade .2s ease}.drawer__panel{position:absolute;background:var(--color-surface);display:flex;flex-direction:column;box-shadow:var(--shadow-float)}.drawer__panel--bottom{left:50%;transform:translate(-50%);width:min(var(--shell-max),100vw);bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh;animation:drawer-up .24s cubic-bezier(.2,.8,.3,1)}.drawer__panel--left{top:0;bottom:0;left:0;width:min(320px,84vw);animation:drawer-from-left .24s cubic-bezier(.2,.8,.3,1)}.drawer__panel--right{top:0;bottom:0;right:0;width:min(320px,84vw);animation:drawer-from-right .24s cubic-bezier(.2,.8,.3,1)}.drawer--closing .drawer__mask{animation:modal-fade-out .18s ease forwards}.drawer--closing .drawer__panel--bottom{animation:drawer-down .18s ease forwards}.drawer--closing .drawer__panel--left{animation:drawer-to-left .18s ease forwards}.drawer--closing .drawer__panel--right{animation:drawer-to-right .18s ease forwards}.drawer__head{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4) 0;gap:var(--space-2)}.drawer__head>button{position:absolute;right:var(--space-4);top:var(--space-3)}.drawer__grip{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--color-line)}.drawer__title{font-family:var(--font-display);font-size:17px;font-weight:600}.drawer__body{padding:var(--space-4) var(--space-5);overflow-y:auto}.drawer__footer{padding:var(--space-4) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom))}@keyframes drawer-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes drawer-down{0%{transform:translate(-50%)}to{transform:translate(-50%,100%)}}@keyframes drawer-from-left{0%{transform:translate(-100%)}}@keyframes drawer-from-right{0%{transform:translate(100%)}}@keyframes drawer-to-left{to{transform:translate(-100%)}}@keyframes drawer-to-right{to{transform:translate(100%)}}.toast-host{position:fixed;left:50%;transform:translate(-50%);top:18px;z-index:90;display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{background:#17191deb;color:#fff;border-radius:var(--radius-md);padding:12px 16px;font-size:13.5px;line-height:1.45;box-shadow:var(--shadow-float);animation:toast-in .22s ease}.toast--success{background:#177a54f2}.toast--warning{background:#c48419f2}.toast--error{background:#c43c3cf2}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.rating{display:inline-flex;gap:2px}.rating__star{border:0;background:none;padding:0;cursor:default;display:inline-flex}.rating--editable .rating__star{cursor:pointer}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack__item{border-radius:50%;overflow:hidden;border:2px solid var(--color-surface);margin-left:-10px;display:inline-flex}.avatar-stack__item:first-child{margin-left:0}.avatar-stack__more{margin-left:-10px;z-index:1;width:34px;height:34px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-surface);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;position:relative;box-shadow:0 2px 8px #17191d1f}.section-head{margin-bottom:var(--space-3)}.link-btn{border:0;background:none;color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;padding:4px}.link-btn:hover{color:var(--color-primary)}.review-avatar{width:34px;height:34px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.bottom-nav{position:fixed;bottom:14px;left:50%;transform:translate(-50%);width:min(var(--shell-max) - 24px,calc(100vw - 24px));height:var(--nav-h);background:#f5f6f6f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:space-around;padding:6px;z-index:40;box-shadow:0 10px 30px #17191d1a}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--color-text-tertiary);border-radius:var(--radius-pill);height:52px;flex:1;transition:background .18s ease,color .18s ease}.bottom-nav__item--active{background:var(--color-primary);color:var(--color-on-primary)}.bottom-nav__icon{position:relative;display:inline-flex}.bottom-nav__label{font-size:10px;font-weight:500}.search-bar{display:flex;align-items:center;gap:var(--space-2)}.search-bar .input-box{flex:1}.search-bar__go{width:46px;height:46px;border-radius:50%;border:0;background:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);scrollbar-width:none;padding-bottom:2px}.chip-row::-webkit-scrollbar{display:none}.chip{border:0;border-radius:var(--radius-pill);padding:10px 18px;font-family:var(--font-display);font-size:14px;font-weight:600;background:var(--color-surface-dim);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.chip--on{background:var(--color-primary);color:var(--color-on-primary)}.med-timeline{position:relative;display:flex;justify-content:center;padding:var(--space-2) 0 var(--space-5)}.med-timeline__track{position:relative;width:2px;border-radius:2px;flex-shrink:0;align-self:stretch}.med-timeline__track--past{background:var(--color-primary)}.med-timeline__track--future{background:var(--color-line);background-image:linear-gradient(to bottom,var(--color-text-tertiary) 45%,transparent 45%);background-size:2px 9px;background-repeat:repeat-y}.med-timeline__end-dot{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.med-item{position:absolute;width:calc(50% - 26px);max-width:180px;border-radius:var(--radius-pill);padding:10px 14px;display:flex;align-items:center;gap:10px;background:var(--color-surface-dim);border:0;cursor:pointer;text-align:left;font-family:var(--font-body);transition:transform .12s ease,filter .15s ease}.med-item:active{transform:scale(.97)}.med-item--left{right:calc(50% + 20px)}.med-item--right{left:calc(50% + 20px)}.med-item--blue{background:var(--color-primary);color:var(--color-on-primary)}.med-item--green{background:var(--color-accent);color:var(--color-on-accent)}.med-item--taken{opacity:.62;filter:saturate(.7)}.med-item__icon{width:40px;height:40px;border-radius:50%;background:var(--color-surface);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.med-item__body{min-width:0}.med-item__name{font-size:12.5px;font-weight:600;font-family:var(--font-display);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.med-item__meta{font-size:11px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.med-time-axis{display:flex;justify-content:space-between;padding:0 var(--space-2);font-size:13px;font-weight:600;font-family:var(--font-display)}.med-time-axis__now{color:var(--color-primary)}.med-time-axis span:nth-child(2){transform:translate(30px)}.chart-line{width:100%;display:block}.wave-card{border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-on-accent);padding:var(--space-3) var(--space-4)}.wave-card__value{font-family:var(--font-display);font-size:20px;font-weight:600}.wave-card__unit{font-size:12px;font-weight:500;opacity:.75;margin-left:4px}.loading-card{border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-3) var(--space-4);width:100%}.loading-card__row{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;font-family:var(--font-display)}.loading-card__bar{margin-top:10px;height:6px;border-radius:var(--radius-pill);background:#ffffff4d;overflow:hidden}.loading-card__bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--color-on-primary);transition:width .6s ease}.scan-thumb{border-radius:var(--radius-sm);overflow:hidden;background:var(--color-scan);flex-shrink:0}.scan-thumb svg{width:100%;height:100%}.form-col{display:flex;flex-direction:column;gap:var(--space-4)}.seg-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.dept-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);border:0;border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface-dim);cursor:pointer;font-family:var(--font-body);text-align:left;transition:box-shadow .15s ease,background .15s ease}.dept-card--on{background:var(--color-primary-soft);box-shadow:inset 0 0 0 1.5px var(--color-primary)}.dept-card__icon{width:42px;height:42px;border-radius:50%;background:var(--color-surface);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.slot{border:0;border-radius:var(--radius-sm);padding:10px 4px;background:var(--color-surface-dim);font-size:14px;font-weight:600;font-family:var(--font-display);cursor:pointer;color:var(--color-text);transition:background .12s ease,color .12s ease,box-shadow .12s ease;display:flex;flex-direction:column;align-items:center;gap:2px}.slot--off{background:var(--color-surface-dim);color:var(--color-text-tertiary);cursor:not-allowed;text-decoration:line-through}.slot--on{background:var(--color-primary-soft);color:var(--color-primary)}.slot--sel{background:var(--color-primary);color:var(--color-on-primary)}.slot__cap{font-size:10.5px;font-weight:500;opacity:.75}.day-row{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.day-row::-webkit-scrollbar{display:none}.day-pill{border:0;border-radius:var(--radius-pill);background:var(--color-surface-dim);padding:8px 14px;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;min-width:64px;font-family:var(--font-display);transition:background .12s ease,color .12s ease;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.day-pill--sel{background:var(--color-primary);color:var(--color-on-primary)}.day-pill__d{font-size:15px;font-weight:600}.day-pill__w{font-size:11px;opacity:.75}.day-pill--soldout{opacity:.45}.settings-group{background:var(--color-surface-dim);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-4)}.settings-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:15px var(--space-4);border:0;background:transparent;font-family:var(--font-body);font-size:14.5px;color:var(--color-text);cursor:pointer;text-align:left}button.settings-row:hover{background:#17191d08}.settings-row+.settings-row{border-top:1px solid var(--color-line)}.settings-row__icon{color:var(--color-primary);display:inline-flex;width:30px;height:30px;border-radius:10px;background:var(--color-primary-soft);align-items:center;justify-content:center;flex-shrink:0}.settings-row__value{position:relative;margin-left:auto;color:var(--color-text-tertiary);font-size:13.5px;display:inline-flex;align-items:center;gap:6px}.settings-row--danger{color:var(--color-danger)}.settings-row--danger .settings-row__icon{color:var(--color-danger);background:var(--color-danger-soft)}.pay-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--color-line);background:var(--color-surface);cursor:pointer;font-family:var(--font-body);width:100%;text-align:left}.pay-option--on{border-color:var(--color-primary);background:var(--color-primary-softer)}.pay-option__logo{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-on-primary);flex-shrink:0}.pay-option__check{margin-left:auto;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--color-line);display:inline-flex;align-items:center;justify-content:center;color:var(--color-on-primary);flex-shrink:0}.pay-option--on .pay-option__check{background:var(--color-primary);border-color:var(--color-primary)}.qr-box{width:170px;height:170px;margin:0 auto;border-radius:var(--radius-md);background:var(--color-surface-dim);display:flex;align-items:center;justify-content:center;overflow:hidden}.result-icon{width:72px;height:72px;border-radius:50%;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center}.result-icon--success{background:var(--color-success-soft);color:var(--color-success)}.result-icon--fail{background:var(--color-danger-soft);color:var(--color-danger)}.chat-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.chat-bubble{max-width:76%;padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.chat-bubble--me{align-self:flex-end;background:var(--color-primary);color:var(--color-on-primary);border-bottom-right-radius:6px}.chat-bubble--doctor{align-self:flex-start;background:var(--color-surface-dim);border-bottom-left-radius:6px}.chat-time{font-size:10.5px;color:var(--color-text-tertiary);margin-top:4px}.chat-input-bar{position:sticky;bottom:calc(var(--nav-h) + 14px);display:flex;gap:var(--space-2);padding:var(--space-2) 0;background:var(--color-bg)}.onboard-dots{display:flex;gap:6px;justify-content:center}.onboard-dots span{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--color-line);transition:width .2s ease,background .2s ease}.onboard-dots .on{width:20px;background:var(--color-primary)}.onboard-art{height:300px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:var(--space-5) 0}.upload-drop{display:flex;flex-direction:column;align-items:center;gap:6px;border:1.5px dashed var(--color-text-tertiary);border-radius:var(--radius-md);padding:var(--space-5);cursor:pointer;color:var(--color-primary);background:var(--color-primary-softer);transition:background .15s ease}.upload-drop:hover{background:var(--color-primary-soft)}.upload-drop strong{color:var(--color-text)}.hero{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-dim)}.stat-row{display:flex;gap:var(--space-3)}.stat-tile{flex:1;background:var(--color-surface-dim);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.stat-tile__v{font-family:var(--font-display);font-size:20px;font-weight:600}.stat-tile__k{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.ins-card{border-radius:var(--radius-lg);padding:var(--space-5);position:relative}.ins-card--primary{background:var(--color-primary);color:var(--color-on-primary)}.ins-card--grey{background:var(--color-surface-dim)}.ins-price-pill{position:absolute;top:var(--space-5);right:var(--space-5);border-radius:var(--radius-pill);padding:8px 16px;font-weight:600;font-family:var(--font-display)}.ins-card--primary .ins-price-pill{background:#ffffff38}.ins-card--grey .ins-price-pill{background:var(--color-accent);color:var(--color-on-accent)}.ins-ref{opacity:.85;line-height:1.6;font-size:14px}.divider-label{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-tertiary);font-size:12px;margin:var(--space-2) 0}.divider-label:before,.divider-label:after{content:"";flex:1;border-top:1px solid var(--color-line)}.kv{display:flex;justify-content:space-between;gap:var(--space-4);font-size:14px;padding:8px 0}.kv__k{color:var(--color-text-secondary);flex-shrink:0}.kv__v{font-weight:600;text-align:right;font-family:var(--font-display)}.notice{background:var(--color-primary-softer);color:var(--color-primary-strong);border-radius:var(--radius-md);padding:12px 14px;font-size:13px;line-height:1.6}.notice--warn{background:var(--color-warning-soft);color:var(--color-warning-text)}.auth-page{max-width:420px;width:100%;margin:0 auto}.inline-link{color:var(--color-primary);text-decoration:none;font-weight:500}.inline-link-strong{color:var(--color-primary);text-decoration:none;font-weight:600;font-family:var(--font-display)}.dash-next{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);color:var(--color-primary)}.online-pill{display:inline-flex;align-items:center;gap:7px;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-pill);padding:9px 16px;font-size:13.5px;font-weight:600;font-family:var(--font-display)}.online-pill--plain{background:transparent;padding:0;font-size:12px;color:var(--color-text-secondary);font-weight:500}.arrow-btn{width:40px;height:40px;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.arrow-btn--primary{background:var(--color-primary);color:var(--color-on-primary);width:34px;height:34px}.mini-pill{display:inline-flex;align-items:center;gap:5px;background:var(--color-surface);border-radius:var(--radius-pill);padding:6px 12px;font-size:12px;font-weight:500;color:var(--color-text-secondary)}.rating-float{position:absolute;top:10px;left:10px;background:var(--color-surface);border-radius:var(--radius-pill);padding:5px 10px;font-size:12px;font-weight:600;font-family:var(--font-display);display:inline-flex;align-items:center;gap:4px}.quick-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:var(--space-4)}.quick-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:var(--radius-md);background:var(--color-surface-dim);text-decoration:none;color:var(--color-text);font-size:12px;font-weight:500;transition:background .15s ease}.quick-item:hover{background:var(--color-line)}.quick-item__icon{width:38px;height:38px;border-radius:50%;background:var(--color-surface);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.trend-day{text-align:center;font-size:12.5px;font-weight:500;font-family:var(--font-display);color:var(--color-text-secondary);padding:4px 0}.trend-day--today{margin:0 auto;max-width:42px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.quick-row--ext{margin-top:10px;grid-template-columns:repeat(2,1fr)}.guest-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary-softer),var(--color-primary-soft));padding:var(--space-5)}.guest-cta{display:flex;align-items:center;gap:12px;margin-top:var(--space-6);color:var(--color-primary)}.consult-btn{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-pill);padding:9px 18px;font-size:13.5px;font-weight:600;font-family:var(--font-display)}.detail-cta{position:fixed;bottom:calc(var(--nav-h) + 14px);left:50%;transform:translate(-50%);width:min(var(--shell-max) - 40px,calc(100vw - 40px));display:flex;gap:12px;z-index:30}.appt-card .appt-meta{display:flex;flex-direction:column;gap:8px;margin-top:14px;font-size:13px;opacity:.88}.appt-btn{border:0;border-radius:var(--radius-pill);height:44px;padding:0 24px;font-family:var(--font-display);font-weight:600;font-size:14.5px;cursor:pointer;transition:filter .15s ease,transform .1s ease}.appt-btn:active{transform:scale(.97)}.appt-btn--light{background:#ffffff38;color:var(--color-on-primary)}.card--flat .appt-btn--light,.appt-btn--white{background:var(--color-surface);color:var(--color-text)}.appt-btn--green{background:var(--color-accent);color:var(--color-on-accent)}.appt-card--today{background:var(--color-primary)}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.analytics-card{padding:14px}.scan-thumb--card,.scan-detail{width:100%;aspect-ratio:16 / 9;display:block}.report-thumb{width:64px;height:46px}.doc-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:150px;border-radius:var(--radius-md);background:var(--color-primary-softer);color:var(--color-primary);font-size:12px;margin-bottom:12px}.ins-logo{width:52px;height:52px;border-radius:50%;background:var(--color-surface);color:var(--color-text);display:flex;align-items:center;justify-content:center}.ins-btn{border:0;border-radius:var(--radius-pill);height:46px;padding:0 26px;font-family:var(--font-display);font-weight:600;font-size:14.5px;cursor:pointer;white-space:nowrap;background:var(--color-surface);color:var(--color-text);transition:transform .1s ease,filter .15s ease}.ins-btn:active{transform:scale(.97)}.ins-card--grey .ins-btn{background:var(--color-primary);color:var(--color-on-primary)}.ins-btn--on{background:var(--color-accent)!important;color:var(--color-on-accent)!important}.ins-cov{display:flex;flex-direction:column;gap:6px}.profile-hero{display:flex;align-items:center;gap:14px;width:100%;padding:var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--color-surface-dim);cursor:pointer;font-family:var(--font-body);text-align:left;color:var(--color-text)}.settings-h{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--color-text-tertiary);margin:0 0 8px 6px}.legal-list{margin:0;padding-left:18px;color:var(--color-text-secondary);font-size:13.5px;line-height:1.9}.about-logo{width:64px;height:64px;margin:0 auto;border-radius:20px;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center}.svc-log{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow-y:auto;padding:4px 2px}
