{"version":8,"type":"context-options","origin":"library","browserName":"chromium","playwrightVersion":"1.61.1","options":{"noDefaultViewport":false,"viewport":{"width":1440,"height":900},"ignoreHTTPSErrors":false,"javaScriptEnabled":true,"bypassCSP":false,"locale":"zh-CN","offline":false,"isMobile":false,"hasTouch":false,"colorScheme":"light","acceptDownloads":"accept","baseURL":"http://192.168.3.151:5173","serviceWorkers":"allow","selectorEngines":[],"testIdAttributeName":"data-testid"},"platform":"linux","wallTime":1784878426657,"monotonicTime":158321.162,"sdkLanguage":"javascript","testIdAttributeName":"data-testid","contextId":"browser-context@bb4c6e2cab7504a0767d143812898d6e","title":"cashier-full-flow.spec.ts:184 › 会员做单流程 › 会员 - 搜索并关联会员后结账"}
{"type":"before","callId":"call@6","startTime":158325.245,"class":"BrowserContext","method":"newPage","params":{},"stepId":"pw:api@35"}
{"type":"event","time":158355.629,"class":"BrowserContext","method":"page","params":{"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}}
{"type":"after","callId":"call@6","endTime":158355.713,"result":{"page":"<Page>"}}
{"type":"before","callId":"call@10","startTime":158359.575,"class":"Frame","method":"goto","params":{"url":"/login","timeout":0,"waitUntil":"load"},"stepId":"pw:api@36","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@10"}
{"type":"frame-snapshot","snapshot":{"callId":"call@10","snapshotName":"before@call@10","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"about:blank","html":["HTML",{},["HEAD",{},["BASE",{"href":"about:blank"}]],["BODY"]],"viewport":{"width":1440,"height":900},"timestamp":158361.36,"wallTime":1784878426697,"collectionTime":0.40000000002328306,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@10","time":158362.046,"message":"navigating to \"http://192.168.3.151:5173/login\", waiting until \"load\""}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878426706.jpeg","width":1440,"height":900,"timestamp":158370.422,"frameSwapWallTime":1784878426705.416}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878426741.jpeg","width":1440,"height":900,"timestamp":158405.108,"frameSwapWallTime":1784878426740.3171}
{"type":"console","messageType":"debug","text":"[vite] connecting...","args":[{"preview":"[vite] connecting...","value":"[vite] connecting..."}],"location":{"url":"http://192.168.3.151:5173/@vite/client","lineNumber":788,"columnNumber":8},"time":158466.043,"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}
{"type":"console","messageType":"debug","text":"[vite] connected.","args":[{"preview":"[vite] connected.","value":"[vite] connected."}],"location":{"url":"http://192.168.3.151:5173/@vite/client","lineNumber":911,"columnNumber":14},"time":158485.49,"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}
{"type":"console","messageType":"info","text":"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools font-weight:bold","args":[{"preview":"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools","value":"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools"},{"preview":"font-weight:bold","value":"font-weight:bold"}],"location":{"url":"http://192.168.3.151:5173/node_modules/.vite/deps/chunk-PNGJSGSD.js?v=428a89dd","lineNumber":21608,"columnNumber":24},"time":159162.082,"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}
{"type":"after","callId":"call@10","endTime":159194.705,"result":{"response":"<Response>"},"afterSnapshot":"after@call@10"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427540.jpeg","width":1440,"height":900,"timestamp":159203.779,"frameSwapWallTime":1784878427538.854}
{"type":"frame-snapshot","snapshot":{"callId":"call@10","snapshotName":"after@call@10","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},["HEAD",{},["BASE",{"href":"http://192.168.3.151:5173/login"}],"\n    ","\n\n    ","\n\n    ",["META",{"charset":"utf-8"}],"\n    ",["LINK",{"rel":"icon","type":"image/svg+xml","href":"/vite.svg"}],"\n    ",["META",{"name":"viewport","content":"width=device-width, initial-scale=1.0"}],"\n    ",["TITLE",{},"iNail Dashboard"],"\n  ",["STYLE",{},"*, ::before, ::after {\n  --tw-border-spacing-x: 0;\n  --tw-border-spacing-y: 0;\n  --tw-translate-x: 0;\n  --tw-translate-y: 0;\n  --tw-rotate: 0;\n  --tw-skew-x: 0;\n  --tw-skew-y: 0;\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  --tw-pan-x:  ;\n  --tw-pan-y:  ;\n  --tw-pinch-zoom:  ;\n  --tw-scroll-snap-strictness: proximity;\n  --tw-gradient-from-position:  ;\n  --tw-gradient-via-position:  ;\n  --tw-gradient-to-position:  ;\n  --tw-ordinal:  ;\n  --tw-slashed-zero:  ;\n  --tw-numeric-figure:  ;\n  --tw-numeric-spacing:  ;\n  --tw-numeric-fraction:  ;\n  --tw-ring-inset:  ;\n  --tw-ring-offset-width: 0px;\n  --tw-ring-offset-color: #fff;\n  --tw-ring-color: rgb(59 130 246 / 0.5);\n  --tw-ring-offset-shadow: 0 0 #0000;\n  --tw-ring-shadow: 0 0 #0000;\n  --tw-shadow: 0 0 #0000;\n  --tw-shadow-colored: 0 0 #0000;\n  --tw-blur:  ;\n  --tw-brightness:  ;\n  --tw-contrast:  ;\n  --tw-grayscale:  ;\n  --tw-hue-rotate:  ;\n  --tw-invert:  ;\n  --tw-saturate:  ;\n  --tw-sepia:  ;\n  --tw-drop-shadow:  ;\n  --tw-backdrop-blur:  ;\n  --tw-backdrop-brightness:  ;\n  --tw-backdrop-contrast:  ;\n  --tw-backdrop-grayscale:  ;\n  --tw-backdrop-hue-rotate:  ;\n  --tw-backdrop-invert:  ;\n  --tw-backdrop-opacity:  ;\n  --tw-backdrop-saturate:  ;\n  --tw-backdrop-sepia:  ;\n  --tw-contain-size:  ;\n  --tw-contain-layout:  ;\n  --tw-contain-paint:  ;\n  --tw-contain-style:  ;\n}\n\n::backdrop {\n  --tw-border-spacing-x: 0;\n  --tw-border-spacing-y: 0;\n  --tw-translate-x: 0;\n  --tw-translate-y: 0;\n  --tw-rotate: 0;\n  --tw-skew-x: 0;\n  --tw-skew-y: 0;\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  --tw-pan-x:  ;\n  --tw-pan-y:  ;\n  --tw-pinch-zoom:  ;\n  --tw-scroll-snap-strictness: proximity;\n  --tw-gradient-from-position:  ;\n  --tw-gradient-via-position:  ;\n  --tw-gradient-to-position:  ;\n  --tw-ordinal:  ;\n  --tw-slashed-zero:  ;\n  --tw-numeric-figure:  ;\n  --tw-numeric-spacing:  ;\n  --tw-numeric-fraction:  ;\n  --tw-ring-inset:  ;\n  --tw-ring-offset-width: 0px;\n  --tw-ring-offset-color: #fff;\n  --tw-ring-color: rgb(59 130 246 / 0.5);\n  --tw-ring-offset-shadow: 0 0 #0000;\n  --tw-ring-shadow: 0 0 #0000;\n  --tw-shadow: 0 0 #0000;\n  --tw-shadow-colored: 0 0 #0000;\n  --tw-blur:  ;\n  --tw-brightness:  ;\n  --tw-contrast:  ;\n  --tw-grayscale:  ;\n  --tw-hue-rotate:  ;\n  --tw-invert:  ;\n  --tw-saturate:  ;\n  --tw-sepia:  ;\n  --tw-drop-shadow:  ;\n  --tw-backdrop-blur:  ;\n  --tw-backdrop-brightness:  ;\n  --tw-backdrop-contrast:  ;\n  --tw-backdrop-grayscale:  ;\n  --tw-backdrop-hue-rotate:  ;\n  --tw-backdrop-invert:  ;\n  --tw-backdrop-opacity:  ;\n  --tw-backdrop-saturate:  ;\n  --tw-backdrop-sepia:  ;\n  --tw-contain-size:  ;\n  --tw-contain-layout:  ;\n  --tw-contain-paint:  ;\n  --tw-contain-style:  ;\n}/*\n! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n  box-sizing: border-box; /* 1 */\n  border-width: 0; /* 2 */\n  border-style: solid; /* 2 */\n  border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n  --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n  line-height: 1.5; /* 1 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n  -moz-tab-size: 4; /* 3 */\n  -o-tab-size: 4;\n     tab-size: 4; /* 3 */\n  font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n  font-feature-settings: normal; /* 5 */\n  font-variation-settings: normal; /* 6 */\n  -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n  margin: 0; /* 1 */\n  line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n  height: 0; /* 1 */\n  color: inherit; /* 2 */\n  border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n  -webkit-text-decoration: underline dotted;\n          text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  font-size: inherit;\n  font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n  color: inherit;\n  text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n  font-feature-settings: normal; /* 2 */\n  font-variation-settings: normal; /* 3 */\n  font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n  font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n  text-indent: 0; /* 1 */\n  border-color: inherit; /* 2 */\n  border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; /* 1 */\n  font-feature-settings: inherit; /* 1 */\n  font-variation-settings: inherit; /* 1 */\n  font-size: 100%; /* 1 */\n  font-weight: inherit; /* 1 */\n  line-height: inherit; /* 1 */\n  letter-spacing: inherit; /* 1 */\n  color: inherit; /* 1 */\n  margin: 0; /* 2 */\n  padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n  -webkit-appearance: button; /* 1 */\n  background-color: transparent; /* 2 */\n  background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n  outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n  box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n  vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n  -webkit-appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n  display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n  margin: 0;\n}\n\nfieldset {\n  margin: 0;\n  padding: 0;\n}\n\nlegend {\n  padding: 0;\n}\n\nol,\nul,\nmenu {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n  padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n  resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n  opacity: 1; /* 1 */\n  color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n  opacity: 1; /* 1 */\n  color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n  cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n  cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n   This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n  display: block; /* 1 */\n  vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n  max-width: 100%;\n  height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden]:where(:not([hidden=\"until-found\"])) {\n  display: none;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border-width: 0;\n}\n.pointer-events-none {\n  pointer-events: none;\n}\n.pointer-events-auto {\n  pointer-events: auto;\n}\n.visible {\n  visibility: visible;\n}\n.fixed {\n  position: fixed;\n}\n.absolute {\n  position: absolute;\n}\n.relative {\n  position: relative;\n}\n.sticky {\n  position: sticky;\n}\n.inset-0 {\n  inset: 0px;\n}\n.-left-1 {\n  left: -0.25rem;\n}\n.-top-\\[5px\\] {\n  top: -5px;\n}\n.bottom-0 {\n  bottom: 0px;\n}\n.bottom-full {\n  bottom: 100%;\n}\n.left-0 {\n  left: 0px;\n}\n.left-0\\.5 {\n  left: 0.125rem;\n}\n.left-1 {\n  left: 0.25rem;\n}\n.left-1\\/2 {\n  left: 50%;\n}\n.left-2 {\n  left: 0.5rem;\n}\n.left-2\\.5 {\n  left: 0.625rem;\n}\n.left-3 {\n  left: 0.75rem;\n}\n.left-3\\.5 {\n  left: 0.875rem;\n}\n.left-\\[22px\\] {\n  left: 22px;\n}\n.left-\\[3px\\] {\n  left: 3px;\n}\n.right-0 {\n  right: 0px;\n}\n.right-1 {\n  right: 0.25rem;\n}\n.right-1\\.5 {\n  right: 0.375rem;\n}\n.right-2 {\n  right: 0.5rem;\n}\n.right-3 {\n  right: 0.75rem;\n}\n.top-0 {\n  top: 0px;\n}\n.top-0\\.5 {\n  top: 0.125rem;\n}\n.top-1 {\n  top: 0.25rem;\n}\n.top-1\\.5 {\n  top: 0.375rem;\n}\n.top-1\\/2 {\n  top: 50%;\n}\n.top-2 {\n  top: 0.5rem;\n}\n.top-2\\.5 {\n  top: 0.625rem;\n}\n.top-3 {\n  top: 0.75rem;\n}\n.top-4 {\n  top: 1rem;\n}\n.top-8 {\n  top: 2rem;\n}\n.top-\\[3px\\] {\n  top: 3px;\n}\n.top-full {\n  top: 100%;\n}\n.z-10 {\n  z-index: 10;\n}\n.z-20 {\n  z-index: 20;\n}\n.z-30 {\n  z-index: 30;\n}\n.z-40 {\n  z-index: 40;\n}\n.z-50 {\n  z-index: 50;\n}\n.z-\\[100\\] {\n  z-index: 100;\n}\n.z-\\[60\\] {\n  z-index: 60;\n}\n.col-span-2 {\n  grid-column: span 2 / span 2;\n}\n.col-span-full {\n  grid-column: 1 / -1;\n}\n.m-4 {\n  margin: 1rem;\n}\n.-mx-1 {\n  margin-left: -0.25rem;\n  margin-right: -0.25rem;\n}\n.mx-1\\.5 {\n  margin-left: 0.375rem;\n  margin-right: 0.375rem;\n}\n.mx-2 {\n  margin-left: 0.5rem;\n  margin-right: 0.5rem;\n}\n.mx-3 {\n  margin-left: 0.75rem;\n  margin-right: 0.75rem;\n}\n.mx-4 {\n  margin-left: 1rem;\n  margin-right: 1rem;\n}\n.mx-auto {\n  margin-left: auto;\n  margin-right: auto;\n}\n.my-1\\.5 {\n  margin-top: 0.375rem;\n  margin-bottom: 0.375rem;\n}\n.-ml-2 {\n  margin-left: -0.5rem;\n}\n.-mt-0\\.5 {\n  margin-top: -0.125rem;\n}\n.mb-0\\.5 {\n  margin-bottom: 0.125rem;\n}\n.mb-1 {\n  margin-bottom: 0.25rem;\n}\n.mb-1\\.5 {\n  margin-bottom: 0.375rem;\n}\n.mb-2 {\n  margin-bottom: 0.5rem;\n}\n.mb-3 {\n  margin-bottom: 0.75rem;\n}\n.mb-4 {\n  margin-bottom: 1rem;\n}\n.mb-5 {\n  margin-bottom: 1.25rem;\n}\n.mb-6 {\n  margin-bottom: 1.5rem;\n}\n.mb-8 {\n  margin-bottom: 2rem;\n}\n.ml-0\\.5 {\n  margin-left: 0.125rem;\n}\n.ml-1 {\n  margin-left: 0.25rem;\n}\n.ml-1\\.5 {\n  margin-left: 0.375rem;\n}\n.ml-12 {\n  margin-left: 3rem;\n}\n.ml-2 {\n  margin-left: 0.5rem;\n}\n.ml-20 {\n  margin-left: 5rem;\n}\n.ml-3 {\n  margin-left: 0.75rem;\n}\n.ml-4 {\n  margin-left: 1rem;\n}\n.ml-auto {\n  margin-left: auto;\n}\n.mr-1 {\n  margin-right: 0.25rem;\n}\n.mr-2 {\n  margin-right: 0.5rem;\n}\n.mr-4 {\n  margin-right: 1rem;\n}\n.mt-0\\.5 {\n  margin-top: 0.125rem;\n}\n.mt-1 {\n  margin-top: 0.25rem;\n}\n.mt-1\\.5 {\n  margin-top: 0.375rem;\n}\n.mt-2 {\n  margin-top: 0.5rem;\n}\n.mt-3 {\n  margin-top: 0.75rem;\n}\n.mt-4 {\n  margin-top: 1rem;\n}\n.mt-6 {\n  margin-top: 1.5rem;\n}\n.mt-auto {\n  margin-top: auto;\n}\n.line-clamp-2 {\n  overflow: hidden;\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 2;\n}\n.block {\n  display: block;\n}\n.inline-block {\n  display: inline-block;\n}\n.inline {\n  display: inline;\n}\n.flex {\n  display: flex;\n}\n.inline-flex {\n  display: inline-flex;\n}\n.table {\n  display: table;\n}\n.grid {\n  display: grid;\n}\n.hidden {\n  display: none;\n}\n.aspect-square {\n  aspect-ratio: 1 / 1;\n}\n.aspect-video {\n  aspect-ratio: 16 / 9;\n}\n.h-1\\.5 {\n  height: 0.375rem;\n}\n.h-10 {\n  height: 2.5rem;\n}\n.h-11 {\n  height: 2.75rem;\n}\n.h-12 {\n  height: 3rem;\n}\n.h-14 {\n  height: 3.5rem;\n}\n.h-16 {\n  height: 4rem;\n}\n.h-2 {\n  height: 0.5rem;\n}\n.h-2\\.5 {\n  height: 0.625rem;\n}\n.h-20 {\n  height: 5rem;\n}\n.h-24 {\n  height: 6rem;\n}\n.h-3 {\n  height: 0.75rem;\n}\n.h-3\\.5 {\n  height: 0.875rem;\n}\n.h-32 {\n  height: 8rem;\n}\n.h-4 {\n  height: 1rem;\n}\n.h-48 {\n  height: 12rem;\n}\n.h-5 {\n  height: 1.25rem;\n}\n.h-6 {\n  height: 1.5rem;\n}\n.h-7 {\n  height: 1.75rem;\n}\n.h-8 {\n  height: 2rem;\n}\n.h-9 {\n  height: 2.25rem;\n}\n.h-\\[22px\\] {\n  height: 22px;\n}\n.h-\\[calc\\(100vh-10rem\\)\\] {\n  height: calc(100vh - 10rem);\n}\n.h-full {\n  height: 100%;\n}\n.h-px {\n  height: 1px;\n}\n.h-screen {\n  height: 100vh;\n}\n.max-h-0 {\n  max-height: 0px;\n}\n.max-h-20 {\n  max-height: 5rem;\n}\n.max-h-28 {\n  max-height: 7rem;\n}\n.max-h-48 {\n  max-height: 12rem;\n}\n.max-h-52 {\n  max-height: 13rem;\n}\n.max-h-60 {\n  max-height: 15rem;\n}\n.max-h-80 {\n  max-height: 20rem;\n}\n.max-h-96 {\n  max-height: 24rem;\n}\n.max-h-\\[350px\\] {\n  max-height: 350px;\n}\n.max-h-\\[500px\\] {\n  max-height: 500px;\n}\n.max-h-\\[80vh\\] {\n  max-height: 80vh;\n}\n.max-h-\\[90vh\\] {\n  max-height: 90vh;\n}\n.min-h-0 {\n  min-height: 0px;\n}\n.min-h-\\[110px\\] {\n  min-height: 110px;\n}\n.min-h-\\[120px\\] {\n  min-height: 120px;\n}\n.min-h-\\[3\\.5rem\\] {\n  min-height: 3.5rem;\n}\n.min-h-\\[400px\\] {\n  min-height: 400px;\n}\n.min-h-\\[88px\\] {\n  min-height: 88px;\n}\n.min-h-\\[calc\\(100vh-10rem\\)\\] {\n  min-height: calc(100vh - 10rem);\n}\n.min-h-screen {\n  min-height: 100vh;\n}\n.w-1 {\n  width: 0.25rem;\n}\n.w-1\\.5 {\n  width: 0.375rem;\n}\n.w-10 {\n  width: 2.5rem;\n}\n.w-11 {\n  width: 2.75rem;\n}\n.w-12 {\n  width: 3rem;\n}\n.w-14 {\n  width: 3.5rem;\n}\n.w-16 {\n  width: 4rem;\n}\n.w-2 {\n  width: 0.5rem;\n}\n.w-2\\.5 {\n  width: 0.625rem;\n}\n.w-20 {\n  width: 5rem;\n}\n.w-24 {\n  width: 6rem;\n}\n.w-28 {\n  width: 7rem;\n}\n.w-3 {\n  width: 0.75rem;\n}\n.w-3\\.5 {\n  width: 0.875rem;\n}\n.w-32 {\n  width: 8rem;\n}\n.w-36 {\n  width: 9rem;\n}\n.w-4 {\n  width: 1rem;\n}\n.w-44 {\n  width: 11rem;\n}\n.w-48 {\n  width: 12rem;\n}\n.w-5 {\n  width: 1.25rem;\n}\n.w-52 {\n  width: 13rem;\n}\n.w-56 {\n  width: 14rem;\n}\n.w-6 {\n  width: 1.5rem;\n}\n.w-64 {\n  width: 16rem;\n}\n.w-7 {\n  width: 1.75rem;\n}\n.w-72 {\n  width: 18rem;\n}\n.w-8 {\n  width: 2rem;\n}\n.w-80 {\n  width: 20rem;\n}\n.w-9 {\n  width: 2.25rem;\n}\n.w-96 {\n  width: 24rem;\n}\n.w-\\[400px\\] {\n  width: 400px;\n}\n.w-\\[460px\\] {\n  width: 460px;\n}\n.w-\\[520px\\] {\n  width: 520px;\n}\n.w-\\[560px\\] {\n  width: 560px;\n}\n.w-\\[82px\\] {\n  width: 82px;\n}\n.w-fit {\n  width: -moz-fit-content;\n  width: fit-content;\n}\n.w-full {\n  width: 100%;\n}\n.min-w-0 {\n  min-width: 0px;\n}\n.min-w-\\[120px\\] {\n  min-width: 120px;\n}\n.min-w-\\[140px\\] {\n  min-width: 140px;\n}\n.min-w-\\[150px\\] {\n  min-width: 150px;\n}\n.min-w-\\[200px\\] {\n  min-width: 200px;\n}\n.min-w-\\[240px\\] {\n  min-width: 240px;\n}\n.min-w-max {\n  min-width: -moz-max-content;\n  min-width: max-content;\n}\n.max-w-2xl {\n  max-width: 42rem;\n}\n.max-w-4xl {\n  max-width: 56rem;\n}\n.max-w-6xl {\n  max-width: 72rem;\n}\n.max-w-7xl {\n  max-width: 80rem;\n}\n.max-w-\\[160px\\] {\n  max-width: 160px;\n}\n.max-w-\\[200px\\] {\n  max-width: 200px;\n}\n.max-w-\\[280px\\] {\n  max-width: 280px;\n}\n.max-w-\\[90vw\\] {\n  max-width: 90vw;\n}\n.max-w-full {\n  max-width: 100%;\n}\n.max-w-lg {\n  max-width: 32rem;\n}\n.max-w-md {\n  max-width: 28rem;\n}\n.max-w-sm {\n  max-width: 24rem;\n}\n.max-w-xs {\n  max-width: 20rem;\n}\n.flex-1 {\n  flex: 1 1 0%;\n}\n.flex-\\[2\\] {\n  flex: 2;\n}\n.shrink-0 {\n  flex-shrink: 0;\n}\n.origin-top-right {\n  transform-origin: top right;\n}\n.-translate-x-1\\/2 {\n  --tw-translate-x: -50%;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-translate-y-1 {\n  --tw-translate-y: -0.25rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-translate-y-1\\/2 {\n  --tw-translate-y: -50%;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-0 {\n  --tw-translate-x: 0px;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-0\\.5 {\n  --tw-translate-x: 0.125rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-1 {\n  --tw-translate-x: 0.25rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-4 {\n  --tw-translate-x: 1rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-6 {\n  --tw-translate-x: 1.5rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-7 {\n  --tw-translate-x: 1.75rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-y-0 {\n  --tw-translate-y: 0px;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-y-0\\.5 {\n  --tw-translate-y: 0.125rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-rotate-90 {\n  --tw-rotate: -90deg;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.rotate-180 {\n  --tw-rotate: 180deg;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.rotate-90 {\n  --tw-rotate: 90deg;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.scale-100 {\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.scale-95 {\n  --tw-scale-x: .95;\n  --tw-scale-y: .95;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.transform {\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes pulse {\n\n  50% {\n    opacity: .5;\n  }\n}\n.animate-pulse {\n  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n@keyframes spin {\n\n  to {\n    transform: rotate(360deg);\n  }\n}\n.animate-spin {\n  animation: spin 1s linear infinite;\n}\n.cursor-crosshair {\n  cursor: crosshair;\n}\n.cursor-default {\n  cursor: default;\n}\n.cursor-not-allowed {\n  cursor: not-allowed;\n}\n.cursor-pointer {\n  cursor: pointer;\n}\n.touch-none {\n  touch-action: none;\n}\n.select-none {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n}\n.resize-none {\n  resize: none;\n}\n.resize-y {\n  resize: vertical;\n}\n.resize {\n  resize: both;\n}\n.appearance-none {\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n}\n.grid-cols-1 {\n  grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.grid-cols-2 {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.grid-cols-3 {\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.grid-cols-4 {\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.grid-cols-7 {\n  grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.flex-col {\n  flex-direction: column;\n}\n.flex-wrap {\n  flex-wrap: wrap;\n}\n.flex-nowrap {\n  flex-wrap: nowrap;\n}\n.items-start {\n  align-items: flex-start;\n}\n.items-end {\n  align-items: flex-end;\n}\n.items-center {\n  align-items: center;\n}\n.items-baseline {\n  align-items: baseline;\n}\n.justify-start {\n  justify-content: flex-start;\n}\n.justify-end {\n  justify-content: flex-end;\n}\n.justify-center {\n  justify-content: center;\n}\n.justify-between {\n  justify-content: space-between;\n}\n.gap-1 {\n  gap: 0.25rem;\n}\n.gap-1\\.5 {\n  gap: 0.375rem;\n}\n.gap-2 {\n  gap: 0.5rem;\n}\n.gap-2\\.5 {\n  gap: 0.625rem;\n}\n.gap-3 {\n  gap: 0.75rem;\n}\n.gap-4 {\n  gap: 1rem;\n}\n.gap-6 {\n  gap: 1.5rem;\n}\n.gap-8 {\n  gap: 2rem;\n}\n.gap-px {\n  gap: 1px;\n}\n.gap-x-8 {\n  -moz-column-gap: 2rem;\n       column-gap: 2rem;\n}\n.gap-y-4 {\n  row-gap: 1rem;\n}\n.space-x-2 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-x-reverse: 0;\n  margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-y-0\\.5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));\n}\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.space-y-2\\.5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));\n}\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n.space-y-6 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));\n}\n.space-y-8 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(2rem * var(--tw-space-y-reverse));\n}\n.divide-y > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-y-reverse: 0;\n  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-opacity: 1;\n  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));\n}\n.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-opacity: 1;\n  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));\n}\n.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-opacity: 1;\n  border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));\n}\n.self-start {\n  align-self: flex-start;\n}\n.overflow-auto {\n  overflow: auto;\n}\n.overflow-hidden {\n  overflow: hidden;\n}\n.overflow-x-auto {\n  overflow-x: auto;\n}\n.overflow-y-auto {\n  overflow-y: auto;\n}\n.truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.whitespace-normal {\n  white-space: normal;\n}\n.whitespace-nowrap {\n  white-space: nowrap;\n}\n.break-all {\n  word-break: break-all;\n}\n.rounded {\n  border-radius: 0.25rem;\n}\n.rounded-2xl {\n  border-radius: 1rem;\n}\n.rounded-3xl {\n  border-radius: 1.5rem;\n}\n.rounded-full {\n  border-radius: 9999px;\n}\n.rounded-lg {\n  border-radius: 0.5rem;\n}\n.rounded-md {\n  border-radius: 0.375rem;\n}\n.rounded-xl {\n  border-radius: 0.75rem;\n}\n.rounded-t-2xl {\n  border-top-left-radius: 1rem;\n  border-top-right-radius: 1rem;\n}\n.rounded-t-3xl {\n  border-top-left-radius: 1.5rem;\n  border-top-right-radius: 1.5rem;\n}\n.rounded-t-xl {\n  border-top-left-radius: 0.75rem;\n  border-top-right-radius: 0.75rem;\n}\n.border {\n  border-width: 1px;\n}\n.border-2 {\n  border-width: 2px;\n}\n.border-b {\n  border-bottom-width: 1px;\n}\n.border-b-2 {\n  border-bottom-width: 2px;\n}\n.border-l {\n  border-left-width: 1px;\n}\n.border-l-2 {\n  border-left-width: 2px;\n}\n.border-r {\n  border-right-width: 1px;\n}\n.border-t {\n  border-top-width: 1px;\n}\n.border-t-2 {\n  border-top-width: 2px;\n}\n.border-dashed {\n  border-style: dashed;\n}\n.border-none {\n  border-style: none;\n}\n.border-amber-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));\n}\n.border-amber-200\\/60 {\n  border-color: rgb(253 230 138 / 0.6);\n}\n.border-blue-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));\n}\n.border-blue-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));\n}\n.border-blue-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));\n}\n.border-gray-100 {\n  --tw-border-opacity: 1;\n  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));\n}\n.border-gray-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\n.border-gray-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.border-gray-400 {\n  --tw-border-opacity: 1;\n  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));\n}\n.border-gray-50 {\n  --tw-border-opacity: 1;\n  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));\n}\n.border-green-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));\n}\n.border-green-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));\n}\n.border-green-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));\n}\n.border-indigo-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));\n}\n.border-orange-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));\n}\n.border-pink-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));\n}\n.border-pink-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));\n}\n.border-pink-400 {\n  --tw-border-opacity: 1;\n  border-color: rgb(244 114 182 / var(--tw-border-opacity, 1));\n}\n.border-pink-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));\n}\n.border-pink-600 {\n  --tw-border-opacity: 1;\n  border-color: rgb(219 39 119 / var(--tw-border-opacity, 1));\n}\n.border-purple-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));\n}\n.border-purple-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));\n}\n.border-red-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));\n}\n.border-red-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));\n}\n.border-rose-100 {\n  --tw-border-opacity: 1;\n  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));\n}\n.border-rose-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));\n}\n.border-rose-50 {\n  --tw-border-opacity: 1;\n  border-color: rgb(255 241 242 / var(--tw-border-opacity, 1));\n}\n.border-rose-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(244 63 94 / var(--tw-border-opacity, 1));\n}\n.border-sky-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));\n}\n.border-transparent {\n  border-color: transparent;\n}\n.border-white\\/20 {\n  border-color: rgb(255 255 255 / 0.2);\n}\n.border-yellow-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));\n}\n.border-yellow-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));\n}\n.border-l-blue-400 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(96 165 250 / var(--tw-border-opacity, 1));\n}\n.border-l-gray-300 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.border-l-green-400 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(74 222 128 / var(--tw-border-opacity, 1));\n}\n.border-l-orange-300 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(253 186 116 / var(--tw-border-opacity, 1));\n}\n.border-l-red-300 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(252 165 165 / var(--tw-border-opacity, 1));\n}\n.border-l-yellow-400 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(250 204 21 / var(--tw-border-opacity, 1));\n}\n.border-t-transparent {\n  border-top-color: transparent;\n}\n.bg-amber-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-100\\/70 {\n  background-color: rgb(254 243 199 / 0.7);\n}\n.bg-amber-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-50\\/60 {\n  background-color: rgb(255 251 235 / 0.6);\n}\n.bg-amber-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-700 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));\n}\n.bg-black {\n  --tw-bg-opacity: 1;\n  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));\n}\n.bg-black\\/10 {\n  background-color: rgb(0 0 0 / 0.1);\n}\n.bg-black\\/20 {\n  background-color: rgb(0 0 0 / 0.2);\n}\n.bg-black\\/30 {\n  background-color: rgb(0 0 0 / 0.3);\n}\n.bg-black\\/40 {\n  background-color: rgb(0 0 0 / 0.4);\n}\n.bg-blue-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-100\\/70 {\n  background-color: rgb(219 234 254 / 0.7);\n}\n.bg-blue-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-50\\/30 {\n  background-color: rgb(239 246 255 / 0.3);\n}\n.bg-blue-50\\/40 {\n  background-color: rgb(239 246 255 / 0.4);\n}\n.bg-blue-50\\/50 {\n  background-color: rgb(239 246 255 / 0.5);\n}\n.bg-blue-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));\n}\n.bg-emerald-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));\n}\n.bg-emerald-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));\n}\n.bg-emerald-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-100\\/50 {\n  background-color: rgb(243 244 246 / 0.5);\n}\n.bg-gray-200 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-300 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-50\\/50 {\n  background-color: rgb(249 250 251 / 0.5);\n}\n.bg-gray-50\\/60 {\n  background-color: rgb(249 250 251 / 0.6);\n}\n.bg-gray-700 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-800 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-900 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\n}\n.bg-green-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.bg-green-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));\n}\n.bg-green-50\\/50 {\n  background-color: rgb(240 253 244 / 0.5);\n}\n.bg-green-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));\n}\n.bg-green-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));\n}\n.bg-indigo-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-200 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(251 207 232 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-50\\/50 {\n  background-color: rgb(253 242 248 / 0.5);\n}\n.bg-pink-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-500\\/80 {\n  background-color: rgb(236 72 153 / 0.8);\n}\n.bg-pink-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-700 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));\n}\n.bg-red-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\n}\n.bg-red-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.bg-red-50\\/50 {\n  background-color: rgb(254 242 242 / 0.5);\n}\n.bg-red-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));\n}\n.bg-red-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-100\\/70 {\n  background-color: rgb(255 228 230 / 0.7);\n}\n.bg-rose-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-50\\/40 {\n  background-color: rgb(255 241 242 / 0.4);\n}\n.bg-rose-50\\/60 {\n  background-color: rgb(255 241 242 / 0.6);\n}\n.bg-rose-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));\n}\n.bg-sky-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));\n}\n.bg-sky-100\\/70 {\n  background-color: rgb(224 242 254 / 0.7);\n}\n.bg-sky-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));\n}\n.bg-slate-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));\n}\n.bg-teal-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));\n}\n.bg-transparent {\n  background-color: transparent;\n}\n.bg-violet-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));\n}\n.bg-violet-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));\n}\n.bg-white {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.bg-white\\/10 {\n  background-color: rgb(255 255 255 / 0.1);\n}\n.bg-white\\/20 {\n  background-color: rgb(255 255 255 / 0.2);\n}\n.bg-white\\/80 {\n  background-color: rgb(255 255 255 / 0.8);\n}\n.bg-white\\/95 {\n  background-color: rgb(255 255 255 / 0.95);\n}\n.bg-yellow-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));\n}\n.bg-opacity-50 {\n  --tw-bg-opacity: 0.5;\n}\n.bg-gradient-to-b {\n  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\n}\n.bg-gradient-to-br {\n  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.bg-gradient-to-r {\n  background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.from-\\[\\#f43f6e\\] {\n  --tw-gradient-from: #f43f6e var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(244 63 110 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-pink-50 {\n  --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-pink-500 {\n  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-slate-600 {\n  --tw-gradient-from: #475569 var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.to-\\[\\#db2777\\] {\n  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.to-orange-50 {\n  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);\n}\n.to-pink-600 {\n  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.to-purple-50 {\n  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);\n}\n.to-slate-700 {\n  --tw-gradient-to: #334155 var(--tw-gradient-to-position);\n}\n.object-contain {\n  -o-object-fit: contain;\n     object-fit: contain;\n}\n.object-cover {\n  -o-object-fit: cover;\n     object-fit: cover;\n}\n.p-0\\.5 {\n  padding: 0.125rem;\n}\n.p-1 {\n  padding: 0.25rem;\n}\n.p-1\\.5 {\n  padding: 0.375rem;\n}\n.p-12 {\n  padding: 3rem;\n}\n.p-2 {\n  padding: 0.5rem;\n}\n.p-2\\.5 {\n  padding: 0.625rem;\n}\n.p-3 {\n  padding: 0.75rem;\n}\n.p-3\\.5 {\n  padding: 0.875rem;\n}\n.p-4 {\n  padding: 1rem;\n}\n.p-5 {\n  padding: 1.25rem;\n}\n.p-6 {\n  padding: 1.5rem;\n}\n.p-8 {\n  padding: 2rem;\n}\n.p-px {\n  padding: 1px;\n}\n.px-1 {\n  padding-left: 0.25rem;\n  padding-right: 0.25rem;\n}\n.px-1\\.5 {\n  padding-left: 0.375rem;\n  padding-right: 0.375rem;\n}\n.px-2 {\n  padding-left: 0.5rem;\n  padding-right: 0.5rem;\n}\n.px-2\\.5 {\n  padding-left: 0.625rem;\n  padding-right: 0.625rem;\n}\n.px-3 {\n  padding-left: 0.75rem;\n  padding-right: 0.75rem;\n}\n.px-3\\.5 {\n  padding-left: 0.875rem;\n  padding-right: 0.875rem;\n}\n.px-4 {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n.px-5 {\n  padding-left: 1.25rem;\n  padding-right: 1.25rem;\n}\n.px-6 {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n.px-7 {\n  padding-left: 1.75rem;\n  padding-right: 1.75rem;\n}\n.py-0\\.5 {\n  padding-top: 0.125rem;\n  padding-bottom: 0.125rem;\n}\n.py-1 {\n  padding-top: 0.25rem;\n  padding-bottom: 0.25rem;\n}\n.py-1\\.5 {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n}\n.py-10 {\n  padding-top: 2.5rem;\n  padding-bottom: 2.5rem;\n}\n.py-12 {\n  padding-top: 3rem;\n  padding-bottom: 3rem;\n}\n.py-16 {\n  padding-top: 4rem;\n  padding-bottom: 4rem;\n}\n.py-2 {\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n}\n.py-2\\.5 {\n  padding-top: 0.625rem;\n  padding-bottom: 0.625rem;\n}\n.py-20 {\n  padding-top: 5rem;\n  padding-bottom: 5rem;\n}\n.py-3 {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n}\n.py-3\\.5 {\n  padding-top: 0.875rem;\n  padding-bottom: 0.875rem;\n}\n.py-4 {\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n.py-5 {\n  padding-top: 1.25rem;\n  padding-bottom: 1.25rem;\n}\n.py-8 {\n  padding-top: 2rem;\n  padding-bottom: 2rem;\n}\n.pb-1 {\n  padding-bottom: 0.25rem;\n}\n.pb-2 {\n  padding-bottom: 0.5rem;\n}\n.pb-2\\.5 {\n  padding-bottom: 0.625rem;\n}\n.pb-20 {\n  padding-bottom: 5rem;\n}\n.pb-3 {\n  padding-bottom: 0.75rem;\n}\n.pb-4 {\n  padding-bottom: 1rem;\n}\n.pb-6 {\n  padding-bottom: 1.5rem;\n}\n.pb-\\[env\\(safe-area-inset-bottom\\)\\] {\n  padding-bottom: env(safe-area-inset-bottom);\n}\n.pl-10 {\n  padding-left: 2.5rem;\n}\n.pl-4 {\n  padding-left: 1rem;\n}\n.pl-5 {\n  padding-left: 1.25rem;\n}\n.pl-6 {\n  padding-left: 1.5rem;\n}\n.pl-7 {\n  padding-left: 1.75rem;\n}\n.pl-8 {\n  padding-left: 2rem;\n}\n.pl-9 {\n  padding-left: 2.25rem;\n}\n.pr-2 {\n  padding-right: 0.5rem;\n}\n.pr-3 {\n  padding-right: 0.75rem;\n}\n.pr-4 {\n  padding-right: 1rem;\n}\n.pr-7 {\n  padding-right: 1.75rem;\n}\n.pt-1 {\n  padding-top: 0.25rem;\n}\n.pt-1\\.5 {\n  padding-top: 0.375rem;\n}\n.pt-2 {\n  padding-top: 0.5rem;\n}\n.pt-3 {\n  padding-top: 0.75rem;\n}\n.pt-4 {\n  padding-top: 1rem;\n}\n.pt-5 {\n  padding-top: 1.25rem;\n}\n.pt-6 {\n  padding-top: 1.5rem;\n}\n.text-left {\n  text-align: left;\n}\n.text-center {\n  text-align: center;\n}\n.text-right {\n  text-align: right;\n}\n.font-mono {\n  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n.text-2xl {\n  font-size: 1.5rem;\n  line-height: 2rem;\n}\n.text-3xl {\n  font-size: 1.875rem;\n  line-height: 2.25rem;\n}\n.text-4xl {\n  font-size: 2.25rem;\n  line-height: 2.5rem;\n}\n.text-5xl {\n  font-size: 3rem;\n  line-height: 1;\n}\n.text-\\[10px\\] {\n  font-size: 10px;\n}\n.text-\\[11px\\] {\n  font-size: 11px;\n}\n.text-\\[12px\\] {\n  font-size: 12px;\n}\n.text-base {\n  font-size: 1rem;\n  line-height: 1.5rem;\n}\n.text-lg {\n  font-size: 1.125rem;\n  line-height: 1.75rem;\n}\n.text-sm {\n  font-size: 0.875rem;\n  line-height: 1.25rem;\n}\n.text-xl {\n  font-size: 1.25rem;\n  line-height: 1.75rem;\n}\n.text-xs {\n  font-size: 0.75rem;\n  line-height: 1rem;\n}\n.font-bold {\n  font-weight: 700;\n}\n.font-extrabold {\n  font-weight: 800;\n}\n.font-medium {\n  font-weight: 500;\n}\n.font-normal {\n  font-weight: 400;\n}\n.font-semibold {\n  font-weight: 600;\n}\n.uppercase {\n  text-transform: uppercase;\n}\n.italic {\n  font-style: italic;\n}\n.tabular-nums {\n  --tw-numeric-spacing: tabular-nums;\n  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.leading-none {\n  line-height: 1;\n}\n.leading-snug {\n  line-height: 1.375;\n}\n.leading-tight {\n  line-height: 1.25;\n}\n.tracking-tight {\n  letter-spacing: -0.025em;\n}\n.tracking-wider {\n  letter-spacing: 0.05em;\n}\n.text-\\[\\#141416\\] {\n  --tw-text-opacity: 1;\n  color: rgb(20 20 22 / var(--tw-text-opacity, 1));\n}\n.text-\\[\\#7a5a72\\] {\n  --tw-text-opacity: 1;\n  color: rgb(122 90 114 / var(--tw-text-opacity, 1));\n}\n.text-\\[\\#8a6f86\\] {\n  --tw-text-opacity: 1;\n  color: rgb(138 111 134 / var(--tw-text-opacity, 1));\n}\n.text-amber-500 {\n  --tw-text-opacity: 1;\n  color: rgb(245 158 11 / var(--tw-text-opacity, 1));\n}\n.text-amber-600 {\n  --tw-text-opacity: 1;\n  color: rgb(217 119 6 / var(--tw-text-opacity, 1));\n}\n.text-amber-700 {\n  --tw-text-opacity: 1;\n  color: rgb(180 83 9 / var(--tw-text-opacity, 1));\n}\n.text-amber-800 {\n  --tw-text-opacity: 1;\n  color: rgb(146 64 14 / var(--tw-text-opacity, 1));\n}\n.text-blue-600 {\n  --tw-text-opacity: 1;\n  color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.text-blue-700 {\n  --tw-text-opacity: 1;\n  color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\n.text-blue-800 {\n  --tw-text-opacity: 1;\n  color: rgb(30 64 175 / var(--tw-text-opacity, 1));\n}\n.text-emerald-600 {\n  --tw-text-opacity: 1;\n  color: rgb(5 150 105 / var(--tw-text-opacity, 1));\n}\n.text-gray-300 {\n  --tw-text-opacity: 1;\n  color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.text-gray-400 {\n  --tw-text-opacity: 1;\n  color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.text-gray-500 {\n  --tw-text-opacity: 1;\n  color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.text-gray-600 {\n  --tw-text-opacity: 1;\n  color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n.text-gray-700 {\n  --tw-text-opacity: 1;\n  color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.text-gray-800 {\n  --tw-text-opacity: 1;\n  color: rgb(31 41 55 / var(--tw-text-opacity, 1));\n}\n.text-gray-900 {\n  --tw-text-opacity: 1;\n  color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.text-green-500 {\n  --tw-text-opacity: 1;\n  color: rgb(34 197 94 / var(--tw-text-opacity, 1));\n}\n.text-green-600 {\n  --tw-text-opacity: 1;\n  color: rgb(22 163 74 / var(--tw-text-opacity, 1));\n}\n.text-green-700 {\n  --tw-text-opacity: 1;\n  color: rgb(21 128 61 / var(--tw-text-opacity, 1));\n}\n.text-green-800 {\n  --tw-text-opacity: 1;\n  color: rgb(22 101 52 / var(--tw-text-opacity, 1));\n}\n.text-indigo-600 {\n  --tw-text-opacity: 1;\n  color: rgb(79 70 229 / var(--tw-text-opacity, 1));\n}\n.text-orange-600 {\n  --tw-text-opacity: 1;\n  color: rgb(234 88 12 / var(--tw-text-opacity, 1));\n}\n.text-orange-700 {\n  --tw-text-opacity: 1;\n  color: rgb(194 65 12 / var(--tw-text-opacity, 1));\n}\n.text-pink-100 {\n  --tw-text-opacity: 1;\n  color: rgb(252 231 243 / var(--tw-text-opacity, 1));\n}\n.text-pink-200 {\n  --tw-text-opacity: 1;\n  color: rgb(251 207 232 / var(--tw-text-opacity, 1));\n}\n.text-pink-300 {\n  --tw-text-opacity: 1;\n  color: rgb(249 168 212 / var(--tw-text-opacity, 1));\n}\n.text-pink-400 {\n  --tw-text-opacity: 1;\n  color: rgb(244 114 182 / var(--tw-text-opacity, 1));\n}\n.text-pink-500 {\n  --tw-text-opacity: 1;\n  color: rgb(236 72 153 / var(--tw-text-opacity, 1));\n}\n.text-pink-600 {\n  --tw-text-opacity: 1;\n  color: rgb(219 39 119 / var(--tw-text-opacity, 1));\n}\n.text-pink-700 {\n  --tw-text-opacity: 1;\n  color: rgb(190 24 93 / var(--tw-text-opacity, 1));\n}\n.text-pink-800 {\n  --tw-text-opacity: 1;\n  color: rgb(157 23 77 / var(--tw-text-opacity, 1));\n}\n.text-purple-100 {\n  --tw-text-opacity: 1;\n  color: rgb(243 232 255 / var(--tw-text-opacity, 1));\n}\n.text-purple-600 {\n  --tw-text-opacity: 1;\n  color: rgb(147 51 234 / var(--tw-text-opacity, 1));\n}\n.text-purple-700 {\n  --tw-text-opacity: 1;\n  color: rgb(126 34 206 / var(--tw-text-opacity, 1));\n}\n.text-purple-800 {\n  --tw-text-opacity: 1;\n  color: rgb(107 33 168 / var(--tw-text-opacity, 1));\n}\n.text-red-400 {\n  --tw-text-opacity: 1;\n  color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n.text-red-500 {\n  --tw-text-opacity: 1;\n  color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.text-red-600 {\n  --tw-text-opacity: 1;\n  color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n.text-red-700 {\n  --tw-text-opacity: 1;\n  color: rgb(185 28 28 / var(--tw-text-opacity, 1));\n}\n.text-red-800 {\n  --tw-text-opacity: 1;\n  color: rgb(153 27 27 / var(--tw-text-opacity, 1));\n}\n.text-rose-300 {\n  --tw-text-opacity: 1;\n  color: rgb(253 164 175 / var(--tw-text-opacity, 1));\n}\n.text-rose-400 {\n  --tw-text-opacity: 1;\n  color: rgb(251 113 133 / var(--tw-text-opacity, 1));\n}\n.text-rose-500 {\n  --tw-text-opacity: 1;\n  color: rgb(244 63 94 / var(--tw-text-opacity, 1));\n}\n.text-rose-600 {\n  --tw-text-opacity: 1;\n  color: rgb(225 29 72 / var(--tw-text-opacity, 1));\n}\n.text-rose-700 {\n  --tw-text-opacity: 1;\n  color: rgb(190 18 60 / var(--tw-text-opacity, 1));\n}\n.text-rose-800 {\n  --tw-text-opacity: 1;\n  color: rgb(159 18 57 / var(--tw-text-opacity, 1));\n}\n.text-sky-600 {\n  --tw-text-opacity: 1;\n  color: rgb(2 132 199 / var(--tw-text-opacity, 1));\n}\n.text-sky-800 {\n  --tw-text-opacity: 1;\n  color: rgb(7 89 133 / var(--tw-text-opacity, 1));\n}\n.text-slate-300 {\n  --tw-text-opacity: 1;\n  color: rgb(203 213 225 / var(--tw-text-opacity, 1));\n}\n.text-teal-600 {\n  --tw-text-opacity: 1;\n  color: rgb(13 148 136 / var(--tw-text-opacity, 1));\n}\n.text-transparent {\n  color: transparent;\n}\n.text-violet-600 {\n  --tw-text-opacity: 1;\n  color: rgb(124 58 237 / var(--tw-text-opacity, 1));\n}\n.text-violet-700 {\n  --tw-text-opacity: 1;\n  color: rgb(109 40 217 / var(--tw-text-opacity, 1));\n}\n.text-white {\n  --tw-text-opacity: 1;\n  color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.text-yellow-600 {\n  --tw-text-opacity: 1;\n  color: rgb(202 138 4 / var(--tw-text-opacity, 1));\n}\n.text-yellow-700 {\n  --tw-text-opacity: 1;\n  color: rgb(161 98 7 / var(--tw-text-opacity, 1));\n}\n.text-yellow-800 {\n  --tw-text-opacity: 1;\n  color: rgb(133 77 14 / var(--tw-text-opacity, 1));\n}\n.line-through {\n  text-decoration-line: line-through;\n}\n.placeholder-pink-300::-moz-placeholder {\n  --tw-placeholder-opacity: 1;\n  color: rgb(249 168 212 / var(--tw-placeholder-opacity, 1));\n}\n.placeholder-pink-300::placeholder {\n  --tw-placeholder-opacity: 1;\n  color: rgb(249 168 212 / var(--tw-placeholder-opacity, 1));\n}\n.opacity-0 {\n  opacity: 0;\n}\n.opacity-100 {\n  opacity: 1;\n}\n.opacity-40 {\n  opacity: 0.4;\n}\n.opacity-50 {\n  opacity: 0.5;\n}\n.opacity-60 {\n  opacity: 0.6;\n}\n.opacity-70 {\n  opacity: 0.7;\n}\n.opacity-80 {\n  opacity: 0.8;\n}\n.shadow {\n  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-2xl {\n  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-\\[0_-2px_8px_rgba\\(0\\2c 0\\2c 0\\2c 0\\.04\\)\\] {\n  --tw-shadow: 0 -2px 8px rgba(0,0,0,0.04);\n  --tw-shadow-colored: 0 -2px 8px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-\\[0_8px_18px_-8px_rgba\\(219\\2c 39\\2c 119\\2c 0\\.65\\)\\] {\n  --tw-shadow: 0 8px 18px -8px rgba(219,39,119,0.65);\n  --tw-shadow-colored: 0 8px 18px -8px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-inner {\n  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-lg {\n  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-sm {\n  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-xl {\n  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-pink-200 {\n  --tw-shadow-color: #fbcfe8;\n  --tw-shadow: var(--tw-shadow-colored);\n}\n.outline-none {\n  outline: 2px solid transparent;\n  outline-offset: 2px;\n}\n.ring-2 {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.ring-4 {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.ring-pink-100 {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(252 231 243 / var(--tw-ring-opacity, 1));\n}\n.ring-white {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));\n}\n.filter {\n  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.backdrop-blur-sm {\n  --tw-backdrop-blur: blur(4px);\n  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.transition {\n  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-all {\n  transition-property: all;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-colors {\n  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-opacity {\n  transition-property: opacity;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-shadow {\n  transition-property: box-shadow;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-transform {\n  transition-property: transform;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.duration-150 {\n  transition-duration: 150ms;\n}\n.duration-200 {\n  transition-duration: 200ms;\n}\n.duration-300 {\n  transition-duration: 300ms;\n}\n.ease-in-out {\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ease-out {\n  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n:root {\n  font-family: 'Inter', system-ui, -apple-system, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.font-display {\n  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;\n}\n/* iPad-style vertical nav rail ------------------------------------------ */\n/* Fresha-inspired high-key palette: a soft lavender → blush wash over a\n   near-white ground, with near-black ink. Airy, not dark. */\n.nav-rail {\n  background:\n    radial-gradient(135% 55% at 50% -8%, rgba(255, 255, 255, 0.85), transparent 62%),\n    radial-gradient(95% 45% at 88% 108%, rgba(255, 255, 255, 0.7), transparent 60%),\n    linear-gradient(168deg, #ece9fb 0%, #e7e2f8 30%, #efe3f5 62%, #fbe6f4 100%);\n  border-right: 1px solid rgba(120, 110, 170, 0.14);\n}\n/* Active \"pulled tab\": a brand rose→pink card so the rail's selection\n   speaks the same language as the pink modules in the content area. The\n   vertical gradient's end colors are matched per-corner by the notches\n   below, so the concave cut stays seamless. */\n.nav-tab-active {\n  background: linear-gradient(180deg, #f43f6e 0%, #db2777 100%);\n  border-top-left-radius: 22px;\n  border-bottom-left-radius: 22px;\n  box-shadow: -10px 0 26px -12px rgba(219, 39, 119, 0.5);\n  position: relative;\n}\n.nav-tab-active::before,\n.nav-tab-active::after {\n  content: '';\n  position: absolute;\n  right: 0;\n  width: 16px;\n  height: 16px;\n  background: transparent;\n  pointer-events: none;\n}\n.nav-tab-active::before {\n  top: -16px;\n  border-bottom-left-radius: 16px;\n  box-shadow: -5px 5px 0 0 #f43f6e;\n}\n.nav-tab-active::after {\n  bottom: -16px;\n  border-top-left-radius: 16px;\n  box-shadow: -5px -5px 0 0 #db2777;\n}\n/* Gentle entrance + hover feedback for rail items */\n.nav-rail-item {\n  transition: transform 0.18s ease, color 0.18s ease, background-color 0.22s ease, box-shadow 0.22s ease;\n}\n.nav-rail-item:not(.nav-tab-active):hover {\n  transform: translateY(-1px);\n}\n.nav-rail-item:not(.nav-tab-active):active {\n  transform: scale(0.94);\n}\n/* Hide scrollbar on the rail while keeping it scrollable on short screens */\n.nav-rail-scroll {\n  scrollbar-width: none;\n}\n.nav-rail-scroll::-webkit-scrollbar {\n  display: none;\n}\nbody {\n  margin: 0;\n  min-height: 100vh;\n  background-color: #f8fafc;\n}\n/* Toast animations */\n@keyframes slide-in {\n  from { transform: translateX(100%); opacity: 0; }\n  to   { transform: translateX(0);    opacity: 1; }\n}\n@keyframes slide-out {\n  from { transform: translateX(0);    opacity: 1; }\n  to   { transform: translateX(100%); opacity: 0; }\n}\n[data-state=\"open\"].animate-slide-in  { animation: slide-in  0.25s ease-out; }\n[data-state=\"closed\"].animate-slide-out { animation: slide-out 0.2s ease-in; }\n/* FullCalendar 预约事件样式优化 */\n.custom-calendar-event {\n  border-radius: 6px !important;\n  border-left-width: 3px !important;\n  padding: 2px 6px !important;\n  font-size: 12px !important;\n  line-height: 1.4 !important;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;\n  transition: box-shadow 0.15s ease !important;\n}\n.custom-calendar-event:hover {\n  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;\n  z-index: 10 !important;\n}\n/* FullCalendar 时间槽样式 */\n.fc-timegrid-slot {\n  height: 48px !important;\n}\n.fc-timegrid-slot-label {\n  font-size: 12px !important;\n  color: #6b7280 !important;\n  padding-right: 8px !important;\n}\n.fc-timegrid-now-indicator-line {\n  border-color: #ec4899 !important;\n  border-width: 2px !important;\n}\n.fc-timegrid-now-indicator-arrow {\n  border-color: #ec4899 !important;\n}\n/* FullCalendar 头部样式 */\n.fc-toolbar-title {\n  font-size: 1.25rem !important;\n  font-weight: 600 !important;\n  color: #111827 !important;\n}\n.fc-button-primary {\n  background-color: #ec4899 !important;\n  border-color: #ec4899 !important;\n  font-size: 13px !important;\n  padding: 6px 12px !important;\n  border-radius: 6px !important;\n}\n.fc-button-primary:hover {\n  background-color: #db2777 !important;\n  border-color: #db2777 !important;\n}\n.fc-button-primary:not(:disabled):active,\n.fc-button-primary:not(:disabled).fc-button-active {\n  background-color: #be185d !important;\n  border-color: #be185d !important;\n}\n.fc-button-primary:disabled {\n  background-color: #f9a8d4 !important;\n  border-color: #f9a8d4 !important;\n}\n.fc-col-header-cell {\n  background-color: #fdf2f8 !important;\n  font-weight: 600 !important;\n  font-size: 13px !important;\n  color: #831843 !important;\n  padding: 8px 0 !important;\n}\n/* Hide number input spinners (up/down arrows) */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\ninput[type=\"number\"] {\n  -moz-appearance: textfield;\n}\n/* Print styles — receipt-only output */\n@media print {\n  body { background: white !important; }\n  /* Hide everything except the receipt content */\n  header, aside, nav, .print\\:hidden { display: none !important; }\n  main { padding: 0 !important; overflow: visible !important; }\n  /* Remove layout chrome */\n  .h-screen { height: auto !important; overflow: visible !important; }\n  .flex-1 { overflow: visible !important; }\n  /* Receipt card: no shadow, no border radius */\n  .print\\:shadow-none { box-shadow: none !important; }\n  .print\\:border-none { border: none !important; }\n  .print\\:rounded-none { border-radius: 0 !important; }\n  .print\\:bg-white { background: white !important; }\n  .print\\:text-gray-900 { color: #111827 !important; }\n  .print\\:text-gray-500 { color: #6b7280 !important; }\n  .print\\:border-b { border-bottom: 1px solid #e5e7eb !important; }\n  .print\\:py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }\n  .print\\:px-0 { padding-left: 0 !important; padding-right: 0 !important; }\n  .print\\:max-w-none { max-width: none !important; }\n  /* Page margins for thermal / A4 */\n  @page { margin: 8mm; size: auto; }\n}\n.first\\:mt-0:first-child {\n  margin-top: 0px;\n}\n.last\\:border-0:last-child {\n  border-width: 0px;\n}\n.last\\:border-b-0:last-child {\n  border-bottom-width: 0px;\n}\n.last\\:border-r-0:last-child {\n  border-right-width: 0px;\n}\n.hover\\:z-20:hover {\n  z-index: 20;\n}\n.hover\\:-translate-y-px:hover {\n  --tw-translate-y: -1px;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.hover\\:border-amber-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-blue-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-gray-200:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-gray-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-green-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-pink-200:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-pink-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-purple-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-rose-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));\n}\n.hover\\:bg-amber-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-black\\/10:hover {\n  background-color: rgb(0 0 0 / 0.1);\n}\n.hover\\:bg-blue-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-blue-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-blue-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-emerald-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-200:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-300:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50\\/50:hover {\n  background-color: rgb(249 250 251 / 0.5);\n}\n.hover\\:bg-gray-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-800:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-600:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-orange-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-orange-600:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-orange-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-50\\/40:hover {\n  background-color: rgb(253 242 248 / 0.4);\n}\n.hover\\:bg-pink-600:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-purple-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-purple-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-red-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-red-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-red-50\\/50:hover {\n  background-color: rgb(254 242 242 / 0.5);\n}\n.hover\\:bg-red-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-rose-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-rose-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-sky-200:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(186 230 253 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-white\\/10:hover {\n  background-color: rgb(255 255 255 / 0.1);\n}\n.hover\\:bg-white\\/20:hover {\n  background-color: rgb(255 255 255 / 0.2);\n}\n.hover\\:bg-white\\/55:hover {\n  background-color: rgb(255 255 255 / 0.55);\n}\n.hover\\:pl-4:hover {\n  padding-left: 1rem;\n}\n.hover\\:text-\\[\\#141416\\]:hover {\n  --tw-text-opacity: 1;\n  color: rgb(20 20 22 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-blue-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-blue-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-blue-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(30 64 175 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-emerald-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(4 120 87 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-400:hover {\n  --tw-text-opacity: 1;\n  color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(31 41 55 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-900:hover {\n  --tw-text-opacity: 1;\n  color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-green-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(22 101 52 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-orange-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(194 65 12 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-pink-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(219 39 119 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-pink-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(190 24 93 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-purple-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(126 34 206 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-500:hover {\n  --tw-text-opacity: 1;\n  color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(185 28 28 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(153 27 27 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-white:hover {\n  --tw-text-opacity: 1;\n  color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.hover\\:underline:hover {\n  text-decoration-line: underline;\n}\n.hover\\:shadow-\\[0_6px_16px_-10px_rgba\\(80\\2c 60\\2c 120\\2c 0\\.5\\)\\]:hover {\n  --tw-shadow: 0 6px 16px -10px rgba(80,60,120,0.5);\n  --tw-shadow-colored: 0 6px 16px -10px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.hover\\:shadow-md:hover {\n  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.hover\\:shadow-sm:hover {\n  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.focus\\:border-blue-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-emerald-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-orange-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-pink-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(244 114 182 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-pink-500:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-rose-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-transparent:focus {\n  border-color: transparent;\n}\n.focus\\:border-white\\/40:focus {\n  border-color: rgb(255 255 255 / 0.4);\n}\n.focus\\:outline-none:focus {\n  outline: 2px solid transparent;\n  outline-offset: 2px;\n}\n.focus\\:ring-1:focus {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-2:focus {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-blue-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-blue-500:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-emerald-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-orange-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(255 237 213 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(252 231 243 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-200:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(251 207 232 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-300:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(249 168 212 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-400:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(244 114 182 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-500:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(236 72 153 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-purple-300:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-red-500:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-rose-300:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-2:focus-visible {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:ring-gray-300:focus-visible {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-pink-300:focus-visible {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(249 168 212 / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-sky-300:focus-visible {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(125 211 252 / var(--tw-ring-opacity, 1));\n}\n.active\\:scale-90:active {\n  --tw-scale-x: .9;\n  --tw-scale-y: .9;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-95:active {\n  --tw-scale-x: .95;\n  --tw-scale-y: .95;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-\\[\\.99\\]:active {\n  --tw-scale-x: .99;\n  --tw-scale-y: .99;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-\\[0\\.98\\]:active {\n  --tw-scale-x: 0.98;\n  --tw-scale-y: 0.98;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-\\[0\\.99\\]:active {\n  --tw-scale-x: 0.99;\n  --tw-scale-y: 0.99;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:bg-gray-100:active {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-gray-200:active {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.disabled\\:cursor-not-allowed:disabled {\n  cursor: not-allowed;\n}\n.disabled\\:bg-gray-100:disabled {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.disabled\\:text-gray-500:disabled {\n  --tw-text-opacity: 1;\n  color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.disabled\\:opacity-30:disabled {\n  opacity: 0.3;\n}\n.disabled\\:opacity-40:disabled {\n  opacity: 0.4;\n}\n.disabled\\:opacity-50:disabled {\n  opacity: 0.5;\n}\n.disabled\\:active\\:scale-100:active:disabled {\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.group:hover .group-hover\\:scale-105 {\n  --tw-scale-x: 1.05;\n  --tw-scale-y: 1.05;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.group:hover .group-hover\\:scale-110 {\n  --tw-scale-x: 1.1;\n  --tw-scale-y: 1.1;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.group\\/day:hover .group-hover\\/day\\:bg-gray-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.group:hover .group-hover\\:opacity-100 {\n  opacity: 1;\n}\n.group:active .group-active\\:scale-95 {\n  --tw-scale-x: .95;\n  --tw-scale-y: .95;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n[data-device=\"pad\"] .pad\\:mb-6 {\n  margin-bottom: 1.5rem;\n}\n[data-device=\"pad\"] .pad\\:mt-8 {\n  margin-top: 2rem;\n}\n[data-device=\"pad\"] .pad\\:flex {\n  display: flex;\n}\n[data-device=\"pad\"] .pad\\:min-h-\\[104px\\] {\n  min-height: 104px;\n}\n[data-device=\"pad\"] .pad\\:w-32 {\n  width: 8rem;\n}\n[data-device=\"pad\"] .pad\\:w-\\[480px\\] {\n  width: 480px;\n}\n[data-device=\"pad\"] .pad\\:max-w-none {\n  max-width: none;\n}\n[data-device=\"pad\"] .pad\\:grid-cols-3 {\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n[data-device=\"pad\"] .pad\\:items-stretch {\n  align-items: stretch;\n}\n[data-device=\"pad\"] .pad\\:gap-4 {\n  gap: 1rem;\n}\n[data-device=\"pad\"] .pad\\:rounded-none {\n  border-radius: 0px;\n}\n[data-device=\"pad\"] .pad\\:p-6 {\n  padding: 1.5rem;\n}\n[data-device=\"pad\"] .pad\\:text-2xl {\n  font-size: 1.5rem;\n  line-height: 2rem;\n}\n[data-device=\"pad\"] .pad\\:text-3xl {\n  font-size: 1.875rem;\n  line-height: 2.25rem;\n}\n[data-device=\"pad\"] .pad\\:text-lg {\n  font-size: 1.125rem;\n  line-height: 1.75rem;\n}\n[data-device=\"pc\"] .pc\\:m-auto {\n  margin: auto;\n}\n[data-device=\"pc\"] .pc\\:max-h-\\[80vh\\] {\n  max-height: 80vh;\n}\n[data-device=\"pc\"] .pc\\:rounded-2xl {\n  border-radius: 1rem;\n}\n[data-device=\"pc\"] .pc\\:hover\\:-translate-y-0\\.5:hover {\n  --tw-translate-y: -0.125rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n[data-device=\"pc\"] .pc\\:hover\\:border-rose-200:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:border-rose-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-gray-200:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-gray-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-red-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-50\\/50:hover {\n  background-color: rgb(255 241 242 / 0.5);\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-amber-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(180 83 9 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-gray-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-green-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(21 128 61 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-red-400:hover {\n  --tw-text-opacity: 1;\n  color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-red-500:hover {\n  --tw-text-opacity: 1;\n  color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-red-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-rose-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(225 29 72 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-rose-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(190 18 60 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:underline:hover {\n  text-decoration-line: underline;\n}\n[data-device=\"pc\"] .pc\\:hover\\:shadow-md:hover {\n  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n@media (prefers-reduced-motion: reduce) {\n\n  .motion-reduce\\:translate-y-0 {\n    --tw-translate-y: 0px;\n    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n  }\n\n  .motion-reduce\\:scale-100 {\n    --tw-scale-x: 1;\n    --tw-scale-y: 1;\n    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n  }\n\n  .motion-reduce\\:opacity-100 {\n    opacity: 1;\n  }\n\n  .motion-reduce\\:transition-none {\n    transition-property: none;\n  }\n\n  .motion-reduce\\:hover\\:translate-y-0:hover {\n    --tw-translate-y: 0px;\n    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n  }\n}\n@media (min-width: 640px) {\n\n  .sm\\:inline {\n    display: inline;\n  }\n\n  .sm\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .sm\\:grid-cols-4 {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .sm\\:flex-row {\n    flex-direction: row;\n  }\n\n  .sm\\:items-center {\n    align-items: center;\n  }\n}\n@media (min-width: 768px) {\n\n  .md\\:col-span-2 {\n    grid-column: span 2 / span 2;\n  }\n\n  .md\\:col-span-3 {\n    grid-column: span 3 / span 3;\n  }\n\n  .md\\:flex {\n    display: flex;\n  }\n\n  .md\\:grid-cols-2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .md\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .md\\:grid-cols-4 {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .md\\:grid-cols-5 {\n    grid-template-columns: repeat(5, minmax(0, 1fr));\n  }\n}\n@media (min-width: 1024px) {\n\n  .lg\\:col-span-2 {\n    grid-column: span 2 / span 2;\n  }\n\n  .lg\\:col-span-3 {\n    grid-column: span 3 / span 3;\n  }\n\n  .lg\\:inline {\n    display: inline;\n  }\n\n  .lg\\:grid-cols-2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-4 {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-5 {\n    grid-template-columns: repeat(5, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-6 {\n    grid-template-columns: repeat(6, minmax(0, 1fr));\n  }\n}\n@media (min-width: 1280px) {\n\n  .xl\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n@media print {\n\n  .print\\:hidden {\n    display: none;\n  }\n\n  .print\\:max-w-none {\n    max-width: none;\n  }\n\n  .print\\:rounded-none {\n    border-radius: 0px;\n  }\n\n  .print\\:border-b {\n    border-bottom-width: 1px;\n  }\n\n  .print\\:border-none {\n    border-style: none;\n  }\n\n  .print\\:border-gray-200 {\n    --tw-border-opacity: 1;\n    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n  }\n\n  .print\\:bg-white {\n    --tw-bg-opacity: 1;\n    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n  }\n\n  .print\\:px-0 {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n\n  .print\\:py-0 {\n    padding-top: 0px;\n    padding-bottom: 0px;\n  }\n\n  .print\\:text-gray-500 {\n    --tw-text-opacity: 1;\n    color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n  }\n\n  .print\\:text-gray-900 {\n    --tw-text-opacity: 1;\n    color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n  }\n\n  .print\\:shadow-none {\n    --tw-shadow: 0 0 #0000;\n    --tw-shadow-colored: 0 0 #0000;\n    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n  }\n}\n"]],"\n  ",["BODY",{},"\n    ",["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},["DIV",{"class":"text-center mb-8"},["H1",{"class":"text-3xl font-bold text-pink-600"},"iNail"],["P",{"class":"text-gray-500 mt-1"},"欢迎回来"]],["FORM",{"class":"space-y-4"},["DIV",{},["LABEL",{"for":"email","class":"block text-sm font-medium text-gray-700 mb-1"},"邮箱"],["INPUT",{"__playwright_value_":"","id":"email","name":"email","type":"email","autocomplete":"username","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":""}]],["DIV",{},["LABEL",{"for":"password","class":"block text-sm font-medium text-gray-700 mb-1"},"密码"],["INPUT",{"__playwright_value_":"","id":"password","name":"password","type":"password","autocomplete":"current-password","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":""}]],["LABEL",{"class":"flex items-center gap-2 select-none cursor-pointer"},["INPUT",{"__playwright_value_":"on","__playwright_checked_":"false","type":"checkbox","name":"remember","class":"h-4 w-4 rounded border-gray-300 text-pink-600 focus:ring-pink-500"}],["SPAN",{"class":"text-sm text-gray-600"},"记住我"]],["BUTTON",{"type":"submit","class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50"},"登录"]],["DIV",{"class":"mt-6 text-center text-sm text-gray-500"},"还没有账号？"," ",["BUTTON",{"class":"text-pink-600 hover:underline font-medium"},"注册"]]]],["DIV",{"role":"region","aria-label":"Notifications (F8)","tabindex":"-1","style":"pointer-events: none;"},["OL",{"tabindex":"-1","class":"fixed top-4 left-1/2 -translate-x-1/2 z-[100] flex flex-col gap-2 w-full max-w-sm outline-none"}]]],"\n    ","\n  \n\n"]],"viewport":{"width":1440,"height":900},"timestamp":159217.055,"wallTime":1784878427551,"collectionTime":0.5999999999767169,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@12","startTime":159219.146,"class":"Frame","method":"fill","params":{"selector":"internal:label=\"邮箱\"i","strict":true,"value":"echo@shboka.com","timeout":15000},"stepId":"pw:api@37","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@12"}
{"type":"frame-snapshot","snapshot":{"callId":"call@12","snapshotName":"before@call@12","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":[[1,51]],"viewport":{"width":1440,"height":900},"timestamp":159220.28,"wallTime":1784878427556,"collectionTime":0.1999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@12","time":159220.72,"message":"waiting for getByLabel('邮箱')"}
{"type":"log","callId":"call@12","time":159229.805,"message":"  locator resolved to <input value=\"\" id=\"email\" required=\"\" name=\"email\" type=\"email\" autocomplete=\"username\" class=\"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition\"/>"}
{"type":"log","callId":"call@12","time":159230.381,"message":"  fill(\"echo@shboka.com\")"}
{"type":"log","callId":"call@12","time":159230.387,"message":"attempting fill action"}
{"type":"input","callId":"call@12","inputSnapshot":"input@call@12"}
{"type":"frame-snapshot","snapshot":{"callId":"call@12","snapshotName":"input@call@12","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[2,15]],[[2,16]],["BODY",{},[[2,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[2,22]],["FORM",{"class":"space-y-4"},["DIV",{},[[2,24]],["INPUT",{"__playwright_value_":"","__playwright_target__":"","id":"email","name":"email","type":"email","autocomplete":"username","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":""}]],[[2,30]],[[2,34]],[[2,36]]],[[2,42]]]],[[2,46]]],[[2,48]],[[2,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159230.984,"wallTime":1784878427567,"collectionTime":0.10000000000582077,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@12","time":159231.185,"message":"  waiting for element to be visible, enabled and editable"}
{"type":"after","callId":"call@12","endTime":159236.474,"afterSnapshot":"after@call@12"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427574.jpeg","width":1440,"height":900,"timestamp":159238.317,"frameSwapWallTime":1784878427572.0579}
{"type":"frame-snapshot","snapshot":{"callId":"call@12","snapshotName":"after@call@12","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[3,15]],[[3,16]],["BODY",{},[[3,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[3,22]],["FORM",{"class":"space-y-4"},["DIV",{},[[3,24]],["INPUT",{"__playwright_value_":"echo@shboka.com","__playwright_target__":"","id":"email","name":"email","type":"email","autocomplete":"username","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":"echo@shboka.com"}]],[[3,30]],[[3,34]],[[3,36]]],[[3,42]]]],[[3,46]]],[[3,48]],[[3,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159238.473,"wallTime":1784878427574,"collectionTime":0.09999999997671694,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@14","startTime":159239.263,"class":"Frame","method":"fill","params":{"selector":"internal:label=\"密码\"i","strict":true,"value":"123456","timeout":15000},"stepId":"pw:api@38","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@14"}
{"type":"frame-snapshot","snapshot":{"callId":"call@14","snapshotName":"before@call@14","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[4,15]],[[4,16]],["BODY",{},[[4,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[4,22]],["FORM",{"class":"space-y-4"},["DIV",{},[[4,24]],["INPUT",{"__playwright_value_":"echo@shboka.com","id":"email","name":"email","type":"email","autocomplete":"username","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":"echo@shboka.com"}]],[[4,30]],[[4,34]],[[4,36]]],[[4,42]]]],[[4,46]]],[[4,48]],[[4,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159239.806,"wallTime":1784878427575,"collectionTime":0.1999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@14","time":159239.9,"message":"waiting for getByLabel('密码')"}
{"type":"log","callId":"call@14","time":159241.324,"message":"  locator resolved to <input value=\"\" required=\"\" id=\"password\" name=\"password\" type=\"password\" autocomplete=\"current-password\" class=\"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition\"/>"}
{"type":"log","callId":"call@14","time":159241.857,"message":"  fill(\"123456\")"}
{"type":"log","callId":"call@14","time":159241.868,"message":"attempting fill action"}
{"type":"input","callId":"call@14","inputSnapshot":"input@call@14"}
{"type":"frame-snapshot","snapshot":{"callId":"call@14","snapshotName":"input@call@14","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[5,15]],[[5,16]],["BODY",{},[[5,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[5,22]],["FORM",{"class":"space-y-4"},[[1,1]],["DIV",{},[[5,28]],["INPUT",{"__playwright_value_":"","__playwright_target__":"","id":"password","name":"password","type":"password","autocomplete":"current-password","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":""}]],[[5,34]],[[5,36]]],[[5,42]]]],[[5,46]]],[[5,48]],[[5,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159242.542,"wallTime":1784878427578,"collectionTime":0.10000000000582077,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@14","time":159242.628,"message":"  waiting for element to be visible, enabled and editable"}
{"type":"after","callId":"call@14","endTime":159245.466,"afterSnapshot":"after@call@14"}
{"type":"frame-snapshot","snapshot":{"callId":"call@14","snapshotName":"after@call@14","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[6,15]],[[6,16]],["BODY",{},[[6,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[6,22]],["FORM",{"class":"space-y-4"},[[2,1]],["DIV",{},[[6,28]],["INPUT",{"__playwright_value_":"123456","__playwright_target__":"","id":"password","name":"password","type":"password","autocomplete":"current-password","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":"123456"}]],[[6,34]],[[6,36]]],[[6,42]]]],[[6,46]]],[[6,48]],[[6,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159245.988,"wallTime":1784878427582,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@16","startTime":159247.104,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=\"登录\"i]","strict":true,"timeout":15000},"stepId":"pw:api@39","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@16"}
{"type":"frame-snapshot","snapshot":{"callId":"call@16","snapshotName":"before@call@16","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[7,15]],[[7,16]],["BODY",{},[[7,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[7,22]],["FORM",{"class":"space-y-4"},[[3,1]],["DIV",{},[[7,28]],["INPUT",{"__playwright_value_":"123456","id":"password","name":"password","type":"password","autocomplete":"current-password","class":"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none transition","required":"","value":"123456"}]],[[7,34]],[[7,36]]],[[7,42]]]],[[7,46]]],[[7,48]],[[7,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159247.556,"wallTime":1784878427583,"collectionTime":0.10000000000582077,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@16","time":159247.675,"message":"waiting for getByRole('button', { name: '登录' })"}
{"type":"log","callId":"call@16","time":159249.593,"message":"  locator resolved to <button type=\"submit\" class=\"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50\">登录</button>"}
{"type":"log","callId":"call@16","time":159250.04,"message":"attempting click action"}
{"type":"log","callId":"call@16","time":159250.199,"message":"  waiting for element to be visible, enabled and stable"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427591.jpeg","width":1440,"height":900,"timestamp":159255.44,"frameSwapWallTime":1784878427590.333}
{"type":"log","callId":"call@16","time":159269.927,"message":"  element is visible, enabled and stable"}
{"type":"log","callId":"call@16","time":159269.935,"message":"  scrolling into view if needed"}
{"type":"log","callId":"call@16","time":159270.365,"message":"  done scrolling"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427607.jpeg","width":1440,"height":900,"timestamp":159270.635,"frameSwapWallTime":1784878427605.4958}
{"type":"input","callId":"call@16","point":{"x":720,"y":580},"inputSnapshot":"input@call@16"}
{"type":"frame-snapshot","snapshot":{"callId":"call@16","snapshotName":"input@call@16","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[8,15]],[[8,16]],["BODY",{},[[8,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[8,22]],["FORM",{"class":"space-y-4"},[[4,1]],[[1,1]],[[8,34]],["BUTTON",{"__playwright_target__":"","type":"submit","class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50"},[[8,35]]]],[[8,42]]]],[[8,46]]],[[8,48]],[[8,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159271.731,"wallTime":1784878427607,"collectionTime":0.3000000000174623,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@16","time":159272.83,"message":"  performing click action"}
{"type":"log","callId":"call@16","time":159277.674,"message":"  click action done"}
{"type":"log","callId":"call@16","time":159277.679,"message":"  waiting for scheduled navigations to finish"}
{"type":"log","callId":"call@16","time":159278.127,"message":"  navigations have finished"}
{"type":"after","callId":"call@16","endTime":159278.173,"afterSnapshot":"after@call@16"}
{"type":"frame-snapshot","snapshot":{"callId":"call@16","snapshotName":"after@call@16","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[9,15]],[[9,16]],["BODY",{},[[9,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[9,22]],["FORM",{"class":"space-y-4"},[[5,1]],[[2,1]],[[9,34]],["BUTTON",{"__playwright_target__":"","type":"submit","class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50","disabled":""},"加载中..."]],[[9,42]]]],[[9,46]]],[[9,48]],[[9,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159278.735,"wallTime":1784878427614,"collectionTime":0.10000000000582077,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@18","startTime":159282.281,"title":"Expect \"toBeVisible\"","class":"Frame","method":"expect","params":{"selector":"internal:text=\"选择门店\"i","expression":"to.be.visible","expectedValue":{"value":{"v":"undefined"},"handles":[]},"isNot":false,"timeout":10000},"stepId":"expect@40","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@18"}
{"type":"frame-snapshot","snapshot":{"callId":"call@18","snapshotName":"before@call@18","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[10,15]],[[10,16]],["BODY",{},[[10,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[10,22]],["FORM",{"class":"space-y-4"},[[6,1]],[[3,1]],[[10,34]],["BUTTON",{"type":"submit","class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50","disabled":""},[[1,0]]]],[[10,42]]]],[[10,46]]],[[10,48]],[[10,49]]]],"viewport":{"width":1440,"height":900},"timestamp":159283.135,"wallTime":1784878427619,"collectionTime":0.20000000001164153,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@18","time":159283.422,"message":"Expect \"toBeVisible\" with timeout 10000ms"}
{"type":"log","callId":"call@18","time":159283.426,"message":"waiting for getByText('选择门店')"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427623.jpeg","width":1440,"height":900,"timestamp":159287.257,"frameSwapWallTime":1784878427622.264}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427639.jpeg","width":1440,"height":900,"timestamp":159303.197,"frameSwapWallTime":1784878427638.182}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427655.jpeg","width":1440,"height":900,"timestamp":159319.06,"frameSwapWallTime":1784878427654.1108}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427670.jpeg","width":1440,"height":900,"timestamp":159333.944,"frameSwapWallTime":1784878427668.8599}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427685.jpeg","width":1440,"height":900,"timestamp":159348.736,"frameSwapWallTime":1784878427683.6829}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427700.jpeg","width":1440,"height":900,"timestamp":159363.742,"frameSwapWallTime":1784878427698.7869}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427715.jpeg","width":1440,"height":900,"timestamp":159379.362,"frameSwapWallTime":1784878427714.468}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427732.jpeg","width":1440,"height":900,"timestamp":159395.853,"frameSwapWallTime":1784878427731.036}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427749.jpeg","width":1440,"height":900,"timestamp":159413.188,"frameSwapWallTime":1784878427748.2642}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427765.jpeg","width":1440,"height":900,"timestamp":159429.083,"frameSwapWallTime":1784878427764.249}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427782.jpeg","width":1440,"height":900,"timestamp":159445.795,"frameSwapWallTime":1784878427780.982}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878427800.jpeg","width":1440,"height":900,"timestamp":159463.921,"frameSwapWallTime":1784878427799.1208}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428022.jpeg","width":1440,"height":900,"timestamp":159686.593,"frameSwapWallTime":1784878428021.086}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428043.jpeg","width":1440,"height":900,"timestamp":159707.319,"frameSwapWallTime":1784878428042.246}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428060.jpeg","width":1440,"height":900,"timestamp":159724.118,"frameSwapWallTime":1784878428058.863}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428075.jpeg","width":1440,"height":900,"timestamp":159739.585,"frameSwapWallTime":1784878428074.491}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428090.jpeg","width":1440,"height":900,"timestamp":159753.949,"frameSwapWallTime":1784878428088.8801}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428104.jpeg","width":1440,"height":900,"timestamp":159768.519,"frameSwapWallTime":1784878428103.382}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428119.jpeg","width":1440,"height":900,"timestamp":159782.874,"frameSwapWallTime":1784878428117.7822}
{"type":"log","callId":"call@18","time":160077.183,"message":"  locator resolved to <h1 class=\"text-xl font-bold text-gray-800\">选择门店</h1>"}
{"type":"after","callId":"call@18","endTime":160077.293,"afterSnapshot":"after@call@18"}
{"type":"frame-snapshot","snapshot":{"callId":"call@18","snapshotName":"after@call@18","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[11,15]],[[11,16]],["BODY",{},[[11,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},["DIV",{"class":"text-center mb-6"},["DIV",{"class":"w-14 h-14 bg-pink-100 rounded-2xl flex items-center justify-center mx-auto mb-3"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"28","height":"28","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-store text-pink-600","aria-hidden":"true"},["path",{"d":"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}],["path",{"d":"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}],["path",{"d":"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"}]]],["H1",{"__playwright_target__":"","class":"text-xl font-bold text-gray-800"},"选择门店"],["P",{"class":"text-sm text-gray-500 mt-1"},"请选择你要进入的门店"]],["DIV",{"class":"space-y-1.5 max-h-80 overflow-auto mb-6"},["BUTTON",{"class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-gray-100 hover:border-gray-200 hover:bg-gray-50","style":"padding-left: 16px;"},["DIV",{"class":"flex items-center justify-between"},["DIV",{"class":"min-w-0"},["P",{"class":"text-sm font-medium text-gray-800 truncate"},"boka-nail"],["P",{"class":"text-xs text-gray-400 mt-0.5"},"main"]]]],["BUTTON",{"class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-gray-100 hover:border-gray-200 hover:bg-gray-50","style":"padding-left: 36px;"},["DIV",{"class":"flex items-center justify-between"},["DIV",{"class":"min-w-0"},["P",{"class":"text-sm font-medium text-gray-800 truncate"},"sh minhang"],["P",{"class":"text-xs text-gray-400 mt-0.5"},"regional"]]]],["BUTTON",{"class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-gray-100 hover:border-gray-200 hover:bg-gray-50","style":"padding-left: 56px;"},["DIV",{"class":"flex items-center justify-between"},["DIV",{"class":"min-w-0"},["P",{"class":"text-sm font-medium text-gray-800 truncate"},"xinzhuang"],["P",{"class":"text-xs text-gray-400 mt-0.5"},"branch"]]]],["BUTTON",{"class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-gray-100 hover:border-gray-200 hover:bg-gray-50","style":"padding-left: 36px;"},["DIV",{"class":"flex items-center justify-between"},["DIV",{"class":"min-w-0"},["P",{"class":"text-sm font-medium text-gray-800 truncate"},"sh pudong"],["P",{"class":"text-xs text-gray-400 mt-0.5"},"regional"]]]],["BUTTON",{"class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-gray-100 hover:border-gray-200 hover:bg-gray-50","style":"padding-left: 56px;"},["DIV",{"class":"flex items-center justify-between"},["DIV",{"class":"min-w-0"},["P",{"class":"text-sm font-medium text-gray-800 truncate"},"zhangjiang"],["P",{"class":"text-xs text-gray-400 mt-0.5"},"branch"]]]]],["BUTTON",{"disabled":"","class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50 disabled:cursor-not-allowed"},"进入门店"],["BUTTON",{"class":"w-full mt-3 py-2 text-sm text-gray-500 hover:text-gray-700 transition"},"返回"]]],[[11,46]]],[[11,48]],[[11,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160080.195,"wallTime":1784878428415,"collectionTime":0.8999999999941792,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@20","startTime":160083.157,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=\"boka-nail\"i]","strict":true,"timeout":15000},"stepId":"pw:api@41","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@20"}
{"type":"frame-snapshot","snapshot":{"callId":"call@20","snapshotName":"before@call@20","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[12,15]],[[12,16]],["BODY",{},[[12,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},["DIV",{"class":"text-center mb-6"},[[1,4]],["H1",{"class":"text-xl font-bold text-gray-800"},[[1,5]]],[[1,8]]],[[1,45]],[[1,47]],[[1,49]]]],[[12,46]]],[[12,48]],[[12,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160084.505,"wallTime":1784878428420,"collectionTime":0.40000000002328306,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@20","time":160084.833,"message":"waiting for getByRole('button', { name: 'boka-nail' })"}
{"type":"log","callId":"call@20","time":160089.408,"message":"  locator resolved to <button class=\"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-gray-100 hover:border-gray-200 hover:bg-gray-50\">…</button>"}
{"type":"log","callId":"call@20","time":160090.747,"message":"attempting click action"}
{"type":"log","callId":"call@20","time":160090.812,"message":"  waiting for element to be visible, enabled and stable"}
{"type":"log","callId":"call@20","time":160097.6,"message":"  element is visible, enabled and stable"}
{"type":"log","callId":"call@20","time":160097.615,"message":"  scrolling into view if needed"}
{"type":"log","callId":"call@20","time":160098.119,"message":"  done scrolling"}
{"type":"input","callId":"call@20","point":{"x":720,"y":337},"inputSnapshot":"input@call@20"}
{"type":"frame-snapshot","snapshot":{"callId":"call@20","snapshotName":"input@call@20","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[13,15]],[[13,16]],["BODY",{},[[13,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[1,1]],["DIV",{"class":"space-y-1.5 max-h-80 overflow-auto mb-6"},["BUTTON",{"__playwright_target__":"","class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-gray-100 hover:border-gray-200 hover:bg-gray-50","style":"padding-left: 16px;"},[[2,15]]],[[2,23]],[[2,30]],[[2,37]],[[2,44]]],[[2,47]],[[2,49]]]],[[13,46]]],[[13,48]],[[13,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160100.022,"wallTime":1784878428435,"collectionTime":0.20000000001164153,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@20","time":160101.32,"message":"  performing click action"}
{"type":"log","callId":"call@20","time":160107.253,"message":"  click action done"}
{"type":"log","callId":"call@20","time":160107.265,"message":"  waiting for scheduled navigations to finish"}
{"type":"log","callId":"call@20","time":160107.648,"message":"  navigations have finished"}
{"type":"after","callId":"call@20","endTime":160107.73,"afterSnapshot":"after@call@20"}
{"type":"frame-snapshot","snapshot":{"callId":"call@20","snapshotName":"after@call@20","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[14,15]],[[14,16]],["BODY",{},[[14,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[2,1]],["DIV",{"class":"space-y-1.5 max-h-80 overflow-auto mb-6"},["BUTTON",{"__playwright_target__":"","class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-pink-500 bg-pink-50 shadow-sm","style":"padding-left: 16px;"},["DIV",{"class":"flex items-center justify-between"},[[3,14]],["SPAN",{"class":"w-5 h-5 bg-pink-500 rounded-full flex items-center justify-center text-white shrink-0"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"12","height":"12","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-check","aria-hidden":"true"},["path",{"d":"M20 6 9 17l-5-5"}]]]]],[[3,23]],[[3,30]],[[3,37]],[[3,44]]],["BUTTON",{"class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50 disabled:cursor-not-allowed"},[[3,46]]],[[3,49]]]],[[14,46]]],[[14,48]],[[14,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160108.542,"wallTime":1784878428444,"collectionTime":0.1999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@22","startTime":160109.791,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=\"进入门店\"i]","strict":true,"timeout":15000},"stepId":"pw:api@42","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@22"}
{"type":"frame-snapshot","snapshot":{"callId":"call@22","snapshotName":"before@call@22","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[15,15]],[[15,16]],["BODY",{},[[15,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[3,1]],["DIV",{"class":"space-y-1.5 max-h-80 overflow-auto mb-6"},["BUTTON",{"class":"w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 border-pink-500 bg-pink-50 shadow-sm","style":"padding-left: 16px;"},[[1,3]]],[[4,23]],[[4,30]],[[4,37]],[[4,44]]],[[1,6]],[[4,49]]]],[[15,46]]],[[15,48]],[[15,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160110.524,"wallTime":1784878428446,"collectionTime":0.29999999998835847,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@22","time":160110.7,"message":"waiting for getByRole('button', { name: '进入门店' })"}
{"type":"log","callId":"call@22","time":160112.917,"message":"  locator resolved to <button class=\"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50 disabled:cursor-not-allowed\">进入门店</button>"}
{"type":"log","callId":"call@22","time":160113.52,"message":"attempting click action"}
{"type":"log","callId":"call@22","time":160113.552,"message":"  waiting for element to be visible, enabled and stable"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428472.jpeg","width":1440,"height":900,"timestamp":160135.991,"frameSwapWallTime":1784878428470.571}
{"type":"log","callId":"call@22","time":160152.273,"message":"  element is visible, enabled and stable"}
{"type":"log","callId":"call@22","time":160152.282,"message":"  scrolling into view if needed"}
{"type":"log","callId":"call@22","time":160152.815,"message":"  done scrolling"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428489.jpeg","width":1440,"height":900,"timestamp":160153.091,"frameSwapWallTime":1784878428488.082}
{"type":"input","callId":"call@22","point":{"x":720,"y":670},"inputSnapshot":"input@call@22"}
{"type":"frame-snapshot","snapshot":{"callId":"call@22","snapshotName":"input@call@22","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[16,15]],[[16,16]],["BODY",{},[[16,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[4,1]],[[1,1]],["BUTTON",{"__playwright_target__":"","class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50 disabled:cursor-not-allowed"},[[5,46]]],[[5,49]]]],[[16,46]]],[[16,48]],[[16,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160153.938,"wallTime":1784878428490,"collectionTime":0.09999999997671694,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@22","time":160154.816,"message":"  performing click action"}
{"type":"log","callId":"call@22","time":160159.9,"message":"  click action done"}
{"type":"log","callId":"call@22","time":160159.907,"message":"  waiting for scheduled navigations to finish"}
{"type":"log","callId":"call@22","time":160160.26,"message":"  navigations have finished"}
{"type":"after","callId":"call@22","endTime":160160.308,"afterSnapshot":"after@call@22"}
{"type":"frame-snapshot","snapshot":{"callId":"call@22","snapshotName":"after@call@22","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[17,15]],[[17,16]],["BODY",{},[[17,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[5,1]],[[2,1]],["BUTTON",{"__playwright_target__":"","class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50 disabled:cursor-not-allowed","disabled":""},"加载中..."],[[6,49]]]],[[17,46]]],[[17,48]],[[17,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160160.802,"wallTime":1784878428496,"collectionTime":0.1999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@24","startTime":160161.641,"title":"Expect \"toBeVisible\"","class":"Frame","method":"expect","params":{"selector":"internal:role=heading[name=\"工作台\"i]","expression":"to.be.visible","expectedValue":{"value":{"v":"undefined"},"handles":[]},"isNot":false,"timeout":10000},"stepId":"expect@43","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@24"}
{"type":"frame-snapshot","snapshot":{"callId":"call@24","snapshotName":"before@call@24","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/login","doctype":"html","html":["HTML",{"lang":"en"},[[18,15]],[[18,16]],["BODY",{},[[18,17]],["DIV",{"id":"root"},["DIV",{"class":"min-h-screen flex items-center justify-center bg-gradient-to-br from-pink-50 to-orange-50"},["DIV",{"class":"w-full max-w-md p-8 bg-white rounded-2xl shadow-xl"},[[6,1]],[[3,1]],["BUTTON",{"class":"w-full py-2.5 bg-pink-600 text-white rounded-lg hover:bg-pink-700 transition font-medium disabled:opacity-50 disabled:cursor-not-allowed","disabled":""},[[1,0]]],[[7,49]]]],[[18,46]]],[[18,48]],[[18,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160162.317,"wallTime":1784878428498,"collectionTime":0.10000000000582077,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@24","time":160162.49,"message":"Expect \"toBeVisible\" with timeout 10000ms"}
{"type":"log","callId":"call@24","time":160162.495,"message":"waiting for getByRole('heading', { name: '工作台' })"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428506.jpeg","width":1440,"height":900,"timestamp":160169.957,"frameSwapWallTime":1784878428504.851}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428521.jpeg","width":1440,"height":900,"timestamp":160185.598,"frameSwapWallTime":1784878428520.4329}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428537.jpeg","width":1440,"height":900,"timestamp":160200.749,"frameSwapWallTime":1784878428535.551}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428552.jpeg","width":1440,"height":900,"timestamp":160215.743,"frameSwapWallTime":1784878428550.615}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428567.jpeg","width":1440,"height":900,"timestamp":160230.653,"frameSwapWallTime":1784878428565.554}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428583.jpeg","width":1440,"height":900,"timestamp":160246.904,"frameSwapWallTime":1784878428581.892}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428599.jpeg","width":1440,"height":900,"timestamp":160262.825,"frameSwapWallTime":1784878428597.854}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428615.jpeg","width":1440,"height":900,"timestamp":160279.425,"frameSwapWallTime":1784878428614.4568}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428631.jpeg","width":1440,"height":900,"timestamp":160295.316,"frameSwapWallTime":1784878428630.362}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428648.jpeg","width":1440,"height":900,"timestamp":160312.033,"frameSwapWallTime":1784878428647.1409}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428666.jpeg","width":1440,"height":900,"timestamp":160330.414,"frameSwapWallTime":1784878428665.406}
{"type":"log","callId":"call@24","time":160344.773,"message":"  locator resolved to <h2 class=\"text-lg font-semibold text-gray-800\">工作台</h2>"}
{"type":"after","callId":"call@24","endTime":160344.802,"afterSnapshot":"after@call@24"}
{"type":"frame-snapshot","snapshot":{"callId":"call@24","snapshotName":"after@call@24","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/dashboard","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[19,15]],[[19,16]],["BODY",{},[[19,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["ASIDE",{"class":"nav-rail w-[82px] shrink-0 flex flex-col text-[#141416] select-none"},["BUTTON",{"class":"group flex flex-col items-center gap-1.5 pt-5 pb-4 px-2 text-center","title":"iNail"},["SPAN",{"class":"w-11 h-11 rounded-full bg-gradient-to-b from-[#f43f6e] to-[#db2777] text-white flex items-center justify-center text-base font-bold shadow-[0_8px_18px_-8px_rgba(219,39,119,0.65)] transition-transform duration-200 group-hover:scale-105 group-active:scale-95"},"B"],["SPAN",{"class":"font-display font-extrabold text-[12px] leading-tight tracking-tight"},"iNail"],["SPAN",{"class":"text-[10px] leading-tight text-[#8a6f86] -mt-0.5 line-clamp-2"},"boka-nail"]],["DIV",{"class":"mx-3 h-px bg-black/10"}],["NAV",{"class":"flex-1 overflow-y-auto nav-rail-scroll py-3 flex flex-col gap-1.5"},["BUTTON",{"title":"工作台","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 nav-tab-active text-white"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-layout-dashboard","aria-hidden":"true"},["rect",{"width":"7","height":"9","x":"3","y":"3","rx":"1"}],["rect",{"width":"7","height":"5","x":"14","y":"3","rx":"1"}],["rect",{"width":"7","height":"9","x":"14","y":"12","rx":"1"}],["rect",{"width":"7","height":"5","x":"3","y":"16","rx":"1"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap font-display"},"概况"]],["BUTTON",{"title":"预约","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-calendar","aria-hidden":"true"},["path",{"d":"M8 2v4"}],["path",{"d":"M16 2v4"}],["rect",{"width":"18","height":"18","x":"3","y":"4","rx":"2"}],["path",{"d":"M3 10h18"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"预约"]],["BUTTON",{"title":"收银","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-credit-card","aria-hidden":"true"},["rect",{"width":"20","height":"14","x":"2","y":"5","rx":"2"}],["line",{"x1":"2","x2":"22","y1":"10","y2":"10"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"收银"]],["BUTTON",{"title":"服务","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-sparkles","aria-hidden":"true"},["path",{"d":"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"}],["path",{"d":"M20 2v4"}],["path",{"d":"M22 4h-4"}],["circle",{"cx":"4","cy":"20","r":"2"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"服务"]],["BUTTON",{"title":"库存","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-package","aria-hidden":"true"},["path",{"d":"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{"d":"M12 22V12"}],["polyline",{"points":"3.29 7 12 12 20.71 7"}],["path",{"d":"m7.5 4.27 9 5.15"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"库存"]],["BUTTON",{"title":"客户","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-users","aria-hidden":"true"},["path",{"d":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["path",{"d":"M16 3.128a4 4 0 0 1 0 7.744"}],["path",{"d":"M22 21v-2a4 4 0 0 0-3-3.87"}],["circle",{"cx":"9","cy":"7","r":"4"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"客户"]],["BUTTON",{"title":"员工","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-user-cog","aria-hidden":"true"},["path",{"d":"M10 15H6a4 4 0 0 0-4 4v2"}],["path",{"d":"m14.305 16.53.923-.382"}],["path",{"d":"m15.228 13.852-.923-.383"}],["path",{"d":"m16.852 12.228-.383-.923"}],["path",{"d":"m16.852 17.772-.383.924"}],["path",{"d":"m19.148 12.228.383-.923"}],["path",{"d":"m19.53 18.696-.382-.924"}],["path",{"d":"m20.772 13.852.924-.383"}],["path",{"d":"m20.772 16.148.924.383"}],["circle",{"cx":"18","cy":"15","r":"3"}],["circle",{"cx":"9","cy":"7","r":"4"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"员工"]],["BUTTON",{"title":"营销","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-megaphone","aria-hidden":"true"},["path",{"d":"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z"}],["path",{"d":"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14"}],["path",{"d":"M8 6v8"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"营销"]],["BUTTON",{"title":"报表","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-chart-column","aria-hidden":"true"},["path",{"d":"M3 3v16a2 2 0 0 0 2 2h16"}],["path",{"d":"M18 17V9"}],["path",{"d":"M13 17V5"}],["path",{"d":"M8 17v-3"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"报表"]],["BUTTON",{"title":"设置","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-settings","aria-hidden":"true"},["path",{"d":"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{"cx":"12","cy":"12","r":"3"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"设置"]]],["DIV",{"class":"px-2 pt-2 pb-4 flex flex-col items-center gap-2"},["BUTTON",{"title":"退出登录","class":"nav-rail-item w-11 h-11 rounded-2xl flex items-center justify-center text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)]"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"20","height":"20","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-log-out","aria-hidden":"true"},["path",{"d":"m16 17 5-5-5-5"}],["path",{"d":"M21 12H9"}],["path",{"d":"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}]]]]],["DIV",{"class":"flex-1 flex flex-col min-w-0"},["HEADER",{"class":"h-16 bg-white border-b border-gray-200 flex items-center justify-between px-6 shrink-0"},["DIV",{"class":"flex items-center gap-3"},["H2",{"__playwright_target__":"","class":"text-lg font-semibold text-gray-800"},"工作台"]],["DIV",{"class":"flex items-center gap-4"},["SELECT",{"class":"text-sm border border-gray-200 rounded-lg px-2 py-1 bg-white text-gray-600 focus:outline-none focus:ring-2 focus:ring-pink-500"},["OPTION",{"__playwright_selected_":"false","value":"en"},"EN"],["OPTION",{"__playwright_selected_":"true","value":"zh-CN"},"中文"]],["DIV",{"class":"flex items-center gap-3"},["DIV",{"class":"w-8 h-8 bg-pink-100 rounded-full flex items-center justify-center text-pink-600 font-medium text-sm"},"e"],["SPAN",{"class":"text-sm text-gray-700"},"echo"]]]],["MAIN",{"class":"flex-1 p-6 overflow-auto min-h-0"},["DIV",{"class":"space-y-6"},["DIV",{"class":"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4"},["DIV",{"class":"bg-white rounded-xl p-5 shadow-sm border border-gray-100"},["DIV",{"class":"flex items-center justify-between"},["DIV",{},["P",{"class":"text-sm text-gray-500"},"日报"],["P",{"class":"text-2xl font-bold text-gray-900 mt-1"},"$0.00"]],["DIV",{"class":"w-12 h-12 rounded-xl flex items-center justify-center bg-green-50 text-green-600"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-dollar-sign","aria-hidden":"true"},["line",{"x1":"12","x2":"12","y1":"2","y2":"22"}],["path",{"d":"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"}]]]]],["DIV",{"class":"bg-white rounded-xl p-5 shadow-sm border border-gray-100"},["DIV",{"class":"flex items-center justify-between"},["DIV",{},["P",{"class":"text-sm text-gray-500"},"小费"],["P",{"class":"text-2xl font-bold text-gray-900 mt-1"},"$0.00"]],["DIV",{"class":"w-12 h-12 rounded-xl flex items-center justify-center bg-pink-50 text-pink-600"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-heart","aria-hidden":"true"},["path",{"d":"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"}]]]]],["DIV",{"class":"bg-white rounded-xl p-5 shadow-sm border border-gray-100"},["DIV",{"class":"flex items-center justify-between"},["DIV",{},["P",{"class":"text-sm text-gray-500"},"预约管理"],["P",{"class":"text-2xl font-bold text-gray-900 mt-1"},"0"]],["DIV",{"class":"w-12 h-12 rounded-xl flex items-center justify-center bg-blue-50 text-blue-600"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-calendar","aria-hidden":"true"},["path",{"d":"M8 2v4"}],["path",{"d":"M16 2v4"}],["rect",{"width":"18","height":"18","x":"3","y":"4","rx":"2"}],["path",{"d":"M3 10h18"}]]]]],["DIV",{"class":"bg-white rounded-xl p-5 shadow-sm border border-gray-100"},["DIV",{"class":"flex items-center justify-between"},["DIV",{},["P",{"class":"text-sm text-gray-500"},"Today's Appointments"],["P",{"class":"text-2xl font-bold text-gray-900 mt-1"},"0"]],["DIV",{"class":"w-12 h-12 rounded-xl flex items-center justify-center bg-purple-50 text-purple-600"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-clipboard-list","aria-hidden":"true"},["rect",{"width":"8","height":"4","x":"8","y":"2","rx":"1","ry":"1"}],["path",{"d":"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"}],["path",{"d":"M12 11h4"}],["path",{"d":"M12 16h4"}],["path",{"d":"M8 11h.01"}],["path",{"d":"M8 16h.01"}]]]]]],["DIV",{"class":"grid grid-cols-1 lg:grid-cols-2 gap-6"},["DIV",{"class":"bg-white rounded-xl shadow-sm border border-gray-100"},["DIV",{"class":"p-4 border-b border-gray-100"},["H3",{"class":"font-semibold text-gray-800"},"今日"]],["DIV",{"class":"p-4"},["P",{"class":"text-gray-400 text-center py-8"},"暂无数据"]]],["DIV",{"class":"bg-white rounded-xl shadow-sm border border-gray-100"},["DIV",{"class":"p-4 border-b border-gray-100"},["H3",{"class":"font-semibold text-gray-800"},"Quick Actions"]],["DIV",{"class":"p-4 grid grid-cols-2 gap-3"},["BUTTON",{"class":"flex flex-col items-center gap-2 p-4 rounded-xl transition bg-blue-50 hover:bg-blue-100 text-blue-700"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"26","height":"26","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-calendar-plus","aria-hidden":"true"},["path",{"d":"M16 19h6"}],["path",{"d":"M16 2v4"}],["path",{"d":"M19 16v6"}],["path",{"d":"M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5"}],["path",{"d":"M3 10h18"}],["path",{"d":"M8 2v4"}]],["SPAN",{"class":"text-sm font-medium"},"新建预约"]],["BUTTON",{"class":"flex flex-col items-center gap-2 p-4 rounded-xl transition bg-green-50 hover:bg-green-100 text-green-700"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"26","height":"26","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-credit-card","aria-hidden":"true"},["rect",{"width":"20","height":"14","x":"2","y":"5","rx":"2"}],["line",{"x1":"2","x2":"22","y1":"10","y2":"10"}]],["SPAN",{"class":"text-sm font-medium"},"结账"]],["BUTTON",{"class":"flex flex-col items-center gap-2 p-4 rounded-xl transition bg-purple-50 hover:bg-purple-100 text-purple-700"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"26","height":"26","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-user-plus","aria-hidden":"true"},["path",{"d":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["circle",{"cx":"9","cy":"7","r":"4"}],["line",{"x1":"19","x2":"19","y1":"8","y2":"14"}],["line",{"x1":"22","x2":"16","y1":"11","y2":"11"}]],["SPAN",{"class":"text-sm font-medium"},"新增客户"]],["BUTTON",{"class":"flex flex-col items-center gap-2 p-4 rounded-xl transition bg-pink-50 hover:bg-pink-100 text-pink-700"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"26","height":"26","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-sparkles","aria-hidden":"true"},["path",{"d":"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"}],["path",{"d":"M20 2v4"}],["path",{"d":"M22 4h-4"}],["circle",{"cx":"4","cy":"20","r":"2"}]],["SPAN",{"class":"text-sm font-medium"},"新增服务"]]]]]]]]],[[19,46]]],[[19,48]],[[19,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160346.682,"wallTime":1784878428682,"collectionTime":0.6999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@26","startTime":160347.687,"class":"Frame","method":"goto","params":{"url":"/pos/orders","timeout":0,"waitUntil":"load"},"stepId":"pw:api@44","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@26"}
{"type":"frame-snapshot","snapshot":{"callId":"call@26","snapshotName":"before@call@26","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/dashboard","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[20,15]],[[20,16]],["BODY",{},[[20,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},[[1,107]],["DIV",{"class":"flex-1 flex flex-col min-w-0"},["HEADER",{"class":"h-16 bg-white border-b border-gray-200 flex items-center justify-between px-6 shrink-0"},["DIV",{"class":"flex items-center gap-3"},["H2",{"class":"text-lg font-semibold text-gray-800"},[[1,108]]]],[[1,121]]],[[1,219]]]],[[20,46]]],[[20,48]],[[20,49]]]],"viewport":{"width":1440,"height":900},"timestamp":160348.87,"wallTime":1784878428684,"collectionTime":0.5,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@26","time":160349.178,"message":"navigating to \"http://192.168.3.151:5173/pos/orders\", waiting until \"load\""}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428686.jpeg","width":1440,"height":900,"timestamp":160350.233,"frameSwapWallTime":1784878428684.478}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428697.jpeg","width":1440,"height":900,"timestamp":160360.686,"frameSwapWallTime":1784878428695.6128}
{"type":"console","messageType":"debug","text":"[SSE] connection lost, retrying in 5s...","args":[{"preview":"[SSE] connection lost, retrying in 5s...","value":"[SSE] connection lost, retrying in 5s..."}],"location":{"url":"http://192.168.3.151:5173/src/hooks/useEventStream.ts","lineNumber":49,"columnNumber":16},"time":160363.767,"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}
{"type":"console","messageType":"debug","text":"[vite] connecting...","args":[{"preview":"[vite] connecting...","value":"[vite] connecting..."}],"location":{"url":"http://192.168.3.151:5173/@vite/client","lineNumber":788,"columnNumber":8},"time":160383.624,"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428724.jpeg","width":1440,"height":900,"timestamp":160388.282,"frameSwapWallTime":1784878428723.291}
{"type":"console","messageType":"debug","text":"[vite] connected.","args":[{"preview":"[vite] connected.","value":"[vite] connected."}],"location":{"url":"http://192.168.3.151:5173/@vite/client","lineNumber":911,"columnNumber":14},"time":160401.306,"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}
{"type":"console","messageType":"info","text":"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools font-weight:bold","args":[{"preview":"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools","value":"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools"},{"preview":"font-weight:bold","value":"font-weight:bold"}],"location":{"url":"http://192.168.3.151:5173/node_modules/.vite/deps/chunk-PNGJSGSD.js?v=428a89dd","lineNumber":21608,"columnNumber":24},"time":160532.058,"pageId":"page@a1a5bbc18a54191b048b58785439ca06"}
{"type":"after","callId":"call@26","endTime":160545.196,"result":{"response":"<Response>"},"afterSnapshot":"after@call@26"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428889.jpeg","width":1440,"height":900,"timestamp":160553.419,"frameSwapWallTime":1784878428888.447}
{"type":"frame-snapshot","snapshot":{"callId":"call@26","snapshotName":"after@call@26","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/orders","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},["HEAD",{},["BASE",{"href":"http://192.168.3.151:5173/pos/orders"}],"\n    ","\n\n    ","\n\n    ",["META",{"charset":"utf-8"}],"\n    ",["LINK",{"rel":"icon","type":"image/svg+xml","href":"/vite.svg"}],"\n    ",["META",{"name":"viewport","content":"width=device-width, initial-scale=1.0"}],"\n    ",["TITLE",{},"iNail Dashboard"],"\n  ",["STYLE",{},"*, ::before, ::after {\n  --tw-border-spacing-x: 0;\n  --tw-border-spacing-y: 0;\n  --tw-translate-x: 0;\n  --tw-translate-y: 0;\n  --tw-rotate: 0;\n  --tw-skew-x: 0;\n  --tw-skew-y: 0;\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  --tw-pan-x:  ;\n  --tw-pan-y:  ;\n  --tw-pinch-zoom:  ;\n  --tw-scroll-snap-strictness: proximity;\n  --tw-gradient-from-position:  ;\n  --tw-gradient-via-position:  ;\n  --tw-gradient-to-position:  ;\n  --tw-ordinal:  ;\n  --tw-slashed-zero:  ;\n  --tw-numeric-figure:  ;\n  --tw-numeric-spacing:  ;\n  --tw-numeric-fraction:  ;\n  --tw-ring-inset:  ;\n  --tw-ring-offset-width: 0px;\n  --tw-ring-offset-color: #fff;\n  --tw-ring-color: rgb(59 130 246 / 0.5);\n  --tw-ring-offset-shadow: 0 0 #0000;\n  --tw-ring-shadow: 0 0 #0000;\n  --tw-shadow: 0 0 #0000;\n  --tw-shadow-colored: 0 0 #0000;\n  --tw-blur:  ;\n  --tw-brightness:  ;\n  --tw-contrast:  ;\n  --tw-grayscale:  ;\n  --tw-hue-rotate:  ;\n  --tw-invert:  ;\n  --tw-saturate:  ;\n  --tw-sepia:  ;\n  --tw-drop-shadow:  ;\n  --tw-backdrop-blur:  ;\n  --tw-backdrop-brightness:  ;\n  --tw-backdrop-contrast:  ;\n  --tw-backdrop-grayscale:  ;\n  --tw-backdrop-hue-rotate:  ;\n  --tw-backdrop-invert:  ;\n  --tw-backdrop-opacity:  ;\n  --tw-backdrop-saturate:  ;\n  --tw-backdrop-sepia:  ;\n  --tw-contain-size:  ;\n  --tw-contain-layout:  ;\n  --tw-contain-paint:  ;\n  --tw-contain-style:  ;\n}\n\n::backdrop {\n  --tw-border-spacing-x: 0;\n  --tw-border-spacing-y: 0;\n  --tw-translate-x: 0;\n  --tw-translate-y: 0;\n  --tw-rotate: 0;\n  --tw-skew-x: 0;\n  --tw-skew-y: 0;\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  --tw-pan-x:  ;\n  --tw-pan-y:  ;\n  --tw-pinch-zoom:  ;\n  --tw-scroll-snap-strictness: proximity;\n  --tw-gradient-from-position:  ;\n  --tw-gradient-via-position:  ;\n  --tw-gradient-to-position:  ;\n  --tw-ordinal:  ;\n  --tw-slashed-zero:  ;\n  --tw-numeric-figure:  ;\n  --tw-numeric-spacing:  ;\n  --tw-numeric-fraction:  ;\n  --tw-ring-inset:  ;\n  --tw-ring-offset-width: 0px;\n  --tw-ring-offset-color: #fff;\n  --tw-ring-color: rgb(59 130 246 / 0.5);\n  --tw-ring-offset-shadow: 0 0 #0000;\n  --tw-ring-shadow: 0 0 #0000;\n  --tw-shadow: 0 0 #0000;\n  --tw-shadow-colored: 0 0 #0000;\n  --tw-blur:  ;\n  --tw-brightness:  ;\n  --tw-contrast:  ;\n  --tw-grayscale:  ;\n  --tw-hue-rotate:  ;\n  --tw-invert:  ;\n  --tw-saturate:  ;\n  --tw-sepia:  ;\n  --tw-drop-shadow:  ;\n  --tw-backdrop-blur:  ;\n  --tw-backdrop-brightness:  ;\n  --tw-backdrop-contrast:  ;\n  --tw-backdrop-grayscale:  ;\n  --tw-backdrop-hue-rotate:  ;\n  --tw-backdrop-invert:  ;\n  --tw-backdrop-opacity:  ;\n  --tw-backdrop-saturate:  ;\n  --tw-backdrop-sepia:  ;\n  --tw-contain-size:  ;\n  --tw-contain-layout:  ;\n  --tw-contain-paint:  ;\n  --tw-contain-style:  ;\n}/*\n! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n  box-sizing: border-box; /* 1 */\n  border-width: 0; /* 2 */\n  border-style: solid; /* 2 */\n  border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n  --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n  line-height: 1.5; /* 1 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n  -moz-tab-size: 4; /* 3 */\n  -o-tab-size: 4;\n     tab-size: 4; /* 3 */\n  font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n  font-feature-settings: normal; /* 5 */\n  font-variation-settings: normal; /* 6 */\n  -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n  margin: 0; /* 1 */\n  line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n  height: 0; /* 1 */\n  color: inherit; /* 2 */\n  border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n  -webkit-text-decoration: underline dotted;\n          text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  font-size: inherit;\n  font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n  color: inherit;\n  text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n  font-feature-settings: normal; /* 2 */\n  font-variation-settings: normal; /* 3 */\n  font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n  font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n  text-indent: 0; /* 1 */\n  border-color: inherit; /* 2 */\n  border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; /* 1 */\n  font-feature-settings: inherit; /* 1 */\n  font-variation-settings: inherit; /* 1 */\n  font-size: 100%; /* 1 */\n  font-weight: inherit; /* 1 */\n  line-height: inherit; /* 1 */\n  letter-spacing: inherit; /* 1 */\n  color: inherit; /* 1 */\n  margin: 0; /* 2 */\n  padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n  -webkit-appearance: button; /* 1 */\n  background-color: transparent; /* 2 */\n  background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n  outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n  box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n  vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n  -webkit-appearance: textfield; /* 1 */\n  outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button; /* 1 */\n  font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n  display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n  margin: 0;\n}\n\nfieldset {\n  margin: 0;\n  padding: 0;\n}\n\nlegend {\n  padding: 0;\n}\n\nol,\nul,\nmenu {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n  padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n  resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n  opacity: 1; /* 1 */\n  color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n  opacity: 1; /* 1 */\n  color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n  cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n  cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n   This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n  display: block; /* 1 */\n  vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n  max-width: 100%;\n  height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden]:where(:not([hidden=\"until-found\"])) {\n  display: none;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border-width: 0;\n}\n.pointer-events-none {\n  pointer-events: none;\n}\n.pointer-events-auto {\n  pointer-events: auto;\n}\n.visible {\n  visibility: visible;\n}\n.fixed {\n  position: fixed;\n}\n.absolute {\n  position: absolute;\n}\n.relative {\n  position: relative;\n}\n.sticky {\n  position: sticky;\n}\n.inset-0 {\n  inset: 0px;\n}\n.-left-1 {\n  left: -0.25rem;\n}\n.-top-\\[5px\\] {\n  top: -5px;\n}\n.bottom-0 {\n  bottom: 0px;\n}\n.bottom-full {\n  bottom: 100%;\n}\n.left-0 {\n  left: 0px;\n}\n.left-0\\.5 {\n  left: 0.125rem;\n}\n.left-1 {\n  left: 0.25rem;\n}\n.left-1\\/2 {\n  left: 50%;\n}\n.left-2 {\n  left: 0.5rem;\n}\n.left-2\\.5 {\n  left: 0.625rem;\n}\n.left-3 {\n  left: 0.75rem;\n}\n.left-3\\.5 {\n  left: 0.875rem;\n}\n.left-\\[22px\\] {\n  left: 22px;\n}\n.left-\\[3px\\] {\n  left: 3px;\n}\n.right-0 {\n  right: 0px;\n}\n.right-1 {\n  right: 0.25rem;\n}\n.right-1\\.5 {\n  right: 0.375rem;\n}\n.right-2 {\n  right: 0.5rem;\n}\n.right-3 {\n  right: 0.75rem;\n}\n.top-0 {\n  top: 0px;\n}\n.top-0\\.5 {\n  top: 0.125rem;\n}\n.top-1 {\n  top: 0.25rem;\n}\n.top-1\\.5 {\n  top: 0.375rem;\n}\n.top-1\\/2 {\n  top: 50%;\n}\n.top-2 {\n  top: 0.5rem;\n}\n.top-2\\.5 {\n  top: 0.625rem;\n}\n.top-3 {\n  top: 0.75rem;\n}\n.top-4 {\n  top: 1rem;\n}\n.top-8 {\n  top: 2rem;\n}\n.top-\\[3px\\] {\n  top: 3px;\n}\n.top-full {\n  top: 100%;\n}\n.z-10 {\n  z-index: 10;\n}\n.z-20 {\n  z-index: 20;\n}\n.z-30 {\n  z-index: 30;\n}\n.z-40 {\n  z-index: 40;\n}\n.z-50 {\n  z-index: 50;\n}\n.z-\\[100\\] {\n  z-index: 100;\n}\n.z-\\[60\\] {\n  z-index: 60;\n}\n.col-span-2 {\n  grid-column: span 2 / span 2;\n}\n.col-span-full {\n  grid-column: 1 / -1;\n}\n.m-4 {\n  margin: 1rem;\n}\n.-mx-1 {\n  margin-left: -0.25rem;\n  margin-right: -0.25rem;\n}\n.mx-1\\.5 {\n  margin-left: 0.375rem;\n  margin-right: 0.375rem;\n}\n.mx-2 {\n  margin-left: 0.5rem;\n  margin-right: 0.5rem;\n}\n.mx-3 {\n  margin-left: 0.75rem;\n  margin-right: 0.75rem;\n}\n.mx-4 {\n  margin-left: 1rem;\n  margin-right: 1rem;\n}\n.mx-auto {\n  margin-left: auto;\n  margin-right: auto;\n}\n.my-1\\.5 {\n  margin-top: 0.375rem;\n  margin-bottom: 0.375rem;\n}\n.-ml-2 {\n  margin-left: -0.5rem;\n}\n.-mt-0\\.5 {\n  margin-top: -0.125rem;\n}\n.mb-0\\.5 {\n  margin-bottom: 0.125rem;\n}\n.mb-1 {\n  margin-bottom: 0.25rem;\n}\n.mb-1\\.5 {\n  margin-bottom: 0.375rem;\n}\n.mb-2 {\n  margin-bottom: 0.5rem;\n}\n.mb-3 {\n  margin-bottom: 0.75rem;\n}\n.mb-4 {\n  margin-bottom: 1rem;\n}\n.mb-5 {\n  margin-bottom: 1.25rem;\n}\n.mb-6 {\n  margin-bottom: 1.5rem;\n}\n.mb-8 {\n  margin-bottom: 2rem;\n}\n.ml-0\\.5 {\n  margin-left: 0.125rem;\n}\n.ml-1 {\n  margin-left: 0.25rem;\n}\n.ml-1\\.5 {\n  margin-left: 0.375rem;\n}\n.ml-12 {\n  margin-left: 3rem;\n}\n.ml-2 {\n  margin-left: 0.5rem;\n}\n.ml-20 {\n  margin-left: 5rem;\n}\n.ml-3 {\n  margin-left: 0.75rem;\n}\n.ml-4 {\n  margin-left: 1rem;\n}\n.ml-auto {\n  margin-left: auto;\n}\n.mr-1 {\n  margin-right: 0.25rem;\n}\n.mr-2 {\n  margin-right: 0.5rem;\n}\n.mr-4 {\n  margin-right: 1rem;\n}\n.mt-0\\.5 {\n  margin-top: 0.125rem;\n}\n.mt-1 {\n  margin-top: 0.25rem;\n}\n.mt-1\\.5 {\n  margin-top: 0.375rem;\n}\n.mt-2 {\n  margin-top: 0.5rem;\n}\n.mt-3 {\n  margin-top: 0.75rem;\n}\n.mt-4 {\n  margin-top: 1rem;\n}\n.mt-6 {\n  margin-top: 1.5rem;\n}\n.mt-auto {\n  margin-top: auto;\n}\n.line-clamp-2 {\n  overflow: hidden;\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 2;\n}\n.block {\n  display: block;\n}\n.inline-block {\n  display: inline-block;\n}\n.inline {\n  display: inline;\n}\n.flex {\n  display: flex;\n}\n.inline-flex {\n  display: inline-flex;\n}\n.table {\n  display: table;\n}\n.grid {\n  display: grid;\n}\n.hidden {\n  display: none;\n}\n.aspect-square {\n  aspect-ratio: 1 / 1;\n}\n.aspect-video {\n  aspect-ratio: 16 / 9;\n}\n.h-1\\.5 {\n  height: 0.375rem;\n}\n.h-10 {\n  height: 2.5rem;\n}\n.h-11 {\n  height: 2.75rem;\n}\n.h-12 {\n  height: 3rem;\n}\n.h-14 {\n  height: 3.5rem;\n}\n.h-16 {\n  height: 4rem;\n}\n.h-2 {\n  height: 0.5rem;\n}\n.h-2\\.5 {\n  height: 0.625rem;\n}\n.h-20 {\n  height: 5rem;\n}\n.h-24 {\n  height: 6rem;\n}\n.h-3 {\n  height: 0.75rem;\n}\n.h-3\\.5 {\n  height: 0.875rem;\n}\n.h-32 {\n  height: 8rem;\n}\n.h-4 {\n  height: 1rem;\n}\n.h-48 {\n  height: 12rem;\n}\n.h-5 {\n  height: 1.25rem;\n}\n.h-6 {\n  height: 1.5rem;\n}\n.h-7 {\n  height: 1.75rem;\n}\n.h-8 {\n  height: 2rem;\n}\n.h-9 {\n  height: 2.25rem;\n}\n.h-\\[22px\\] {\n  height: 22px;\n}\n.h-\\[calc\\(100vh-10rem\\)\\] {\n  height: calc(100vh - 10rem);\n}\n.h-full {\n  height: 100%;\n}\n.h-px {\n  height: 1px;\n}\n.h-screen {\n  height: 100vh;\n}\n.max-h-0 {\n  max-height: 0px;\n}\n.max-h-20 {\n  max-height: 5rem;\n}\n.max-h-28 {\n  max-height: 7rem;\n}\n.max-h-48 {\n  max-height: 12rem;\n}\n.max-h-52 {\n  max-height: 13rem;\n}\n.max-h-60 {\n  max-height: 15rem;\n}\n.max-h-80 {\n  max-height: 20rem;\n}\n.max-h-96 {\n  max-height: 24rem;\n}\n.max-h-\\[350px\\] {\n  max-height: 350px;\n}\n.max-h-\\[500px\\] {\n  max-height: 500px;\n}\n.max-h-\\[80vh\\] {\n  max-height: 80vh;\n}\n.max-h-\\[90vh\\] {\n  max-height: 90vh;\n}\n.min-h-0 {\n  min-height: 0px;\n}\n.min-h-\\[110px\\] {\n  min-height: 110px;\n}\n.min-h-\\[120px\\] {\n  min-height: 120px;\n}\n.min-h-\\[3\\.5rem\\] {\n  min-height: 3.5rem;\n}\n.min-h-\\[400px\\] {\n  min-height: 400px;\n}\n.min-h-\\[88px\\] {\n  min-height: 88px;\n}\n.min-h-\\[calc\\(100vh-10rem\\)\\] {\n  min-height: calc(100vh - 10rem);\n}\n.min-h-screen {\n  min-height: 100vh;\n}\n.w-1 {\n  width: 0.25rem;\n}\n.w-1\\.5 {\n  width: 0.375rem;\n}\n.w-10 {\n  width: 2.5rem;\n}\n.w-11 {\n  width: 2.75rem;\n}\n.w-12 {\n  width: 3rem;\n}\n.w-14 {\n  width: 3.5rem;\n}\n.w-16 {\n  width: 4rem;\n}\n.w-2 {\n  width: 0.5rem;\n}\n.w-2\\.5 {\n  width: 0.625rem;\n}\n.w-20 {\n  width: 5rem;\n}\n.w-24 {\n  width: 6rem;\n}\n.w-28 {\n  width: 7rem;\n}\n.w-3 {\n  width: 0.75rem;\n}\n.w-3\\.5 {\n  width: 0.875rem;\n}\n.w-32 {\n  width: 8rem;\n}\n.w-36 {\n  width: 9rem;\n}\n.w-4 {\n  width: 1rem;\n}\n.w-44 {\n  width: 11rem;\n}\n.w-48 {\n  width: 12rem;\n}\n.w-5 {\n  width: 1.25rem;\n}\n.w-52 {\n  width: 13rem;\n}\n.w-56 {\n  width: 14rem;\n}\n.w-6 {\n  width: 1.5rem;\n}\n.w-64 {\n  width: 16rem;\n}\n.w-7 {\n  width: 1.75rem;\n}\n.w-72 {\n  width: 18rem;\n}\n.w-8 {\n  width: 2rem;\n}\n.w-80 {\n  width: 20rem;\n}\n.w-9 {\n  width: 2.25rem;\n}\n.w-96 {\n  width: 24rem;\n}\n.w-\\[400px\\] {\n  width: 400px;\n}\n.w-\\[460px\\] {\n  width: 460px;\n}\n.w-\\[520px\\] {\n  width: 520px;\n}\n.w-\\[560px\\] {\n  width: 560px;\n}\n.w-\\[82px\\] {\n  width: 82px;\n}\n.w-fit {\n  width: -moz-fit-content;\n  width: fit-content;\n}\n.w-full {\n  width: 100%;\n}\n.min-w-0 {\n  min-width: 0px;\n}\n.min-w-\\[120px\\] {\n  min-width: 120px;\n}\n.min-w-\\[140px\\] {\n  min-width: 140px;\n}\n.min-w-\\[150px\\] {\n  min-width: 150px;\n}\n.min-w-\\[200px\\] {\n  min-width: 200px;\n}\n.min-w-\\[240px\\] {\n  min-width: 240px;\n}\n.min-w-max {\n  min-width: -moz-max-content;\n  min-width: max-content;\n}\n.max-w-2xl {\n  max-width: 42rem;\n}\n.max-w-4xl {\n  max-width: 56rem;\n}\n.max-w-6xl {\n  max-width: 72rem;\n}\n.max-w-7xl {\n  max-width: 80rem;\n}\n.max-w-\\[160px\\] {\n  max-width: 160px;\n}\n.max-w-\\[200px\\] {\n  max-width: 200px;\n}\n.max-w-\\[280px\\] {\n  max-width: 280px;\n}\n.max-w-\\[90vw\\] {\n  max-width: 90vw;\n}\n.max-w-full {\n  max-width: 100%;\n}\n.max-w-lg {\n  max-width: 32rem;\n}\n.max-w-md {\n  max-width: 28rem;\n}\n.max-w-sm {\n  max-width: 24rem;\n}\n.max-w-xs {\n  max-width: 20rem;\n}\n.flex-1 {\n  flex: 1 1 0%;\n}\n.flex-\\[2\\] {\n  flex: 2;\n}\n.shrink-0 {\n  flex-shrink: 0;\n}\n.origin-top-right {\n  transform-origin: top right;\n}\n.-translate-x-1\\/2 {\n  --tw-translate-x: -50%;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-translate-y-1 {\n  --tw-translate-y: -0.25rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-translate-y-1\\/2 {\n  --tw-translate-y: -50%;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-0 {\n  --tw-translate-x: 0px;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-0\\.5 {\n  --tw-translate-x: 0.125rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-1 {\n  --tw-translate-x: 0.25rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-4 {\n  --tw-translate-x: 1rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-6 {\n  --tw-translate-x: 1.5rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-7 {\n  --tw-translate-x: 1.75rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-y-0 {\n  --tw-translate-y: 0px;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-y-0\\.5 {\n  --tw-translate-y: 0.125rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-rotate-90 {\n  --tw-rotate: -90deg;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.rotate-180 {\n  --tw-rotate: 180deg;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.rotate-90 {\n  --tw-rotate: 90deg;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.scale-100 {\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.scale-95 {\n  --tw-scale-x: .95;\n  --tw-scale-y: .95;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.transform {\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes pulse {\n\n  50% {\n    opacity: .5;\n  }\n}\n.animate-pulse {\n  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n@keyframes spin {\n\n  to {\n    transform: rotate(360deg);\n  }\n}\n.animate-spin {\n  animation: spin 1s linear infinite;\n}\n.cursor-crosshair {\n  cursor: crosshair;\n}\n.cursor-default {\n  cursor: default;\n}\n.cursor-not-allowed {\n  cursor: not-allowed;\n}\n.cursor-pointer {\n  cursor: pointer;\n}\n.touch-none {\n  touch-action: none;\n}\n.select-none {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n}\n.resize-none {\n  resize: none;\n}\n.resize-y {\n  resize: vertical;\n}\n.resize {\n  resize: both;\n}\n.appearance-none {\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n}\n.grid-cols-1 {\n  grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.grid-cols-2 {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.grid-cols-3 {\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.grid-cols-4 {\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.grid-cols-7 {\n  grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.flex-col {\n  flex-direction: column;\n}\n.flex-wrap {\n  flex-wrap: wrap;\n}\n.flex-nowrap {\n  flex-wrap: nowrap;\n}\n.items-start {\n  align-items: flex-start;\n}\n.items-end {\n  align-items: flex-end;\n}\n.items-center {\n  align-items: center;\n}\n.items-baseline {\n  align-items: baseline;\n}\n.justify-start {\n  justify-content: flex-start;\n}\n.justify-end {\n  justify-content: flex-end;\n}\n.justify-center {\n  justify-content: center;\n}\n.justify-between {\n  justify-content: space-between;\n}\n.gap-1 {\n  gap: 0.25rem;\n}\n.gap-1\\.5 {\n  gap: 0.375rem;\n}\n.gap-2 {\n  gap: 0.5rem;\n}\n.gap-2\\.5 {\n  gap: 0.625rem;\n}\n.gap-3 {\n  gap: 0.75rem;\n}\n.gap-4 {\n  gap: 1rem;\n}\n.gap-6 {\n  gap: 1.5rem;\n}\n.gap-8 {\n  gap: 2rem;\n}\n.gap-px {\n  gap: 1px;\n}\n.gap-x-8 {\n  -moz-column-gap: 2rem;\n       column-gap: 2rem;\n}\n.gap-y-4 {\n  row-gap: 1rem;\n}\n.space-x-2 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-x-reverse: 0;\n  margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-y-0\\.5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));\n}\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.space-y-2\\.5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));\n}\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n.space-y-6 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));\n}\n.space-y-8 > :not([hidden]) ~ :not([hidden]) {\n  --tw-space-y-reverse: 0;\n  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));\n  margin-bottom: calc(2rem * var(--tw-space-y-reverse));\n}\n.divide-y > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-y-reverse: 0;\n  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-opacity: 1;\n  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));\n}\n.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-opacity: 1;\n  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));\n}\n.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {\n  --tw-divide-opacity: 1;\n  border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));\n}\n.self-start {\n  align-self: flex-start;\n}\n.overflow-auto {\n  overflow: auto;\n}\n.overflow-hidden {\n  overflow: hidden;\n}\n.overflow-x-auto {\n  overflow-x: auto;\n}\n.overflow-y-auto {\n  overflow-y: auto;\n}\n.truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.whitespace-normal {\n  white-space: normal;\n}\n.whitespace-nowrap {\n  white-space: nowrap;\n}\n.break-all {\n  word-break: break-all;\n}\n.rounded {\n  border-radius: 0.25rem;\n}\n.rounded-2xl {\n  border-radius: 1rem;\n}\n.rounded-3xl {\n  border-radius: 1.5rem;\n}\n.rounded-full {\n  border-radius: 9999px;\n}\n.rounded-lg {\n  border-radius: 0.5rem;\n}\n.rounded-md {\n  border-radius: 0.375rem;\n}\n.rounded-xl {\n  border-radius: 0.75rem;\n}\n.rounded-t-2xl {\n  border-top-left-radius: 1rem;\n  border-top-right-radius: 1rem;\n}\n.rounded-t-3xl {\n  border-top-left-radius: 1.5rem;\n  border-top-right-radius: 1.5rem;\n}\n.rounded-t-xl {\n  border-top-left-radius: 0.75rem;\n  border-top-right-radius: 0.75rem;\n}\n.border {\n  border-width: 1px;\n}\n.border-2 {\n  border-width: 2px;\n}\n.border-b {\n  border-bottom-width: 1px;\n}\n.border-b-2 {\n  border-bottom-width: 2px;\n}\n.border-l {\n  border-left-width: 1px;\n}\n.border-l-2 {\n  border-left-width: 2px;\n}\n.border-r {\n  border-right-width: 1px;\n}\n.border-t {\n  border-top-width: 1px;\n}\n.border-t-2 {\n  border-top-width: 2px;\n}\n.border-dashed {\n  border-style: dashed;\n}\n.border-none {\n  border-style: none;\n}\n.border-amber-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));\n}\n.border-amber-200\\/60 {\n  border-color: rgb(253 230 138 / 0.6);\n}\n.border-blue-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));\n}\n.border-blue-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));\n}\n.border-blue-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));\n}\n.border-gray-100 {\n  --tw-border-opacity: 1;\n  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));\n}\n.border-gray-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\n.border-gray-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.border-gray-400 {\n  --tw-border-opacity: 1;\n  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));\n}\n.border-gray-50 {\n  --tw-border-opacity: 1;\n  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));\n}\n.border-green-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));\n}\n.border-green-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));\n}\n.border-green-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));\n}\n.border-indigo-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));\n}\n.border-orange-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));\n}\n.border-pink-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));\n}\n.border-pink-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));\n}\n.border-pink-400 {\n  --tw-border-opacity: 1;\n  border-color: rgb(244 114 182 / var(--tw-border-opacity, 1));\n}\n.border-pink-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));\n}\n.border-pink-600 {\n  --tw-border-opacity: 1;\n  border-color: rgb(219 39 119 / var(--tw-border-opacity, 1));\n}\n.border-purple-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));\n}\n.border-purple-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));\n}\n.border-red-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));\n}\n.border-red-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));\n}\n.border-rose-100 {\n  --tw-border-opacity: 1;\n  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));\n}\n.border-rose-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));\n}\n.border-rose-50 {\n  --tw-border-opacity: 1;\n  border-color: rgb(255 241 242 / var(--tw-border-opacity, 1));\n}\n.border-rose-500 {\n  --tw-border-opacity: 1;\n  border-color: rgb(244 63 94 / var(--tw-border-opacity, 1));\n}\n.border-sky-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));\n}\n.border-transparent {\n  border-color: transparent;\n}\n.border-white\\/20 {\n  border-color: rgb(255 255 255 / 0.2);\n}\n.border-yellow-200 {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));\n}\n.border-yellow-300 {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));\n}\n.border-l-blue-400 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(96 165 250 / var(--tw-border-opacity, 1));\n}\n.border-l-gray-300 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.border-l-green-400 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(74 222 128 / var(--tw-border-opacity, 1));\n}\n.border-l-orange-300 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(253 186 116 / var(--tw-border-opacity, 1));\n}\n.border-l-red-300 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(252 165 165 / var(--tw-border-opacity, 1));\n}\n.border-l-yellow-400 {\n  --tw-border-opacity: 1;\n  border-left-color: rgb(250 204 21 / var(--tw-border-opacity, 1));\n}\n.border-t-transparent {\n  border-top-color: transparent;\n}\n.bg-amber-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-100\\/70 {\n  background-color: rgb(254 243 199 / 0.7);\n}\n.bg-amber-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-50\\/60 {\n  background-color: rgb(255 251 235 / 0.6);\n}\n.bg-amber-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));\n}\n.bg-amber-700 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));\n}\n.bg-black {\n  --tw-bg-opacity: 1;\n  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));\n}\n.bg-black\\/10 {\n  background-color: rgb(0 0 0 / 0.1);\n}\n.bg-black\\/20 {\n  background-color: rgb(0 0 0 / 0.2);\n}\n.bg-black\\/30 {\n  background-color: rgb(0 0 0 / 0.3);\n}\n.bg-black\\/40 {\n  background-color: rgb(0 0 0 / 0.4);\n}\n.bg-blue-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-100\\/70 {\n  background-color: rgb(219 234 254 / 0.7);\n}\n.bg-blue-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-50\\/30 {\n  background-color: rgb(239 246 255 / 0.3);\n}\n.bg-blue-50\\/40 {\n  background-color: rgb(239 246 255 / 0.4);\n}\n.bg-blue-50\\/50 {\n  background-color: rgb(239 246 255 / 0.5);\n}\n.bg-blue-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));\n}\n.bg-emerald-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));\n}\n.bg-emerald-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));\n}\n.bg-emerald-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-100\\/50 {\n  background-color: rgb(243 244 246 / 0.5);\n}\n.bg-gray-200 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-300 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-50\\/50 {\n  background-color: rgb(249 250 251 / 0.5);\n}\n.bg-gray-50\\/60 {\n  background-color: rgb(249 250 251 / 0.6);\n}\n.bg-gray-700 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-800 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-900 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\n}\n.bg-green-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.bg-green-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));\n}\n.bg-green-50\\/50 {\n  background-color: rgb(240 253 244 / 0.5);\n}\n.bg-green-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));\n}\n.bg-green-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));\n}\n.bg-indigo-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-200 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(251 207 232 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-50\\/50 {\n  background-color: rgb(253 242 248 / 0.5);\n}\n.bg-pink-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-500\\/80 {\n  background-color: rgb(236 72 153 / 0.8);\n}\n.bg-pink-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));\n}\n.bg-pink-700 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));\n}\n.bg-red-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\n}\n.bg-red-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.bg-red-50\\/50 {\n  background-color: rgb(254 242 242 / 0.5);\n}\n.bg-red-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));\n}\n.bg-red-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-100\\/70 {\n  background-color: rgb(255 228 230 / 0.7);\n}\n.bg-rose-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-50\\/40 {\n  background-color: rgb(255 241 242 / 0.4);\n}\n.bg-rose-50\\/60 {\n  background-color: rgb(255 241 242 / 0.6);\n}\n.bg-rose-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));\n}\n.bg-rose-600 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));\n}\n.bg-sky-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));\n}\n.bg-sky-100\\/70 {\n  background-color: rgb(224 242 254 / 0.7);\n}\n.bg-sky-400 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));\n}\n.bg-slate-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));\n}\n.bg-teal-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));\n}\n.bg-transparent {\n  background-color: transparent;\n}\n.bg-violet-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));\n}\n.bg-violet-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));\n}\n.bg-white {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.bg-white\\/10 {\n  background-color: rgb(255 255 255 / 0.1);\n}\n.bg-white\\/20 {\n  background-color: rgb(255 255 255 / 0.2);\n}\n.bg-white\\/80 {\n  background-color: rgb(255 255 255 / 0.8);\n}\n.bg-white\\/95 {\n  background-color: rgb(255 255 255 / 0.95);\n}\n.bg-yellow-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-50 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-500 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));\n}\n.bg-opacity-50 {\n  --tw-bg-opacity: 0.5;\n}\n.bg-gradient-to-b {\n  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\n}\n.bg-gradient-to-br {\n  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.bg-gradient-to-r {\n  background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.from-\\[\\#f43f6e\\] {\n  --tw-gradient-from: #f43f6e var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(244 63 110 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-pink-50 {\n  --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-pink-500 {\n  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-slate-600 {\n  --tw-gradient-from: #475569 var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.to-\\[\\#db2777\\] {\n  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.to-orange-50 {\n  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);\n}\n.to-pink-600 {\n  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.to-purple-50 {\n  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);\n}\n.to-slate-700 {\n  --tw-gradient-to: #334155 var(--tw-gradient-to-position);\n}\n.object-contain {\n  -o-object-fit: contain;\n     object-fit: contain;\n}\n.object-cover {\n  -o-object-fit: cover;\n     object-fit: cover;\n}\n.p-0\\.5 {\n  padding: 0.125rem;\n}\n.p-1 {\n  padding: 0.25rem;\n}\n.p-1\\.5 {\n  padding: 0.375rem;\n}\n.p-12 {\n  padding: 3rem;\n}\n.p-2 {\n  padding: 0.5rem;\n}\n.p-2\\.5 {\n  padding: 0.625rem;\n}\n.p-3 {\n  padding: 0.75rem;\n}\n.p-3\\.5 {\n  padding: 0.875rem;\n}\n.p-4 {\n  padding: 1rem;\n}\n.p-5 {\n  padding: 1.25rem;\n}\n.p-6 {\n  padding: 1.5rem;\n}\n.p-8 {\n  padding: 2rem;\n}\n.p-px {\n  padding: 1px;\n}\n.px-1 {\n  padding-left: 0.25rem;\n  padding-right: 0.25rem;\n}\n.px-1\\.5 {\n  padding-left: 0.375rem;\n  padding-right: 0.375rem;\n}\n.px-2 {\n  padding-left: 0.5rem;\n  padding-right: 0.5rem;\n}\n.px-2\\.5 {\n  padding-left: 0.625rem;\n  padding-right: 0.625rem;\n}\n.px-3 {\n  padding-left: 0.75rem;\n  padding-right: 0.75rem;\n}\n.px-3\\.5 {\n  padding-left: 0.875rem;\n  padding-right: 0.875rem;\n}\n.px-4 {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n.px-5 {\n  padding-left: 1.25rem;\n  padding-right: 1.25rem;\n}\n.px-6 {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n.px-7 {\n  padding-left: 1.75rem;\n  padding-right: 1.75rem;\n}\n.py-0\\.5 {\n  padding-top: 0.125rem;\n  padding-bottom: 0.125rem;\n}\n.py-1 {\n  padding-top: 0.25rem;\n  padding-bottom: 0.25rem;\n}\n.py-1\\.5 {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n}\n.py-10 {\n  padding-top: 2.5rem;\n  padding-bottom: 2.5rem;\n}\n.py-12 {\n  padding-top: 3rem;\n  padding-bottom: 3rem;\n}\n.py-16 {\n  padding-top: 4rem;\n  padding-bottom: 4rem;\n}\n.py-2 {\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n}\n.py-2\\.5 {\n  padding-top: 0.625rem;\n  padding-bottom: 0.625rem;\n}\n.py-20 {\n  padding-top: 5rem;\n  padding-bottom: 5rem;\n}\n.py-3 {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n}\n.py-3\\.5 {\n  padding-top: 0.875rem;\n  padding-bottom: 0.875rem;\n}\n.py-4 {\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n.py-5 {\n  padding-top: 1.25rem;\n  padding-bottom: 1.25rem;\n}\n.py-8 {\n  padding-top: 2rem;\n  padding-bottom: 2rem;\n}\n.pb-1 {\n  padding-bottom: 0.25rem;\n}\n.pb-2 {\n  padding-bottom: 0.5rem;\n}\n.pb-2\\.5 {\n  padding-bottom: 0.625rem;\n}\n.pb-20 {\n  padding-bottom: 5rem;\n}\n.pb-3 {\n  padding-bottom: 0.75rem;\n}\n.pb-4 {\n  padding-bottom: 1rem;\n}\n.pb-6 {\n  padding-bottom: 1.5rem;\n}\n.pb-\\[env\\(safe-area-inset-bottom\\)\\] {\n  padding-bottom: env(safe-area-inset-bottom);\n}\n.pl-10 {\n  padding-left: 2.5rem;\n}\n.pl-4 {\n  padding-left: 1rem;\n}\n.pl-5 {\n  padding-left: 1.25rem;\n}\n.pl-6 {\n  padding-left: 1.5rem;\n}\n.pl-7 {\n  padding-left: 1.75rem;\n}\n.pl-8 {\n  padding-left: 2rem;\n}\n.pl-9 {\n  padding-left: 2.25rem;\n}\n.pr-2 {\n  padding-right: 0.5rem;\n}\n.pr-3 {\n  padding-right: 0.75rem;\n}\n.pr-4 {\n  padding-right: 1rem;\n}\n.pr-7 {\n  padding-right: 1.75rem;\n}\n.pt-1 {\n  padding-top: 0.25rem;\n}\n.pt-1\\.5 {\n  padding-top: 0.375rem;\n}\n.pt-2 {\n  padding-top: 0.5rem;\n}\n.pt-3 {\n  padding-top: 0.75rem;\n}\n.pt-4 {\n  padding-top: 1rem;\n}\n.pt-5 {\n  padding-top: 1.25rem;\n}\n.pt-6 {\n  padding-top: 1.5rem;\n}\n.text-left {\n  text-align: left;\n}\n.text-center {\n  text-align: center;\n}\n.text-right {\n  text-align: right;\n}\n.font-mono {\n  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n.text-2xl {\n  font-size: 1.5rem;\n  line-height: 2rem;\n}\n.text-3xl {\n  font-size: 1.875rem;\n  line-height: 2.25rem;\n}\n.text-4xl {\n  font-size: 2.25rem;\n  line-height: 2.5rem;\n}\n.text-5xl {\n  font-size: 3rem;\n  line-height: 1;\n}\n.text-\\[10px\\] {\n  font-size: 10px;\n}\n.text-\\[11px\\] {\n  font-size: 11px;\n}\n.text-\\[12px\\] {\n  font-size: 12px;\n}\n.text-base {\n  font-size: 1rem;\n  line-height: 1.5rem;\n}\n.text-lg {\n  font-size: 1.125rem;\n  line-height: 1.75rem;\n}\n.text-sm {\n  font-size: 0.875rem;\n  line-height: 1.25rem;\n}\n.text-xl {\n  font-size: 1.25rem;\n  line-height: 1.75rem;\n}\n.text-xs {\n  font-size: 0.75rem;\n  line-height: 1rem;\n}\n.font-bold {\n  font-weight: 700;\n}\n.font-extrabold {\n  font-weight: 800;\n}\n.font-medium {\n  font-weight: 500;\n}\n.font-normal {\n  font-weight: 400;\n}\n.font-semibold {\n  font-weight: 600;\n}\n.uppercase {\n  text-transform: uppercase;\n}\n.italic {\n  font-style: italic;\n}\n.tabular-nums {\n  --tw-numeric-spacing: tabular-nums;\n  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.leading-none {\n  line-height: 1;\n}\n.leading-snug {\n  line-height: 1.375;\n}\n.leading-tight {\n  line-height: 1.25;\n}\n.tracking-tight {\n  letter-spacing: -0.025em;\n}\n.tracking-wider {\n  letter-spacing: 0.05em;\n}\n.text-\\[\\#141416\\] {\n  --tw-text-opacity: 1;\n  color: rgb(20 20 22 / var(--tw-text-opacity, 1));\n}\n.text-\\[\\#7a5a72\\] {\n  --tw-text-opacity: 1;\n  color: rgb(122 90 114 / var(--tw-text-opacity, 1));\n}\n.text-\\[\\#8a6f86\\] {\n  --tw-text-opacity: 1;\n  color: rgb(138 111 134 / var(--tw-text-opacity, 1));\n}\n.text-amber-500 {\n  --tw-text-opacity: 1;\n  color: rgb(245 158 11 / var(--tw-text-opacity, 1));\n}\n.text-amber-600 {\n  --tw-text-opacity: 1;\n  color: rgb(217 119 6 / var(--tw-text-opacity, 1));\n}\n.text-amber-700 {\n  --tw-text-opacity: 1;\n  color: rgb(180 83 9 / var(--tw-text-opacity, 1));\n}\n.text-amber-800 {\n  --tw-text-opacity: 1;\n  color: rgb(146 64 14 / var(--tw-text-opacity, 1));\n}\n.text-blue-600 {\n  --tw-text-opacity: 1;\n  color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.text-blue-700 {\n  --tw-text-opacity: 1;\n  color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\n.text-blue-800 {\n  --tw-text-opacity: 1;\n  color: rgb(30 64 175 / var(--tw-text-opacity, 1));\n}\n.text-emerald-600 {\n  --tw-text-opacity: 1;\n  color: rgb(5 150 105 / var(--tw-text-opacity, 1));\n}\n.text-gray-300 {\n  --tw-text-opacity: 1;\n  color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.text-gray-400 {\n  --tw-text-opacity: 1;\n  color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.text-gray-500 {\n  --tw-text-opacity: 1;\n  color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.text-gray-600 {\n  --tw-text-opacity: 1;\n  color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n.text-gray-700 {\n  --tw-text-opacity: 1;\n  color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.text-gray-800 {\n  --tw-text-opacity: 1;\n  color: rgb(31 41 55 / var(--tw-text-opacity, 1));\n}\n.text-gray-900 {\n  --tw-text-opacity: 1;\n  color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.text-green-500 {\n  --tw-text-opacity: 1;\n  color: rgb(34 197 94 / var(--tw-text-opacity, 1));\n}\n.text-green-600 {\n  --tw-text-opacity: 1;\n  color: rgb(22 163 74 / var(--tw-text-opacity, 1));\n}\n.text-green-700 {\n  --tw-text-opacity: 1;\n  color: rgb(21 128 61 / var(--tw-text-opacity, 1));\n}\n.text-green-800 {\n  --tw-text-opacity: 1;\n  color: rgb(22 101 52 / var(--tw-text-opacity, 1));\n}\n.text-indigo-600 {\n  --tw-text-opacity: 1;\n  color: rgb(79 70 229 / var(--tw-text-opacity, 1));\n}\n.text-orange-600 {\n  --tw-text-opacity: 1;\n  color: rgb(234 88 12 / var(--tw-text-opacity, 1));\n}\n.text-orange-700 {\n  --tw-text-opacity: 1;\n  color: rgb(194 65 12 / var(--tw-text-opacity, 1));\n}\n.text-pink-100 {\n  --tw-text-opacity: 1;\n  color: rgb(252 231 243 / var(--tw-text-opacity, 1));\n}\n.text-pink-200 {\n  --tw-text-opacity: 1;\n  color: rgb(251 207 232 / var(--tw-text-opacity, 1));\n}\n.text-pink-300 {\n  --tw-text-opacity: 1;\n  color: rgb(249 168 212 / var(--tw-text-opacity, 1));\n}\n.text-pink-400 {\n  --tw-text-opacity: 1;\n  color: rgb(244 114 182 / var(--tw-text-opacity, 1));\n}\n.text-pink-500 {\n  --tw-text-opacity: 1;\n  color: rgb(236 72 153 / var(--tw-text-opacity, 1));\n}\n.text-pink-600 {\n  --tw-text-opacity: 1;\n  color: rgb(219 39 119 / var(--tw-text-opacity, 1));\n}\n.text-pink-700 {\n  --tw-text-opacity: 1;\n  color: rgb(190 24 93 / var(--tw-text-opacity, 1));\n}\n.text-pink-800 {\n  --tw-text-opacity: 1;\n  color: rgb(157 23 77 / var(--tw-text-opacity, 1));\n}\n.text-purple-100 {\n  --tw-text-opacity: 1;\n  color: rgb(243 232 255 / var(--tw-text-opacity, 1));\n}\n.text-purple-600 {\n  --tw-text-opacity: 1;\n  color: rgb(147 51 234 / var(--tw-text-opacity, 1));\n}\n.text-purple-700 {\n  --tw-text-opacity: 1;\n  color: rgb(126 34 206 / var(--tw-text-opacity, 1));\n}\n.text-purple-800 {\n  --tw-text-opacity: 1;\n  color: rgb(107 33 168 / var(--tw-text-opacity, 1));\n}\n.text-red-400 {\n  --tw-text-opacity: 1;\n  color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n.text-red-500 {\n  --tw-text-opacity: 1;\n  color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.text-red-600 {\n  --tw-text-opacity: 1;\n  color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n.text-red-700 {\n  --tw-text-opacity: 1;\n  color: rgb(185 28 28 / var(--tw-text-opacity, 1));\n}\n.text-red-800 {\n  --tw-text-opacity: 1;\n  color: rgb(153 27 27 / var(--tw-text-opacity, 1));\n}\n.text-rose-300 {\n  --tw-text-opacity: 1;\n  color: rgb(253 164 175 / var(--tw-text-opacity, 1));\n}\n.text-rose-400 {\n  --tw-text-opacity: 1;\n  color: rgb(251 113 133 / var(--tw-text-opacity, 1));\n}\n.text-rose-500 {\n  --tw-text-opacity: 1;\n  color: rgb(244 63 94 / var(--tw-text-opacity, 1));\n}\n.text-rose-600 {\n  --tw-text-opacity: 1;\n  color: rgb(225 29 72 / var(--tw-text-opacity, 1));\n}\n.text-rose-700 {\n  --tw-text-opacity: 1;\n  color: rgb(190 18 60 / var(--tw-text-opacity, 1));\n}\n.text-rose-800 {\n  --tw-text-opacity: 1;\n  color: rgb(159 18 57 / var(--tw-text-opacity, 1));\n}\n.text-sky-600 {\n  --tw-text-opacity: 1;\n  color: rgb(2 132 199 / var(--tw-text-opacity, 1));\n}\n.text-sky-800 {\n  --tw-text-opacity: 1;\n  color: rgb(7 89 133 / var(--tw-text-opacity, 1));\n}\n.text-slate-300 {\n  --tw-text-opacity: 1;\n  color: rgb(203 213 225 / var(--tw-text-opacity, 1));\n}\n.text-teal-600 {\n  --tw-text-opacity: 1;\n  color: rgb(13 148 136 / var(--tw-text-opacity, 1));\n}\n.text-transparent {\n  color: transparent;\n}\n.text-violet-600 {\n  --tw-text-opacity: 1;\n  color: rgb(124 58 237 / var(--tw-text-opacity, 1));\n}\n.text-violet-700 {\n  --tw-text-opacity: 1;\n  color: rgb(109 40 217 / var(--tw-text-opacity, 1));\n}\n.text-white {\n  --tw-text-opacity: 1;\n  color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.text-yellow-600 {\n  --tw-text-opacity: 1;\n  color: rgb(202 138 4 / var(--tw-text-opacity, 1));\n}\n.text-yellow-700 {\n  --tw-text-opacity: 1;\n  color: rgb(161 98 7 / var(--tw-text-opacity, 1));\n}\n.text-yellow-800 {\n  --tw-text-opacity: 1;\n  color: rgb(133 77 14 / var(--tw-text-opacity, 1));\n}\n.line-through {\n  text-decoration-line: line-through;\n}\n.placeholder-pink-300::-moz-placeholder {\n  --tw-placeholder-opacity: 1;\n  color: rgb(249 168 212 / var(--tw-placeholder-opacity, 1));\n}\n.placeholder-pink-300::placeholder {\n  --tw-placeholder-opacity: 1;\n  color: rgb(249 168 212 / var(--tw-placeholder-opacity, 1));\n}\n.opacity-0 {\n  opacity: 0;\n}\n.opacity-100 {\n  opacity: 1;\n}\n.opacity-40 {\n  opacity: 0.4;\n}\n.opacity-50 {\n  opacity: 0.5;\n}\n.opacity-60 {\n  opacity: 0.6;\n}\n.opacity-70 {\n  opacity: 0.7;\n}\n.opacity-80 {\n  opacity: 0.8;\n}\n.shadow {\n  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-2xl {\n  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-\\[0_-2px_8px_rgba\\(0\\2c 0\\2c 0\\2c 0\\.04\\)\\] {\n  --tw-shadow: 0 -2px 8px rgba(0,0,0,0.04);\n  --tw-shadow-colored: 0 -2px 8px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-\\[0_8px_18px_-8px_rgba\\(219\\2c 39\\2c 119\\2c 0\\.65\\)\\] {\n  --tw-shadow: 0 8px 18px -8px rgba(219,39,119,0.65);\n  --tw-shadow-colored: 0 8px 18px -8px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-inner {\n  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-lg {\n  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-sm {\n  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-xl {\n  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-pink-200 {\n  --tw-shadow-color: #fbcfe8;\n  --tw-shadow: var(--tw-shadow-colored);\n}\n.outline-none {\n  outline: 2px solid transparent;\n  outline-offset: 2px;\n}\n.ring-2 {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.ring-4 {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.ring-pink-100 {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(252 231 243 / var(--tw-ring-opacity, 1));\n}\n.ring-white {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));\n}\n.filter {\n  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.backdrop-blur-sm {\n  --tw-backdrop-blur: blur(4px);\n  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.transition {\n  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-all {\n  transition-property: all;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-colors {\n  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-opacity {\n  transition-property: opacity;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-shadow {\n  transition-property: box-shadow;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.transition-transform {\n  transition-property: transform;\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-duration: 150ms;\n}\n.duration-150 {\n  transition-duration: 150ms;\n}\n.duration-200 {\n  transition-duration: 200ms;\n}\n.duration-300 {\n  transition-duration: 300ms;\n}\n.ease-in-out {\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ease-out {\n  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n:root {\n  font-family: 'Inter', system-ui, -apple-system, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.font-display {\n  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;\n}\n/* iPad-style vertical nav rail ------------------------------------------ */\n/* Fresha-inspired high-key palette: a soft lavender → blush wash over a\n   near-white ground, with near-black ink. Airy, not dark. */\n.nav-rail {\n  background:\n    radial-gradient(135% 55% at 50% -8%, rgba(255, 255, 255, 0.85), transparent 62%),\n    radial-gradient(95% 45% at 88% 108%, rgba(255, 255, 255, 0.7), transparent 60%),\n    linear-gradient(168deg, #ece9fb 0%, #e7e2f8 30%, #efe3f5 62%, #fbe6f4 100%);\n  border-right: 1px solid rgba(120, 110, 170, 0.14);\n}\n/* Active \"pulled tab\": a brand rose→pink card so the rail's selection\n   speaks the same language as the pink modules in the content area. The\n   vertical gradient's end colors are matched per-corner by the notches\n   below, so the concave cut stays seamless. */\n.nav-tab-active {\n  background: linear-gradient(180deg, #f43f6e 0%, #db2777 100%);\n  border-top-left-radius: 22px;\n  border-bottom-left-radius: 22px;\n  box-shadow: -10px 0 26px -12px rgba(219, 39, 119, 0.5);\n  position: relative;\n}\n.nav-tab-active::before,\n.nav-tab-active::after {\n  content: '';\n  position: absolute;\n  right: 0;\n  width: 16px;\n  height: 16px;\n  background: transparent;\n  pointer-events: none;\n}\n.nav-tab-active::before {\n  top: -16px;\n  border-bottom-left-radius: 16px;\n  box-shadow: -5px 5px 0 0 #f43f6e;\n}\n.nav-tab-active::after {\n  bottom: -16px;\n  border-top-left-radius: 16px;\n  box-shadow: -5px -5px 0 0 #db2777;\n}\n/* Gentle entrance + hover feedback for rail items */\n.nav-rail-item {\n  transition: transform 0.18s ease, color 0.18s ease, background-color 0.22s ease, box-shadow 0.22s ease;\n}\n.nav-rail-item:not(.nav-tab-active):hover {\n  transform: translateY(-1px);\n}\n.nav-rail-item:not(.nav-tab-active):active {\n  transform: scale(0.94);\n}\n/* Hide scrollbar on the rail while keeping it scrollable on short screens */\n.nav-rail-scroll {\n  scrollbar-width: none;\n}\n.nav-rail-scroll::-webkit-scrollbar {\n  display: none;\n}\nbody {\n  margin: 0;\n  min-height: 100vh;\n  background-color: #f8fafc;\n}\n/* Toast animations */\n@keyframes slide-in {\n  from { transform: translateX(100%); opacity: 0; }\n  to   { transform: translateX(0);    opacity: 1; }\n}\n@keyframes slide-out {\n  from { transform: translateX(0);    opacity: 1; }\n  to   { transform: translateX(100%); opacity: 0; }\n}\n[data-state=\"open\"].animate-slide-in  { animation: slide-in  0.25s ease-out; }\n[data-state=\"closed\"].animate-slide-out { animation: slide-out 0.2s ease-in; }\n/* FullCalendar 预约事件样式优化 */\n.custom-calendar-event {\n  border-radius: 6px !important;\n  border-left-width: 3px !important;\n  padding: 2px 6px !important;\n  font-size: 12px !important;\n  line-height: 1.4 !important;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;\n  transition: box-shadow 0.15s ease !important;\n}\n.custom-calendar-event:hover {\n  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;\n  z-index: 10 !important;\n}\n/* FullCalendar 时间槽样式 */\n.fc-timegrid-slot {\n  height: 48px !important;\n}\n.fc-timegrid-slot-label {\n  font-size: 12px !important;\n  color: #6b7280 !important;\n  padding-right: 8px !important;\n}\n.fc-timegrid-now-indicator-line {\n  border-color: #ec4899 !important;\n  border-width: 2px !important;\n}\n.fc-timegrid-now-indicator-arrow {\n  border-color: #ec4899 !important;\n}\n/* FullCalendar 头部样式 */\n.fc-toolbar-title {\n  font-size: 1.25rem !important;\n  font-weight: 600 !important;\n  color: #111827 !important;\n}\n.fc-button-primary {\n  background-color: #ec4899 !important;\n  border-color: #ec4899 !important;\n  font-size: 13px !important;\n  padding: 6px 12px !important;\n  border-radius: 6px !important;\n}\n.fc-button-primary:hover {\n  background-color: #db2777 !important;\n  border-color: #db2777 !important;\n}\n.fc-button-primary:not(:disabled):active,\n.fc-button-primary:not(:disabled).fc-button-active {\n  background-color: #be185d !important;\n  border-color: #be185d !important;\n}\n.fc-button-primary:disabled {\n  background-color: #f9a8d4 !important;\n  border-color: #f9a8d4 !important;\n}\n.fc-col-header-cell {\n  background-color: #fdf2f8 !important;\n  font-weight: 600 !important;\n  font-size: 13px !important;\n  color: #831843 !important;\n  padding: 8px 0 !important;\n}\n/* Hide number input spinners (up/down arrows) */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\ninput[type=\"number\"] {\n  -moz-appearance: textfield;\n}\n/* Print styles — receipt-only output */\n@media print {\n  body { background: white !important; }\n  /* Hide everything except the receipt content */\n  header, aside, nav, .print\\:hidden { display: none !important; }\n  main { padding: 0 !important; overflow: visible !important; }\n  /* Remove layout chrome */\n  .h-screen { height: auto !important; overflow: visible !important; }\n  .flex-1 { overflow: visible !important; }\n  /* Receipt card: no shadow, no border radius */\n  .print\\:shadow-none { box-shadow: none !important; }\n  .print\\:border-none { border: none !important; }\n  .print\\:rounded-none { border-radius: 0 !important; }\n  .print\\:bg-white { background: white !important; }\n  .print\\:text-gray-900 { color: #111827 !important; }\n  .print\\:text-gray-500 { color: #6b7280 !important; }\n  .print\\:border-b { border-bottom: 1px solid #e5e7eb !important; }\n  .print\\:py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }\n  .print\\:px-0 { padding-left: 0 !important; padding-right: 0 !important; }\n  .print\\:max-w-none { max-width: none !important; }\n  /* Page margins for thermal / A4 */\n  @page { margin: 8mm; size: auto; }\n}\n.first\\:mt-0:first-child {\n  margin-top: 0px;\n}\n.last\\:border-0:last-child {\n  border-width: 0px;\n}\n.last\\:border-b-0:last-child {\n  border-bottom-width: 0px;\n}\n.last\\:border-r-0:last-child {\n  border-right-width: 0px;\n}\n.hover\\:z-20:hover {\n  z-index: 20;\n}\n.hover\\:-translate-y-px:hover {\n  --tw-translate-y: -1px;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.hover\\:border-amber-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-blue-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-gray-200:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-gray-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-green-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-pink-200:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-pink-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-purple-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-rose-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));\n}\n.hover\\:bg-amber-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-black\\/10:hover {\n  background-color: rgb(0 0 0 / 0.1);\n}\n.hover\\:bg-blue-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-blue-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-blue-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-emerald-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-200:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-300:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50\\/50:hover {\n  background-color: rgb(249 250 251 / 0.5);\n}\n.hover\\:bg-gray-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-800:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-600:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-orange-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-orange-600:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-orange-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-50\\/40:hover {\n  background-color: rgb(253 242 248 / 0.4);\n}\n.hover\\:bg-pink-600:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-pink-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-purple-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-purple-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-red-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-red-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-red-50\\/50:hover {\n  background-color: rgb(254 242 242 / 0.5);\n}\n.hover\\:bg-red-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-rose-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-rose-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-sky-200:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(186 230 253 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-white\\/10:hover {\n  background-color: rgb(255 255 255 / 0.1);\n}\n.hover\\:bg-white\\/20:hover {\n  background-color: rgb(255 255 255 / 0.2);\n}\n.hover\\:bg-white\\/55:hover {\n  background-color: rgb(255 255 255 / 0.55);\n}\n.hover\\:pl-4:hover {\n  padding-left: 1rem;\n}\n.hover\\:text-\\[\\#141416\\]:hover {\n  --tw-text-opacity: 1;\n  color: rgb(20 20 22 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-blue-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-blue-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-blue-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(30 64 175 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-emerald-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(4 120 87 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-400:hover {\n  --tw-text-opacity: 1;\n  color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(31 41 55 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-900:hover {\n  --tw-text-opacity: 1;\n  color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-green-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(22 101 52 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-orange-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(194 65 12 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-pink-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(219 39 119 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-pink-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(190 24 93 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-purple-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(126 34 206 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-500:hover {\n  --tw-text-opacity: 1;\n  color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(185 28 28 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-800:hover {\n  --tw-text-opacity: 1;\n  color: rgb(153 27 27 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-white:hover {\n  --tw-text-opacity: 1;\n  color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.hover\\:underline:hover {\n  text-decoration-line: underline;\n}\n.hover\\:shadow-\\[0_6px_16px_-10px_rgba\\(80\\2c 60\\2c 120\\2c 0\\.5\\)\\]:hover {\n  --tw-shadow: 0 6px 16px -10px rgba(80,60,120,0.5);\n  --tw-shadow-colored: 0 6px 16px -10px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.hover\\:shadow-md:hover {\n  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.hover\\:shadow-sm:hover {\n  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.focus\\:border-blue-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-emerald-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-orange-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-pink-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(244 114 182 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-pink-500:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-rose-400:focus {\n  --tw-border-opacity: 1;\n  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1));\n}\n.focus\\:border-transparent:focus {\n  border-color: transparent;\n}\n.focus\\:border-white\\/40:focus {\n  border-color: rgb(255 255 255 / 0.4);\n}\n.focus\\:outline-none:focus {\n  outline: 2px solid transparent;\n  outline-offset: 2px;\n}\n.focus\\:ring-1:focus {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-2:focus {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-blue-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-blue-500:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-emerald-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-orange-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(255 237 213 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-100:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(252 231 243 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-200:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(251 207 232 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-300:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(249 168 212 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-400:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(244 114 182 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-pink-500:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(236 72 153 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-purple-300:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-red-500:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-rose-300:focus {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-2:focus-visible {\n  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:ring-gray-300:focus-visible {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-pink-300:focus-visible {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(249 168 212 / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-sky-300:focus-visible {\n  --tw-ring-opacity: 1;\n  --tw-ring-color: rgb(125 211 252 / var(--tw-ring-opacity, 1));\n}\n.active\\:scale-90:active {\n  --tw-scale-x: .9;\n  --tw-scale-y: .9;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-95:active {\n  --tw-scale-x: .95;\n  --tw-scale-y: .95;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-\\[\\.99\\]:active {\n  --tw-scale-x: .99;\n  --tw-scale-y: .99;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-\\[0\\.98\\]:active {\n  --tw-scale-x: 0.98;\n  --tw-scale-y: 0.98;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:scale-\\[0\\.99\\]:active {\n  --tw-scale-x: 0.99;\n  --tw-scale-y: 0.99;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.active\\:bg-gray-100:active {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-gray-200:active {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.disabled\\:cursor-not-allowed:disabled {\n  cursor: not-allowed;\n}\n.disabled\\:bg-gray-100:disabled {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.disabled\\:text-gray-500:disabled {\n  --tw-text-opacity: 1;\n  color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.disabled\\:opacity-30:disabled {\n  opacity: 0.3;\n}\n.disabled\\:opacity-40:disabled {\n  opacity: 0.4;\n}\n.disabled\\:opacity-50:disabled {\n  opacity: 0.5;\n}\n.disabled\\:active\\:scale-100:active:disabled {\n  --tw-scale-x: 1;\n  --tw-scale-y: 1;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.group:hover .group-hover\\:scale-105 {\n  --tw-scale-x: 1.05;\n  --tw-scale-y: 1.05;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.group:hover .group-hover\\:scale-110 {\n  --tw-scale-x: 1.1;\n  --tw-scale-y: 1.1;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.group\\/day:hover .group-hover\\/day\\:bg-gray-100 {\n  --tw-bg-opacity: 1;\n  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.group:hover .group-hover\\:opacity-100 {\n  opacity: 1;\n}\n.group:active .group-active\\:scale-95 {\n  --tw-scale-x: .95;\n  --tw-scale-y: .95;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n[data-device=\"pad\"] .pad\\:mb-6 {\n  margin-bottom: 1.5rem;\n}\n[data-device=\"pad\"] .pad\\:mt-8 {\n  margin-top: 2rem;\n}\n[data-device=\"pad\"] .pad\\:flex {\n  display: flex;\n}\n[data-device=\"pad\"] .pad\\:min-h-\\[104px\\] {\n  min-height: 104px;\n}\n[data-device=\"pad\"] .pad\\:w-32 {\n  width: 8rem;\n}\n[data-device=\"pad\"] .pad\\:w-\\[480px\\] {\n  width: 480px;\n}\n[data-device=\"pad\"] .pad\\:max-w-none {\n  max-width: none;\n}\n[data-device=\"pad\"] .pad\\:grid-cols-3 {\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n[data-device=\"pad\"] .pad\\:items-stretch {\n  align-items: stretch;\n}\n[data-device=\"pad\"] .pad\\:gap-4 {\n  gap: 1rem;\n}\n[data-device=\"pad\"] .pad\\:rounded-none {\n  border-radius: 0px;\n}\n[data-device=\"pad\"] .pad\\:p-6 {\n  padding: 1.5rem;\n}\n[data-device=\"pad\"] .pad\\:text-2xl {\n  font-size: 1.5rem;\n  line-height: 2rem;\n}\n[data-device=\"pad\"] .pad\\:text-3xl {\n  font-size: 1.875rem;\n  line-height: 2.25rem;\n}\n[data-device=\"pad\"] .pad\\:text-lg {\n  font-size: 1.125rem;\n  line-height: 1.75rem;\n}\n[data-device=\"pc\"] .pc\\:m-auto {\n  margin: auto;\n}\n[data-device=\"pc\"] .pc\\:max-h-\\[80vh\\] {\n  max-height: 80vh;\n}\n[data-device=\"pc\"] .pc\\:rounded-2xl {\n  border-radius: 1rem;\n}\n[data-device=\"pc\"] .pc\\:hover\\:-translate-y-0\\.5:hover {\n  --tw-translate-y: -0.125rem;\n  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n[data-device=\"pc\"] .pc\\:hover\\:border-rose-200:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:border-rose-300:hover {\n  --tw-border-opacity: 1;\n  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-gray-200:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-gray-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-red-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-100:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-50:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-50\\/50:hover {\n  background-color: rgb(255 241 242 / 0.5);\n}\n[data-device=\"pc\"] .pc\\:hover\\:bg-rose-700:hover {\n  --tw-bg-opacity: 1;\n  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-amber-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(180 83 9 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-gray-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-green-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(21 128 61 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-red-400:hover {\n  --tw-text-opacity: 1;\n  color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-red-500:hover {\n  --tw-text-opacity: 1;\n  color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-red-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-rose-600:hover {\n  --tw-text-opacity: 1;\n  color: rgb(225 29 72 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:text-rose-700:hover {\n  --tw-text-opacity: 1;\n  color: rgb(190 18 60 / var(--tw-text-opacity, 1));\n}\n[data-device=\"pc\"] .pc\\:hover\\:underline:hover {\n  text-decoration-line: underline;\n}\n[data-device=\"pc\"] .pc\\:hover\\:shadow-md:hover {\n  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n@media (prefers-reduced-motion: reduce) {\n\n  .motion-reduce\\:translate-y-0 {\n    --tw-translate-y: 0px;\n    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n  }\n\n  .motion-reduce\\:scale-100 {\n    --tw-scale-x: 1;\n    --tw-scale-y: 1;\n    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n  }\n\n  .motion-reduce\\:opacity-100 {\n    opacity: 1;\n  }\n\n  .motion-reduce\\:transition-none {\n    transition-property: none;\n  }\n\n  .motion-reduce\\:hover\\:translate-y-0:hover {\n    --tw-translate-y: 0px;\n    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n  }\n}\n@media (min-width: 640px) {\n\n  .sm\\:inline {\n    display: inline;\n  }\n\n  .sm\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .sm\\:grid-cols-4 {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .sm\\:flex-row {\n    flex-direction: row;\n  }\n\n  .sm\\:items-center {\n    align-items: center;\n  }\n}\n@media (min-width: 768px) {\n\n  .md\\:col-span-2 {\n    grid-column: span 2 / span 2;\n  }\n\n  .md\\:col-span-3 {\n    grid-column: span 3 / span 3;\n  }\n\n  .md\\:flex {\n    display: flex;\n  }\n\n  .md\\:grid-cols-2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .md\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .md\\:grid-cols-4 {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .md\\:grid-cols-5 {\n    grid-template-columns: repeat(5, minmax(0, 1fr));\n  }\n}\n@media (min-width: 1024px) {\n\n  .lg\\:col-span-2 {\n    grid-column: span 2 / span 2;\n  }\n\n  .lg\\:col-span-3 {\n    grid-column: span 3 / span 3;\n  }\n\n  .lg\\:inline {\n    display: inline;\n  }\n\n  .lg\\:grid-cols-2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-4 {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-5 {\n    grid-template-columns: repeat(5, minmax(0, 1fr));\n  }\n\n  .lg\\:grid-cols-6 {\n    grid-template-columns: repeat(6, minmax(0, 1fr));\n  }\n}\n@media (min-width: 1280px) {\n\n  .xl\\:grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n@media print {\n\n  .print\\:hidden {\n    display: none;\n  }\n\n  .print\\:max-w-none {\n    max-width: none;\n  }\n\n  .print\\:rounded-none {\n    border-radius: 0px;\n  }\n\n  .print\\:border-b {\n    border-bottom-width: 1px;\n  }\n\n  .print\\:border-none {\n    border-style: none;\n  }\n\n  .print\\:border-gray-200 {\n    --tw-border-opacity: 1;\n    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n  }\n\n  .print\\:bg-white {\n    --tw-bg-opacity: 1;\n    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n  }\n\n  .print\\:px-0 {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n\n  .print\\:py-0 {\n    padding-top: 0px;\n    padding-bottom: 0px;\n  }\n\n  .print\\:text-gray-500 {\n    --tw-text-opacity: 1;\n    color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n  }\n\n  .print\\:text-gray-900 {\n    --tw-text-opacity: 1;\n    color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n  }\n\n  .print\\:shadow-none {\n    --tw-shadow: 0 0 #0000;\n    --tw-shadow-colored: 0 0 #0000;\n    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n  }\n}\n"]],"\n  ",["BODY",{},"\n    ",["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["ASIDE",{"class":"nav-rail w-[82px] shrink-0 flex flex-col text-[#141416] select-none"},["BUTTON",{"class":"group flex flex-col items-center gap-1.5 pt-5 pb-4 px-2 text-center","title":"iNail"},["SPAN",{"class":"w-11 h-11 rounded-full bg-gradient-to-b from-[#f43f6e] to-[#db2777] text-white flex items-center justify-center text-base font-bold shadow-[0_8px_18px_-8px_rgba(219,39,119,0.65)] transition-transform duration-200 group-hover:scale-105 group-active:scale-95"},"N"],["SPAN",{"class":"font-display font-extrabold text-[12px] leading-tight tracking-tight"},"iNail"],["SPAN",{"class":"text-[10px] leading-tight text-[#8a6f86] -mt-0.5 line-clamp-2"},"美甲店管理系统"]],["DIV",{"class":"mx-3 h-px bg-black/10"}],["NAV",{"class":"flex-1 overflow-y-auto nav-rail-scroll py-3 flex flex-col gap-1.5"},["BUTTON",{"title":"工作台","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-layout-dashboard","aria-hidden":"true"},["rect",{"width":"7","height":"9","x":"3","y":"3","rx":"1"}],["rect",{"width":"7","height":"5","x":"14","y":"3","rx":"1"}],["rect",{"width":"7","height":"9","x":"14","y":"12","rx":"1"}],["rect",{"width":"7","height":"5","x":"3","y":"16","rx":"1"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"概况"]],["BUTTON",{"title":"预约","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-calendar","aria-hidden":"true"},["path",{"d":"M8 2v4"}],["path",{"d":"M16 2v4"}],["rect",{"width":"18","height":"18","x":"3","y":"4","rx":"2"}],["path",{"d":"M3 10h18"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"预约"]],["BUTTON",{"title":"收银","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 nav-tab-active text-white"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-credit-card","aria-hidden":"true"},["rect",{"width":"20","height":"14","x":"2","y":"5","rx":"2"}],["line",{"x1":"2","x2":"22","y1":"10","y2":"10"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap font-display"},"收银"]],["BUTTON",{"title":"服务","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-sparkles","aria-hidden":"true"},["path",{"d":"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"}],["path",{"d":"M20 2v4"}],["path",{"d":"M22 4h-4"}],["circle",{"cx":"4","cy":"20","r":"2"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"服务"]],["BUTTON",{"title":"库存","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-package","aria-hidden":"true"},["path",{"d":"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{"d":"M12 22V12"}],["polyline",{"points":"3.29 7 12 12 20.71 7"}],["path",{"d":"m7.5 4.27 9 5.15"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"库存"]],["BUTTON",{"title":"客户","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-users","aria-hidden":"true"},["path",{"d":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["path",{"d":"M16 3.128a4 4 0 0 1 0 7.744"}],["path",{"d":"M22 21v-2a4 4 0 0 0-3-3.87"}],["circle",{"cx":"9","cy":"7","r":"4"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"客户"]],["BUTTON",{"title":"员工","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-user-cog","aria-hidden":"true"},["path",{"d":"M10 15H6a4 4 0 0 0-4 4v2"}],["path",{"d":"m14.305 16.53.923-.382"}],["path",{"d":"m15.228 13.852-.923-.383"}],["path",{"d":"m16.852 12.228-.383-.923"}],["path",{"d":"m16.852 17.772-.383.924"}],["path",{"d":"m19.148 12.228.383-.923"}],["path",{"d":"m19.53 18.696-.382-.924"}],["path",{"d":"m20.772 13.852.924-.383"}],["path",{"d":"m20.772 16.148.924.383"}],["circle",{"cx":"18","cy":"15","r":"3"}],["circle",{"cx":"9","cy":"7","r":"4"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"员工"]],["BUTTON",{"title":"营销","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-megaphone","aria-hidden":"true"},["path",{"d":"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z"}],["path",{"d":"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14"}],["path",{"d":"M8 6v8"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"营销"]],["BUTTON",{"title":"报表","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-chart-column","aria-hidden":"true"},["path",{"d":"M3 3v16a2 2 0 0 0 2 2h16"}],["path",{"d":"M18 17V9"}],["path",{"d":"M13 17V5"}],["path",{"d":"M8 17v-3"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"报表"]],["BUTTON",{"title":"设置","class":"nav-rail-item relative mx-2 flex flex-col items-center justify-center gap-1 py-2.5 text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)] rounded-2xl"},["SPAN",{},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-settings","aria-hidden":"true"},["path",{"d":"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{"cx":"12","cy":"12","r":"3"}]]],["SPAN",{"class":"text-[11px] font-semibold leading-none whitespace-nowrap "},"设置"]]],["DIV",{"class":"px-2 pt-2 pb-4 flex flex-col items-center gap-2"},["BUTTON",{"title":"退出登录","class":"nav-rail-item w-11 h-11 rounded-2xl flex items-center justify-center text-[#7a5a72] hover:text-[#141416] hover:bg-white/55 hover:shadow-[0_6px_16px_-10px_rgba(80,60,120,0.5)]"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"20","height":"20","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-log-out","aria-hidden":"true"},["path",{"d":"m16 17 5-5-5-5"}],["path",{"d":"M21 12H9"}],["path",{"d":"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}]]]]],["DIV",{"class":"flex-1 flex flex-col min-w-0"},["HEADER",{"class":"h-16 bg-white border-b border-gray-200 flex items-center justify-between px-6 shrink-0"},["DIV",{"class":"flex items-center gap-3"},["H2",{"class":"text-lg font-semibold text-gray-800"},"收银"]],["DIV",{"class":"flex items-center gap-4"},["SELECT",{"class":"text-sm border border-gray-200 rounded-lg px-2 py-1 bg-white text-gray-600 focus:outline-none focus:ring-2 focus:ring-pink-500"},["OPTION",{"__playwright_selected_":"false","value":"en"},"EN"],["OPTION",{"__playwright_selected_":"true","value":"zh-CN"},"中文"]],["DIV",{"class":"flex items-center gap-3"},["DIV",{"class":"w-8 h-8 bg-pink-100 rounded-full flex items-center justify-center text-pink-600 font-medium text-sm"},"U"],["SPAN",{"class":"text-sm text-gray-700"}]]]],["MAIN",{"class":"flex-1 p-6 overflow-auto min-h-0"},["DIV",{"class":"space-y-4 relative pb-20"},["DIV",{"class":"sticky top-0 z-10 space-y-3 bg-gray-50 pt-1 pb-3"},["DIV",{"class":"flex items-center justify-between"},["DIV",{"class":"flex gap-1 bg-white rounded-xl border border-gray-100 p-1 shadow-sm w-fit"},["BUTTON",{"class":"px-4 py-2 rounded-lg text-sm font-medium transition text-gray-600 hover:bg-gray-50"},"全部订单"],["BUTTON",{"class":"px-4 py-2 rounded-lg text-sm font-medium transition bg-pink-600 text-white"},"未结账"],["BUTTON",{"class":"px-4 py-2 rounded-lg text-sm font-medium transition text-gray-600 hover:bg-gray-50"},"已完成"],["BUTTON",{"class":"px-4 py-2 rounded-lg text-sm font-medium transition text-gray-600 hover:bg-gray-50"},"已作废"]],["BUTTON",{"class":"flex items-center gap-1.5 px-4 py-2 bg-pink-600 text-white rounded-lg text-sm font-medium hover:bg-pink-700 transition"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"14","height":"14","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-plus","aria-hidden":"true"},["path",{"d":"M5 12h14"}],["path",{"d":"M12 5v14"}]]," ","收银台"]],["DIV",{"class":"bg-white rounded-xl border border-gray-100 p-4 shadow-sm"},["DIV",{"class":"flex flex-wrap gap-3 items-end"},["DIV",{},["LABEL",{"class":"block text-xs text-gray-500 mb-1"},"员工"],["SELECT",{"class":"border border-gray-200 rounded-lg px-3 py-1.5 text-sm bg-white focus:outline-none focus:ring-2 focus:ring-pink-500"},["OPTION",{"__playwright_selected_":"true","value":""},"全部员工"]]],["DIV",{"class":"flex-1 min-w-[200px]"},["LABEL",{"class":"block text-xs text-gray-500 mb-1"},"搜索"],["DIV",{"class":"relative"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"14","height":"14","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-search absolute left-3 top-1/2 -translate-y-1/2 text-gray-400","aria-hidden":"true"},["path",{"d":"m21 21-4.34-4.34"}],["circle",{"cx":"11","cy":"11","r":"8"}]],["INPUT",{"__playwright_value_":"","type":"text","placeholder":"客户名或交易号...","class":"w-full border border-gray-200 rounded-lg pl-8 pr-3 py-1.5 text-sm focus:outline-none focus:ring-2 focus:ring-pink-500","value":""}]]],["BUTTON",{"class":"px-5 py-1.5 bg-gray-800 text-white rounded-lg text-sm font-medium hover:bg-gray-700 transition"},"搜索"]]]],["DIV",{"class":"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4"},["DIV",{"class":"col-span-full flex justify-center py-12"},["DIV",{"class":"animate-spin h-6 w-6 border-2 border-pink-500 border-t-transparent rounded-full"}]]]]]]],["DIV",{"role":"region","aria-label":"Notifications (F8)","tabindex":"-1","style":"pointer-events: none;"},["OL",{"tabindex":"-1","class":"fixed top-4 left-1/2 -translate-x-1/2 z-[100] flex flex-col gap-2 w-full max-w-sm outline-none"}]]],"\n    ","\n  \n\n"]],"viewport":{"width":1440,"height":900},"timestamp":160587.223,"wallTime":1784878428921,"collectionTime":0.8999999999941792,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@28","startTime":160588.647,"title":"Expect \"toBeVisible\"","class":"Frame","method":"expect","params":{"selector":"internal:role=heading[name=\"收银\"i]","expression":"to.be.visible","expectedValue":{"value":{"v":"undefined"},"handles":[]},"isNot":false,"timeout":10000},"stepId":"expect@45","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@28"}
{"type":"frame-snapshot","snapshot":{"callId":"call@28","snapshotName":"before@call@28","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/orders","doctype":"html","html":[[1,188]],"viewport":{"width":1440,"height":900},"timestamp":160590.377,"wallTime":1784878428926,"collectionTime":0.29999999998835847,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@28","time":160590.515,"message":"Expect \"toBeVisible\" with timeout 10000ms"}
{"type":"log","callId":"call@28","time":160590.519,"message":"waiting for getByRole('heading', { name: '收银' })"}
{"type":"after","callId":"call@28","endTime":160596.202,"afterSnapshot":"after@call@28"}
{"type":"frame-snapshot","snapshot":{"callId":"call@28","snapshotName":"after@call@28","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/orders","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[2,15]],[[2,16]],["BODY",{},[[2,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},[[2,125]],["DIV",{"class":"flex-1 flex flex-col min-w-0"},["HEADER",{"class":"h-16 bg-white border-b border-gray-200 flex items-center justify-between px-6 shrink-0"},["DIV",{"class":"flex items-center gap-3"},["H2",{"__playwright_target__":"","class":"text-lg font-semibold text-gray-800"},[[2,126]]]],[[2,138]]],[[2,179]]]],[[2,183]]],[[2,185]],[[2,186]]]],"viewport":{"width":1440,"height":900},"timestamp":160597.046,"wallTime":1784878428933,"collectionTime":0.29999999998835847,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@30","startTime":160597.694,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=\"收银台\"i]","strict":true,"timeout":15000},"stepId":"pw:api@46","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@30"}
{"type":"frame-snapshot","snapshot":{"callId":"call@30","snapshotName":"before@call@30","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/orders","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[3,15]],[[3,16]],["BODY",{},[[3,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},[[3,125]],["DIV",{"class":"flex-1 flex flex-col min-w-0"},["HEADER",{"class":"h-16 bg-white border-b border-gray-200 flex items-center justify-between px-6 shrink-0"},["DIV",{"class":"flex items-center gap-3"},["H2",{"class":"text-lg font-semibold text-gray-800"},[[3,126]]]],[[3,138]]],[[3,179]]]],[[3,183]]],[[3,185]],[[3,186]]]],"viewport":{"width":1440,"height":900},"timestamp":160598.397,"wallTime":1784878428934,"collectionTime":0.29999999998835847,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@30","time":160598.548,"message":"waiting for getByRole('button', { name: '收银台' })"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428937.jpeg","width":1440,"height":900,"timestamp":160601.321,"frameSwapWallTime":1784878428935.843}
{"type":"log","callId":"call@30","time":160601.765,"message":"  locator resolved to <button class=\"flex items-center gap-1.5 px-4 py-2 bg-pink-600 text-white rounded-lg text-sm font-medium hover:bg-pink-700 transition\">…</button>"}
{"type":"log","callId":"call@30","time":160602.169,"message":"attempting click action"}
{"type":"log","callId":"call@30","time":160602.191,"message":"  waiting for element to be visible, enabled and stable"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428945.jpeg","width":1440,"height":900,"timestamp":160609.616,"frameSwapWallTime":1784878428944.626}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428959.jpeg","width":1440,"height":900,"timestamp":160622.986,"frameSwapWallTime":1784878428958.045}
{"type":"log","callId":"call@30","time":160630.589,"message":"  element is visible, enabled and stable"}
{"type":"log","callId":"call@30","time":160630.594,"message":"  scrolling into view if needed"}
{"type":"log","callId":"call@30","time":160630.814,"message":"  done scrolling"}
{"type":"input","callId":"call@30","point":{"x":1369,"y":115},"inputSnapshot":"input@call@30"}
{"type":"frame-snapshot","snapshot":{"callId":"call@30","snapshotName":"input@call@30","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/orders","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[4,15]],[[4,16]],["BODY",{},[[4,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},[[4,125]],["DIV",{"class":"flex-1 flex flex-col min-w-0"},[[1,2]],["MAIN",{"class":"flex-1 p-6 overflow-auto min-h-0"},["DIV",{"class":"space-y-4 relative pb-20"},["DIV",{"class":"sticky top-0 z-10 space-y-3 bg-gray-50 pt-1 pb-3"},["DIV",{"class":"flex items-center justify-between"},[[4,148]],["BUTTON",{"__playwright_target__":"","class":"flex items-center gap-1.5 px-4 py-2 bg-pink-600 text-white rounded-lg text-sm font-medium hover:bg-pink-700 transition"},[[4,151]],[[4,152]],[[4,153]]]],[[4,173]]],[[4,177]]]]]],[[4,183]]],[[4,185]],[[4,186]]]],"viewport":{"width":1440,"height":900},"timestamp":160632.024,"wallTime":1784878428968,"collectionTime":0.39999999999417923,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@30","time":160632.602,"message":"  performing click action"}
{"type":"log","callId":"call@30","time":160635.63,"message":"  click action done"}
{"type":"log","callId":"call@30","time":160635.638,"message":"  waiting for scheduled navigations to finish"}
{"type":"log","callId":"call@30","time":160635.961,"message":"  navigations have finished"}
{"type":"after","callId":"call@30","endTime":160636.002,"afterSnapshot":"after@call@30"}
{"type":"frame-snapshot","snapshot":{"callId":"call@30","snapshotName":"after@call@30","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[1,9]],"viewport":{"width":1440,"height":900},"timestamp":160636.704,"wallTime":1784878428972,"collectionTime":0.39999999999417923,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@32","startTime":160637.252,"class":"Frame","method":"waitForTimeout","params":{"waitTimeout":1000},"stepId":"pw:api@47","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@32"}
{"type":"frame-snapshot","snapshot":{"callId":"call@32","snapshotName":"before@call@32","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[6,15]],[[6,16]],["BODY",{},[[6,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},[[6,125]],["DIV",{"class":"flex-1 flex flex-col min-w-0"},[[3,2]],["MAIN",{"class":"flex-1 p-6 overflow-auto min-h-0"},["DIV",{"class":"space-y-4 relative pb-20"},["DIV",{"class":"sticky top-0 z-10 space-y-3 bg-gray-50 pt-1 pb-3"},["DIV",{"class":"flex items-center justify-between"},[[6,148]],["BUTTON",{"class":"flex items-center gap-1.5 px-4 py-2 bg-pink-600 text-white rounded-lg text-sm font-medium hover:bg-pink-700 transition"},[[6,151]],[[6,152]],[[6,153]]]],[[6,173]]],[[6,177]]]]]],[[6,183]]],[[6,185]],[[6,186]]]],"viewport":{"width":1440,"height":900},"timestamp":160637.848,"wallTime":1784878428974,"collectionTime":0.1999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428976.jpeg","width":1440,"height":900,"timestamp":160640.152,"frameSwapWallTime":1784878428975.207}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878428995.jpeg","width":1440,"height":900,"timestamp":160658.806,"frameSwapWallTime":1784878428993.519}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878429017.jpeg","width":1440,"height":900,"timestamp":160681.126,"frameSwapWallTime":1784878429016.1582}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878429219.jpeg","width":1440,"height":900,"timestamp":160883.036,"frameSwapWallTime":1784878429217.7998}
{"type":"after","callId":"call@32","endTime":161643.388,"afterSnapshot":"after@call@32"}
{"type":"frame-snapshot","snapshot":{"callId":"call@32","snapshotName":"after@call@32","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[7,15]],[[7,16]],["BODY",{},[[7,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},["HEADER",{"class":"shrink-0 flex items-center gap-3 px-4 h-14 border-b border-rose-100 bg-white"},["BUTTON",{"class":"p-2 -ml-2 rounded-lg pc:hover:bg-rose-50 active:scale-95 transition","aria-label":"返回"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"22","height":"22","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-chevron-left","aria-hidden":"true"},["path",{"d":"m15 18-6-6 6-6"}]]],["NAV",{"class":"flex items-center gap-3 text-lg font-bold"},["SPAN",{"class":"flex items-center gap-2"},["SPAN",{"class":"text-rose-600"},"1",". ","购物车"],["SPAN",{"class":"text-gray-300"},"›"]],["SPAN",{"class":"flex items-center gap-2"},["SPAN",{"class":"text-gray-400"},"2",". ","小费"],["SPAN",{"class":"text-gray-300"},"›"]],["SPAN",{"class":"flex items-center gap-2"},["SPAN",{"class":"text-gray-400"},"3",". ","付款"]]],["DIV",{"class":"ml-auto flex items-center gap-2"}]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},["DIV",{"class":"flex-1 flex min-h-0"},["NAV",{"class":"w-28 pad:w-32 shrink-0 bg-white border-r border-rose-50 flex flex-col py-2 gap-1.5 overflow-y-auto"},["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight bg-rose-600 text-white"},"推荐"],["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50"},"服务"],["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50"},"产品"],["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50"},"储值方案"],["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50"},"次卡"],["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50"},"套餐"]],["DIV",{"class":"flex-1 flex flex-col min-h-0 bg-white"},["DIV",{"class":"p-3 border-b border-rose-50 shrink-0"},["DIV",{"class":"relative"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-gray-400","aria-hidden":"true"},["path",{"d":"m21 21-4.34-4.34"}],["circle",{"cx":"11","cy":"11","r":"8"}]],["INPUT",{"__playwright_value_":"","type":"text","placeholder":"搜索","class":"w-full pl-10 pr-3 py-3 text-base border border-rose-100 rounded-xl focus:outline-none focus:ring-2 focus:ring-rose-300","value":""}]]],["DIV",{"class":"flex-1 overflow-y-auto p-4 space-y-5 min-h-0"},["DIV",{"class":"grid grid-cols-2 gap-3 items-start"},["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"纯色美甲"],["P",{"class":"text-sm text-gray-500 mt-1"},"60 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥88.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"日式手绘花艺"],["P",{"class":"text-sm text-gray-500 mt-1"},"120 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥268.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"日式极简线条"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥198.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"韩式贝壳片"],["P",{"class":"text-sm text-gray-500 mt-1"},"105 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥228.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"基础足部护理"],["P",{"class":"text-sm text-gray-500 mt-1"},"60 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥88.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"韩式奶油肌"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥188.00"]]]]]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"relative"},["DIV",{"class":"relative"},["SPAN",{"class":"absolute left-3 top-2.5 text-gray-400"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"16","height":"16","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-search","aria-hidden":"true"},["path",{"d":"m21 21-4.34-4.34"}],["circle",{"cx":"11","cy":"11","r":"8"}]]],["INPUT",{"__playwright_value_":"","type":"text","placeholder":"搜索客户（名字/手机号）...","class":"w-full pl-10 pr-4 py-2 border border-gray-200 rounded-lg text-sm focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none","value":""}]]]],["DIV",{"class":"flex-1 px-4 py-4 space-y-3 overflow-y-auto min-h-0"},["P",{"class":"text-gray-400 text-center py-10 text-base"},"添加项目开始结账"]]]]]]]],[[7,183]]],[[7,185]],[[7,186]]]],"viewport":{"width":1440,"height":900},"timestamp":161648.235,"wallTime":1784878429982,"collectionTime":1.8000000000174623,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@34","startTime":161650.917,"class":"Frame","method":"isVisible","params":{"selector":"internal:role=button[name=\"开班\"i]","strict":true},"stepId":"pw:api@48","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@34"}
{"type":"frame-snapshot","snapshot":{"callId":"call@34","snapshotName":"before@call@34","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[1,109]],"viewport":{"width":1440,"height":900},"timestamp":161652.824,"wallTime":1784878429988,"collectionTime":0.8999999999941792,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@34","time":161653.651,"message":"  checking visibility of getByRole('button', { name: '开班' })"}
{"type":"after","callId":"call@34","endTime":161658.208,"result":{"value":false},"afterSnapshot":"after@call@34"}
{"type":"frame-snapshot","snapshot":{"callId":"call@34","snapshotName":"after@call@34","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[2,109]],"viewport":{"width":1440,"height":900},"timestamp":161659.707,"wallTime":1784878429995,"collectionTime":0.5,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@36","startTime":161661.822,"class":"Frame","method":"fill","params":{"selector":"internal:attr=[placeholder=\"搜索客户（名字/手机号）...\"i]","strict":true,"value":"Ada","timeout":15000},"stepId":"pw:api@49","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@36"}
{"type":"frame-snapshot","snapshot":{"callId":"call@36","snapshotName":"before@call@36","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[3,109]],"viewport":{"width":1440,"height":900},"timestamp":161663.078,"wallTime":1784878429999,"collectionTime":0.5,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@36","time":161663.389,"message":"waiting for getByPlaceholder('搜索客户（名字/手机号）...')"}
{"type":"log","callId":"call@36","time":161665.994,"message":"  locator resolved to <input value=\"\" type=\"text\" placeholder=\"搜索客户（名字/手机号）...\" class=\"w-full pl-10 pr-4 py-2 border border-gray-200 rounded-lg text-sm focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none\"/>"}
{"type":"log","callId":"call@36","time":161666.663,"message":"  fill(\"Ada\")"}
{"type":"log","callId":"call@36","time":161666.67,"message":"attempting fill action"}
{"type":"input","callId":"call@36","inputSnapshot":"input@call@36"}
{"type":"frame-snapshot","snapshot":{"callId":"call@36","snapshotName":"input@call@36","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[11,15]],[[11,16]],["BODY",{},[[11,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[4,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[4,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"relative"},["DIV",{"class":"relative"},[[4,93]],["INPUT",{"__playwright_value_":"","__playwright_target__":"","type":"text","placeholder":"搜索客户（名字/手机号）...","class":"w-full pl-10 pr-4 py-2 border border-gray-200 rounded-lg text-sm focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none","value":""}]]]],[[4,100]]]]]]]],[[11,183]]],[[11,185]],[[11,186]]]],"viewport":{"width":1440,"height":900},"timestamp":161668.04,"wallTime":1784878430004,"collectionTime":0.5999999999767169,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@36","time":161668.156,"message":"  waiting for element to be visible, enabled and editable"}
{"type":"after","callId":"call@36","endTime":161676.58,"afterSnapshot":"after@call@36"}
{"type":"frame-snapshot","snapshot":{"callId":"call@36","snapshotName":"after@call@36","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[12,15]],[[12,16]],["BODY",{},[[12,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[5,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[5,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"relative"},["DIV",{"class":"relative"},[[5,93]],["INPUT",{"__playwright_value_":"Ada","__playwright_target__":"","type":"text","placeholder":"搜索客户（名字/手机号）...","class":"w-full pl-10 pr-4 py-2 border border-gray-200 rounded-lg text-sm focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none","value":"Ada"}],["BUTTON",{"class":"absolute right-3 top-2.5 text-gray-400 hover:text-gray-600"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"14","height":"14","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-x","aria-hidden":"true"},["path",{"d":"M18 6 6 18"}],["path",{"d":"m6 6 12 12"}]]]],["DIV",{"class":"absolute z-20 w-full mt-1 bg-white rounded-lg shadow-lg border border-gray-100 max-h-60 overflow-y-auto"},["DIV",{"class":"p-4 text-center text-sm text-gray-400"},"未找到匹配的客户"],["BUTTON",{"class":"w-full flex items-center gap-3 p-3 text-left bg-rose-50/60 hover:bg-rose-100 transition border-t-2 border-rose-100 disabled:opacity-50"},["DIV",{"class":"w-8 h-8 bg-rose-100 rounded-full flex items-center justify-center text-rose-600 shrink-0"},["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"16","height":"16","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-user-plus","aria-hidden":"true"},["path",{"d":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}],["circle",{"cx":"9","cy":"7","r":"4"}],["line",{"x1":"19","x2":"19","y1":"8","y2":"14"}],["line",{"x1":"22","x2":"16","y1":"11","y2":"11"}]]],["DIV",{"class":"flex-1 min-w-0"},["P",{"class":"text-sm font-medium text-rose-700"},"新建会员"],["P",{"class":"text-xs text-gray-500 truncate"},"“","Ada","”"]]]]]],[[5,100]]]]]]]],[[12,183]]],[[12,185]],[[12,186]]]],"viewport":{"width":1440,"height":900},"timestamp":161677.783,"wallTime":1784878430013,"collectionTime":0.6000000000058208,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@38","startTime":161678.542,"class":"Frame","method":"waitForTimeout","params":{"waitTimeout":1000},"stepId":"pw:api@50","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@38"}
{"type":"frame-snapshot","snapshot":{"callId":"call@38","snapshotName":"before@call@38","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[13,15]],[[13,16]],["BODY",{},[[13,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[6,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[6,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"relative"},["DIV",{"class":"relative"},[[6,93]],["INPUT",{"__playwright_value_":"Ada","type":"text","placeholder":"搜索客户（名字/手机号）...","class":"w-full pl-10 pr-4 py-2 border border-gray-200 rounded-lg text-sm focus:ring-2 focus:ring-pink-500 focus:border-pink-500 outline-none","value":"Ada"}],[[1,4]]],[[1,22]]]],[[6,100]]]]]]]],[[13,183]]],[[13,185]],[[13,186]]]],"viewport":{"width":1440,"height":900},"timestamp":161679.359,"wallTime":1784878430015,"collectionTime":0.39999999999417923,"resourceOverrides":[],"isMainFrame":true}}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430033.jpeg","width":1440,"height":900,"timestamp":161697.178,"frameSwapWallTime":1784878430031.482}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430051.jpeg","width":1440,"height":900,"timestamp":161715.133,"frameSwapWallTime":1784878430049.907}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430145.jpeg","width":1440,"height":900,"timestamp":161808.977,"frameSwapWallTime":1784878430143.6018}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430160.jpeg","width":1440,"height":900,"timestamp":161824.486,"frameSwapWallTime":1784878430159.366}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430181.jpeg","width":1440,"height":900,"timestamp":161845.539,"frameSwapWallTime":1784878430180.4868}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430197.jpeg","width":1440,"height":900,"timestamp":161861.116,"frameSwapWallTime":1784878430196.1392}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430213.jpeg","width":1440,"height":900,"timestamp":161877.394,"frameSwapWallTime":1784878430212.342}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430230.jpeg","width":1440,"height":900,"timestamp":161893.851,"frameSwapWallTime":1784878430228.911}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430247.jpeg","width":1440,"height":900,"timestamp":161910.634,"frameSwapWallTime":1784878430245.6501}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430264.jpeg","width":1440,"height":900,"timestamp":161927.689,"frameSwapWallTime":1784878430262.791}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430280.jpeg","width":1440,"height":900,"timestamp":161943.74,"frameSwapWallTime":1784878430278.678}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430296.jpeg","width":1440,"height":900,"timestamp":161960.445,"frameSwapWallTime":1784878430295.486}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878430573.jpeg","width":1440,"height":900,"timestamp":162237.315,"frameSwapWallTime":1784878430571.2048}
{"type":"after","callId":"call@38","endTime":162681.41,"afterSnapshot":"after@call@38"}
{"type":"frame-snapshot","snapshot":{"callId":"call@38","snapshotName":"after@call@38","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[14,15]],[[14,16]],["BODY",{},[[14,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[7,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[7,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"relative"},[[1,1]],["DIV",{"class":"absolute z-20 w-full mt-1 bg-white rounded-lg shadow-lg border border-gray-100 max-h-60 overflow-y-auto"},["BUTTON",{"class":"w-full flex items-center gap-3 p-3 hover:bg-pink-50 transition text-left border-b border-gray-50 last:border-0"},["DIV",{"class":"w-8 h-8 bg-gray-100 rounded-full flex items-center justify-center text-gray-600 font-medium text-xs shrink-0"},"A"],["DIV",{"class":"flex-1 min-w-0"},["P",{"class":"text-sm font-medium text-gray-900 truncate"},"Ada"],["P",{"class":"text-xs text-gray-500"},"876542211111"]],["SPAN",{"class":"text-xs text-gray-400 shrink-0"},"¥5915.60"]],["BUTTON",{"class":"w-full flex items-center gap-3 p-3 hover:bg-pink-50 transition text-left border-b border-gray-50 last:border-0"},["DIV",{"class":"w-8 h-8 bg-gray-100 rounded-full flex items-center justify-center text-gray-600 font-medium text-xs shrink-0"},"A"],["DIV",{"class":"flex-1 min-w-0"},["P",{"class":"text-sm font-medium text-gray-900 truncate"},"Ada"],["P",{"class":"text-xs text-gray-500"}]]],["BUTTON",{"class":"w-full flex items-center gap-3 p-3 hover:bg-pink-50 transition text-left border-b border-gray-50 last:border-0"},["DIV",{"class":"w-8 h-8 bg-gray-100 rounded-full flex items-center justify-center text-gray-600 font-medium text-xs shrink-0"},"A"],["DIV",{"class":"flex-1 min-w-0"},["P",{"class":"text-sm font-medium text-gray-900 truncate"},"Ada"],["P",{"class":"text-xs text-gray-500"}]],["SPAN",{"class":"text-xs text-gray-400 shrink-0"},"¥226.00"]],["BUTTON",{"class":"w-full flex items-center gap-3 p-3 hover:bg-pink-50 transition text-left border-b border-gray-50 last:border-0"},["DIV",{"class":"w-8 h-8 bg-gray-100 rounded-full flex items-center justify-center text-gray-600 font-medium text-xs shrink-0"},"A"],["DIV",{"class":"flex-1 min-w-0"},["P",{"class":"text-sm font-medium text-gray-900 truncate"},"Ada"],["P",{"class":"text-xs text-gray-500"}]]],[[2,21]]]]],[[7,100]]]]]]]],[[14,183]]],[[14,185]],[[14,186]]]],"viewport":{"width":1440,"height":900},"timestamp":162685.144,"wallTime":1784878431020,"collectionTime":1.3999999999941792,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@40","startTime":162687.372,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=/Ada/] >> nth=0","strict":true,"timeout":15000},"stepId":"pw:api@51","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@40"}
{"type":"frame-snapshot","snapshot":{"callId":"call@40","snapshotName":"before@call@40","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[1,44]],"viewport":{"width":1440,"height":900},"timestamp":162688.898,"wallTime":1784878431024,"collectionTime":0.8000000000174623,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@40","time":162689.256,"message":"waiting for getByRole('button', { name: /Ada/ }).first()"}
{"type":"log","callId":"call@40","time":162694.897,"message":"  locator resolved to <button class=\"w-full flex items-center gap-3 p-3 hover:bg-pink-50 transition text-left border-b border-gray-50 last:border-0\">…</button>"}
{"type":"log","callId":"call@40","time":162697.354,"message":"attempting click action"}
{"type":"log","callId":"call@40","time":162697.427,"message":"  waiting for element to be visible, enabled and stable"}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431048.jpeg","width":1440,"height":900,"timestamp":162712.533,"frameSwapWallTime":1784878431047.207}
{"type":"log","callId":"call@40","time":162731.087,"message":"  element is visible, enabled and stable"}
{"type":"log","callId":"call@40","time":162731.099,"message":"  scrolling into view if needed"}
{"type":"log","callId":"call@40","time":162731.416,"message":"  done scrolling"}
{"type":"input","callId":"call@40","point":{"x":1210.5,"y":145.5},"inputSnapshot":"input@call@40"}
{"type":"frame-snapshot","snapshot":{"callId":"call@40","snapshotName":"input@call@40","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[16,15]],[[16,16]],["BODY",{},[[16,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[9,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[9,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"relative"},[[3,1]],["DIV",{"class":"absolute z-20 w-full mt-1 bg-white rounded-lg shadow-lg border border-gray-100 max-h-60 overflow-y-auto"},["BUTTON",{"__playwright_target__":"","class":"w-full flex items-center gap-3 p-3 hover:bg-pink-50 transition text-left border-b border-gray-50 last:border-0"},[[2,1]],[[2,6]],[[2,8]]],[[2,16]],[[2,25]],[[2,32]],[[4,21]]]]],[[9,100]]]]]]]],[[16,183]]],[[16,185]],[[16,186]]]],"viewport":{"width":1440,"height":900},"timestamp":162732.613,"wallTime":1784878431068,"collectionTime":0.39999999999417923,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@40","time":162733.431,"message":"  performing click action"}
{"type":"log","callId":"call@40","time":162738.026,"message":"  click action done"}
{"type":"log","callId":"call@40","time":162738.044,"message":"  waiting for scheduled navigations to finish"}
{"type":"log","callId":"call@40","time":162738.352,"message":"  navigations have finished"}
{"type":"after","callId":"call@40","endTime":162738.394,"afterSnapshot":"after@call@40"}
{"type":"frame-snapshot","snapshot":{"callId":"call@40","snapshotName":"after@call@40","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[17,15]],[[17,16]],["BODY",{},[[17,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[10,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[10,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"flex items-center gap-3 p-3 bg-pink-50 rounded-lg border border-pink-200"},["DIV",{"class":"w-9 h-9 text-sm bg-pink-100 rounded-full flex items-center justify-center text-pink-600 font-medium shrink-0"},"A"],["DIV",{"class":"flex-1 min-w-0"},["P",{"class":"font-medium text-sm text-gray-900 truncate"},"Ada"],["DIV",{"class":"flex items-center gap-2 text-xs text-gray-500"},["SPAN",{},"876542211111"],["SPAN",{},"· ","40","次到店"]]],["BUTTON",{"class":"flex items-center gap-1 text-xs font-medium text-rose-600 px-2.5 py-1.5 rounded-lg hover:bg-rose-100 active:scale-95 transition shrink-0","title":"切换会员"},"切换会员",["svg",{"xmlns":"http://www.w3.org/2000/svg","width":"14","height":"14","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","class":"lucide lucide-x","aria-hidden":"true"},["path",{"d":"M18 6 6 18"}],["path",{"d":"m6 6 12 12"}]]]]],[[10,100]]]]]]]],[[17,183]]],[[17,185]],[[17,186]]]],"viewport":{"width":1440,"height":900},"timestamp":162739.187,"wallTime":1784878431075,"collectionTime":0.3000000000174623,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@42","startTime":162739.741,"class":"Frame","method":"waitForTimeout","params":{"waitTimeout":500},"stepId":"pw:api@52","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@42"}
{"type":"frame-snapshot","snapshot":{"callId":"call@42","snapshotName":"before@call@42","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[1,27]],"viewport":{"width":1440,"height":900},"timestamp":162740.226,"wallTime":1784878431076,"collectionTime":0.29999999998835847,"resourceOverrides":[],"isMainFrame":true}}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431102.jpeg","width":1440,"height":900,"timestamp":162766.047,"frameSwapWallTime":1784878431100.591}
{"type":"after","callId":"call@42","endTime":163242.855,"afterSnapshot":"after@call@42"}
{"type":"frame-snapshot","snapshot":{"callId":"call@42","snapshotName":"after@call@42","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[2,27]],"viewport":{"width":1440,"height":900},"timestamp":163246.2,"wallTime":1784878431581,"collectionTime":1.2000000000116415,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@44","startTime":163248.928,"title":"Expect \"toBeVisible\"","class":"Frame","method":"expect","params":{"selector":"internal:text=\"Ada\"i","expression":"to.be.visible","expectedValue":{"value":{"v":"undefined"},"handles":[]},"isNot":false,"timeout":5000},"stepId":"expect@53","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@44"}
{"type":"frame-snapshot","snapshot":{"callId":"call@44","snapshotName":"before@call@44","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[3,27]],"viewport":{"width":1440,"height":900},"timestamp":163250.574,"wallTime":1784878431586,"collectionTime":0.6000000000058208,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@44","time":163250.925,"message":"Expect \"toBeVisible\" with timeout 5000ms"}
{"type":"log","callId":"call@44","time":163250.936,"message":"waiting for getByText('Ada')"}
{"type":"after","callId":"call@44","endTime":163253.91,"afterSnapshot":"after@call@44"}
{"type":"frame-snapshot","snapshot":{"callId":"call@44","snapshotName":"after@call@44","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[21,15]],[[21,16]],["BODY",{},[[21,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[14,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[14,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"flex items-center gap-3 p-3 bg-pink-50 rounded-lg border border-pink-200"},[[4,1]],["DIV",{"class":"flex-1 min-w-0"},["P",{"__playwright_target__":"","class":"font-medium text-sm text-gray-900 truncate"},[[4,2]]],[[4,10]]],[[4,16]]]],[[14,100]]]]]]]],[[21,183]]],[[21,185]],[[21,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163255.527,"wallTime":1784878431591,"collectionTime":0.8000000000174623,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@46","startTime":163257.324,"title":"Expect \"toBeVisible\"","class":"Frame","method":"expect","params":{"selector":"internal:text=\"876542211111\"i","expression":"to.be.visible","expectedValue":{"value":{"v":"undefined"},"handles":[]},"isNot":false,"timeout":5000},"stepId":"expect@54","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@46"}
{"type":"frame-snapshot","snapshot":{"callId":"call@46","snapshotName":"before@call@46","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[22,15]],[[22,16]],["BODY",{},[[22,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[15,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[15,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"flex items-center gap-3 p-3 bg-pink-50 rounded-lg border border-pink-200"},[[5,1]],["DIV",{"class":"flex-1 min-w-0"},["P",{"class":"font-medium text-sm text-gray-900 truncate"},[[5,2]]],[[5,10]]],[[5,16]]]],[[15,100]]]]]]]],[[22,183]]],[[22,185]],[[22,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163258.84,"wallTime":1784878431594,"collectionTime":0.7000000000116415,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@46","time":163259.353,"message":"Expect \"toBeVisible\" with timeout 5000ms"}
{"type":"log","callId":"call@46","time":163259.363,"message":"waiting for getByText('876542211111')"}
{"type":"after","callId":"call@46","endTime":163261.68,"afterSnapshot":"after@call@46"}
{"type":"frame-snapshot","snapshot":{"callId":"call@46","snapshotName":"after@call@46","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[23,15]],[[23,16]],["BODY",{},[[23,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[16,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[16,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"flex items-center gap-3 p-3 bg-pink-50 rounded-lg border border-pink-200"},[[6,1]],["DIV",{"class":"flex-1 min-w-0"},[[1,0]],["DIV",{"class":"flex items-center gap-2 text-xs text-gray-500"},["SPAN",{"__playwright_target__":""},[[6,4]]],[[6,9]]]],[[6,16]]]],[[16,100]]]]]]]],[[23,183]]],[[23,185]],[[23,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163262.509,"wallTime":1784878431598,"collectionTime":0.1999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@48","startTime":163263.791,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=\"服务\"i]","strict":true,"timeout":15000},"stepId":"pw:api@55","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@48"}
{"type":"frame-snapshot","snapshot":{"callId":"call@48","snapshotName":"before@call@48","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[24,15]],[[24,16]],["BODY",{},[[24,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[17,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[17,89]],["ASIDE",{"class":"w-[460px] shrink-0 bg-white border-l border-rose-100 flex flex-col min-h-0"},["DIV",{"class":"p-4 border-b border-rose-50 shrink-0"},["DIV",{"class":"flex items-center gap-3 p-3 bg-pink-50 rounded-lg border border-pink-200"},[[7,1]],["DIV",{"class":"flex-1 min-w-0"},[[2,0]],["DIV",{"class":"flex items-center gap-2 text-xs text-gray-500"},["SPAN",{},[[7,4]]],[[7,9]]]],[[7,16]]]],[[17,100]]]]]]]],[[24,183]]],[[24,185]],[[24,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163265.092,"wallTime":1784878431601,"collectionTime":0.5,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@48","time":163265.505,"message":"waiting for getByRole('button', { name: '服务' })"}
{"type":"log","callId":"call@48","time":163268.496,"message":"  locator resolved to <button class=\"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50\">服务</button>"}
{"type":"log","callId":"call@48","time":163269.324,"message":"attempting click action"}
{"type":"log","callId":"call@48","time":163269.37,"message":"  waiting for element to be visible, enabled and stable"}
{"type":"log","callId":"call@48","time":163280.624,"message":"  element is visible, enabled and stable"}
{"type":"log","callId":"call@48","time":163280.635,"message":"  scrolling into view if needed"}
{"type":"log","callId":"call@48","time":163281.059,"message":"  done scrolling"}
{"type":"input","callId":"call@48","point":{"x":55.5,"y":144.25},"inputSnapshot":"input@call@48"}
{"type":"frame-snapshot","snapshot":{"callId":"call@48","snapshotName":"input@call@48","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[25,15]],[[25,16]],["BODY",{},[[25,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[18,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},["DIV",{"class":"flex-1 flex min-h-0"},["NAV",{"class":"w-28 pad:w-32 shrink-0 bg-white border-r border-rose-50 flex flex-col py-2 gap-1.5 overflow-y-auto"},[[18,26]],["BUTTON",{"__playwright_target__":"","class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50"},[[18,27]]],[[18,30]],[[18,32]],[[18,34]],[[18,36]]],[[18,88]]],[[1,5]]]]]]],[[25,183]]],[[25,185]],[[25,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163282.816,"wallTime":1784878431618,"collectionTime":0.40000000002328306,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@48","time":163283.814,"message":"  performing click action"}
{"type":"log","callId":"call@48","time":163294.607,"message":"  click action done"}
{"type":"log","callId":"call@48","time":163294.616,"message":"  waiting for scheduled navigations to finish"}
{"type":"log","callId":"call@48","time":163295.017,"message":"  navigations have finished"}
{"type":"after","callId":"call@48","endTime":163295.074,"afterSnapshot":"after@call@48"}
{"type":"frame-snapshot","snapshot":{"callId":"call@48","snapshotName":"after@call@48","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[26,15]],[[26,16]],["BODY",{},[[26,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[19,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},["DIV",{"class":"flex-1 flex min-h-0"},["NAV",{"class":"w-28 pad:w-32 shrink-0 bg-white border-r border-rose-50 flex flex-col py-2 gap-1.5 overflow-y-auto"},["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight text-gray-500 pc:hover:bg-rose-50"},[[19,25]]],["BUTTON",{"__playwright_target__":"","class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight bg-rose-600 text-white"},[[19,27]]],[[19,30]],[[19,32]],[[19,34]],[[19,36]]],["DIV",{"class":"flex-1 flex flex-col min-h-0 bg-white"},[[19,43]],["DIV",{"class":"flex-1 overflow-y-auto p-4 space-y-5 min-h-0"},["DIV",{"class":"grid grid-cols-2 gap-3 items-start"},["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"纯色美甲"],["P",{"class":"text-sm text-gray-500 mt-1"},"60 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥88.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"渐变美甲"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥138.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"日式手绘花艺"],["P",{"class":"text-sm text-gray-500 mt-1"},"120 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥268.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"日式极简线条"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥198.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"韩式奶油肌"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥188.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"韩式贝壳片"],["P",{"class":"text-sm text-gray-500 mt-1"},"105 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥228.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"经典法式美甲"],["P",{"class":"text-sm text-gray-500 mt-1"},"75 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥128.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"彩色法式"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥168.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"新娘法式甲"],["P",{"class":"text-sm text-gray-500 mt-1"},"120 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥328.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"自然嫁接美睫"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥198.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"轻盈自然款"],["P",{"class":"text-sm text-gray-500 mt-1"},"75 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥168.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"浓密娃娃款"],["P",{"class":"text-sm text-gray-500 mt-1"},"105 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥268.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"浓密芭比款"],["P",{"class":"text-sm text-gray-500 mt-1"},"120 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥298.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"山茶花美睫"],["P",{"class":"text-sm text-gray-500 mt-1"},"120 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥328.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"山茶花仙子款"],["P",{"class":"text-sm text-gray-500 mt-1"},"135 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥388.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"基础手部护理"],["P",{"class":"text-sm text-gray-500 mt-1"},"45 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥68.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"深层滋养手膜"],["P",{"class":"text-sm text-gray-500 mt-1"},"60 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥128.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"手部SPA套餐"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥198.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"基础足部护理"],["P",{"class":"text-sm text-gray-500 mt-1"},"60 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥88.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"足部SPA舒缓"],["P",{"class":"text-sm text-gray-500 mt-1"},"90 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥168.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"足部深层修复"],["P",{"class":"text-sm text-gray-500 mt-1"},"105 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥228.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"基础修甲护理"],["P",{"class":"text-sm text-gray-500 mt-1"},"30 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥38.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"精修甲型设计"],["P",{"class":"text-sm text-gray-500 mt-1"},"45 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥58.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"甲片延长"],["P",{"class":"text-sm text-gray-500 mt-1"},"120 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥268.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"甲油胶卸除"],["P",{"class":"text-sm text-gray-500 mt-1"},"30 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥38.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"光疗甲卸除"],["P",{"class":"text-sm text-gray-500 mt-1"},"45 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥58.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"美甲+手部护理套餐"],["P",{"class":"text-sm text-gray-500 mt-1"},"120 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥148.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"日式美甲+美睫套餐"],["P",{"class":"text-sm text-gray-500 mt-1"},"180 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥388.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"新娘全套美甲美睫"],["P",{"class":"text-sm text-gray-500 mt-1"},"240 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥588.00"]],["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},["P",{"class":"font-semibold text-gray-900 text-base leading-snug"},"足部护理+修甲套餐"],["P",{"class":"text-sm text-gray-500 mt-1"},"105 min"],["P",{"class":"text-lg font-bold text-rose-600 mt-auto pt-2 tabular-nums"},"¥118.00"]]]]]],[[2,5]]]]]]],[[26,183]]],[[26,185]],[[26,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163296.651,"wallTime":1784878431632,"collectionTime":0.6000000000058208,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@50","startTime":163297.468,"class":"Frame","method":"waitForTimeout","params":{"waitTimeout":500},"stepId":"pw:api@56","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@50"}
{"type":"frame-snapshot","snapshot":{"callId":"call@50","snapshotName":"before@call@50","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[27,15]],[[27,16]],["BODY",{},[[27,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[20,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},["DIV",{"class":"flex-1 flex min-h-0"},["NAV",{"class":"w-28 pad:w-32 shrink-0 bg-white border-r border-rose-50 flex flex-col py-2 gap-1.5 overflow-y-auto"},[[1,0]],["BUTTON",{"class":"px-2 py-4 mx-1.5 rounded-xl text-sm font-bold transition whitespace-normal text-center leading-tight bg-rose-600 text-white"},[[20,27]]],[[20,30]],[[20,32]],[[20,34]],[[20,36]]],[[1,215]]],[[3,5]]]]]]],[[27,183]]],[[27,185]],[[27,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163298.501,"wallTime":1784878431634,"collectionTime":0.5,"resourceOverrides":[],"isMainFrame":true}}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431658.jpeg","width":1440,"height":900,"timestamp":163321.678,"frameSwapWallTime":1784878431656.176}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431674.jpeg","width":1440,"height":900,"timestamp":163338.615,"frameSwapWallTime":1784878431673.309}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431691.jpeg","width":1440,"height":900,"timestamp":163354.933,"frameSwapWallTime":1784878431689.6711}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431706.jpeg","width":1440,"height":900,"timestamp":163370.247,"frameSwapWallTime":1784878431705.049}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431721.jpeg","width":1440,"height":900,"timestamp":163385.216,"frameSwapWallTime":1784878431719.954}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431736.jpeg","width":1440,"height":900,"timestamp":163400.034,"frameSwapWallTime":1784878431734.845}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431751.jpeg","width":1440,"height":900,"timestamp":163414.867,"frameSwapWallTime":1784878431749.645}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431765.jpeg","width":1440,"height":900,"timestamp":163429.294,"frameSwapWallTime":1784878431764.2888}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431782.jpeg","width":1440,"height":900,"timestamp":163446.315,"frameSwapWallTime":1784878431781.145}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878431800.jpeg","width":1440,"height":900,"timestamp":163463.8,"frameSwapWallTime":1784878431798.5461}
{"type":"after","callId":"call@50","endTime":163805.144,"afterSnapshot":"after@call@50"}
{"type":"frame-snapshot","snapshot":{"callId":"call@50","snapshotName":"after@call@50","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[1,10]],"viewport":{"width":1440,"height":900},"timestamp":163809.322,"wallTime":1784878432144,"collectionTime":1.900000000023283,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@52","startTime":163811.697,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=/纯色美甲/]","strict":true,"timeout":15000},"stepId":"pw:api@57","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@52"}
{"type":"frame-snapshot","snapshot":{"callId":"call@52","snapshotName":"before@call@52","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[2,10]],"viewport":{"width":1440,"height":900},"timestamp":163813.764,"wallTime":1784878432149,"collectionTime":1.2000000000116415,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@52","time":163814.215,"message":"waiting for getByRole('button', { name: /纯色美甲/ })"}
{"type":"log","callId":"call@52","time":163823.397,"message":"  locator resolved to <button class=\"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col\">…</button>"}
{"type":"log","callId":"call@52","time":163824.637,"message":"attempting click action"}
{"type":"log","callId":"call@52","time":163824.69,"message":"  waiting for element to be visible, enabled and stable"}
{"type":"log","callId":"call@52","time":163830.945,"message":"  element is visible, enabled and stable"}
{"type":"log","callId":"call@52","time":163830.958,"message":"  scrolling into view if needed"}
{"type":"log","callId":"call@52","time":163831.506,"message":"  done scrolling"}
{"type":"input","callId":"call@52","point":{"x":334,"y":209},"inputSnapshot":"input@call@52"}
{"type":"frame-snapshot","snapshot":{"callId":"call@52","snapshotName":"input@call@52","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[30,15]],[[30,16]],["BODY",{},[[30,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[23,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},["DIV",{"class":"flex-1 flex min-h-0"},[[3,1]],["DIV",{"class":"flex-1 flex flex-col min-h-0 bg-white"},[[23,43]],["DIV",{"class":"flex-1 overflow-y-auto p-4 space-y-5 min-h-0"},["DIV",{"class":"grid grid-cols-2 gap-3 items-start"},["BUTTON",{"__playwright_target__":"","class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},[[4,4]],[[4,6]],[[4,8]]],[[4,16]],[[4,23]],[[4,30]],[[4,37]],[[4,44]],[[4,51]],[[4,58]],[[4,65]],[[4,72]],[[4,79]],[[4,86]],[[4,93]],[[4,100]],[[4,107]],[[4,114]],[[4,121]],[[4,128]],[[4,135]],[[4,142]],[[4,149]],[[4,156]],[[4,163]],[[4,170]],[[4,177]],[[4,184]],[[4,191]],[[4,198]],[[4,205]],[[4,212]]]]]],[[6,5]]]]]]],[[30,183]]],[[30,185]],[[30,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163834.166,"wallTime":1784878432170,"collectionTime":1.1000000000058208,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@52","time":163836.423,"message":"  performing click action"}
{"type":"log","callId":"call@52","time":163851.893,"message":"  click action done"}
{"type":"log","callId":"call@52","time":163851.907,"message":"  waiting for scheduled navigations to finish"}
{"type":"log","callId":"call@52","time":163852.661,"message":"  navigations have finished"}
{"type":"after","callId":"call@52","endTime":163852.73,"afterSnapshot":"after@call@52"}
{"type":"frame-snapshot","snapshot":{"callId":"call@52","snapshotName":"after@call@52","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[31,15]],[[31,16]],["BODY",{},[[31,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[24,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},[[1,4]],[[7,5]],["DIV",{"class":"fixed inset-0 z-50 flex items-end pad:items-stretch justify-center bg-black/30"},["DIV",{"class":"bg-white w-full max-w-lg pad:max-w-none pad:w-[480px] rounded-t-3xl pad:rounded-none pc:rounded-2xl pc:m-auto pc:max-h-[80vh] overflow-y-auto shadow-2xl"},["DIV",{"class":"pad:flex hidden justify-center pt-2"},["DIV",{"class":"w-10 h-1.5 rounded-full bg-gray-200"}]],["DIV",{"class":"p-5 space-y-5"},["DIV",{"class":"flex items-start justify-between gap-3"},["DIV",{"class":"min-w-0"},["H3",{"class":"text-lg font-bold text-gray-900 leading-snug"},"纯色美甲"]],["DIV",{"class":"flex items-center gap-2 shrink-0"},["SPAN",{"class":"text-xl font-bold text-rose-600 tabular-nums"},"¥88.00"],["BUTTON",{"class":"text-gray-400 pc:hover:text-gray-600 p-1","aria-label":"close"},"✕"]]],["DIV",{},["LABEL",{"class":"text-xs text-gray-500 mb-2 block"},"选择服务员工",["SPAN",{"class":"text-rose-500 ml-0.5"},"*"]],["DIV",{"class":"grid grid-cols-3 gap-2.5 max-h-52 overflow-y-auto"},["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-amber-100 text-amber-700"},"a"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"alice"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-amber-100 text-amber-700"},"e"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"echo"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-sky-100 text-sky-600"},"刘"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"刘佳"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-emerald-100 text-emerald-600"},"周"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"周小雨"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-rose-100 text-rose-600"},"孙"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"孙燕"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-blue-100 text-blue-600"},"张"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"张婷婷"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-emerald-100 text-emerald-600"},"李"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"李雪"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-violet-100 text-violet-600"},"王"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"王小丽"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-blue-100 text-blue-600"},"赵"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"赵敏"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-rose-100 text-rose-600"},"陈"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"陈美美"]],["BUTTON",{"class":"flex flex-col items-center gap-1.5 rounded-2xl border-2 py-3 px-2 transition active:scale-95 border-transparent bg-gray-50 pc:hover:bg-rose-50/50 pc:hover:border-rose-200"},["SPAN",{"class":"w-10 h-10 rounded-full flex items-center justify-center text-base font-semibold bg-sky-100 text-sky-600"},"黄"],["SPAN",{"class":"text-sm font-medium truncate max-w-full text-gray-700"},"黄丽丽"]]]],["DIV",{"class":"flex gap-3 pt-1"},["BUTTON",{"class":"flex-1 py-3.5 bg-gray-100 text-gray-600 rounded-2xl text-base font-medium pc:hover:bg-gray-200 active:scale-95 transition"},"取消"],["BUTTON",{"disabled":"","class":"flex-[2] py-3.5 bg-rose-600 text-white rounded-2xl text-base font-semibold active:scale-95 transition disabled:opacity-40 disabled:active:scale-100"},"请选择服务员工"]]]]]]]]]],[[31,183]]],[[31,185]],[[31,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163854.49,"wallTime":1784878432190,"collectionTime":0.8999999999941792,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@54","startTime":163856.628,"class":"Frame","method":"waitForTimeout","params":{"waitTimeout":500},"stepId":"pw:api@58","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@54"}
{"type":"frame-snapshot","snapshot":{"callId":"call@54","snapshotName":"before@call@54","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":["HTML",{"lang":"en","data-device":"pc"},[[32,15]],[[32,16]],["BODY",{},[[32,17]],["DIV",{"id":"root"},["DIV",{"class":"h-screen flex overflow-hidden bg-gray-50"},["MAIN",{"class":"flex-1 min-h-0 overflow-hidden"},["DIV",{"class":"h-full w-full bg-rose-50/40 flex flex-col","style":"zoom: 1; min-width: 1024px; padding-bottom: env(safe-area-inset-bottom);"},[[25,24]],["MAIN",{"class":"flex-1 min-h-0"},["DIV",{"class":"h-full flex min-h-0"},["DIV",{"class":"flex-1 flex min-h-0"},[[5,1]],["DIV",{"class":"flex-1 flex flex-col min-h-0 bg-white"},[[25,43]],["DIV",{"class":"flex-1 overflow-y-auto p-4 space-y-5 min-h-0"},["DIV",{"class":"grid grid-cols-2 gap-3 items-start"},["BUTTON",{"class":"p-5 bg-rose-50/40 pc:hover:bg-rose-50 rounded-2xl transition text-left border border-rose-100 pc:hover:border-rose-200 active:scale-95 min-h-[110px] flex flex-col"},[[6,4]],[[6,6]],[[6,8]]],[[6,16]],[[6,23]],[[6,30]],[[6,37]],[[6,44]],[[6,51]],[[6,58]],[[6,65]],[[6,72]],[[6,79]],[[6,86]],[[6,93]],[[6,100]],[[6,107]],[[6,114]],[[6,121]],[[6,128]],[[6,135]],[[6,142]],[[6,149]],[[6,156]],[[6,163]],[[6,170]],[[6,177]],[[6,184]],[[6,191]],[[6,198]],[[6,205]],[[6,212]]]]]],[[8,5]],[[1,79]]]]]]],[[32,183]]],[[32,185]],[[32,186]]]],"viewport":{"width":1440,"height":900},"timestamp":163858.115,"wallTime":1784878432193,"collectionTime":0.5,"resourceOverrides":[],"isMainFrame":true}}
{"type":"screencast-frame","pageId":"page@a1a5bbc18a54191b048b58785439ca06","sha1":"page@a1a5bbc18a54191b048b58785439ca06-1784878432220.jpeg","width":1440,"height":900,"timestamp":163884.326,"frameSwapWallTime":1784878432218.8079}
{"type":"after","callId":"call@54","endTime":164364.485,"afterSnapshot":"after@call@54"}
{"type":"frame-snapshot","snapshot":{"callId":"call@54","snapshotName":"after@call@54","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[1,12]],"viewport":{"width":1440,"height":900},"timestamp":164369.087,"wallTime":1784878432704,"collectionTime":2.1000000000058208,"resourceOverrides":[],"isMainFrame":true}}
{"type":"before","callId":"call@56","startTime":164371.525,"class":"Frame","method":"click","params":{"selector":"internal:role=button[name=\"继续付款 ›\"i]","strict":true,"timeout":15000},"stepId":"pw:api@59","pageId":"page@a1a5bbc18a54191b048b58785439ca06","beforeSnapshot":"before@call@56"}
{"type":"frame-snapshot","snapshot":{"callId":"call@56","snapshotName":"before@call@56","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[2,12]],"viewport":{"width":1440,"height":900},"timestamp":164373.77,"wallTime":1784878432709,"collectionTime":1.1999999999825377,"resourceOverrides":[],"isMainFrame":true}}
{"type":"log","callId":"call@56","time":164374.171,"message":"waiting for getByRole('button', { name: '继续付款 ›' })"}
{"type":"after","callId":"call@56","endTime":179381.523,"error":{"message":"Timeout 15000ms exceeded.","stack":"TimeoutError: Timeout 15000ms exceeded.\n    at _ProgressController.run (/app/node_modules/playwright-core/lib/coreBundle.js:11750:32)\n    at _FrameDispatcher._runCommand (/app/node_modules/playwright-core/lib/coreBundle.js:18203:35)\n    at DispatcherConnection.dispatch (/app/node_modules/playwright-core/lib/coreBundle.js:18408:44)","name":"TimeoutError"},"afterSnapshot":"after@call@56"}
{"type":"frame-snapshot","snapshot":{"callId":"call@56","snapshotName":"after@call@56","pageId":"page@a1a5bbc18a54191b048b58785439ca06","frameId":"frame@0a2b9a0931f254dd7c6f4dc8d7d1cd4d","frameUrl":"http://192.168.3.151:5173/pos/checkout/cart","doctype":"html","html":[[3,12]],"viewport":{"width":1440,"height":900},"timestamp":179386.113,"wallTime":1784878447721,"collectionTime":2.2999999999883585,"resourceOverrides":[],"isMainFrame":true}}
