:root{--ground:var(--cream);--surface:#FFFFFF;--surface-2:#F6EEF1;--ink:var(--plum);--ink-2:var(--plum-2);--line:var(--rose-hair);--accent:var(--rose-deep);--accent-soft:var(--rose-soft);--teal:#0FA294;--teal-soft:#DDF3F0;--warn:#B45309;--warn-soft:#FdEeD3;--crit:#DC2626;--crit-soft:#FDE4E4;--ok:#0FA294;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--t-xs:12px;--t-sm:13px;--t-md:15px;--t-lg:17px;--t-xl:21px;--t-2xl:27px;--shadow:0 1px 2px rgba(74,38,51,.04),0 6px 16px rgba(74,38,51,.06);--shadow-lift:0 2px 4px rgba(74,38,51,.05),0 12px 28px rgba(74,38,51,.09);--shadow-pop:0 4px 10px rgba(74,38,51,.06),0 24px 60px rgba(74,38,51,.16);--glass-bg:rgba(255,255,255,.72);--glass-blur:saturate(180%) blur(20px);--glass-edge:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.4)}*{box-sizing:border-box}body{margin:0;background:var(--ground);background-image:radial-gradient(60vw 40vh at 8% -10%,rgba(247,160,184,.38),transparent 60%),radial-gradient(50vw 36vh at 96% 0,rgba(251,182,196,.3),transparent 60%);background-attachment:fixed;color:var(--ink);font-family:Noto Sans Thai,Segoe UI,sans-serif;font-size:var(--t-md);line-height:1.6;-webkit-font-smoothing:antialiased}.shell{display:flex;min-height:100vh}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;flex-shrink:0;align-self:flex-start;z-index:25}.logo{font-weight:500;font-size:var(--t-lg);color:var(--accent);margin:0 0 1.1rem;padding:0 .6rem;letter-spacing:-.01em}.logo small{display:block;color:var(--ink-2);font-weight:400;font-size:var(--t-xs);margin-top:.1rem}.rail{position:relative;display:flex;height:100%}.rail-col{width:76px;box-sizing:border-box;flex-direction:column;padding:12px 0 10px;background:rgba(251,247,242,.94);border-right:1px solid var(--rose-hair)}.rail-brand,.rail-col{flex-shrink:0;display:flex;align-items:center}.rail-brand{width:52px;height:40px;margin-bottom:10px;justify-content:center}.rail-brand img{max-width:52px;max-height:40px;object-fit:contain;display:block}.rail-brand-mark{width:38px;height:38px;border-radius:12px;background:var(--rose);color:var(--plum);justify-content:center;font-weight:600;font-size:17px}.rail-brand-mark,.rail-scroll{display:flex;align-items:center}.rail-scroll{flex:1 1;min-height:0;width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;flex-direction:column;gap:2px}.rail-scroll::-webkit-scrollbar{display:none}.rail-foot{gap:2px;padding-top:6px}.rail-btn,.rail-foot{display:flex;flex-direction:column;align-items:center}.rail-btn{position:relative;width:64px;min-height:52px;flex-shrink:0;box-sizing:border-box;padding:6px 2px;justify-content:center;gap:3px;border:0;border-radius:14px;background:transparent;color:#7B5A67;font:inherit;font-weight:400;text-decoration:none;cursor:pointer}.rail-btn:hover{background:var(--surface-2);color:var(--plum)}.rail-btn.active,.rail-btn.active:hover{background:var(--rose-soft);color:var(--rose-deep)}.rail-btn.active .rail-lbl{font-weight:600}.rail-lbl{font-size:11px;line-height:1.2;max-width:62px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-sep{width:36px;height:1px;flex-shrink:0;background:var(--rose-hair);margin:6px 0}.rail-dot{position:absolute;top:3px;right:7px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:var(--crit);color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center}.rail-dot.warn{background:var(--warn)}.rail-ai-mark{width:24px;height:24px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;background:conic-gradient(from 200deg,#F7A0B8,#FFD3A8,#CDB8F5,#A9D4F5,#F7A0B8)}.mnav-btn:focus-visible,.msheet-edit:focus-visible,.msheet-tile:focus-visible,.rail-btn:focus-visible,.rail-ico:focus-visible,.rail-link:focus-visible,.rail-star:focus-visible{outline:2px solid var(--rose-line);outline-offset:2px}.rail-fly{position:absolute;left:76px;top:0;bottom:0;width:260px;box-sizing:border-box;z-index:2;display:flex;flex-direction:column;padding:14px 10px 12px;background:var(--surface);border-right:1px solid var(--rose-hair);box-shadow:12px 0 40px rgba(74,38,51,.14)}.rail-fly.pinned{position:relative;left:0;box-shadow:none}.rail-fly-head{display:flex;align-items:center;gap:6px;padding:0 2px 10px 6px}.rail-fly-head h2{margin:0;flex:1 1;min-width:0;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-fly-ic{width:30px;height:30px;border-radius:10px;background:var(--rose-soft);color:var(--rose-deep)}.rail-fly-ic,.rail-ico{flex-shrink:0;display:flex;align-items:center;justify-content:center}.rail-ico{width:32px;height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:#7B5A67;cursor:pointer}.rail-ico:hover{background:var(--surface-2);color:var(--plum)}.rail-ico.on,.rail-ico.on:hover{background:var(--rose-soft);color:var(--rose-deep)}.rail-fly-body{flex:1 1;min-height:0;overflow-y:auto}.rail-sub{font-size:12px;color:var(--plum-2);padding:10px 8px 4px}.rail-row{display:flex;align-items:center;border-radius:10px}.rail-row:hover{background:var(--surface-2)}.rail-link{flex:1 1;min-width:0;display:flex;align-items:center;gap:10px;min-height:38px;padding:0 6px 0 8px;border-radius:10px;color:var(--plum);text-decoration:none;font-size:var(--t-md)}.rail-link.active{background:var(--rose-soft);color:var(--rose-deep);font-weight:500}.rail-link .rail-dot{position:static;flex-shrink:0}.rail-link-t{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-star{width:32px;height:32px;flex-shrink:0;padding:0;border:0;border-radius:8px;background:transparent;color:#B48E9C;display:flex;align-items:center;justify-content:center;cursor:pointer}.rail-star:hover{background:transparent;color:var(--plum-2)}.rail-star.on,.rail-star.on:hover{color:#C98512}.rail-star.on svg{fill:#E9A23B}.rail-fly-foot{font-size:12px;line-height:1.6;color:var(--plum-2);padding:10px 8px 0;border-top:1px solid var(--rose-hair)}.mnav,.mnav-spacer,.msheet,.msheet-bg{display:none}.maincol{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{position:relative;background:var(--surface);border-bottom:1px solid var(--line);padding:.6rem 1.6rem;display:flex;align-items:center;justify-content:space-between}.topbar .bsel,.topbar .crumb{font-weight:500;font-size:var(--t-md)}.topbar .bsel{border:none;background-color:rgba(255,255,255,.6);border-radius:var(--r-pill);padding:5px 32px 5px 14px;color:var(--accent);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(74,38,51,.05)}.topbar .bsel:focus{outline:none;box-shadow:0 0 0 3px rgba(247,160,184,.45)}.topbar .crumb .muted{font-weight:400}.topbar .crumb small{display:block;font-weight:400;color:var(--ink-2);font-size:var(--t-xs)}.av{width:34px;height:34px;border-radius:50%;color:var(--plum);background:linear-gradient(135deg,var(--peach),var(--rose) 75%);box-shadow:inset 0 1px 1px rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:var(--t-sm)}.topbar{gap:var(--s-3)}.tb-right{gap:.7rem;margin-left:auto;flex-shrink:0}.tb-me,.tb-right{display:flex;align-items:center}.tb-me{gap:.5rem;text-decoration:none;color:inherit}.tb-name{font-size:.82rem}button.tb-out{display:inline-flex;align-items:center;gap:6px}button.tb-out svg{display:none}main.content{flex:1 1;padding:1.5rem 1.8rem;max-width:none;width:100%}h1{font-family:var(--font-latin),"Noto Sans Thai","Segoe UI",sans-serif;font-size:var(--t-2xl);font-weight:300;margin:0 0 var(--s-1);letter-spacing:-.03em;line-height:1.2}.sub{color:var(--ink-2);margin:0 0 var(--s-5);font-size:var(--t-sm)}h3{font-size:var(--t-lg);font-weight:600;letter-spacing:-.01em}.card{background:var(--surface);border:none;border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-4);box-shadow:var(--shadow)}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}main.content .card,main.content .stat{animation:cardIn .55s cubic-bezier(.22,1,.36,1) backwards}main.content .card:nth-child(2),main.content .stat:nth-child(2){animation-delay:.05s}main.content .card:nth-child(3),main.content .stat:nth-child(3){animation-delay:.1s}main.content .card:nth-child(4),main.content .stat:nth-child(4){animation-delay:.15s}main.content .card:nth-child(5),main.content .stat:nth-child(5){animation-delay:.2s}main.content .card:nth-child(6),main.content .stat:nth-child(6){animation-delay:.25s}main.content .card:nth-child(7),main.content .stat:nth-child(7){animation-delay:.3s}main.content .card:nth-child(8),main.content .stat:nth-child(8){animation-delay:.35s}@media (prefers-reduced-motion:reduce){main.content .card,main.content .stat{animation:none}}.row{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}input,select,textarea{border:1px solid var(--line);border-radius:var(--r-md);padding:9px var(--s-3);font:inherit;font-size:var(--t-md);background:var(--surface);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1.5 1.75 6 6.25l4.5-4.5' stroke='%238A6875' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right var(--s-3) center}select:disabled{cursor:default;opacity:.55}@supports ((-webkit-appearance:base-select) or (-moz-appearance:base-select) or (appearance:base-select)){::picker(select),select{-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}select{background-image:none;padding-right:var(--s-3)}select::picker-icon{color:var(--ink-2);transition:transform .15s ease}select:open::picker-icon{transform:rotate(180deg)}::picker(select){border:none;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lift),inset 0 0 0 1px rgba(247,160,184,.28),inset 0 1px 0 rgba(255,255,255,.9);padding:var(--s-1);margin-top:var(--s-1);max-height:320px;overflow-y:auto}option{border-radius:var(--r-sm);padding:7px var(--s-3);font-size:var(--t-md);color:var(--ink);font-weight:400;display:flex;align-items:center;gap:var(--s-2)}option:focus,option:hover{background:var(--surface-2);outline:none}option:checked{background:var(--accent-soft);color:var(--accent);font-weight:500}option::checkmark{display:none}optgroup{font-size:var(--t-xs);color:var(--ink-2);font-weight:500;letter-spacing:.02em;padding:6px var(--s-3) 2px}}button{border:none;border-radius:var(--r-pill);padding:9px var(--s-5);font:inherit;font-weight:500;background:var(--rose);color:var(--plum);cursor:pointer;font-size:var(--t-sm);transition:background .12s ease,filter .12s ease,transform .12s ease}button:hover{background:#F48FAB}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:default;transform:none}button.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}button.ghost:hover{background:var(--surface-2)}button.teal{background:var(--teal);color:#fff}button.teal:hover{background:var(--teal);filter:brightness(1.07)}.dp{display:block;min-width:168px}.dp>button.dp-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);padding:9px var(--s-3);background:var(--surface);color:var(--ink);font-size:var(--t-md);font-weight:400;text-align:left;white-space:nowrap}.dp>button.dp-trigger:hover{background:var(--surface);border-color:var(--accent)}.dp>button.dp-trigger:active{transform:none}.dp>button.dp-trigger:focus-visible,.dp>button.dp-trigger[aria-expanded=true]{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.dp>button.dp-trigger:disabled{opacity:.55}.dp-trigger .dp-ph,.dp-trigger svg{color:var(--ink-2)}.dp-trigger svg{flex:none}.dp-err{font-size:var(--t-xs);margin-top:2px}.dp-backdrop{position:fixed;inset:0;z-index:9499;background:rgba(74,38,51,.28)}.dp-pop{position:fixed;z-index:9500;width:304px;padding:var(--s-3);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop),inset 0 0 0 1px var(--line);animation:dp-in .12s ease-out}.dp-pop.sheet{left:0;right:0;bottom:0;width:auto;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:var(--s-4) var(--s-4) calc(var(--s-4) + env(safe-area-inset-bottom, 0px));animation-name:dp-up}@keyframes dp-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes dp-up{0%{opacity:.6;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.dp-pop{animation:none}}.dp-pop button{background:transparent;color:var(--ink);border:none;border-radius:var(--r-sm);padding:0;font-size:var(--t-md);font-weight:400;transform:none}.dp-pop button:hover{background:var(--accent-soft)}.dp-pop button:disabled{opacity:.3;background:transparent}.dp-pop button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dp-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-1);margin-bottom:var(--s-2)}.dp-pop button.dp-nav{width:36px;height:36px;display:grid;place-items:center;font-size:var(--t-xl);line-height:1;color:var(--ink-2);border-radius:var(--r-pill)}.dp-pop .dp-title{padding:6px var(--s-3);font-weight:600;font-size:var(--t-md);border-radius:var(--r-pill)}.dp-pop .dp-title span{font-size:var(--t-xs);color:var(--ink-2)}.dp-dow,.dp-grid{display:grid;grid-template-columns:repeat(7,1fr)}.dp-grid{gap:2px 0}.dp-dow span{text-align:center;font-size:var(--t-xs);color:var(--ink-2);padding:var(--s-1) 0}.dp-dow span:first-child{color:var(--accent)}.dp-pop button.dp-day{height:38px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-radius:var(--r-pill)}.dp-pop button.dp-day.out{color:var(--ink-2);opacity:.45}.dp-pop button.dp-day.today{box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:600}.dp-pop .dp-cells3 button.on,.dp-pop button.dp-day[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:600;opacity:1}.dp-cells3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-2);gap:var(--s-2);padding:var(--s-1) 0}.dp-pop .dp-cells3 button{height:52px;border-radius:var(--r-md)}.dp-pop .dp-cells3 button.now{box-shadow:inset 0 0 0 1.5px var(--accent)}.dp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--line)}.dp-pop .dp-foot button{padding:6px var(--s-3);color:var(--accent);font-weight:600;font-size:var(--t-sm);border-radius:var(--r-pill)}.dp-pop.sheet{max-height:calc(100dvh - var(--s-4));overflow-y:auto}.dp-pop.sheet button.dp-day{height:46px;font-size:var(--t-lg)}.dp-pop.sheet .dp-cells3 button{height:60px}@media (max-height:560px){.dp-pop.sheet{padding-top:var(--s-2)}.dp-pop.sheet button.dp-day{height:36px;font-size:var(--t-md)}.dp-pop.sheet .dp-cells3 button{height:44px}}button.crit{background:var(--crit);color:#fff}button.crit:hover{background:var(--crit);filter:brightness(1.07)}button.sm{padding:5px var(--s-3);font-size:var(--t-xs)}table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}th{text-align:left;color:var(--ink-2);font-size:var(--t-xs);font-weight:600;padding:.45rem .6rem}td,th{border-bottom:1px solid var(--line)}td{padding:.55rem .6rem}tr:last-child td{border-bottom:none}.pill{display:inline-block;border-radius:var(--r-pill);padding:3px var(--s-3);font-size:var(--t-xs);font-weight:600;background:var(--surface-2);color:var(--ink-2)}.pill.ok{background:var(--teal-soft);color:var(--teal)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.crit{background:var(--crit-soft);color:var(--crit)}.chips{display:flex;gap:var(--s-2);flex-wrap:wrap;margin:var(--s-2) 0 var(--s-5)}.chip,.chips{align-items:center}.chip{display:inline-flex;gap:6px;padding:5px 12px 5px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.55);color:var(--ink);font-size:var(--t-sm);line-height:1.4;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(247,160,184,.25),0 1px 2px rgba(74,38,51,.05)}.chip svg{width:15px;height:15px;stroke-width:1.75;color:var(--ink-2);flex-shrink:0}.chip b{font-family:var(--font-latin);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--t-md);margin-left:2px}.chip.warn b,.chip.warn svg{color:var(--warn)}.chip.ok b,.chip.ok svg{color:var(--ok)}.chip.crit b,.chip.crit svg{color:var(--crit)}.chip.mute{color:var(--ink-2)}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.chip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.rtabs-wrap{container-type:inline-size;margin:0 0 var(--s-4)}.rtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-2);gap:var(--s-2);padding:2px}@container (min-width: 1160px){.rtabs{grid-template-columns:repeat(6,minmax(0,1fr))}}.rtab{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow);scroll-snap-align:start;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.rtab:hover{border-color:var(--rose);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.rtab:active{transform:translateY(0)}.rtab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rtab .ic{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent)}.rtab .ic svg{width:18px;height:18px;stroke-width:1.9}.rtab .tx{display:flex;flex-direction:column;gap:1px;min-width:0}.rtab b{font-size:var(--t-sm);font-weight:600;line-height:1.3;white-space:nowrap}.rtab small{font-size:11px;color:var(--ink-2);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rtab.on{background:var(--rose);border-color:var(--rose);color:var(--plum)}.rtab.on:hover{transform:none}.rtab.on .ic{background:rgba(255,255,255,.6);color:var(--plum)}.rtab.on small{color:var(--plum);opacity:.8}@container (max-width: 560px){.rtabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:2px 2px 6px}.rtabs::-webkit-scrollbar{display:none}.rtab{padding:7px 12px 7px 8px;gap:8px;border-radius:var(--r-pill)}.rtab .ic{width:28px;height:28px;border-radius:50%}.rtab .ic svg{width:15px;height:15px}.rtab small{display:none}}@media (prefers-reduced-motion:reduce){.rtab,.rtab:hover{transition:none;transform:none}}.board{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--s-3);gap:var(--s-3)}.col{background:var(--surface-2);border-radius:var(--r-lg);padding:var(--s-3);min-height:320px}.col h3{margin:var(--s-1) var(--s-1) var(--s-3);font-size:var(--t-md);display:flex;justify-content:space-between}.col h3 .n{color:var(--accent)}.ho-box{background:var(--warn-soft);border-radius:var(--r-md);padding:.55rem .75rem .35rem;margin:.45rem 0 .6rem}.ho-box .fsec{color:var(--warn)}.ho-row{padding:.45rem 0;border-bottom:1px dashed rgba(180,83,9,.25);font-size:var(--t-sm);line-height:1.45}.ho-row:last-child{border-bottom:none}.ho-chip{display:inline-block;padding:1px 7px;background:var(--surface);font-weight:600;white-space:nowrap;vertical-align:1px}.ho-chip,.ho-count{margin-left:6px;border-radius:var(--r-pill);font-size:11px}.ho-count{padding:0 7px;background:var(--warn);color:#fff;font-weight:700}.ho-item{background:var(--surface-2);border-radius:var(--r-sm);padding:.45rem .6rem;margin-top:.4rem;font-size:var(--t-sm)}.ho-badge{display:inline-block;margin:3px 0;padding:2px 7px;border-radius:6px;background:var(--warn-soft);color:var(--warn);font-size:.72rem;font-weight:700}.vcard{background:var(--surface);border:none;border-radius:var(--r-md);padding:var(--s-3);margin-bottom:var(--s-2);box-shadow:var(--shadow);transition:box-shadow .12s ease,transform .12s ease}.vcard:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.vcard .name{font-weight:600;font-size:var(--t-md)}.vcard .hn{color:var(--ink-2);font-size:var(--t-xs)}.vcard .acts{margin-top:var(--s-2);display:flex;gap:var(--s-1)}.muted{color:var(--ink-2)}.err{color:var(--crit);font-size:var(--t-sm)}.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s-2) var(--s-3);gap:var(--s-2) var(--s-3)}.fgrid label{display:block;font-size:var(--t-xs);color:var(--ink-2);margin-bottom:.18rem;font-weight:500}.fgrid input,.fgrid select{width:100%}.fsec{font-weight:700;color:var(--accent);margin:1rem 0 .45rem;text-transform:none;letter-spacing:.01em}.chk,.fsec{font-size:var(--t-sm)}.chk{align-items:flex-start;gap:var(--s-2);margin-top:.8rem}.chk,.phead{display:flex}.phead{gap:var(--s-4);align-items:center;flex-wrap:wrap}.cp-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:var(--s-4);gap:var(--s-4);align-items:start}.cp-id{gap:var(--s-2)}.cp-id,.cp-title{display:flex;flex-direction:column;min-width:0}.cp-title{gap:5px}.cp-name{margin:0;font-size:var(--t-xl);font-weight:600;line-height:1.3;overflow-wrap:anywhere}.cp-sub{display:flex;align-items:center;gap:6px var(--s-2);flex-wrap:wrap;font-size:var(--t-sm);color:var(--ink-2)}.cp-sub .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--ink);font-weight:500}.cp-sub .cp-chip{height:22px;padding:0 var(--s-2);font-size:11px}.cp-meta{display:flex;gap:var(--s-2);flex-wrap:wrap}.cp-chip .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}a.cp-chip{text-decoration:none}a.cp-chip:hover{border-color:var(--line)}.cp-line{min-width:0;max-width:16em;overflow:hidden;text-overflow:ellipsis}.cp-cam{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;background:var(--surface);box-shadow:var(--shadow)}.cp-chips{display:flex;gap:var(--s-2);flex-wrap:wrap}.cp-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--s-3);border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:500;line-height:1;white-space:nowrap;background:var(--surface-2);color:var(--ink);border:1px solid transparent}.cp-chip b{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cp-chip.ok{background:var(--teal-soft);color:var(--teal)}.cp-chip.warn{background:var(--warn-soft);color:var(--warn)}.cp-chip.dim{color:var(--ink-2)}button.cp-chip{padding:0 var(--s-3);font-size:var(--t-xs);cursor:pointer}button.cp-chip:hover{background:var(--surface-2);border-color:var(--line)}button.cp-chip.ok:hover{background:var(--teal-soft);border-color:currentColor}button.cp-chip.warn:hover{background:var(--warn-soft);border-color:currentColor}.cp-main{display:flex;gap:var(--s-2)}.cp-main button{min-width:120px}.cp-tools{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--line)}.cp-tools .grow{flex:1 1}.cp-alert{margin:var(--s-3) 0 0;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--crit-soft);color:var(--crit);font-size:var(--t-sm);font-weight:500}.cp-tools .ic{line-height:1}.cp-tabs{margin-bottom:.8rem}@media (max-width:760px){.cp-card{padding:var(--s-4)}.cp-head{grid-template-columns:auto minmax(0,1fr);gap:var(--s-3);align-items:center}.cp-id{display:contents}.cp-chips,.cp-main,.cp-meta{grid-column:1/-1}.cp-main button{flex:1 1;min-width:0}.cp-meta{display:grid;grid-template-columns:auto minmax(0,1fr)}.cp-meta .cp-chip{height:36px;min-width:0;justify-content:center;gap:5px;padding:0 10px;font-size:var(--t-sm)}.cp-line{max-width:none}.cp-chips{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.cp-chips .cp-chip{height:auto;min-height:52px;flex-direction:column;justify-content:center;gap:3px;padding:6px 4px;border-radius:var(--r-md);white-space:normal;text-align:center;line-height:1.25}.cp-chips .cp-chip-l{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--ink-2)}.cp-chips .cp-chip b{font-size:var(--t-md)}.cp-tools{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:var(--s-2);gap:var(--s-2);align-items:stretch}.cp-tools .grow{display:none}.cp-tools button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;padding:6px 2px;border:none;border-radius:var(--r-md);background:var(--surface-2);white-space:normal;text-align:center;line-height:1.25}.cp-tools .ic{font-size:1.2rem}.cp-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2);margin:var(--s-3) 0}.cp-stats .stat{padding:var(--s-2) var(--s-3)}.cp-stats .stat .v{font-size:var(--t-xl)}.cp-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -.8rem .8rem;padding:2px .8rem;scrollbar-width:none}.cp-tabs::-webkit-scrollbar{display:none}.cp-tabs button{flex-shrink:0;white-space:nowrap}}.avatar{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--t-xl);flex-shrink:0}.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--s-3);gap:var(--s-3);margin:var(--s-4) 0}.stat{background:var(--surface);border:none;border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);box-shadow:var(--shadow)}.big-num,.stat .v{font-family:var(--font-latin),"Noto Sans Thai",sans-serif;font-size:var(--t-2xl);font-weight:300;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.2}.stat .l{font-size:var(--t-xs);color:var(--ink-2)}.pgrid{display:grid;grid-gap:var(--s-3);gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--s-4)}.pgrid>.card{margin:0}@media (max-width:1180px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.pgrid{grid-template-columns:1fr}}.pstat{display:grid;grid-gap:var(--s-3);gap:var(--s-3);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--s-4)}.pstat>.card{margin:0}@media (max-width:1180px){.pstat{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.pstat{grid-template-columns:1fr}}.tlwrap{overflow:auto;max-height:calc(100vh - 250px);max-height:calc(100dvh - 250px);border:1px solid var(--line);border-radius:var(--r-md);overscroll-behavior:contain}.tl{display:grid;position:relative;min-width:900px}.tl .thead{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--surface-2);font-size:var(--t-xs);font-weight:600;padding:.35rem .4rem;border-bottom:1px solid var(--line);text-align:center}.tl .tcorner{left:0;z-index:4}.tl .tcell{min-height:40px}.tl .tcell,.tl .ttime{border-bottom:1px dashed var(--line);border-right:1px solid var(--line)}.tl .ttime{position:-webkit-sticky;position:sticky;left:0;z-index:2;font-size:var(--t-xs);color:var(--ink-2);padding:.2rem .3rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.apt,.tl .ttime{background:var(--surface)}.apt{border-radius:var(--r-md);padding:.25rem .45rem;font-size:var(--t-xs);margin:1px 2px;border:1px solid var(--line);z-index:1;box-shadow:var(--shadow)}.apt,.apt .nm{overflow:hidden}.apt .nm{font-weight:600;white-space:nowrap;text-overflow:ellipsis}.apt.CONFIRMED{background:var(--teal-soft);border-color:var(--teal)}.apt.PENDING{background:var(--warn-soft);border-color:var(--warn)}.apt.CHECKED_IN,.apt.DONE{background:var(--accent-soft);border-color:var(--accent)}.apt.CANCELLED,.apt.NO_SHOW,.apt.RESCHEDULED{background:var(--crit-soft);border-color:var(--crit);opacity:.6;text-decoration:line-through}.modalbg{position:fixed;inset:0;background:rgba(18,20,28,.42);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:3vh 1rem}.modal{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--line);width:560px;max-width:100%;max-height:92vh;overflow-y:auto;padding:var(--s-5);box-shadow:var(--shadow-pop)}.sugwrap{position:relative}.sugbox{position:absolute;top:calc(100% + 4px);left:0;min-width:320px;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 10px 30px rgba(11,21,36,.14);z-index:30;max-height:300px;overflow-y:auto}.sugitem{padding:.55rem .85rem;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s-3);border-bottom:1px solid var(--line);font-size:var(--t-sm)}.sugitem:last-child{border-bottom:none}.sugitem:hover{background:var(--accent-soft)}.sugitem .m{color:var(--ink-2);font-size:var(--t-sm);white-space:nowrap}.poswrap{display:flex;gap:var(--s-4);align-items:flex-start}.posleft{flex:1 1;min-width:0}.poscart{width:380px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:1rem}.catrow{display:flex;justify-content:space-between;gap:var(--s-2);padding:.5rem .3rem;border-bottom:1px solid var(--line);font-size:var(--t-sm);align-items:center}.catrow:hover{background:var(--surface-2)}.catrow .price{font-weight:700;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cartline{justify-content:space-between;gap:var(--s-2);padding:.45rem 0;border-bottom:1px solid var(--line);font-size:var(--t-sm)}.cartline,.cartline .qty{display:flex;align-items:center}.cartline .qty{gap:var(--s-1)}.cartline .qty button{padding:.05rem .5rem;font-size:var(--t-sm)}.total{display:flex;justify-content:space-between;font-size:var(--t-lg);font-weight:700;padding:.7rem 0 .3rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:860px){.poswrap{flex-direction:column}.poscart{width:100%;position:static}}.chatsheet{position:fixed;inset:0;z-index:60;background:var(--surface);display:flex;flex-direction:column;height:100dvh;overflow:hidden;padding:.5rem .7rem calc(.5rem + env(safe-area-inset-bottom, 0px))}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.modalbg{background:rgba(18,20,28,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.chatsheet,.modal,.sugbox{background:var(--glass-bg);border-color:rgba(255,255,255,.5);box-shadow:var(--shadow-pop),var(--glass-edge)}.chatsheet,.modal,.sugbox,.topbar{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.6);border-bottom-color:rgba(255,255,255,.8)}.sugbox:before,.topbar:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.35) 30%,rgba(255,255,255,0) 55%,rgba(247,160,184,.35));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}}@supports ((-webkit-appearance:base-select) or (-moz-appearance:base-select) or (appearance:base-select)){@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){::picker(select){background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-pop),var(--glass-edge)}}}@media (max-width:860px){.shell{flex-direction:column}:root{--mnav-h:64px}.side{display:contents}.rail{display:none}.mnav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;box-sizing:border-box;padding:4px 4px env(safe-area-inset-bottom,0);background:rgba(255,255,255,.97);border-top:1px solid var(--rose-hair)}.mnav,.mnav-spacer{height:calc(var(--mnav-h) + env(safe-area-inset-bottom, 0px))}.mnav-spacer{display:block;order:3;flex-shrink:0}.mnav-btn{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;border-radius:12px;background:transparent;padding:0;font:inherit;font-weight:400;color:#7B5A67;text-decoration:none;cursor:pointer}.mnav-btn:hover{background:transparent;color:var(--plum)}.mnav-pill{width:48px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center}.mnav-btn.active{color:var(--rose-deep)}.mnav-btn.active .mnav-pill{background:var(--rose-soft)}.mnav-btn.active .mnav-lbl{font-weight:600}.mnav-lbl{font-size:11px;max-width:100%;padding:0 2px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mnav-btn .rail-dot{top:0;right:auto;left:50%;margin-left:6px;height:20px;line-height:16px;border:2px solid #fff}.msheet-bg{display:block;position:fixed;inset:0;z-index:44;border:0;border-radius:0;padding:0;cursor:default}.msheet-bg,.msheet-bg:hover{background:rgba(74,38,51,.36)}.msheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:45;height:88dvh;background:var(--cream);border-radius:24px 24px 0 0;box-shadow:0 -12px 40px rgba(74,38,51,.18);padding-bottom:env(safe-area-inset-bottom,0)}.msheet-grab{align-self:center;width:40px;height:5px;border-radius:999px;background:#E3CFD6;margin:8px 0 2px}.msheet-head{display:flex;align-items:center;gap:8px;padding:6px 16px 10px}.msheet-head h2{margin:0;flex:1 1;font-size:18px;font-weight:600}.msheet-edit{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--rose-hair);background:var(--surface);color:var(--plum);font:inherit;font-size:var(--t-sm);font-weight:400}.msheet-edit:hover{background:var(--surface-2)}.msheet-edit.on,.msheet-edit.on:hover{background:var(--rose);border-color:var(--rose)}.msheet-search{margin:0 16px 10px;height:44px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:14px;background:var(--surface);border:1px solid var(--rose-hair);color:var(--plum-2)}.msheet-search input{flex:1 1;min-width:0;border:0;border-radius:0;outline:none;padding:0;background:transparent;font:inherit;font-size:16px;color:var(--plum)}.msheet-tip{margin:0 16px 10px;padding:10px 12px;border-radius:12px;background:var(--rose-soft);color:#A5345A;font-size:12px}.msheet-body{flex:1 1;min-height:0;overflow-y:auto;padding:0 16px 20px}.msheet-grp{margin-bottom:14px}.msheet-gh{display:flex;align-items:center;gap:8px;padding:4px 2px 8px;font-size:14px;font-weight:600;color:var(--plum)}.msheet-gh .rail-fly-ic{width:26px;height:26px;border-radius:8px}.msheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.msheet-tile{position:relative;min-height:48px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;border:1px solid var(--rose-hair);color:var(--plum);font:inherit;font-size:var(--t-sm);font-weight:400;text-align:left;text-decoration:none;cursor:pointer}.msheet-tile,.msheet-tile:hover{background:var(--surface)}.msheet-tile svg:first-child{color:var(--plum-2);flex-shrink:0}.msheet-tile.active{background:var(--rose-soft)}.msheet-tile.active,.msheet-tile.picked{border-color:#F0B7C7}.msheet-tile .rail-dot{position:static;flex-shrink:0}.msheet-t{flex:1 1;min-width:0;line-height:1.35}.msheet-star{flex-shrink:0;color:#B48E9C}.msheet-star.on{color:#C98512;fill:#E9A23B}.msheet-empty{padding:30px 0;text-align:center;color:var(--plum-2);font-size:var(--t-sm)}.topbar{padding:.5rem .8rem}.tb-lbl,.tb-name{display:none}.topbar .bsel{max-width:52vw;text-overflow:ellipsis}.tb-right{gap:.5rem}.tb-right .av,button.tb-out{width:36px;height:36px}button.tb-out{padding:0;border:none;border-radius:50%;justify-content:center;color:var(--plum);background:rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(74,38,51,.06)}button.tb-out span{display:none}button.tb-out svg{display:block}main.content{padding:.9rem .8rem}.board{grid-template-columns:repeat(4,minmax(190px,1fr))}.board,.card{overflow-x:auto}h1{font-size:var(--t-xl);font-weight:400}}:root{--rose:#F7A0B8;--rose-2:#FBB6C4;--cream:#FAF5EC;--peach:#FAE9D7;--rose-soft:#FDE4EA;--rose-deep:#C2416B;--rose-line:#D9587F;--plum:#4A2633;--plum-2:#8A6875;--rose-hair:#F3DCE2;--font-latin:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif}.pub{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#FBD5DE;color:var(--plum)}.pub.quiet{background:var(--cream)}.pub-bg{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}.pub-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.9;animation:pubDrift 26s ease-in-out infinite alternate;will-change:transform}.pub-blob.b1{width:60vw;height:60vw;left:-16vw;top:-24vw;background:radial-gradient(circle,var(--rose) 0,transparent 62%)}.pub-blob.b2{width:52vw;height:52vw;right:-14vw;top:-6vh;background:radial-gradient(circle,#FFD9B8 0,transparent 62%);animation-delay:-9s}.pub-blob.b3{width:56vw;height:44vw;left:22vw;top:18vh;background:radial-gradient(circle,rgba(255,255,255,.95) 0,transparent 62%);animation-delay:-17s}.pub-blob.b4{width:64vw;height:46vw;left:30vw;bottom:-26vw;background:radial-gradient(circle,var(--rose-2) 0,transparent 62%);animation-delay:-5s}.pub-blob.b5{width:30vw;height:30vw;left:-6vw;bottom:4vh;background:radial-gradient(circle,#FFF2DE 0,transparent 62%);animation-delay:-12s}@keyframes pubDrift{0%{transform:translate(0) scale(1)}to{transform:translate(5vw,4vh) scale(1.12)}}.pub-grain{position:absolute;inset:0;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.9'/></svg>")}.pub-spark{position:absolute;fill:#fff;opacity:.8;filter:drop-shadow(0 0 6px rgba(255,255,255,.9));animation:pubTwinkle 4.5s ease-in-out infinite}.pub-spark.p{fill:var(--rose);filter:drop-shadow(0 0 8px rgba(247,160,184,.9))}.pub-spark.c{fill:#FFF1DC;filter:drop-shadow(0 0 8px rgba(255,241,220,.9))}@keyframes pubTwinkle{0%,to{transform:scale(.7);opacity:.35}50%{transform:scale(1.1);opacity:.95}}.pub.quiet .pub-blob{animation:none;opacity:.45;filter:blur(80px)}.pub.quiet .pub-grain,.pub.quiet .pub-spark{display:none}.pub-fg{position:relative;z-index:1;display:flex;flex-direction:column;flex:1 1}.pub-nav{justify-content:space-between;gap:var(--s-3);padding:18px 40px}.pub-brand,.pub-nav{display:flex;align-items:center}.pub-brand{gap:10px;font-family:var(--font-latin);font-weight:300;font-size:18px;letter-spacing:-.01em;color:var(--plum);text-decoration:none}.pub-brand svg{color:var(--rose-deep);flex-shrink:0}.pub-brand img{max-height:34px;max-width:160px;object-fit:contain;display:block}.pub-brand img.white{filter:drop-shadow(0 1px 3px rgba(194,65,107,.35))}.pub-nav-r{display:flex;gap:10px;align-items:center}.pub-pill{border-radius:var(--r-md);padding:8px 18px;color:var(--plum);font-size:var(--t-sm);text-decoration:none;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.55)}.pub-pill:hover{background:rgba(255,255,255,.75)}.pub-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 20px 40px;flex:1 1;justify-content:center}.pub.quiet .pub-hero{justify-content:flex-start;align-items:stretch;text-align:left;padding:0 20px 40px}.pub-badge{border-radius:var(--r-pill);padding:6px 16px;margin-bottom:18px;font-size:var(--t-sm);display:inline-flex;align-items:center;gap:12px;color:var(--plum-2)}.pub-badge .sep{color:rgba(194,65,107,.3)}.pub-badge a{color:var(--rose-deep);text-decoration:none;display:inline-flex;align-items:center;gap:5px}.pub-badge a:hover,.pub-h{color:var(--plum)}.pub-h{font-family:var(--font-latin);font-weight:200;font-size:clamp(38px,7vw,72px);letter-spacing:-1.5px;line-height:1.08;text-shadow:0 2px 24px rgba(247,160,184,.55);margin:0;max-width:14ch;text-wrap:balance}.pub-h.sm{font-size:clamp(28px,4.6vw,44px);letter-spacing:-1px;max-width:22ch}.pub-h .w{display:inline-block;white-space:pre}.pub-h .ch{display:inline-block;opacity:0;animation:pubCharUp .8s cubic-bezier(.215,.61,.355,1) forwards}.pub-h.th{font-family:Noto Sans Thai,Segoe UI,sans-serif;font-weight:300;letter-spacing:-.02em}.pub-sub{color:var(--plum-2);max-width:32rem;margin:16px 0 24px;font-size:clamp(13px,1.4vw,16px);line-height:1.65}.pub-mark{display:block;margin:0 auto 28px;filter:drop-shadow(0 8px 20px rgba(247,160,184,.55));animation:pubFloat 6s ease-in-out infinite}@keyframes pubFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.glass-holo{position:relative;overflow:hidden;background:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 8px 32px rgba(194,65,107,.1),inset 0 1px 0 rgba(255,255,255,.9)}.glass-holo:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.35) 30%,rgba(255,255,255,0) 55%,rgba(247,160,184,.35));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.pub-card{width:100%;max-width:400px;border-radius:24px;padding:26px 26px 22px;text-align:left}.pub-card.wide{max-width:620px}.pub-card.center{text-align:center}.pub-card h3{font-weight:500;font-size:var(--t-lg);letter-spacing:-.01em;margin:0 0 var(--s-2);color:var(--plum);text-wrap:balance}.pub-card .f{margin-bottom:14px}.pub-card .f2{display:grid;grid-template-columns:minmax(0,1fr) 132px;grid-gap:0 10px;gap:0 10px}.pub-card input.otp{width:100%;text-align:center;letter-spacing:8px;font-size:1.3rem;font-family:var(--font-latin)}.pub-card input.otp::placeholder{letter-spacing:0;font-size:var(--t-md);font-family:Noto Sans Thai,Segoe UI,sans-serif}.pub .fgrid label,.pub-card .f>label{display:block;font-size:var(--t-xs);color:var(--plum-2);margin:0 0 5px 2px;letter-spacing:.02em;font-weight:500}.pub-card input,.pub-card select,.pub-card textarea{background-color:rgba(255,255,255,.6);border-color:rgba(194,65,107,.18);color:var(--plum);transition:border-color .15s,box-shadow .15s}.pub-card .f>input,.pub-card .f>select{width:100%}.pub-card input::placeholder{color:rgba(138,104,117,.6)}.pub-card input:focus,.pub-card select:focus,.pub-card textarea:focus{outline:none;border-color:var(--rose-line);box-shadow:0 0 0 3px rgba(247,160,184,.45)}.pub .fsec{color:var(--rose-deep)}.pub .muted{color:var(--plum-2)}.pub a{color:var(--rose-deep)}.pub .chk{color:var(--plum)}.pub .btn-glass,.pub .btn-line,.pub .btn-rose{width:100%;border:none;border-radius:var(--r-md);padding:11px 20px;font-size:var(--t-md);font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,transform .12s,filter .15s}.pub .btn-rose{background:var(--rose);color:var(--plum)}.pub .btn-rose:hover{background:#F48FAB;filter:none}.pub .btn-rose svg{transition:transform .2s}.pub .btn-rose:hover svg{transform:translate(2px,-2px)}.pub .btn-glass{background:rgba(255,255,255,.5);color:var(--plum)}.pub .btn-glass:hover{background:rgba(255,255,255,.7);filter:none}.pub .btn-line{background:#06C755;color:#fff;font-weight:600}.pub .btn-glass:disabled,.pub .btn-line:disabled,.pub .btn-rose:disabled{opacity:.45}.pub .btn-glass.auto,.pub .btn-rose.auto{width:auto;display:inline-flex}.pub button.ghost{background:transparent;color:var(--plum);border:1px solid rgba(194,65,107,.25)}.pub button.ghost:hover{background:rgba(255,255,255,.5)}.pub .line-dot{width:10px;height:10px;border-radius:50%;background:#06C755;box-shadow:0 0 8px rgba(6,199,85,.6);flex-shrink:0}.pub-ok{background:rgba(6,199,85,.12);border-radius:var(--r-sm);padding:7px 12px;font-size:var(--t-sm);display:flex;align-items:center;gap:8px}.pub-icon{width:44px;height:44px;color:var(--rose-deep);margin:2px auto 8px;display:block}.pub-icon.spin{animation:pubSpin 1.2s linear infinite}@keyframes pubSpin{to{transform:rotate(1turn)}}.pub-foot{text-align:center;font-size:var(--t-xs);color:var(--plum-2);padding:0 24px 22px;font-family:var(--font-latin);font-weight:300;letter-spacing:.02em}.pub-foot a{color:var(--plum-2);text-decoration:none}.pub-foot a:hover{color:var(--plum)}.pub .fu{opacity:0;animation:pubFadeUp .9s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--d,0s)}@keyframes pubFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes pubCharUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pub .fu,.pub-h .ch{animation:none;opacity:1}.pub-blob,.pub-mark,.pub-spark{animation:none}}@media (max-width:640px){.pub-nav{padding:14px 18px}.pub-blob{filter:blur(40px)}.pub-blob.b3,.pub-blob.b5{display:none}.pub-hero{padding:12px 14px 28px}.pub.quiet .pub-hero{padding:0 14px 28px}.pub-card{padding:20px 18px 18px;border-radius:20px}.pub-h{letter-spacing:-1px}.pub-badge .sep,.pub-badge a{display:none}.pub-card .f2{grid-template-columns:minmax(0,1fr)}.pub-foot{line-height:1.7}}.nb{position:static}.nb-btn{position:relative;width:36px;height:36px;padding:0;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--plum);background:rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(74,38,51,.06)}.nb-btn:hover{background:var(--rose-soft)}.nb-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(247,160,184,.45)}.nb-dot{position:absolute;top:-3px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--crit);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}.nb-panel{position:absolute;top:calc(100% + 6px);right:1.2rem;z-index:40;width:min(400px,calc(100vw - 24px));max-height:min(72vh,620px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);border:1px solid var(--line)}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.nb-panel{background:rgba(255,255,255,.9);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:rgba(255,255,255,.6);box-shadow:var(--shadow-pop),var(--glass-edge)}}.nb-head{align-items:center;justify-content:space-between;padding:.65rem .8rem .45rem}.nb-head,.nb-tabs{display:flex;flex-shrink:0}.nb-tabs{gap:.25rem;padding:.1rem .6rem .45rem;border-bottom:1px solid var(--line);overflow-x:auto}.nb-tab{border:none;background:none;padding:.3rem .6rem;border-radius:var(--r-pill);font-size:var(--t-sm);color:var(--ink-2);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.3rem}.nb-tab.on{background:var(--rose-soft);color:var(--plum);font-weight:600}.nb-count{background:var(--crit);color:#fff;border-radius:var(--r-pill);font-size:10px;font-weight:700;padding:0 5px;line-height:16px}.nb-body{overflow-y:auto;flex:1 1 auto;min-height:0}.nb-item{display:block;width:100%;text-align:left;border:none;background:none;cursor:pointer;color:var(--ink);padding:.6rem .85rem .6rem 1.1rem;border-bottom:1px solid var(--line);position:relative;font:inherit;border-radius:0}.nb-item:hover{background:rgba(253,228,234,.45)}.nb-item.unread{background:rgba(253,228,234,.3)}.nb-item.unread:before{content:"";position:absolute;left:.45rem;top:1rem;width:7px;height:7px;border-radius:50%;background:var(--accent)}.nb-title{font-size:var(--t-sm);line-height:1.4}.nb-item.unread .nb-title{font-weight:600}.nb-time{font-size:11px;white-space:nowrap;flex-shrink:0}.nb-text{font-size:var(--t-xs);color:var(--ink-2);margin-top:2px;line-height:1.5;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.nb-cat{display:inline-block;margin-top:4px;font-size:10px;color:var(--accent);background:var(--rose-soft);border-radius:var(--r-pill);padding:0 7px}.nb-pref{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem 0;border-bottom:1px dashed var(--line);font-size:var(--t-sm);cursor:pointer}.nb-pref input{width:18px;height:18px;flex-shrink:0}@media (max-width:860px){.nb-panel{right:12px}}