.zn{--ink:#1a1714;--ink-hover:#2e2926;--ink-soft:#3d3833;--muted:#6b6560;--muted-2:#78716c;--faint:#a09990;--paper:#fdfdfc;--surface:#ffffffb8;--sand:#f7f5f2;--sand-2:#f0ede8;--line:#e7e5e4;--night-1:#1a1714;--night-2:#211d1a;--night-3:#151210;--logo-on-night:#eeebe6;--success:#059669;--success-fill:#10b981;--success-tint:#ecfdf5;--warning:#f59e0b;--warning-fill:#fbbf24;--warning-tint:#fffbeb;--warning-ink:#78350f;--danger:#b91c1c;--danger-tint:#fef2f2;--now-line:#ef4444;--info:#0ea5e9;--chat-ground:#efeae2;--chat-customer:#d9fdd3;--chat-shop:#fff;--block-green:#22c55e;--staff-1-bg:#eef2ff;--staff-1-border:#818cf8;--staff-1-text:#312e81;--staff-2-bg:#ecfdf5;--staff-2-border:#34d399;--staff-2-text:#064e3b;--staff-3-bg:#fff7ed;--staff-3-border:#fb923c;--staff-3-text:#7c2d12;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--shadow-surface:0 2px 18px #1a17140e;--shadow-lift:0 10px 32px #1a171416;--shadow-button:0 2px 12px #1a171429;--shadow-card:0 1px 3px #1a171414;--shadow-card-hover:0 6px 18px #1a171424;--shadow-modal:0 24px 80px #1a171447;--zn-ease:cubic-bezier(.16, 1, .3, 1);font-family:var(--font-geist-sans), var(--font-thai,system-ui), ui-sans-serif, system-ui, sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:20px}.zn *,.zn :before,.zn :after{box-sizing:border-box}.zn .tabular{font-variant-numeric:tabular-nums}.zn-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;line-height:20px;transition:background .15s,border-color .15s,transform .1s,color .15s,box-shadow .15s;display:inline-flex}.zn-btn:active{transform:translateY(1px)}.zn-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.zn-btn--primary{background:var(--ink);color:#fff;box-shadow:var(--shadow-button)}.zn-btn--primary:hover{background:var(--ink-hover)}.zn-btn--secondary{border-color:var(--line);color:#44403c;background:#ffffffbf}.zn-btn--secondary:hover{background:#fff;border-color:#d6d3d1}.zn-btn--sm{padding:6px 12px;font-size:13px;line-height:18px}.zn-btn[data-pressed=true]{background:var(--ink-hover);transform:translateY(1px)scale(.98)}.zn-surface{background:var(--surface);-webkit-backdrop-filter:blur(24px);box-shadow:0 0 0 1px #1c19170b, var(--shadow-surface);border-radius:var(--radius-lg);border:1px solid #ffffffb3}.zn-surface--solid{background:#fff}.zn-modal{border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);background:#f7f5f2f7;border:1px solid #fffc}.zn-backdrop{-webkit-backdrop-filter:blur(4px);background:#1a171473}.zn-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.zn-tab{color:var(--muted-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;line-height:20px;display:inline-flex}.zn-tab:hover{color:var(--ink)}.zn-tab[aria-selected=true],.zn-tab[data-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.zn-badge{border-radius:var(--radius-pill);background:var(--warning-fill);color:var(--warning-ink);padding:0 6px;font-family:inherit;font-size:11px;font-weight:600;line-height:16px}.zn-choice{border-radius:var(--radius-md);background:#1c19170d;width:100%;padding:4px;display:flex}.zn-choice button{border-radius:var(--radius-sm);color:var(--muted-2);cursor:pointer;background:0 0;border:0;flex:1;padding:6px 8px;font-family:inherit;font-size:13px;font-weight:500;line-height:18px;transition:background .15s,color .15s,box-shadow .15s}.zn-choice button:hover{color:var(--ink)}.zn-choice button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0000000f}.zn-choice button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.zn-chip{border-radius:var(--radius-pill);border:1px solid var(--line);color:#57534e;white-space:nowrap;background:#ffffffb3;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:400;line-height:18px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.zn-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.zn-chip--booked{background:var(--success-tint);color:#064e3b;border-color:#a7f3d0;font-weight:500}.zn-switch{border-radius:var(--radius-pill);cursor:pointer;background:#d6d3d1;border:0;flex-shrink:0;width:48px;height:28px;transition:background .2s;position:relative}.zn-switch:after{content:"";width:20px;height:20px;transition:transform .2s var(--zn-ease);background:#fff;border-radius:50%;position:absolute;top:4px;left:0;transform:translate(4px);box-shadow:0 1px 3px #0003}.zn-switch[aria-checked=true]{background:var(--success)}.zn-switch[aria-checked=true]:after{transform:translate(24px)}.zn-switch:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.zn-pill{border-radius:var(--radius-pill);border:1px solid var(--line);color:#57534e;white-space:nowrap;background:#ffffffb3;align-items:center;gap:8px;padding:4px 12px;font-family:inherit;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.zn-pill--on{background:var(--success-tint);color:#064e3b;border-color:#a7f3d0}.zn-pill--warn{background:var(--warning-tint);color:var(--warning-ink);border-color:#fde68a}.zn-dot{background:#a8a29e;border-radius:50%;flex-shrink:0;width:8px;height:8px}.zn-pill--on .zn-dot{background:var(--success-fill);animation:2s ease-in-out infinite zn-pulse}.zn-pill--warn .zn-dot{background:var(--warning)}@keyframes zn-pulse{50%{opacity:.45}}.zn-booking{border-radius:var(--radius-md);text-align:left;box-shadow:var(--shadow-card);padding:6px 10px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.zn-booking__row{align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;line-height:1.25;display:flex}.zn-booking__row>span:not(.zn-booking__dot){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zn-booking__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.zn-booking__row>.zn-booking__time{font-variant-numeric:tabular-nums;flex-shrink:0;overflow:visible}.zn-booking__service{opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;line-height:1.25;overflow:hidden}.zn-booking--pending{outline:1px dashed var(--warning);outline-offset:-3px;background:var(--warning-tint)!important;color:var(--warning-ink)!important;box-shadow:none!important}.zn-booking--s1{background:linear-gradient(180deg, #fff, var(--staff-1-bg));color:var(--staff-1-text);box-shadow:inset 0 0 0 1px #818cf866, var(--shadow-card)}.zn-booking--s1 .zn-booking__dot{background:var(--staff-1-border)}.zn-booking--s2{background:linear-gradient(180deg, #fff, var(--staff-2-bg));color:var(--staff-2-text);box-shadow:inset 0 0 0 1px #34d39966, var(--shadow-card)}.zn-booking--s2 .zn-booking__dot{background:var(--staff-2-border)}.zn-booking--s3{background:linear-gradient(180deg, #fff, var(--staff-3-bg));color:var(--staff-3-text);box-shadow:inset 0 0 0 1px #fb923c66, var(--shadow-card)}.zn-booking--s3 .zn-booking__dot{background:var(--staff-3-border)}.zn-block{border-radius:var(--radius-md);color:#292524;border:1px solid var(--block-green);background:repeating-linear-gradient(135deg,#22c55e26 0 8px,#22c55e47 8px 16px);padding:6px 10px;font-size:12px;line-height:1.35;overflow:hidden}.zn-chat{background:var(--chat-ground);flex-direction:column;gap:8px;padding:14px;display:flex}.zn-bubble{color:#292524;border-radius:var(--radius-lg);overflow-wrap:anywhere;width:fit-content;max-width:85%;padding:8px 12px;font-size:14px;line-height:20px;box-shadow:0 1px 1px #0000000f}.zn-bubble--customer{background:var(--chat-customer);border-bottom-right-radius:6px;margin-left:auto}.zn-bubble--shop{background:var(--chat-shop);border-bottom-left-radius:6px}.zn-bubble__time{text-align:right;color:var(--muted-2);margin-top:2px;font-size:11px;line-height:14px;display:block}.zn-typing{gap:4px;padding:12px 14px;display:inline-flex}.zn-typing span{background:#a8a29e;border-radius:50%;width:6px;height:6px;animation:1.2s infinite zn-bounce}.zn-typing span:nth-child(2){animation-delay:.15s}.zn-typing span:nth-child(3){animation-delay:.3s}@keyframes zn-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.zn-convo{text-align:left;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex;position:relative}.zn-convo[aria-current=true]{background:#1c19170f}.zn-convo[aria-current=true]:before{content:"";background:var(--ink);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.zn-avatar{color:#44403c;text-transform:uppercase;background:linear-gradient(135deg,#f5f5f4,#e7e5e4);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:14px;font-weight:600;line-height:1;display:grid;position:relative}.zn-avatar__channel{color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 0 2px #fff}.zn-lang{border-radius:var(--radius-md);background:#ffffff0f;align-items:center;gap:4px;padding:4px;display:flex}.zn-lang button{border-radius:var(--radius-sm);letter-spacing:.03em;color:#ffffff8c;cursor:pointer;background:0 0;border:0;flex:1;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;line-height:16px}.zn-lang button[aria-checked=true]{color:var(--ink);background:#fff}.zn .zn-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);font-size:12px;font-weight:600;line-height:16px}.zn .zn-caption{color:var(--muted-2);font-size:12px;line-height:16px}.zn .zn-section{font-size:16px;font-weight:600;line-height:24px}.zn-enter{animation:zn-enter .28s var(--zn-ease) both}.zn-drop{animation:zn-drop .42s var(--zn-ease) both}@keyframes zn-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes zn-drop{0%{opacity:0;transform:translateY(-14px)scale(.98)}70%{opacity:1;box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.zn *,.zn :before,.zn :after{transition:none!important;animation:none!important}}
