@import"https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&family=Comfortaa:wght@600;700&family=Instrument+Sans:wght@400;500;600;700&family=Kodchasan:wght@500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{--cream: #f8f2e7;--cream-deep: #eedbc0;--cream-soft: #fffaf2;--ink: #24190f;--ink-soft: #5d4a34;--orange: #f79e34;--orange-deep: #ed9121;--sand: #f5d79e;--brown: #7a4b22;--panel: rgba(255, 255, 255, .94);--line: rgba(122, 75, 34, .14);--shadow: 0 18px 34px rgba(73, 47, 20, .12);--shadow-soft: 0 10px 18px rgba(73, 47, 20, .08)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;background:linear-gradient(180deg,#f7f0f4,#efe7de);color:var(--ink);font-family:Instrument Sans,Segoe UI,sans-serif}button,input,select{font:inherit}button{border:0;padding:0;background:none;cursor:pointer}input,select{border:0;outline:none}.mobile-app,.loading-shell,.auth-shell{min-height:100vh;display:grid;place-items:center}.phone-shell,.auth-panel{width:min(100%,430px);min-height:100vh;position:relative;overflow:hidden}.phone-shell{background:radial-gradient(circle at top left,rgba(255,255,255,.62),transparent 30%),linear-gradient(180deg,#faf5f9,#f8f2e7 58%,#efdcc1)}.phone-content{min-height:100vh;padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))}.screen{min-height:100vh;padding:22px 18px 24px;display:grid;gap:16px}.screen--groom{min-height:auto;padding-top:14px}.screen--loyalty{min-height:calc(100vh - 98px - env(safe-area-inset-bottom,0px));align-content:start;gap:14px;padding-top:20px}.screen--contact{min-height:calc(100vh - 98px - env(safe-area-inset-bottom,0px));align-content:center;gap:22px;padding-top:30px}.contact-toolbar{display:flex;align-items:center;justify-content:flex-start}.contact-toolbar__title{margin:0;font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-size:1.88rem;font-weight:800;line-height:1;color:var(--ink)}.groom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.groom-toolbar__title{margin:0;font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-size:1.25rem;font-weight:800;line-height:1.1;color:var(--ink)}.header-block{display:grid;gap:12px}.header-block__action{display:flex;justify-content:flex-end}.header-block__brand{display:flex;gap:14px;align-items:flex-start}.header-block__brand img{width:58px;height:58px;padding:8px;border-radius:18px;background:linear-gradient(180deg,#fff1be,#ffd57f);box-shadow:var(--shadow-soft)}.eyebrow{color:var(--brown);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.header-block h1{margin:4px 0 0;font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-weight:800;font-size:1.9rem;line-height:1.06}.header-block p{margin:8px 0 0;color:var(--ink-soft);font-size:1rem;line-height:1.2}.panel,.dialog-card,.loading-card{border-radius:28px;background:var(--panel);box-shadow:var(--shadow)}.loading-card{width:min(320px,calc(100vw - 32px));padding:28px 22px;display:grid;justify-items:center;gap:12px}.loading-card img{width:72px;height:72px}.loading-card strong{font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-weight:700;font-size:1.25rem}.auth-shell{background:linear-gradient(180deg,#f9b340,#f8a322)}.auth-panel{padding:34px 20px 18px;display:grid;align-content:start;gap:12px;background:radial-gradient(circle at top right,rgba(255,255,255,.2),transparent 24%),radial-gradient(circle at 18% 18%,rgba(255,244,212,.22),transparent 18%),linear-gradient(180deg,#f9b340,#f8a322)}.auth-brand{display:grid;gap:8px;justify-items:center;text-align:center}.auth-brand img{width:82px;height:82px;filter:drop-shadow(0 12px 20px rgba(121,74,34,.14))}.auth-brand span{display:inline-block;margin-top:8px;padding:.38rem .72rem;border-radius:999px;background:#fff8ec42;color:#fffffff5;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 0 0 1px #ffffff2e}.auth-brand__title,.auth-brand h1{margin:0;color:#fff;font-family:Comfortaa,Kodchasan,Plus Jakarta Sans,Instrument Sans,sans-serif;font-size:clamp(1.96rem,7vw,2.28rem);font-style:italic;font-weight:700;line-height:1;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;text-shadow:0 8px 20px rgba(117,66,17,.14)}.auth-brand p{margin:8px 0 0;color:#fffffff2;font-size:1.08rem;line-height:1.2}.auth-switcher{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:5px;border-radius:999px;background:#fff5e53d;box-shadow:inset 0 0 0 1px #ffffff1f,0 14px 24px #794a2214}.auth-switcher button{min-height:48px;padding:.74rem .9rem;border-radius:999px;background:transparent;color:#fff8eceb;font-weight:800;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}.auth-switcher button.selected{background:#fffaf2f7;color:var(--brown);box-shadow:0 8px 18px #794a221f}.auth-notice{padding:12px 14px;border-radius:18px;background:#fff7daeb;color:#6f4b16;line-height:1.35}.auth-notice.error{background:#ffe7e4f5;color:#8f1d18}.google-button{width:100%;min-height:52px;padding:.84rem 1rem;border-radius:999px;background:linear-gradient(180deg,#fffffffa,#fffaf2f0);color:#2d1f13;display:flex;align-items:center;justify-content:flex-start;gap:12px;font-weight:800;box-shadow:0 14px 22px #794a221a,inset 0 0 0 1px #7a4b220f}.google-button__mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff7e7,#ffefd0);color:#c86100;font-weight:700;box-shadow:inset 0 0 0 1px #f79e3429}.google-button__label{flex:1;text-align:center;transform:translate(-16px)}.auth-form{display:grid;gap:10px;padding:16px;border-radius:26px;background:linear-gradient(180deg,#fffffff7,#fffbf5f0);box-shadow:0 18px 30px #794a221c,inset 0 0 0 1px #7a4b220d}.form-field{display:grid;gap:5px}.form-field span{color:var(--ink-soft);font-size:.82rem;font-weight:700}.form-field input,.form-field select{width:100%;min-height:44px;padding:.78rem .95rem;border-radius:18px;background:linear-gradient(180deg,#fff,#fffcf7);border:1px solid rgba(122,75,34,.12);color:var(--ink);box-shadow:inset 0 2px 4px #492f1408}.form-hint{margin:-2px 0 0;color:var(--ink-soft);font-size:.84rem;line-height:1.35}.form-hint--warning{color:#9a5b15}.primary-button,.secondary-button,.ghost-button{padding:.9rem 1.05rem;border-radius:999px;font-weight:700;letter-spacing:.02em}.primary-button{background:linear-gradient(180deg,#c8741f,#96551b);color:#fff;box-shadow:0 16px 24px #874a162e}.primary-button:disabled{opacity:.65;cursor:default}.secondary-button{background:#f79e3424;color:var(--brown)}.ghost-button{background:#ffffffbd;color:var(--brown)}.text-button{justify-self:start;color:#fffffff5;font-size:.92rem;font-weight:700;text-decoration:underline;text-underline-offset:.14em}.auth-form .text-button{color:var(--brown);justify-self:end;margin-top:2px}.auth-continue-button{min-height:50px;margin-top:2px;font-size:.98rem}.text-button:disabled{opacity:.6;cursor:default}.loyalty-toolbar{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px}.loyalty-toolbar__copy{min-width:0}.loyalty-toolbar__title{margin:0;font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-size:1.88rem;font-weight:800;line-height:1;color:var(--ink)}.loyalty-toolbar__name{margin:4px 0 0;color:#ff6f00;font-size:.98rem;font-weight:700;line-height:1.2}.loyalty-card-stage{display:grid;align-items:start;margin-top:18px}.loyalty-fact-card{margin-top:8px;margin-bottom:18px;padding:0;border-radius:26px;background:radial-gradient(circle at top right,rgba(255,238,209,.78),transparent 38%),linear-gradient(180deg,#fffffffa,#fffaf2f5)}.loyalty-panel__visual{position:relative;padding:0;border-radius:28px;background:transparent;overflow:hidden;display:flex;align-items:center;justify-content:center}.loyalty-panel__visual--full{min-height:0}.loyalty-panel__card{width:100%;height:auto;display:block;border-radius:28px;object-fit:contain;opacity:1}.loyalty-panel__qr-button{position:absolute;right:12px;bottom:12px;padding:0;border-radius:14px;background:#fffffffa;box-shadow:0 12px 22px #492f1424;cursor:pointer}.loyalty-panel__qr{width:78px;height:78px;padding:6px;border-radius:14px;display:block}.loyalty-panel__points{position:absolute;right:102px;bottom:16px;max-width:106px;color:#2b1d10;text-align:right}.loyalty-panel__points span{display:inline-flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-size:.9rem;font-weight:800;line-height:1;padding:.52rem .72rem;border-radius:999px;background:#ffffffeb;box-shadow:0 8px 16px #492f1414}.loyalty-fact-card__button{width:100%;padding:16px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;text-align:left}.loyalty-fact-card__icon{width:58px;height:58px;border-radius:50%;background:linear-gradient(180deg,#fff7e7,#ffe6bd);box-shadow:inset 0 0 0 1px #f79e3424,0 8px 16px #f79e341f;display:grid;place-items:center;color:#ff8a00}.loyalty-fact-card__icon .app-icon{width:28px;height:28px}.loyalty-fact-card__copy{display:grid;gap:3px}.loyalty-fact-card__eyebrow{color:#f08200;font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.loyalty-fact-card__text{color:var(--ink);font-family:Instrument Sans,Segoe UI,sans-serif;font-size:.98rem;font-weight:700;line-height:1.26}.contact-card-button{width:100%;padding:0;border-radius:28px;overflow:hidden;box-shadow:0 18px 32px #180d0838}.contact-card-image{width:100%;height:auto;display:block;border-radius:28px}.contact-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.contact-action{text-decoration:none;color:var(--ink);display:grid;justify-items:center;gap:8px}.contact-action__icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fffffffa,#fffaf2f5);box-shadow:0 12px 22px #492f141f,inset 0 0 0 1px #7a4b2214}.contact-action__icon .app-icon{width:28px;height:28px}.contact-action__label{font-size:.9rem;font-weight:700;line-height:1.15;text-align:center}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b130d80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px;z-index:40}.dialog-card{width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:20px;display:grid;gap:14px;overflow:hidden}.dialog-card h3{margin:0;font-family:Plus Jakarta Sans,Instrument Sans,sans-serif;font-size:1.45rem;font-weight:750}.dialog-card p{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.5}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-close{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f79e341f;color:var(--brown);font-size:1.3rem;line-height:1}.dialog-copy{text-align:left}.dialog-qr{width:100%;max-width:260px;margin:0 auto;border-radius:18px;background:#fff;padding:10px}.controls-panel,.access-panel{padding:18px;display:grid;gap:12px}.schedule-panel-web{position:relative;padding:0;overflow:hidden}.schedule-panel-web__head{display:grid;gap:10px;padding:18px}.schedule-panel-web__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-chip{padding:.5rem .82rem;border-radius:999px;background:#f79e3424;color:var(--brown);font-weight:700}.schedule-chip--button{display:grid;gap:2px;justify-items:start;padding:.8rem .95rem;border-radius:18px;text-align:left}.schedule-date-trigger{position:relative;overflow:hidden}.schedule-chip__label{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.schedule-chip--button strong{font-size:.98rem;line-height:1.2}.schedule-booking-button{width:100%;background:transparent;border:1.5px solid rgba(237,145,33,.6);color:var(--orange-deep);box-shadow:none}.schedule-booking-button:hover,.schedule-booking-button:active{background:#f79e3414}.schedule-booking-button:disabled{opacity:.55;cursor:default}.schedule-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:auto;cursor:pointer}.status-copy{margin:0;padding:0 18px 12px;color:var(--ink-soft);text-align:center}.inline-notice{padding:12px 14px;border-radius:18px;background:#fff7daf0;color:#6f4b16;line-height:1.35}.inline-notice.error{background:#ffe7e4f5;color:#8f1d18}.schedule-list{display:grid;background:#fffdf8;padding-bottom:94px}.schedule-list__head,.schedule-item{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:14px 18px}.schedule-list__head{color:#6b635c;font-size:.82rem;font-weight:700;text-transform:uppercase;border-top:1px solid #efe4d7;border-bottom:1px solid #efe4d7}.schedule-item{border-bottom:1px solid #efe4d7;width:100%;padding-left:14px;text-align:left;transition:background-color .12s ease,border-color .12s ease}.schedule-item span:last-child{text-transform:lowercase}.schedule-item:disabled{cursor:default}.schedule-item:not(:disabled){cursor:pointer}.schedule-item:not(:disabled):active{transform:scale(.998)}.schedule-item--open{background:#fff}.schedule-item--booked{background:#fff6ec}.schedule-item--mine{background:#eef8ee}.schedule-item--closed{background:#fadad8}.access-panel h3{margin:0;font-size:1.35rem}.access-panel p{margin:0;color:var(--ink-soft);line-height:1.35}.booking-dialog{width:min(390px,calc(100vw - 20px));text-align:left}.booking-dialog h3{margin:0}.booking-dialog__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-soft);font-size:.85rem}.booking-form{display:grid;gap:14px;min-height:0}.booking-form__scroll{display:grid;gap:12px;min-height:0;max-height:calc(100vh - 245px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.dialog-actions--sticky{padding-top:4px;border-top:1px solid var(--line)}.auth-form--compact{padding:0;border-radius:0;background:transparent;box-shadow:none}.details-list{display:grid;gap:12px}.detail-row{display:grid;gap:3px;text-align:left}.detail-row span{color:var(--ink-soft);font-size:.8rem;font-weight:700}.detail-row strong{font-size:1rem;color:var(--ink)}.picker-list{display:grid;gap:10px}.picker-item{width:100%;padding:.95rem 1rem;border-radius:16px;background:#f79e341a;color:var(--ink);text-align:left;font-weight:700}.picker-item.selected{background:#f79e3438;color:var(--brown)}.header-actions{display:grid;grid-template-columns:repeat(4,42px);justify-content:end;gap:8px}.header-actions--loyalty{grid-template-columns:repeat(4,1fr);width:100%;gap:10px;margin-top:4px}.action-button{display:inline-flex;align-items:center;gap:8px}.action-button--icon{width:42px;height:42px;justify-content:center;padding:0;border-radius:14px}.header-actions--loyalty .action-button--icon{width:100%;height:48px;border-radius:16px;position:relative;box-shadow:0 10px 18px #5431080f,inset 0 0 0 1px #7a4b220f;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease}.action-button .app-icon{width:16px;height:16px}.header-actions--loyalty .action-button .app-icon{width:19px;height:19px;stroke-width:1.7}.header-actions--loyalty .action-button--icon:active{transform:translateY(1px) scale(.992);box-shadow:0 6px 10px #5431080d,inset 0 0 0 1px #7a4b2214}.header-actions--loyalty .action-button--edit{background:linear-gradient(180deg,#fff7e8fa,#ffeed1f5);color:#9a5b15}.header-actions--loyalty .action-button--terms,.header-actions--loyalty .action-button--signout{background:linear-gradient(180deg,#fffffffa,#fcf9f4f5);color:#7b593a}.header-actions--loyalty .action-button--delete{background:linear-gradient(180deg,#fff8f6fa,#ffefebf5);color:#a05d4f}.header-actions--loyalty .action-button--icon:hover{box-shadow:0 12px 20px #54310814,inset 0 0 0 1px #7a4b2214}.bottom-bar{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(calc(100% - 24px),396px);display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:6px;border-radius:999px;background:#fffbf4f0;box-shadow:0 14px 30px #3d230924,inset 0 0 0 1px #7a4b2214;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30}.bottom-bar__item{text-decoration:none;color:#372c20c2;display:inline-grid;justify-items:center;gap:6px;padding:12px 4px 13px;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.01em;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}.bottom-bar__item.selected{background:linear-gradient(180deg,#fff6ea,#ffe9ca);color:#f08200;box-shadow:inset 0 0 0 1px #f5b04c38,0 6px 14px #f79e341f}.app-icon{width:26px;height:26px;flex:0 0 auto}@media (min-width: 431px){.mobile-app,.auth-shell,.loading-shell{padding:0 16px}.phone-shell,.auth-panel{box-shadow:0 24px 48px #492f1424}}@media (max-width: 360px){.booking-grid{grid-template-columns:1fr}.loyalty-toolbar{align-items:stretch;flex-direction:column}.screen--loyalty{min-height:auto}.screen--contact{min-height:auto;align-content:start;padding-top:24px}.loyalty-card-stage{margin-top:14px}.loyalty-fact-card{margin-top:8px;margin-bottom:10px}.loyalty-panel__points{right:92px;bottom:14px;max-width:78px}.loyalty-panel__points span{font-size:.84rem;padding:.46rem .62rem}.loyalty-panel__qr{width:72px;height:72px}.bottom-bar{width:min(calc(100% - 18px),396px);bottom:calc(8px + env(safe-area-inset-bottom,0px))}.bottom-bar__item{font-size:.74rem;padding:11px 4px 12px}.contact-actions{gap:10px}.contact-action__icon{width:60px;height:60px}.contact-action__label{font-size:.82rem}.schedule-panel-web__controls{grid-template-columns:1fr}.header-actions--loyalty{grid-template-columns:repeat(4,1fr);width:100%;gap:8px}.header-block__action,.header-actions{justify-content:stretch}.auth-brand__title,.auth-brand h1{font-size:1.86rem}.google-button__label{transform:none}}
