@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-500-normal-BC04jsmm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-thai-700-normal-Cm52XUnT.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-700-normal-C9ISMlQq.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-latin-ext-700-normal-uJk63onE.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-700-normal-xdwl2Xg6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-latin-700-normal-_dn-40wb.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-700-normal-C4AMFKt5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-serif-thai-thai-500-normal-C6yhuT-e.woff2) format("woff2"),url(/assets/noto-serif-thai-thai-500-normal-BhdBeid2.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-serif-thai-latin-ext-500-normal-Dtcfj3n3.woff2) format("woff2"),url(/assets/noto-serif-thai-latin-ext-500-normal-BMiZmQRz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-serif-thai-latin-500-normal-DiljKC-A.woff2) format("woff2"),url(/assets/noto-serif-thai-latin-500-normal-D2qQp2Bb.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-serif-thai-thai-600-normal-BPIYqBcd.woff2) format("woff2"),url(/assets/noto-serif-thai-thai-600-normal-Bi2iA5nV.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-serif-thai-latin-ext-600-normal-CCPw-m5N.woff2) format("woff2"),url(/assets/noto-serif-thai-latin-ext-600-normal-Bn5dVPRl.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-serif-thai-latin-600-normal-DrhQiPUG.woff2) format("woff2"),url(/assets/noto-serif-thai-latin-600-normal-B_GHqjz6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.pwa-update-notice{position:fixed;z-index:70;right:.75rem;bottom:var( --pwa-update-offset, calc(.75rem + env(safe-area-inset-bottom, 0px)) );left:.75rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;max-width:34rem;margin:0 auto;padding:.75rem .9rem;border:1px solid #c89439;border-radius:.85rem;background:#fffdf9;box-shadow:0 .75rem 1.75rem #291d1c47;color:#291d1c}.pwa-update-notice__text{flex:1 1 14rem;margin:0;font-size:.95rem;line-height:1.35}.pwa-update-notice__action{min-height:48px;padding:0 1.1rem;border:1px solid #5b1428;border-radius:.6rem;background:#5b1428;color:#f7f1e7;font:inherit;font-weight:600;cursor:pointer}.pwa-update-notice__action:hover{background:#3c0e1b}.pwa-update-notice__action:focus-visible{outline:3px solid #c89439;outline-offset:2px}@media(prefers-reduced-motion:no-preference){.pwa-update-notice{animation:pwa-update-notice-in .16s ease-out}}@keyframes pwa-update-notice-in{0%{transform:translateY(.5rem);opacity:0}}:root.pwa-update-active .admin-editor-drawer__footer{padding-bottom:calc(max(12px,env(safe-area-inset-bottom)) + 5.5rem)}:root.pwa-update-active .admin-dialog--modal{padding-bottom:calc(16px + 5.5rem)}:root.pwa-update-active .mobile-calendar-shell{padding-bottom:calc(10.25rem + env(safe-area-inset-bottom,0px))}.admin-availability-picker{display:grid;grid-column:1 / -1;min-width:0;gap:1rem}.admin-availability-picker fieldset{min-width:0;padding:0;margin:0;border:0}.admin-availability-picker legend{padding:0;margin-bottom:.55rem;color:var(--text-secondary, #615755);font-size:.78rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.admin-availability-picker .admin-availability-picker__hint{margin:.35rem 0 0;color:var(--text-secondary, #615755)}.admin-availability-picker__error{margin:0;color:#861a2b}.admin-availability-picker .admin-availability-picker__day-other-icon{display:flex;align-items:center;justify-content:center}.admin-availability-picker .admin-availability-picker__day-other-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:var(--brand, #5b1421);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.admin-availability-picker input.admin-availability-picker__date-input{position:absolute;box-sizing:border-box;width:1px;min-width:0;max-width:1px;height:1px;min-height:0;max-height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;pointer-events:none}.admin-availability-picker__day-scroll{position:relative;min-width:0}.admin-availability-picker .admin-availability-picker__day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;min-width:0}.admin-availability-picker__day-scroll-cue{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;height:2.5rem;padding-bottom:.15rem;color:var(--brand, #5b1421);background:linear-gradient(to bottom,rgb(255 255 255 / 0%),var(--bg-canvas, #fffaf1) 85%);border-bottom-right-radius:var(--radius-md, .75rem);border-bottom-left-radius:var(--radius-md, .75rem);pointer-events:none}.admin-availability-picker__day-scroll-cue svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;animation:admin-availability-picker-cue 1.6s ease-in-out infinite}@keyframes admin-availability-picker-cue{0%,to{transform:translateY(-.1rem)}50%{transform:translateY(.15rem)}}@media(prefers-reduced-motion:reduce){.admin-availability-picker__day-scroll-cue svg{animation:none}}.admin-availability-picker button.admin-availability-picker__day{display:grid;min-width:0;min-height:3.75rem;align-self:stretch;align-content:center;justify-items:center;gap:.05rem;padding:.4rem .2rem;color:var(--text-primary, #201816);font-size:.78rem;line-height:1.15;text-align:center;background:var(--bg-canvas, #fffaf1);border:1px solid var(--border, #ded3c4);border-radius:var(--radius-md, .75rem)}.admin-availability-picker .admin-availability-picker__day strong{color:var(--brand, #5b1421);font-size:.82rem;overflow-wrap:anywhere}.admin-availability-picker .admin-availability-picker__day span{color:var(--text-secondary, #615755);font-size:.72rem;font-variant-numeric:tabular-nums}.admin-availability-picker .admin-availability-picker__day em{color:var(--text-secondary, #615755);font-size:.7rem;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}.admin-availability-picker button.admin-availability-picker__day.is-selected{color:var(--text-inverse, #fff);background:var(--brand, #5b1421);border-color:var(--brand, #5b1421)}.admin-availability-picker .admin-availability-picker__day.is-selected strong,.admin-availability-picker .admin-availability-picker__day.is-selected span,.admin-availability-picker .admin-availability-picker__day.is-selected em{color:var(--text-inverse, #fff)}.admin-availability-picker button.admin-availability-picker__day:disabled{cursor:not-allowed;opacity:.5}.admin-availability-picker__times{display:grid;gap:.5rem}.admin-availability-picker .admin-availability-picker__slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;min-width:0}.admin-availability-picker button.admin-availability-picker__slot{display:flex;min-width:0;align-self:stretch;min-height:3.25rem;gap:.3rem;align-items:center;justify-content:center;padding:.5rem .35rem;color:var(--brand, #5b1421);font-variant-numeric:tabular-nums;text-align:center;background:var(--bg-subtle, #fff4e3);border:1px solid var(--border, #ded3c4);border-radius:var(--radius-md, .75rem)}.admin-availability-picker .admin-availability-picker__slot strong{font-size:.95rem;white-space:nowrap}.admin-availability-picker .admin-availability-picker__slot-mark{width:.9rem;font-weight:900}.admin-availability-picker button.admin-availability-picker__slot.is-selected{color:var(--text-inverse, #fff);background:var(--brand, #5b1421);border-width:2px;border-color:var(--brand, #5b1421);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand, #5b1421) 22%,transparent)}.admin-availability-picker button.admin-availability-picker__slot:disabled{cursor:not-allowed;opacity:.55}@media(max-width:640px){.admin-availability-picker .admin-availability-picker__day-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:17rem;padding:.2rem;overflow-y:auto}.admin-availability-picker button.admin-availability-picker__day{min-height:3.25rem}.admin-availability-picker .admin-availability-picker__slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
