@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&display=swap');
@import url('treatment-auth-gate.css?v=20260829-2');
/* WANGXIAN CLINIC · shared application shell */
:root{--wx-ink:#191815;--wx-paper:#f6f2e9;--wx-gold:#cba84e;--wx-line:#e8dfd0;--wx-font:'Noto Sans Thai',Tahoma,sans-serif;--wx-number:'DM Sans','Noto Sans Thai',sans-serif;--wx-luxe-shadow:0 18px 48px #50381416,0 2px 7px #5038140a}
.side,.sidebar{background:radial-gradient(circle at 12% 0,#66512b80,transparent 30%),linear-gradient(160deg,#25231c,#0f0f0d)!important;color:#fff!important;box-shadow:inset -1px 0 #f2d4791e!important}
.side .brand,.sidebar .brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px!important;border-bottom:1px solid #e9cb7226!important}
.side .brand img,.sidebar .brand img{width:46px!important;height:46px!important;object-fit:cover;border-radius:50%;box-shadow:0 0 0 2px #d9b65b,0 0 0 6px #d9b65b22!important}
.side .brand b,.sidebar .brand b{font-size:15px!important;color:#fff!important}.side .brand small,.sidebar .brand small{color:#d9be76!important;letter-spacing:1.2px!important}
.side .nav,.sidebar .nav{display:grid!important;gap:5px!important;margin-top:14px}.side .nav a,.sidebar .nav a{display:flex!important;align-items:center!important;gap:11px!important;padding:10px 11px!important;color:#c6c0b3!important;border:1px solid transparent!important;border-radius:9px!important;text-decoration:none!important;font-size:13px!important;transition:.2s ease!important}.side .nav a:hover,.sidebar .nav a:hover{background:#ffffff0a!important;color:#fff!important;transform:translateX(3px)}.side .nav a.active,.sidebar .nav a.active{background:linear-gradient(105deg,#765d2d,#413821)!important;border-color:#e8c56844!important;color:#fff!important;box-shadow:0 7px 18px #0005!important}.side .nav a .icon,.sidebar .nav a .icon{width:24px;text-align:center;color:#e4c46c;font-style:normal}.side .nav .nav-label,.sidebar .nav .nav-label{margin:8px 8px 1px;color:#b69a59;font:10px 'DM Sans',sans-serif;letter-spacing:1.3px}.side .user,.sidebar .profile{border-top:1px solid #e9cb7226!important;padding:14px 8px 0!important}.side .bubble,.sidebar .avatar{background:linear-gradient(135deg,#f1d47f,#b78328)!important;color:#332608!important}.side .user b,.sidebar .profile b{color:#fff!important}.side .user small,.sidebar .profile small{color:#bfb8a9!important}
main .top{padding-bottom:16px;border-bottom:1px solid var(--wx-line)}main .eyebrow{color:#a27e2e!important;letter-spacing:1.3px!important}main h1{letter-spacing:-.45px}.button.gold{background:linear-gradient(135deg,#f0d57f,#b9862e)!important;color:#2b200b!important;box-shadow:0 7px 17px #976f2838!important}.panel{border:1px solid #fff!important;box-shadow:0 13px 32px #4b361612!important}
.menu-toggle{position:fixed;z-index:51;left:12px;bottom:14px;width:42px;height:42px;border:1px solid #dfc16666;border-radius:12px;background:linear-gradient(135deg,#3f3521,#181713);color:#f0d57f;font-size:20px;box-shadow:0 10px 24px #0005;cursor:pointer}.menu-overlay{display:none}.layout.menu-collapsed,.shell.menu-collapsed{grid-template-columns:72px 1fr!important}.layout.menu-collapsed .side,.shell.menu-collapsed .sidebar{padding-left:10px!important;padding-right:10px!important}.layout.menu-collapsed .brand>div,.shell.menu-collapsed .brand>div,.layout.menu-collapsed .nav a span:not(.icon),.shell.menu-collapsed .nav a span:not(.icon),.layout.menu-collapsed .nav-label,.shell.menu-collapsed .nav-label,.layout.menu-collapsed .label,.shell.menu-collapsed .label,.layout.menu-collapsed .user>div:last-child,.shell.menu-collapsed .profile>div:last-child{display:none!important}.layout.menu-collapsed .brand,.shell.menu-collapsed .brand,.layout.menu-collapsed .nav a,.shell.menu-collapsed .nav a,.layout.menu-collapsed .user,.shell.menu-collapsed .profile{justify-content:center!important}.layout.menu-collapsed .nav a,.shell.menu-collapsed .nav a{padding-left:7px!important;padding-right:7px!important}@media(max-width:800px){.side,.sidebar{display:none!important}.layout.menu-open .side,.shell.menu-open .sidebar{display:block!important;position:fixed!important;inset:0 auto 0 0!important;width:min(88vw,320px)!important;height:100dvh!important;z-index:50!important;overflow-y:auto!important;padding-bottom:80px!important}.layout.menu-open .side .user,.shell.menu-open .sidebar .profile{position:static!important;margin-top:20px!important}.menu-overlay{display:block;position:fixed;inset:0;z-index:49;border:0;background:#0007}.layout:not(.menu-open)~.menu-overlay,.shell:not(.menu-open)~.menu-overlay{display:none}.menu-toggle{display:grid;place-items:center}main .top{padding-bottom:12px}}
@keyframes wx-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes wx-glow{0%,100%{box-shadow:0 0 0 0 #e8bf5b00}50%{box-shadow:0 0 0 7px #e8bf5b16}}main{align-self:start!important;margin-top:0!important;animation:wx-rise .38s ease both}.panel,.stat{animation:wx-rise .42s ease both}.panel:hover,.stat:hover{transform:translateY(-2px);box-shadow:0 18px 38px #4b36161c!important;transition:transform .2s ease,box-shadow .2s ease}.button:focus-visible,.nav a:focus-visible{outline:2px solid #e6c163;outline-offset:3px}.menu-toggle{animation:wx-glow 2.7s ease-in-out infinite}.side .nav a,.sidebar .nav a{min-height:44px}@media(max-width:1050px){.side .nav a,.sidebar .nav a{font-size:12px!important}.side .nav a .icon,.sidebar .nav a .icon{width:22px!important}}@media(max-width:520px){main{padding-top:16px!important}.menu-toggle{left:10px;bottom:10px;width:44px;height:44px}.side .nav a,.sidebar .nav a{min-height:48px;font-size:14px!important}.side .nav a .icon,.sidebar .nav a .icon{width:28px!important;font-size:16px!important}}
.button.danger,.danger{border-color:#d7a09a!important;color:#9e453b!important;background:#fff8f7!important}.button.danger:hover{background:#fceae7!important}

/* Slow ambient light and concentric energy rings behind every application page. */
body{background-color:#f6f2e9!important;background-image:radial-gradient(circle at center,#efd8899c 0,transparent 36%),radial-gradient(circle at center,#8fb8a354 0,transparent 39%),radial-gradient(circle at center,transparent 0 27%,#c9a54d13 27.4%,transparent 27.8% 100%),linear-gradient(145deg,#f8f4eb,#f2ecdf)!important;background-size:68vmax 68vmax,60vmax 60vmax,310px 310px,100% 100%!important;background-repeat:no-repeat,no-repeat,repeat,no-repeat!important;background-position:-18vmax -22vmax,calc(100% + 16vmax) 12vh,0 0,0 0;background-attachment:fixed!important;animation:wx-ambient-background 26s ease-in-out infinite alternate}
@keyframes wx-ambient-background{0%{background-position:-18vmax -22vmax,calc(100% + 16vmax) 12vh,0 0,0 0}48%{background-position:2vmax 10vh,calc(100% - 2vmax) 48vh,52px 34px,0 0}100%{background-position:12vmax 26vh,calc(100% + 5vmax) 78vh,104px 76px,0 0}}
@media(max-width:800px){body{background-size:92vmax 92vmax,86vmax 86vmax,250px 250px,100% 100%!important;background-attachment:scroll!important}}
@media(prefers-reduced-motion:reduce){body{animation:none!important;background-position:-10vmax -16vmax,calc(100% + 8vmax) 55vh,0 0,0 0!important}main,.panel,.stat,.menu-toggle{animation:none!important}}

/* One premium visual and typography system across every clinic screen. */
html{font-family:var(--wx-font);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body,button,input,select,textarea{font-family:var(--wx-font)!important}button,input,select,textarea{font-size:inherit}main h1,main h2,main h3,.brand b{font-family:var(--wx-font)!important;font-weight:700}.eyebrow,.brand small,.nav-label,.label,th,.amount,.stat .n,.stat>b,.total b{font-family:var(--wx-number)!important}.panel,.stat,.dialog{background:linear-gradient(145deg,#fffefbf2,#fbf7edf0)!important;border:1px solid #ffffff!important;box-shadow:var(--wx-luxe-shadow)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.panel,.stat{position:relative}.panel:before,.stat:before{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #fff,inset 0 0 0 1px #c69a3b0c}.panel>* ,.stat>*{position:relative;z-index:1}main .top{background:linear-gradient(115deg,#fffefaeb,#f8efd9cf)!important;border:1px solid #fff!important;border-radius:18px!important;padding:19px 22px!important;box-shadow:0 14px 42px #5b421411!important}.button{border-radius:10px!important;min-height:40px;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important}.button:hover{transform:translateY(-2px);filter:saturate(1.05)}.button.gold{border:1px solid #f4dc91!important;box-shadow:0 9px 22px #8c642d2d,inset 0 1px #fff8!important}.button.ghost{background:#fffdf9dc!important;box-shadow:0 5px 15px #4b36160b!important}input:not([type='checkbox']):not([type='radio']),select,textarea{border:1px solid #ded4c2!important;border-radius:10px!important;background:#fffefa!important;color:var(--wx-ink)!important;box-shadow:inset 0 1px 2px #5b421408;transition:border-color .18s ease,box-shadow .18s ease!important}input:focus,select:focus,textarea:focus{outline:none!important;border-color:#c6a14f!important;box-shadow:0 0 0 3px #d6b45b22,inset 0 1px 2px #5b421408!important}table th{background:linear-gradient(180deg,#fdfaf2,#f8f1df)!important;color:#746b5e!important}table tbody tr{transition:background .16s ease}table tbody tr:hover{background:#fff9e9a8}.modal,.modal.show,.modal.login{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.dialog{border-radius:18px!important}
@media(max-width:800px){main .top{border-radius:14px!important;padding:16px!important}.panel,.stat,.dialog{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Shared digital worship corner. */
.side .nav .worship-nav,.sidebar .nav .worship-nav{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 11px;border:1px solid #d8b65a38;border-radius:9px;background:linear-gradient(105deg,#55251f88,#31251c);color:#f0dca8;text-align:left;cursor:pointer;transition:.2s ease}.side .nav .worship-nav:hover,.sidebar .nav .worship-nav:hover{transform:translateX(3px);border-color:#edcf785c;background:linear-gradient(105deg,#6d2b24,#3c2d20)}.worship-nav .icon{width:24px;text-align:center;color:#f2ca65;font:700 15px serif}.layout.menu-collapsed .worship-nav span:not(.icon),.shell.menu-collapsed .worship-nav span:not(.icon){display:none}.layout.menu-collapsed .worship-nav,.shell.menu-collapsed .worship-nav{justify-content:center;padding-left:7px!important;padding-right:7px!important}.wx-worship-open{overflow:hidden}.wx-worship-modal[hidden]{display:none}.wx-worship-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;background:#0e0a06c4;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.wx-worship-dialog{position:relative;overflow:hidden;width:min(470px,100%);padding:34px 30px 29px;border:1px solid #e6c96f66;border-radius:24px;background:radial-gradient(circle at 50% 8%,#aa3e3040,transparent 28%),radial-gradient(circle at 50% 70%,#d6ad4d20,transparent 35%),linear-gradient(155deg,#2d2118,#130f0b);color:#f7e9c4;text-align:center;box-shadow:0 32px 90px #000b,inset 0 1px #fff2}.wx-worship-dialog:before{content:'';position:absolute;inset:12px;border:1px solid #d9b65a24;border-radius:17px;pointer-events:none}.wx-worship-dialog>small{color:#dbbd6b;font:600 10px var(--wx-number);letter-spacing:1.5px}.wx-worship-dialog h2{margin:8px 0 5px;color:#f5d77d;font-size:23px}.wx-worship-dialog p{margin:0;color:#d7c9a8;font-size:13px;line-height:1.7}.wx-worship-close{position:absolute;z-index:3;top:11px;right:13px;width:34px;height:34px;border:1px solid #e1c46a33;border-radius:50%;background:#fff1;color:#ead38e;font-size:22px;cursor:pointer}.wx-worship-lantern{position:absolute;top:27px;width:34px;height:44px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(#c44535,#7d211b);color:#ffe497;font:700 16px serif;box-shadow:0 0 25px #c4473155}.wx-worship-lantern:before,.wx-worship-lantern:after{content:'';position:absolute;left:5px;right:5px;height:2px;background:#e7c46c}.wx-worship-lantern:before{top:-5px}.wx-worship-lantern:after{bottom:-5px}.wx-worship-lantern.left{left:27px}.wx-worship-lantern.right{right:27px}.wx-incense{position:relative;height:128px;margin:13px auto 5px;display:flex;align-items:flex-end;justify-content:center;gap:8px}.wx-incense i{position:relative;width:4px;height:70px;border-radius:3px 3px 0 0;background:linear-gradient(#9d2f24 0 17%,#d5a54e 18%)}.wx-incense i:nth-child(2){height:79px}.wx-incense i:before{content:'';position:absolute;left:0;top:-4px;width:4px;height:7px;border-radius:50%;background:#59443a}.wx-incense-bowl{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:112px;height:48px;padding-top:10px;border-radius:8px 8px 42px 42px;background:linear-gradient(150deg,#b48b38,#5f411c);color:#f5d67b;font:700 18px serif;box-shadow:inset 0 2px #efd78666,0 10px 22px #0007}.wx-worship-message{min-height:22px;color:#e8d8b0;font-size:12px}.wx-worship-action{min-width:210px;margin-top:8px;padding:11px 18px;border:1px solid #f1d681;border-radius:12px;background:linear-gradient(135deg,#f1d477,#b8822b);color:#2f210d;font-weight:700;cursor:pointer;box-shadow:0 10px 24px #0005}.wx-worship-dialog em{display:block;margin-top:13px;color:#988b73;font-size:9px;font-style:normal}.wx-worship-modal.is-lit .wx-incense i:before{background:#ffb565;box-shadow:0 0 9px #ff7b35,0 0 18px #ffb14f}.wx-worship-modal.is-lit .wx-incense i:after{content:'';position:absolute;left:-8px;top:-40px;width:20px;height:36px;border:2px solid #eee3cd55;border-color:#eee3cd55 transparent transparent;border-radius:50%;animation:wx-smoke 2.8s ease-in-out infinite}.wx-worship-modal.is-lit .wx-incense i:nth-child(2):after{animation-delay:.5s}.wx-worship-modal.is-lit .wx-incense i:nth-child(3):after{animation-delay:1s}@keyframes wx-smoke{0%{opacity:0;transform:translateY(8px) scale(.7)}35%{opacity:.8}100%{opacity:0;transform:translate(8px,-28px) scale(1.35)}}@media(max-width:520px){.wx-worship-dialog{padding:31px 18px 24px}.wx-worship-lantern{display:none}.wx-worship-dialog h2{font-size:20px}}

/* Five-card worship gallery. */
.wx-worship-dialog{width:min(980px,100%);max-height:min(92vh,820px);padding:0;text-align:left}.wx-worship-dialog:before{z-index:4;inset:9px}.wx-worship-gallery{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);min-height:670px;max-height:min(92vh,820px)}.wx-worship-media{position:relative;overflow:hidden;min-height:670px;background:#130e0a;touch-action:pan-y}.wx-worship-media img{width:100%;height:100%;position:absolute;inset:0;display:block;object-fit:cover;object-position:center;animation:wx-worship-reveal .42s ease both}.wx-worship-image-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0d0905e8 100%),linear-gradient(90deg,transparent 75%,#120d09b8)}.wx-worship-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:25px}.wx-worship-caption small,.wx-worship-caption strong{display:block;text-shadow:0 3px 14px #000}.wx-worship-caption small{color:#e5c76d;font:600 11px var(--wx-number);letter-spacing:2px}.wx-worship-caption strong{margin-top:4px;color:#fff4d5;font-size:25px}.wx-worship-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:54px;border:1px solid #f1d77b55;background:#160f0aac;color:#f7df98;font-size:34px;cursor:pointer;backdrop-filter:blur(7px)}.wx-worship-arrow:hover{background:#8d2c23cc}.wx-worship-arrow.prev{left:14px;border-radius:12px 4px 4px 12px}.wx-worship-arrow.next{right:14px;border-radius:4px 12px 12px 4px}.wx-worship-content{position:relative;z-index:1;overflow-y:auto;padding:28px 30px 23px;background:radial-gradient(circle at 50% 30%,#a2382a28,transparent 28%),linear-gradient(155deg,#2d2118,#130f0b);color:#f7e9c4;text-align:center}.wx-worship-topline{display:flex;justify-content:space-between;gap:12px;color:#d8bd70;font:600 10px var(--wx-number);letter-spacing:1px}.wx-worship-topline span{color:#a99a7a}.wx-worship-content h2{margin:9px 0 5px;color:#f5d77d;font-size:25px}.wx-worship-focus{display:inline-flex;padding:5px 10px;border:1px solid #d9b85f42;border-radius:20px;background:#fff1;color:#ebd89f;font-size:10px}.wx-worship-content>p{min-height:47px;margin:9px 0 10px;color:#d7c9a8;font-size:12px;line-height:1.65}.wx-worship-wish{display:grid;gap:5px;color:#c8b78f;font-size:10px;text-align:left}.wx-worship-wish textarea{min-height:58px!important;padding:9px 10px!important;border-color:#d8b65a3d!important;background:#0c090780!important;color:#f7ead0!important;font-size:11px!important;resize:vertical}.wx-worship-wish textarea::placeholder{color:#8f846e}.wx-worship-content .wx-incense{height:103px;margin:7px auto 2px;transform:scale(.78);transform-origin:center bottom}.wx-worship-action{display:block;width:100%;margin:7px 0 0}.wx-worship-progress{margin-top:9px;color:#cbb887;font-size:10px}.wx-worship-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.wx-worship-dots button{width:9px;height:9px;padding:0;border:1px solid #d7bd7166;border-radius:50%;background:#fff2;cursor:pointer;transition:.18s}.wx-worship-dots button.done{background:#9f382c;border-color:#e9a99f}.wx-worship-dots button.active{transform:scale(1.35);background:#e7c76d;border-color:#ffe69b;box-shadow:0 0 10px #edc86b66}.wx-worship-content em{display:block;margin-top:12px;color:#8f846e;font-size:9px;font-style:normal;line-height:1.45}.wx-worship-modal.is-lit .wx-worship-action{background:linear-gradient(135deg,#e8c96c,#8d5f24);box-shadow:0 0 0 3px #e7c66d16,0 10px 24px #0005}@keyframes wx-worship-reveal{from{opacity:.35;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.wx-worship-modal{padding:9px}.wx-worship-dialog{max-height:96vh}.wx-worship-gallery{grid-template-columns:1fr;min-height:0;max-height:96vh;overflow-y:auto}.wx-worship-media{min-height:39vh;max-height:380px}.wx-worship-content{overflow:visible;padding:22px 18px 20px}.wx-worship-content h2{font-size:21px}.wx-worship-content>p{min-height:0}.wx-worship-caption{left:19px;bottom:17px}.wx-worship-caption strong{font-size:21px}.wx-worship-arrow{width:37px;height:47px}.wx-worship-content .wx-incense{height:88px;transform:scale(.66);margin-top:2px}.wx-worship-wish textarea{min-height:52px!important}}
