:root{color-scheme:light;--color-ink-950: #24152f;--color-ink-800: #3e2948;--color-ink-700: #57445f;--color-ink-600: #6f6275;--color-ink-500: #817687;--color-jade-800: #005447;--color-jade-700: #006c5b;--color-jade-600: #07866f;--color-jade-500: #14a086;--color-jade-100: #def5ed;--color-jade-50: #f0fbf7;--color-purple-700: #714092;--color-purple-600: #8b55aa;--color-purple-100: #f0e2f7;--color-gold-600: #a6813d;--color-gold-500: #c2a059;--color-gold-100: #f8efd8;--color-rose-100: #fae8f2;--color-rose-50: #fff6fb;--color-sand-50: #fffafc;--color-sand-100: #f7f0f7;--color-surface: rgba(255, 255, 255, .82);--color-surface-strong: rgba(255, 255, 255, .94);--color-danger-700: #a52f43;--color-danger-600: #c23b53;--color-danger-100: #ffe6ea;--color-info-700: #315d83;--color-info-100: #e6f2fb;--color-border: rgba(90, 62, 101, .14);--color-border-strong: rgba(90, 62, 101, .24);--color-focus: #68418a;--color-disabled-surface: #eee9ef;--color-disabled-text: #625a66;--color-disabled-border: #c9c0cc;--gradient-page: radial-gradient(70% 35% at 82% 2%, rgba(255, 247, 252, .96), transparent 68%), radial-gradient(70% 34% at 10% 0%, rgba(201, 164, 224, .56), transparent 72%), linear-gradient(160deg, #ead6f5 0%, #f8e8f4 36%, #fff9fb 70%, #f8f4fb 100%);--gradient-jade: linear-gradient(135deg, #13a487 0%, #047a67 52%, #005b4d 100%);--gradient-purple: linear-gradient(135deg, #9b61ba 0%, #714093 100%);--gradient-glass: linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(255, 250, 254, .72));--font-display: Georgia, "Songti TC", "Noto Serif TC", "Times New Roman", serif;--font-system: Manrope, "Noto Sans TC", "PingFang TC", "PingFang SC", "Microsoft JhengHei", system-ui, sans-serif;--font-display-size: clamp(28px, 7vw, 40px);--font-page-title: clamp(24px, 6vw, 32px);--font-section-title: clamp(18px, 4.8vw, 24px);--font-card-title: clamp(16px, 4.2vw, 20px);--font-body: clamp(14px, 3.7vw, 16px);--font-caption: clamp(12px, 3.2vw, 14px);--font-button: clamp(14px, 3.7vw, 16px);--line-display: 1.15;--line-page-title: 1.2;--line-section-title: 1.3;--line-body: 1.55;--line-caption: 1.45;--line-button: 1.2;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 10px;--radius-control: 14px;--radius-card: 18px;--radius-large: 24px;--radius-pill: 999px;--tap-min: 44px;--control-height: 48px;--nav-height: 72px;--shadow-card: 0 16px 38px rgba(82, 47, 94, .11);--shadow-elevated: 0 24px 60px rgba(64, 35, 76, .22);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-focus) 34%, transparent);--motion-fast: .16s;--motion-normal: .24s;--layer-sticky: 20;--layer-nav: 30;--layer-sheet: 50;--layer-dialog: 60;--layer-toast: 70;--toast-bottom-offset: calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-4))}.button{display:inline-flex;min-width:0;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-2);border:0;border-radius:var(--radius-control);padding:.75rem 1.1rem;background:var(--gradient-jade);box-shadow:0 9px 22px #02705d33;color:#fff;font:750 var(--font-button)/var(--line-button) var(--font-system);letter-spacing:0;white-space:nowrap;word-break:keep-all;cursor:pointer;transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease;-webkit-tap-highlight-color:transparent}.button>span:last-child{min-width:0;white-space:nowrap;word-break:keep-all}.button:hover{box-shadow:0 12px 26px #02705d42}.button:active{transform:translateY(1px) scale(.99)}.button:focus-visible{outline:none;box-shadow:var(--focus-ring),0 9px 22px #02705d33}.button:disabled{border:1px solid var(--color-disabled-border);background:var(--color-disabled-surface);box-shadow:none;color:var(--color-disabled-text);cursor:not-allowed;opacity:1;transform:none}.button--secondary{border:1px solid color-mix(in srgb,var(--color-purple-600) 66%,transparent);background:rgba(255,255,255,.68);box-shadow:none;color:var(--color-purple-700)}.button--secondary:hover{background:rgba(255,255,255,.92);box-shadow:none}.button--danger{background:linear-gradient(135deg,#d45768,var(--color-danger-700));box-shadow:0 9px 20px #ae2e4233}.button__spinner,.state-spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .72s linear infinite}.icon-button{display:inline-grid;width:var(--tap-min);height:var(--tap-min);flex:0 0 var(--tap-min);place-items:center;border:0;border-radius:50%;padding:0;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.icon-button:hover{background:rgba(113,64,146,.09)}.icon-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.icon-button svg{width:22px;height:22px;stroke-width:2}.card,.glass-card{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--gradient-glass);box-shadow:var(--shadow-card);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}.mobile-shell{width:min(100%,768px);min-height:100dvh;margin-inline:auto;overflow-x:clip;background:var(--gradient-page);color:var(--color-ink-950);font-family:var(--font-system)}.page-header{display:flex;min-height:calc(72px + env(safe-area-inset-top));align-items:flex-end;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-3)}.page-header__leading{display:flex;min-width:0;flex:1;align-items:center;gap:var(--space-2)}.page-header__leading>div{min-width:0}.page-header h1{margin:0;font:500 1.35rem/1.12 var(--font-display);letter-spacing:0;overflow-wrap:anywhere}.page-header p{margin:3px 0 0;color:var(--color-ink-600);font-size:var(--font-size-xs)}.page-header__actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-1)}.hero-section{position:relative;isolation:isolate;min-height:284px;overflow:hidden;border-radius:0 0 var(--radius-large) var(--radius-large);padding:var(--space-8) var(--space-5)}.hero-section--compact{min-height:210px}.hero-section__image{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-section__veil{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(248,231,246,.98) 0%,rgba(249,234,247,.86) 52%,rgba(251,241,248,.48) 100%)}.hero-section:after{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(255,255,255,.52));content:""}.hero-section__content{position:relative;display:grid;max-width:84%;gap:var(--space-3)}.hero-section__eyebrow{color:var(--color-purple-700);font-size:var(--font-size-sm);font-weight:700}.hero-section h1{margin:0;font:500 clamp(2rem,9vw,3rem)/1.12 var(--font-display);letter-spacing:0;text-wrap:balance}.hero-section p{max-width:34rem;margin:0;color:var(--color-ink-600);font-size:.95rem;line-height:1.65}.hero-section .button{width:min(100%,340px);margin-top:var(--space-2)}.ui-field{display:grid;min-width:0;gap:7px;color:var(--color-ink-800);font-size:var(--font-size-sm);font-weight:700}.ui-field__control{display:flex;min-height:var(--control-height);align-items:center;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:rgba(255,255,255,.76);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease}.ui-field__control:focus-within{border-color:var(--color-purple-600);background:rgba(255,255,255,.94);box-shadow:var(--focus-ring)}.ui-field__control input,.ui-field__control select,.ui-field__control textarea{width:100%;min-width:0;min-height:calc(var(--control-height) - 2px);appearance:none;border:0;outline:0;padding:.75rem .9rem;background:transparent;color:var(--color-ink-950);font:500 1rem/1.35 var(--font-system)}.ui-field__control textarea{min-height:96px;max-height:180px;resize:vertical}.ui-field__control input::placeholder,.ui-field__control textarea::placeholder{color:var(--color-ink-500);opacity:1}.ui-field__icon{display:grid;width:44px;flex:0 0 44px;place-items:center;color:var(--color-purple-600)}.ui-field__icon svg{width:20px;height:20px}.ui-field__trailing{display:grid;flex:0 0 44px;place-items:center}.ui-field__control--select:after{width:8px;height:8px;flex:0 0 8px;margin-right:18px;border-right:2px solid var(--color-ink-600);border-bottom:2px solid var(--color-ink-600);content:"";transform:rotate(45deg) translateY(-3px);pointer-events:none}.ui-field small{color:var(--color-ink-600);font-size:var(--font-size-xs);font-weight:500;line-height:1.45}.ui-field__error{color:var(--color-danger-700)!important}.ui-field--error .ui-field__control{border-color:var(--color-danger-600)}.ui-segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-1);background:rgba(255,255,255,.62)}.ui-segmented button{display:inline-flex;min-width:0;min-height:var(--tap-min);align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-ink-600);font:700 var(--font-size-sm)/1.2 var(--font-system);cursor:pointer}.ui-segmented button[aria-pressed=true]{background:var(--gradient-purple);box-shadow:0 6px 16px #7140922e;color:#fff}.ui-segmented button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ui-segmented svg{width:18px;height:18px}.filter-chips{display:flex;gap:var(--space-2);overflow-x:auto;padding:2px var(--space-4) var(--space-2);scroll-padding-inline:var(--space-4);scrollbar-width:none;overscroll-behavior-inline:contain}.filter-chips::-webkit-scrollbar{display:none}.filter-chips button{min-width:max-content;min-height:var(--tap-min);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 var(--space-5);background:rgba(255,255,255,.72);color:var(--color-ink-600);font:700 var(--font-size-sm)/1 var(--font-system);cursor:pointer}.filter-chips button[aria-selected=true]{border-color:transparent;background:var(--gradient-purple);color:#fff;box-shadow:0 7px 18px #7140922e}.filter-chips button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.status-badge{display:inline-flex;flex-shrink:0;min-height:26px;align-items:center;justify-content:center;border-radius:var(--radius-pill);padding:4px 10px;font-size:var(--font-size-xs);font-weight:750;white-space:nowrap;word-break:keep-all}.status-badge--jade{background:var(--color-jade-100);color:var(--color-jade-800)}.status-badge--gold{background:var(--color-gold-100);color:#775b27}.status-badge--neutral{background:rgba(104,91,111,.1);color:var(--color-ink-600)}.status-badge--error{background:var(--color-danger-100);color:var(--color-danger-700)}.status-badge--info{background:var(--color-info-100);color:var(--color-info-700)}.service-tile{display:grid;min-width:0;min-height:132px;align-content:center;justify-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-3);background:var(--gradient-glass);box-shadow:0 10px 28px #5b356814;color:var(--color-ink-950);text-align:center;cursor:pointer;backdrop-filter:blur(14px);-webkit-tap-highlight-color:transparent}.service-tile:active{transform:scale(.985)}.service-tile:focus-visible{outline:none;box-shadow:var(--focus-ring),0 10px 28px #5b356814}.service-tile__icon{color:var(--color-purple-600)}.service-tile__icon svg{width:30px;height:30px;stroke-width:1.8}.service-tile strong{font:500 1.05rem/1.2 var(--font-display)}.service-tile small{min-height:2.4em;color:var(--color-ink-600);font-size:.75rem;line-height:1.35}.order-card{display:grid;gap:var(--space-3);padding:var(--space-4)}.order-card__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3)}.order-card__icon{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-purple-700)}.order-card__icon svg{width:24px;height:24px}.order-card h3{margin:0;font:500 1.12rem/1.2 var(--font-display)}.order-card p{margin:4px 0 0;color:var(--color-ink-600);font-size:var(--font-size-xs)}.order-card__details{display:grid;gap:5px;color:var(--color-ink-600);font-size:var(--font-size-sm)}.order-card__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.order-card__actions .button{min-height:var(--tap-min);padding-inline:var(--space-4)}.product-card{display:grid;grid-template-columns:112px minmax(0,1fr);overflow:hidden}.product-card__media{aspect-ratio:1;min-height:100%;overflow:hidden;background:var(--color-sand-100)}.product-card__media img{width:100%;height:100%;object-fit:cover}.product-card__placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,var(--color-purple-100),var(--color-rose-100));color:var(--color-purple-500)}.product-card__placeholder svg{width:28px;height:28px;stroke-width:1.6}.product-card__body{display:grid;min-width:0;gap:7px;padding:var(--space-3)}.product-card__heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.product-card h3{margin:0;font:500 1.02rem/1.28 var(--font-display)}.product-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--color-ink-600);font-size:var(--font-size-xs);line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.product-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.product-card__footer>strong{color:var(--color-purple-700);font-size:1.1rem}.product-card__footer .icon-button{width:var(--tap-min);height:var(--tap-min);background:var(--gradient-jade);color:#fff}.bottom-navigation{position:fixed;z-index:var(--layer-nav);right:max(0px,calc((100vw - 768px)/2));bottom:0;left:max(0px,calc((100vw - 768px)/2));display:grid;min-height:calc(var(--nav-height) + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);align-items:start;border-top:1px solid var(--color-border);border-radius:var(--radius-large) var(--radius-large) 0 0;padding:7px var(--space-2) env(safe-area-inset-bottom);background:rgba(255,253,255,.91);box-shadow:0 -10px 30px #43284e14;backdrop-filter:blur(22px) saturate(130%)}.bottom-navigation button{display:grid;min-width:0;min-height:58px;place-items:center;align-content:center;gap:3px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-ink-500);font:650 var(--font-button)/1.1 var(--font-system);cursor:pointer}.bottom-navigation button[aria-current=page]{color:var(--color-purple-700)}.bottom-navigation button[aria-current=page] .bottom-navigation__icon{background:var(--gradient-purple);color:#fff;box-shadow:0 6px 14px #7140923d}.bottom-navigation button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bottom-navigation__icon{position:relative;display:grid;width:36px;height:34px;place-items:center;border-radius:12px}.bottom-navigation svg{width:22px;height:22px;stroke-width:1.9}.bottom-navigation i{position:absolute;top:-4px;right:-6px;min-width:18px;border:2px solid #fff;border-radius:10px;padding:1px 4px;background:var(--color-danger-600);color:#fff;font:700 var(--font-caption)/1.2 var(--font-system)}.overlay-backdrop{position:fixed;z-index:var(--layer-sheet);inset:0;display:grid;align-items:end;background:rgba(38,21,46,.42);overscroll-behavior:contain;backdrop-filter:blur(2px)}.bottom-sheet{display:grid;width:min(100%,768px);max-height:min(88dvh,760px);grid-template-rows:auto auto minmax(0,1fr) auto;margin-inline:auto;overflow:hidden;border-radius:var(--radius-large) var(--radius-large) 0 0;background:#fffafd;box-shadow:var(--shadow-elevated);outline:0;animation:sheet-in var(--motion-normal) ease-out}.bottom-sheet__handle{width:42px;height:5px;margin:8px auto 2px;border-radius:3px;background:rgba(86,63,94,.2)}.bottom-sheet header,.dialog header{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.bottom-sheet h2,.dialog h2{margin:0;font:500 1.35rem/1.2 var(--font-display)}.bottom-sheet__content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4);-webkit-overflow-scrolling:touch}.bottom-sheet footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:rgba(255,250,253,.95)}.overlay-backdrop--dialog{z-index:var(--layer-dialog);align-items:center;padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) max(var(--space-4),env(safe-area-inset-bottom))}.dialog{display:grid;width:min(100%,420px);max-height:min(82dvh,620px);margin:auto;overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-large);background:#fffafd;box-shadow:var(--shadow-elevated);outline:0;animation:dialog-in var(--motion-fast) ease-out}.dialog__content{overflow-y:auto;padding:var(--space-4);color:var(--color-ink-700);line-height:1.6}.dialog footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.ui-toast{position:fixed;z-index:var(--layer-toast);right:max(var(--space-4),calc((100vw - 720px)/2));bottom:var(--toast-bottom-offset);left:max(var(--space-4),calc((100vw - 720px)/2));display:flex;min-height:var(--control-height);align-items:center;justify-content:space-between;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);background:rgba(36,21,47,.94);box-shadow:var(--shadow-elevated);color:#fff;font-size:var(--font-size-sm);backdrop-filter:blur(14px);animation:toast-in var(--motion-fast) ease-out}.ui-toast--error{background:rgba(153,38,57,.96)}.ui-toast .icon-button:hover{background:rgba(255,255,255,.12)}.ui-state{display:grid;min-height:180px;place-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--color-ink-600);text-align:center}.ui-state__icon{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-purple-700)}.ui-state h2{margin:var(--space-2) 0 0;color:var(--color-ink-950);font:500 1.25rem/1.2 var(--font-display)}.ui-state p{max-width:28rem;margin:0;font-size:var(--font-size-sm);line-height:1.55}.ui-state--error .ui-state__icon{background:var(--color-danger-100);color:var(--color-danger-700)}.state-dot{width:20px;height:20px;border:2px solid currentColor;border-radius:50%}.skeleton{min-height:18px;overflow:hidden;border-radius:var(--radius-sm);background:linear-gradient(90deg,rgba(113,64,146,.08),rgba(255,255,255,.72),rgba(113,64,146,.08));background-size:220% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.list-action{display:inline-flex;min-height:var(--tap-min);align-items:center;gap:var(--space-1);color:var(--color-purple-700);font-size:var(--font-size-sm);font-weight:700}.list-action svg{width:18px;height:18px}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@keyframes skeleton-shimmer{to{background-position:-220% 0}}@media (max-width: 360px){.hero-section{padding-inline:var(--space-4)}.hero-section__content{max-width:96%}.service-tile{min-height:124px}.product-card{grid-template-columns:96px minmax(0,1fr)}.bottom-navigation{padding-inline:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--app-bg-surface: radial-gradient(160deg, #fceefb 0%, #f9e8f9 34%, #efe5ff 72%, #f4effd 100%);--app-shell-gradient: linear-gradient(155deg, color-mix(in srgb, #b66ecf 38%, #f6d8fb), color-mix(in srgb, #7f2f96 36%, #efe8ff));--app-card-overlay: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(249, 241, 255, .82));--app-chip-bg: color-mix(in srgb, var(--color-sand-100) 82%, white);--app-card-shadow: 0 16px 38px rgba(110, 61, 130, .15);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-focus) 36%, transparent)}*{box-sizing:border-box}html{min-width:320px;background:var(--app-bg-surface);color:var(--color-ink-950);font-family:var(--font-system);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-width:320px;min-height:100dvh;margin:0;background:transparent}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100dvh;background:var(--color-sand-50)}.offline-banner{position:sticky;z-index:20;top:0;padding:calc(.7rem + env(safe-area-inset-top)) 1rem .7rem;background:var(--color-ink-950);color:#fff;font-size:.9rem;text-align:center}.app-header{display:flex;width:min(1320px,calc(100% - 2rem));min-height:76px;align-items:center;justify-content:space-between;gap:1rem;margin:auto}.app-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.mode-switch{min-height:44px;border:1px solid var(--color-border);border-radius:999px;padding:0 .9rem;background:var(--color-sand-50);color:var(--color-jade-700);cursor:pointer;font-size:.84rem;font-weight:800}.mode-switch:hover{border-color:var(--color-jade-600);background:var(--color-jade-100)}.mode-switch:focus-visible{outline:3px solid var(--color-jade-600);outline-offset:2px}.brand{display:inline-flex;align-items:center;gap:.7rem}.brand__mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--color-gold-500);border-radius:50%;color:var(--color-gold-600);font:1.2rem Georgia,serif}.brand strong{font-family:Georgia,Times New Roman,serif}.brand small{margin-top:.12rem;color:var(--color-ink-500);font-size:.7rem;letter-spacing:.06em}.language-select{position:relative;display:inline-flex;min-height:var(--tap-min)}.language-select__trigger{display:flex;min-height:var(--tap-min);align-items:center;gap:.4rem;border:1px solid var(--color-border);border-radius:999px;padding:0 .75rem;background:#fff;color:var(--color-ink-950);font:inherit;cursor:pointer}.language-select__trigger:focus-visible,.language-select__menu button:focus-visible{outline:3px solid var(--color-jade-600);outline-offset:2px}.language-select__chevron{font-size:1.2rem;line-height:1}.language-select__menu{position:absolute;z-index:20;top:calc(100% + .45rem);right:0;min-width:10rem;overflow:hidden;border:1px solid var(--color-border);border-radius:1rem;background:#fff;box-shadow:0 .8rem 2rem #081d2529;padding:.35rem}.language-select__menu button{display:block;width:100%;min-height:44px;border:0;border-radius:.65rem;padding:0 .75rem;background:transparent;color:var(--color-ink-950);font:inherit;text-align:left;cursor:pointer}.language-select__menu button:hover,.language-select__menu button.is-selected{background:var(--color-jade-100)}.auth-layout{display:grid;width:min(1320px,100%);min-height:calc(100dvh - 76px);grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);margin:auto;overflow:hidden;border-top:1px solid var(--color-border)}.auth-visual{position:relative;display:flex;min-height:540px;align-items:flex-end;overflow:hidden;padding:clamp(2rem,6vw,6rem);color:#fff;background:linear-gradient(145deg,#111820 0%,#123f43 63%,#1e4c4a 100%)}.auth-visual:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,17,22,.72),rgba(8,17,22,.06) 65%);content:""}.auth-visual>div:last-child{position:relative;z-index:1;max-width:600px}.auth-visual h1{margin-bottom:1rem;font:500 clamp(2.8rem,5.5vw,5.6rem)/.97 Georgia,serif;letter-spacing:-.045em}.auth-visual p{max-width:540px;margin:0;color:#ffffffd1;font-size:1.06rem;line-height:1.7}.auth-visual__deco{position:absolute;top:-90px;right:-80px;width:450px;height:450px;border:1px solid rgba(200,169,107,.35);border-radius:50%;box-shadow:0 0 0 52px #c8a96b12,0 0 0 104px #c8a96b0f;transform:rotate(20deg)}.eyebrow{display:inline-block;margin-bottom:.75rem;color:var(--color-gold-500);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.auth-panel{display:grid;min-height:540px;place-items:center;padding:clamp(2rem,5vw,5rem);background:var(--color-sand-50)}.auth-card{width:min(440px,100%);padding:clamp(1.4rem,4vw,2.4rem)}.auth-card h2,.auth-card h3{margin-bottom:.55rem;font:500 clamp(1.75rem,3vw,2.35rem)/1.1 Georgia,serif;letter-spacing:-.025em}.auth-card h3{margin-top:1.5rem;font-size:1.45rem}.auth-card__intro{color:var(--color-ink-700);line-height:1.65}.auth-card--loading{display:grid;min-height:220px;place-items:center;text-align:center}.spinner{width:34px;height:34px;border:3px solid var(--color-sand-100);border-top-color:var(--color-jade-600);border-radius:50%;animation:spin .8s linear infinite}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:1.75rem 0;padding:4px;border-radius:14px;background:var(--color-sand-100)}.auth-tabs button{min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--color-ink-700);cursor:pointer;font-weight:800}.auth-tabs button[aria-selected=true]{background:#fff;color:var(--color-ink-950);box-shadow:0 2px 8px #141b2414}.auth-form{display:grid;gap:1.1rem}.field{display:grid;gap:.45rem}.field label{font-size:.88rem;font-weight:800}.field input{width:100%;min-height:48px;border:1px solid var(--color-border);border-radius:12px;padding:.7rem .8rem;background:#fff;color:var(--color-ink-950)}.field input[aria-invalid=true]{border-color:var(--color-danger-600)}.field small{color:var(--color-ink-500);font-size:.78rem;line-height:1.45}.field-error{margin:0;color:var(--color-danger-600);font-size:.82rem;line-height:1.4}.password-wrap{position:relative}.password-wrap input{padding-right:4rem}.password-toggle{position:absolute;top:2px;right:2px;min-width:44px;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--color-jade-700);cursor:pointer;font-weight:900}.terms{display:grid;grid-template-columns:20px 1fr;gap:.7rem;align-items:start;color:var(--color-ink-700);font-size:.87rem;line-height:1.55}.terms input{width:18px;height:18px;margin-top:.1rem;accent-color:var(--color-jade-600)}.terms .field-error{grid-column:2}.auth-form .button{width:100%;margin-top:.35rem}.notice{margin-bottom:1rem;border:1px solid;border-radius:12px;padding:.8rem .9rem;font-size:.88rem;line-height:1.5}.notice--error{border-color:#efc4bf;background:var(--color-danger-100);color:var(--color-danger-600)}.notice--info{border-color:var(--color-border);background:var(--color-sand-100);color:var(--color-ink-700)}.stay-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.stay-card__header h2{margin-bottom:0}.text-button{min-height:44px;border:0;background:transparent;color:var(--color-jade-700);cursor:pointer;font-weight:800;text-decoration:underline;text-underline-offset:4px}.stay-result{display:grid;gap:.8rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.stay-result h3{margin:0}.stay-result p{margin:0;color:var(--color-ink-700);line-height:1.65}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.app-header{width:calc(100% - 1.5rem);min-height:64px}.app-header__actions{gap:.35rem}.mode-switch{padding:0 .65rem;font-size:.76rem}.brand small{display:none}.auth-layout{display:block;min-height:calc(100dvh - 64px);border-top:0}.auth-visual{min-height:28dvh;padding:2rem 1.25rem;align-items:end}.auth-visual h1{margin:0;font-size:clamp(2rem,9vw,3rem)}.auth-visual p{display:none}.auth-visual__deco{top:-150px;right:-130px;transform:scale(.7)}.auth-panel{min-height:auto;place-items:stretch;padding:0 0 calc(1.5rem + env(safe-area-inset-bottom))}.auth-card{width:100%;min-height:calc(72dvh - 64px);border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0;box-shadow:none}.auth-card--loading{min-height:50dvh}}@media (max-width:430px){.language-select__trigger{max-width:9rem;padding:0 .6rem}.auth-card{padding:1.4rem 1.15rem}.stay-card__header{display:grid}.text-button{justify-self:start}}@media (orientation:landscape) and (max-height:600px){.auth-visual{min-height:180px}.auth-visual h1{font-size:2rem}.auth-card{min-height:auto}.auth-panel{padding-block:1rem}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.preferences-card form,.preferences-card fieldset{display:grid;gap:.85rem;margin:0;padding:0;border:0}.preferences-card form{margin-top:1rem}.preferences-card .button{width:100%}.preferences-card small{color:var(--color-ink-500);font-size:.78rem;line-height:1.45}.preference-reduce-motion *,.preference-reduce-motion *:before,.preference-reduce-motion *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.preference-high-contrast{--color-ink-500:#33414d;--color-ink-700:#15222b;--color-border:#6b7781}.preference-high-contrast .button{border:2px solid currentColor}.preference-high-contrast .text-button{text-decoration-thickness:2px}.app-main{width:min(1320px,100%);margin:auto;padding:0}.hero{position:relative;display:block;min-height:calc(100dvh - 76px);overflow:hidden;padding:clamp(2rem,6vw,6rem);color:#fff;background:linear-gradient(145deg,#111820 0%,#123f43 63%,#1e4c4a 100%)}.hero:before{position:absolute;top:-125px;right:-105px;width:440px;height:440px;border:1px solid rgba(200,169,107,.38);border-radius:50%;box-shadow:0 0 0 52px #c8a96b12,0 0 0 104px #c8a96b0d;content:""}.hero:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,17,22,.72),rgba(8,17,22,.06) 65%);content:""}.hero>*{position:relative;z-index:1}.hero .eyebrow{display:block;margin-top:calc(100dvh - 440px)}.hero .status-pill{display:inline-flex;width:max-content;max-width:100%;margin-top:calc(100dvh - 440px);margin-bottom:.85rem}.hero h1{max-width:620px;margin-bottom:1rem;font:500 clamp(2.8rem,5.5vw,5.4rem)/.97 Georgia,serif;letter-spacing:-.045em;text-wrap:balance}.hero p{max-width:540px;margin-bottom:0;color:#ffffffd9;font-size:1.06rem;line-height:1.7}.app-main .auth-layout{display:grid;width:100%;min-height:calc(100dvh - 76px);grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);align-items:stretch;gap:0;overflow:hidden;border:0;background:var(--color-sand-50)}.app-main .auth-card{align-self:center;width:min(440px,calc(100% - 3rem));min-height:auto;margin-inline:auto;padding:clamp(1.4rem,4vw,2.3rem)}.segmented{display:grid;grid-template-columns:1fr 1fr;margin-bottom:1.5rem;padding:4px;border-radius:14px;background:var(--color-sand-100)}.segmented button{min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--color-ink-700);cursor:pointer;font-weight:800}.segmented__active{background:#fff!important;color:var(--color-ink-950)!important;box-shadow:0 2px 8px #141b2414}.app-main .auth-card form{display:grid;gap:1.1rem}.app-main .auth-card label{display:grid;gap:.45rem;font-size:.88rem;font-weight:800}.app-main .auth-card input:not([type=checkbox]){width:100%;min-height:48px;border:1px solid var(--color-border);border-radius:12px;padding:.7rem .8rem;background:#fff;color:var(--color-ink-950)}.password-field{position:relative;display:block}.password-field input{padding-right:7rem!important}.password-field .text-button{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);font-size:.78rem;text-decoration:none}.app-main .auth-card small{color:var(--color-ink-500);font-size:.78rem;font-weight:500;line-height:1.45}.check-field{display:flex!important;align-items:flex-start;gap:.65rem!important;color:var(--color-ink-700);font-weight:500!important;line-height:1.45}.check-field input{width:18px;height:18px;margin-top:.1rem;accent-color:var(--color-jade-600)}.form-notice{margin:0;border-radius:12px;padding:.75rem .85rem;font-size:.88rem;line-height:1.45}.form-notice--error{background:var(--color-danger-100);color:var(--color-danger-600)}.form-notice--success{background:var(--color-jade-100);color:var(--color-jade-700)}.form-notice--info{background:var(--color-sand-100);color:var(--color-ink-700)}.text-button--spaced{margin-top:.1rem}.stay-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--color-border);padding-bottom:1rem;color:var(--color-ink-700)}.stay-summary strong{color:var(--color-ink-950);font:500 clamp(1.8rem,7vw,2.6rem) Georgia,serif}.stay-code-recovery{margin:0;color:var(--color-ink-700);font-size:.86rem;font-weight:600;line-height:1.5}.ready-stack{display:grid;align-content:center;gap:1rem;padding:clamp(1rem,4vw,3rem) 0}.ready-stack .auth-card{margin:0 auto}.security-card{max-height:calc(100dvh - 7rem);overflow:auto}.security-card h2{font-size:1.45rem}.security-card h3{margin:1.35rem 0 .65rem;font:700 .9rem/1.3 var(--font-system);letter-spacing:.02em}.security-card section+section{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:.25rem}.security-muted{color:var(--color-ink-500);font-size:.86rem;line-height:1.5}.session-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.session-list li{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--color-border);border-radius:12px;padding:.65rem .75rem}.session-list strong,.session-list small{display:block}.session-list small{margin-top:.22rem;color:var(--color-ink-500);font-size:.73rem}.session-confirm{display:grid;justify-items:end;gap:.35rem;color:var(--color-danger-600);font-size:.75rem;text-align:right}.session-confirm .button{min-height:36px;padding:.45rem .7rem;font-size:.78rem}.password-change form{display:grid;gap:.85rem}.password-change .button{width:100%}.password-change .security-muted{margin:1rem 0 0}.password-change__username{display:none}.service-card{max-height:calc(100dvh - 7rem);overflow:auto}.service-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.service-card__heading h2{margin:0}.service-card__heading p{margin:.45rem 0 0;color:var(--color-ink-700);font-size:.86rem;line-height:1.5}.service-card form{margin-top:1.35rem}.service-card fieldset{margin:0;padding:0;border:0}.service-card legend{margin-bottom:.65rem;font-size:.88rem;font-weight:800}.service-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.service-type{display:flex!important;min-height:48px;align-items:center;gap:.55rem!important;border:1px solid var(--color-border);border-radius:12px;padding:.55rem .65rem;background:#fff;color:var(--color-ink-700);cursor:pointer;font-size:.82rem!important;font-weight:700!important}.service-type--selected{border-color:var(--color-jade-600);background:var(--color-jade-100);color:var(--color-jade-700)}.service-type input{width:18px;height:18px;accent-color:var(--color-jade-600)}.service-card textarea{width:100%;min-height:84px;resize:vertical;border:1px solid var(--color-border);border-radius:12px;padding:.7rem .8rem;background:#fff;color:var(--color-ink-950);font:inherit}.service-card textarea:focus,.service-type:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--color-jade-600) 32%,transparent);outline-offset:2px}.service-card form>.button{width:100%}.service-list{margin-top:1.5rem;border-top:1px solid var(--color-border);padding-top:1.2rem}.service-list h3{margin:0 0 .65rem;font:700 .9rem/1.3 var(--font-system);letter-spacing:.02em}.service-list ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.service-list li{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--color-border);border-radius:12px;padding:.65rem .75rem}.service-list strong,.service-list small{display:block}.service-list small{margin-top:.22rem;color:var(--color-ink-500);font-size:.73rem}.service-request__actions{display:grid;justify-items:end;gap:.45rem}.service-request__actions>.text-button{min-height:36px;font-size:.78rem}.room-service-card{max-height:calc(100dvh - 7rem);overflow:auto}.room-service-card form{display:grid;gap:1rem;margin-top:1.2rem}.room-menu{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.room-menu li{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--color-border);border-radius:12px;padding:.7rem .75rem}.room-menu strong,.room-menu small{display:block}.room-menu small{margin-top:.25rem;color:var(--color-ink-500);font-size:.76rem;line-height:1.35}.room-menu__action{display:grid;min-width:8.5rem;justify-items:end;gap:.15rem;color:var(--color-ink-700);font-size:.8rem}.room-menu__action .text-button{min-height:32px;font-size:.78rem}.room-cart{display:grid;gap:.75rem;border-top:1px solid var(--color-border);padding-top:1rem}.room-cart h3{margin:0;font:700 .9rem/1.3 var(--font-system)}.room-cart label{display:grid;gap:.45rem}.room-cart textarea{width:100%;min-height:76px;resize:vertical;border:1px solid var(--color-border);border-radius:12px;padding:.7rem .8rem;font:inherit}.room-cart>.button{width:100%}.staff-card{align-self:center;max-height:calc(100dvh - 6rem);overflow:auto}.staff-card__heading,.staff-request__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.staff-card__heading h2{margin:0}.staff-card__heading p{margin:.45rem 0 0;color:var(--color-ink-700);font-size:.86rem;line-height:1.5}.staff-queue{display:grid;gap:.8rem;margin:1.25rem 0 0;padding:0;list-style:none}.staff-queue li{border:1px solid var(--color-border);border-radius:14px;padding:.9rem}.staff-request__meta strong,.staff-request__meta small{display:block}.staff-request__meta small{margin-top:.22rem;color:var(--color-ink-500);font-size:.75rem;line-height:1.35}.staff-request__note{margin:.75rem 0;color:var(--color-ink-700);font-size:.86rem;line-height:1.5;white-space:pre-wrap}.staff-request__actions{display:flex;flex-wrap:wrap;gap:.55rem}.staff-request__actions .button{min-height:44px}.staff-confirm{display:flex;width:100%;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--color-ink-700);font-size:.8rem}.staff-confirm>span{flex-basis:100%}.workbench-layout .hero h1{max-width:8ch}.workbench-hero{display:flex;flex-direction:column;justify-content:flex-end}.workbench-hero__toggle{position:absolute;z-index:2;top:1.25rem;right:1.25rem;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.56);border-radius:999px;padding:0 .9rem;background:rgba(8,29,37,.38);color:#fff;font:700 .82rem/1 var(--font-system);cursor:pointer;backdrop-filter:blur(8px)}.workbench-hero__toggle:hover{background:rgba(8,29,37,.62)}.workbench-hero__toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}.staff-invitation-result{display:grid;gap:.45rem;margin:.85rem 0;border:1px solid var(--color-gold-500);border-radius:12px;padding:.8rem;background:var(--color-sand-100)}.staff-invitation-result code{display:block;overflow-wrap:anywhere;color:var(--color-ink-950);font-size:1.1rem;font-weight:900;letter-spacing:.08em}.staff-stays .button{min-height:44px}.room-status-select select{min-height:44px;border:1px solid var(--color-border);border-radius:10px;padding:.5rem .65rem;background:#fff;color:var(--color-ink-950);font-weight:700}@media (max-width:760px){.app-main{width:100%}.app-main .auth-layout{display:block;min-height:calc(100dvh - 64px)}.hero{min-height:max(28dvh,12rem);padding:1.5rem 1.25rem}.hero .eyebrow,.hero .status-pill{margin-top:0}.hero .status-pill{margin-bottom:.75rem}.hero:before{transform:scale(.68);transform-origin:top right}.hero h1{margin:0;font-size:clamp(2.05rem,9vw,3rem);line-height:1.08}.hero p{display:none}.app-main .auth-card{width:100%;min-height:calc(72dvh - 64px);margin:0;border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0;box-shadow:none}.workbench-layout .workbench-hero{min-height:112px;padding:1rem 1.25rem;background:var(--color-ink-950)}.workbench-layout .workbench-hero:before,.workbench-layout .workbench-hero:after{display:none}.workbench-layout .workbench-hero .status-pill{display:inline-flex;width:max-content;min-height:24px;margin:0;padding:.15rem .55rem;font-size:.68rem}.workbench-layout .workbench-hero h1{max-width:calc(100% - 7rem);margin:.35rem 0 0;font:600 clamp(1.25rem,6vw,1.7rem)/1.15 var(--font-system);letter-spacing:-.02em}.workbench-layout .workbench-hero p{display:none}.workbench-layout .workbench-hero--collapsed{min-height:64px;padding-block:.7rem}.workbench-layout .workbench-hero--collapsed h1{max-width:calc(100% - 8rem);margin:0;font-size:1rem}.workbench-layout .workbench-hero--collapsed .status-pill{display:none}.workbench-hero__toggle{top:50%;right:1rem;min-height:48px;transform:translateY(-50%);padding:0 .75rem;background:transparent;backdrop-filter:none}.workbench-layout .auth-card.staff-card{min-height:calc(100dvh - 176px);max-height:none;overflow:visible;border-radius:22px 22px 0 0}.workbench-layout .workbench-hero--collapsed+.auth-card.staff-card{min-height:calc(100dvh - 128px)}}.demo-entry{width:100%;min-height:44px;margin-top:14px;border:0;background:transparent;color:var(--color-jade-700);font-weight:700;cursor:pointer}.experience-entry{display:grid;gap:.65rem;margin-top:1.1rem;border-top:1px solid var(--color-border);padding-top:1rem}.experience-entry span{color:var(--color-ink-500);font-size:.82rem;line-height:1.5}.experience-entry .button{width:100%;min-height:48px}.unbound-card{display:grid;gap:1rem}.unbound-card h2,.unbound-card p{margin-bottom:0}.unbound-card .eyebrow{margin:0;color:var(--color-gold-600)}.unbound-card .experience-primary{width:100%;min-height:52px;font-size:1rem}.bind-explainer{display:grid;gap:.55rem;margin-top:.2rem;border-top:1px solid var(--color-border);padding-top:1rem}.bind-explainer strong{font-size:.92rem}.bind-explainer p{color:var(--color-ink-500);font-size:.82rem;line-height:1.5}.bind-explainer .button{width:100%;min-height:48px}.account-tools{width:min(440px,calc(100% - 3rem));margin:0 auto;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:var(--shadow-card,0 12px 32px rgba(8,29,37,.08))}.account-tools summary{display:flex;min-height:52px;align-items:center;justify-content:space-between;padding:.75rem 1rem;color:var(--color-ink-950);font-weight:800;cursor:pointer;list-style:none}.account-tools summary::-webkit-details-marker{display:none}.account-tools summary:after{content:"＋";color:var(--color-jade-700);font-size:1.2rem}.account-tools[open] summary:after{content:"−"}.account-tools>div{display:grid;gap:1rem;border-top:1px solid var(--color-border);padding:1rem}.account-tools .auth-card{width:100%!important;margin:0!important;padding:1rem!important;box-shadow:none}.account-tools .security-card,.account-tools .service-card{max-height:none;overflow:visible}.demo-app{min-height:100dvh;background:var(--color-sand-50);color:var(--color-ink-950);padding-bottom:calc(76px + env(safe-area-inset-bottom))}.demo-header{position:sticky;top:0;z-index:10;display:flex;height:calc(56px + env(safe-area-inset-top));align-items:end;gap:12px;padding:0 18px 12px;box-sizing:border-box;background:rgba(250,248,243,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.demo-header button{width:44px;height:44px;margin:-6px 0 -6px -10px;border:0;background:none;color:var(--color-ink-950);font-size:34px;line-height:1;cursor:pointer}.demo-header strong{font-size:1.05rem}.demo-mark{display:grid;width:28px;height:28px;place-items:center;background:var(--color-jade-700);color:#fff;border-radius:8px;font-weight:900}.demo-header__tag{margin-left:auto;color:var(--color-gold-600);font-size:.75rem;font-weight:800}.demo-main{width:min(100%,720px);margin:auto;padding:18px 16px 28px;box-sizing:border-box}.demo-hero{padding:22px;border-radius:20px;background:var(--color-ink-950);color:#fff}.demo-hero p{margin:0;color:#cfe4de;font-size:.8rem}.demo-hero h1{margin:8px 0;font-size:1.7rem}.demo-hero span{font-size:.85rem;color:#d9d4cb}.demo-section-head{display:flex;align-items:center;justify-content:space-between}.demo-section h2{font-size:1.05rem}.demo-section-head button,.demo-link{border:0;background:none;color:var(--color-jade-700);font-weight:700;cursor:pointer}.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.demo-service-card{position:relative;min-height:116px;padding:16px;border:1px solid var(--color-border);border-radius:16px;background:#fff;text-align:left;cursor:pointer}.demo-service-card b,.demo-service-card small{display:block}.demo-service-card small{margin-top:8px;color:var(--color-ink-500);line-height:1.35}.demo-service-card i{position:absolute;right:14px;bottom:12px;color:var(--color-jade-700);font-size:22px}.demo-activity,.stay-card,.price-box{margin-top:16px;padding:16px;border-radius:14px;background:var(--color-jade-100)}.demo-activity span,.stay-card small,.price-box small{display:block;margin-top:6px;color:var(--color-ink-700)}.demo-nav{position:fixed;bottom:0;left:0;right:0;z-index:12;display:flex;justify-content:center;gap:min(4vw,35px);height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;background:#fff;border-top:1px solid var(--color-border)}.demo-nav button{min-width:44px;border:0;background:none;color:var(--color-ink-500);font-size:.68rem;cursor:pointer}.demo-nav span{display:grid;width:24px;height:24px;place-items:center;margin:auto;font-size:.7rem;font-weight:900}.demo-nav .active{color:var(--color-jade-700)}.demo-nav .active span{border-radius:8px;background:var(--color-jade-100)}.demo-toast{position:fixed;z-index:30;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;max-width:calc(100% - 32px);transform:translate(-50%);padding:12px 16px;border-radius:10px;background:var(--color-ink-950);color:#fff;font-size:.9rem}.demo-note{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--color-gold-500);background:var(--color-gold-100);color:var(--color-ink-700);font-size:.82rem;line-height:1.45}.demo-list{display:grid;gap:10px}.demo-product,.record-card{padding:16px;border:1px solid var(--color-border);border-radius:16px;background:#fff}.demo-product{display:flex;justify-content:space-between;gap:12px}.demo-product h2,.record-card h2{margin:6px 0;font-size:1rem}.demo-product p,.record-card p{margin:0 0 8px;color:var(--color-ink-500);font-size:.88rem}.demo-product span,.record-card>span{color:var(--color-gold-600);font-size:.75rem;font-weight:800}.demo-product button,.record-card button{align-self:center;min-width:64px;min-height:44px;border:1px solid var(--color-jade-600);border-radius:10px;background:#fff;color:var(--color-jade-700);font-weight:700;cursor:pointer}.demo-product button:disabled{border-color:var(--color-border);color:var(--color-ink-500)}.inline-sheet{position:fixed;z-index:20;bottom:calc(64px + env(safe-area-inset-bottom));left:0;right:0;max-width:720px;margin:auto;padding:24px 20px;border-radius:22px 22px 0 0;background:var(--app-card-overlay);box-shadow:0 -8px 28px #5d2f8429}.inline-sheet .button{display:block;width:100%;margin-top:20px}.sheet-close{float:right;width:44px;height:44px;border:0;background:none;font-size:24px;cursor:pointer}.demo-sticky-action{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px -16px -28px;padding:12px 16px;background:#fff;border-top:1px solid var(--color-border)}.demo-sticky-action .button{flex:0 0 auto}.demo-form{display:grid;gap:14px}.demo-form label{display:grid;gap:6px;color:var(--color-ink-700);font-weight:700;font-size:.9rem}.demo-form input,.demo-form select,.demo-form textarea{min-height:46px;box-sizing:border-box;border:1px solid var(--color-border);border-radius:10px;padding:10px;background:#fff;color:var(--color-ink-950);font:inherit}.demo-form textarea{min-height:88px;resize:vertical}.order-lines{display:grid;gap:10px}.order-lines>div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border)}.order-lines small{display:block;color:var(--color-ink-500)}.order-lines button{width:44px;height:44px;border:1px solid var(--color-border);border-radius:8px;background:#fff;font-size:18px;cursor:pointer}.order-lines b{padding:0 10px}.demo-success{text-align:center;padding:12vh 12px}.demo-success>span{display:grid;width:60px;height:60px;place-items:center;margin:auto;border-radius:50%;background:var(--color-jade-100);color:var(--color-jade-700);font-size:30px}.demo-success .button{margin-top:16px}.chat-page{display:flex;min-height:calc(100dvh - 148px);flex-direction:column}.chat-messages{display:grid;align-content:start;gap:10px;flex:1}.chat-bubble{max-width:82%;padding:11px 13px;border-radius:14px;background:var(--app-card-overlay);line-height:1.45}.chat-bubble.guest{justify-self:end;background:var(--color-jade-700);color:#fff}.chat-bubble small,.chat-bubble button{display:block;min-height:44px;margin-top:6px;border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer}.demo-empty{display:grid;gap:8px;padding:28px 16px;text-align:center;color:var(--color-ink-500)}.demo-empty b{color:var(--color-ink-950)}.chat-quick{display:flex;gap:8px;overflow:auto;padding:12px 0}.chat-quick button{white-space:nowrap;min-height:44px;border:1px solid var(--color-border);border-radius:999px;background:#fff;padding:0 12px;color:var(--color-jade-700);font-weight:700;cursor:pointer}.chat-composer{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;gap:8px;padding:8px 0;background:color-mix(in srgb,var(--app-card-overlay) 82%,transparent);backdrop-filter:blur(10px)}.chat-composer input{min-width:0;flex:1;border:1px solid var(--color-border);border-radius:12px;padding:0 12px;font:inherit}.demo-map{position:relative;height:180px;border-radius:16px;background:linear-gradient(135deg,var(--color-jade-100),var(--color-gold-100));overflow:hidden}.demo-map span,.demo-map i,.demo-map b,.demo-map em{position:absolute;padding:8px;border-radius:8px;background:#fff;font-style:normal;font-size:.8rem}.demo-map span{top:20px;left:18px}.demo-map i{top:52px;left:60px}.demo-map b{right:50px;top:72px}.demo-map em{bottom:20px;right:20px}.route-result{padding:16px;border-radius:14px;background:var(--app-card-overlay)}.route-result span{display:block;margin-top:5px;color:var(--color-ink-500)}.route-result ol{padding-left:20px;line-height:1.6}.room-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-actions button{min-height:92px;border:1px solid var(--color-border);border-radius:14px;background:#fff;text-align:left;padding:12px;font-weight:800;cursor:pointer}.room-actions button.selected{border-color:var(--color-jade-600);background:var(--app-card-overlay)}.room-actions small{font-weight:400;color:var(--color-ink-500)}.device-row,.temperature{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 4px;border-bottom:1px solid var(--color-border)}.switch{width:48px;height:44px;border:0;border-radius:99px;background:color-mix(in srgb,var(--color-jade-100) 80%,#fff);padding:11px 3px;cursor:pointer}.switch i{display:block;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .18s}.switch.on{background:var(--color-jade-600)}.switch.on i{transform:translate(20px)}.temperature button{width:44px;height:44px;border:1px solid var(--color-border);border-radius:10px;background:color-mix(in srgb,var(--color-sand-100) 78%,#fff);font-size:20px;cursor:pointer}.temperature b{min-width:56px;text-align:center}.demo-dialog-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:end center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:rgba(11,18,32,.45)}.demo-dialog{width:min(100%,520px);max-height:70dvh;overflow:auto;padding:22px;border-radius:20px;background:#fff;box-sizing:border-box}.demo-dialog h2{margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.dialog-actions>button:first-child{min-height:44px;border:0;background:none;color:var(--color-ink-700);font-weight:700;cursor:pointer}@media (max-width:350px){.demo-main{padding-inline:12px}.demo-grid{gap:8px}.demo-service-card{padding:12px}.demo-nav{gap:10px}.demo-nav button{font-size:.62rem}.demo-sticky-action{margin-inline:-12px;padding-inline:12px}.demo-header{padding-inline:12px}}.button--danger{border-color:var(--color-danger-600)!important;background:var(--color-danger-600)!important;color:#fff!important}.button--danger:hover,.button--danger:active{background:#8f2f28!important;color:#fff!important}@media (orientation:landscape) and (max-height:600px){.chat-page{min-height:auto;padding-bottom:132px}.chat-messages{min-height:120px}.chat-quick{position:fixed;z-index:10;right:16px;bottom:calc(124px + env(safe-area-inset-bottom));left:16px;width:min(calc(100% - 32px),720px);margin:auto;background:var(--color-sand-50)}.chat-composer{position:fixed;z-index:11;right:16px;bottom:calc(64px + env(safe-area-inset-bottom));left:16px;width:min(calc(100% - 32px),720px);margin:auto}.demo-main{padding-bottom:84px}}.app-shell{min-height:100dvh;background:radial-gradient(140px 140px at 10% 0%,rgba(255,255,255,.7),transparent 58%),radial-gradient(260px 260px at 82% 6%,rgba(255,230,253,.66),transparent 50%),var(--app-bg-surface)}.offline-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--color-jade-700) 24%,#5f2d74),color-mix(in srgb,var(--color-gold-600) 25%,#7f2f96));color:#fff;text-shadow:0 1px 6px rgba(44,17,57,.24)}.app-header{position:sticky;top:0;z-index:30;padding-top:max(.65rem,env(safe-area-inset-top));margin-top:0;backdrop-filter:blur(9px);background:color-mix(in srgb,#fefaff 84%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 74%,transparent);border-radius:0 0 18px 18px;width:min(1320px,calc(100% - 2rem));margin-inline:auto;box-shadow:var(--app-card-shadow)}.brand__mark{color:var(--color-jade-700);border-color:color-mix(in srgb,var(--color-gold-500) 78%,transparent);background:linear-gradient(145deg,rgba(255,246,255,.7),rgba(246,236,255,.7));box-shadow:inset 0 0 0 1px #ffffffa6}.language-select__trigger{background:color-mix(in srgb,#fff 82%,transparent);box-shadow:var(--shadow-soft)}.language-select__menu{backdrop-filter:blur(6px);background:color-mix(in srgb,#fff 92%,transparent);box-shadow:var(--app-card-shadow)}.language-select__menu button:hover,.language-select__menu button.is-selected{background:var(--app-card-overlay)}.app-main{width:min(1320px,100%);margin:0 auto}.app-main .auth-layout,.auth-layout{background:transparent}.hero,.auth-visual,.workbench-hero,.demo-hero{background:linear-gradient(130deg,color-mix(in srgb,var(--color-hero-from) 85%,#fdf7ff),color-mix(in srgb,var(--color-hero-to) 84%,#f5efff));color:var(--color-ink-950);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);box-shadow:inset 0 0 0 1px #ffffff7a,var(--app-card-shadow)}.hero:before,.auth-visual:after,.workbench-hero:before,.workbench-hero:after,.demo-hero{border-color:color-mix(in srgb,var(--color-gold-500) 36%,transparent)}.hero:after,.auth-visual:after{background:linear-gradient(0deg,rgba(45,27,59,.35),rgba(255,255,255,.16) 66%)}.hero>*,.auth-visual>*,.workbench-hero>*,.demo-hero>*{filter:drop-shadow(0 1px 0 rgba(255,255,255,.38))}.hero .eyebrow,.status-pill,.eyebrow{color:var(--color-jade-700)}.app-main .auth-card,.auth-card,.security-card,.service-card,.room-service-card,.room-status-item,.session-list li,.service-list li,.staff-request{background:var(--app-card-overlay);border-color:color-mix(in srgb,var(--color-border) 88%,transparent);box-shadow:var(--app-card-shadow);backdrop-filter:blur(4px);transform:translateZ(0)}input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,transform .12s ease}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:color-mix(in srgb,var(--color-jade-600) 68%,transparent);box-shadow:var(--focus-ring);transform:translateY(-.5px)}button{transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}button:disabled{transform:none!important;filter:saturate(78%)}.text-button,.password-field .text-button{min-height:44px;border-radius:12px;padding-inline:12px}.button--secondary{border:1px solid color-mix(in srgb,var(--color-border) 78%,transparent)}.experience-entry .button,.unbound-card .experience-primary,.bind-explainer .button{min-height:52px;border-radius:14px}.demo-app{background:radial-gradient(120px 120px at 14% 8%,rgba(255,255,255,.5),transparent 55%),var(--app-bg-surface)}.demo-main{width:min(100%,760px)}.demo-nav{background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:blur(10px);border-top-color:color-mix(in srgb,var(--color-border) 72%,transparent)}.demo-nav .active span{background:var(--app-card-overlay);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-jade-600) 20%,transparent) inset}.demo-service-card,.demo-product,.record-card,.demo-activity,.stay-card,.price-box,.notification-card,.demo-dialog{background:var(--app-card-overlay);border-color:color-mix(in srgb,var(--color-border) 78%,transparent);box-shadow:var(--shadow-soft)}.demo-sticky-action,.chat-composer,.chat-quick{background:color-mix(in srgb,#fff 82%,transparent);backdrop-filter:blur(8px)}.demo-toast{background:linear-gradient(130deg,var(--color-jade-700),var(--color-gold-600));border-radius:12px;box-shadow:0 8px 20px #48156247}.service-type--selected{position:relative;overflow:hidden}.service-type--selected:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,color-mix(in srgb,#fff 60%,transparent),transparent);opacity:.42}.service-request__actions .button,.room-menu__action .button,.account-tools>div .button{width:auto;min-width:122px}.workbench-layout .hero{max-height:none}@media (max-width: 760px){.app-header{width:calc(100% - 1.25rem)}.hero,.auth-visual,.workbench-hero{border-left:0;border-right:0;border-radius:0}.app-main .auth-card,.auth-card,.security-card,.service-card,.room-service-card,.staff-card{border-left:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-right:1px solid color-mix(in srgb,var(--color-border) 80%,transparent)}}@media (max-width: 430px){.language-select__trigger{max-width:10rem}.app-main .auth-card,.auth-card{padding:1.25rem 1rem}}@media (orientation: landscape) and (max-height: 600px){.hero{min-height:32vh}.chat-composer,.chat-page .chat-toolbar{z-index:12}}.demo-notify{position:relative;width:44px!important;height:44px!important;margin:-7px -8px -7px auto!important;color:var(--color-danger-600)!important;font-size:.72rem!important}.demo-header__tag{margin-left:0}.privacy-note{margin-top:18px}.catalog-tools,.form-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:10px;margin-bottom:14px}.catalog-tools label{display:grid;gap:6px;color:var(--color-ink-700);font-size:.82rem;font-weight:800}.catalog-tools input,.catalog-tools select,.inline-sheet select,.inline-sheet textarea{width:100%;min-height:46px;border:1px solid var(--color-border);border-radius:10px;padding:10px;background:#fff;color:var(--color-ink-950);font:inherit}.demo-product small{display:block;margin-top:6px;color:var(--color-ink-500)}.sheet-backdrop{position:fixed;z-index:19;inset:0;background:rgba(11,18,32,.42)}.inline-sheet{z-index:20;max-height:min(72dvh,620px);overflow:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.inline-sheet label{display:grid;gap:6px;margin-top:14px;color:var(--color-ink-700);font-size:.86rem;font-weight:800}.inline-sheet textarea{min-height:74px;resize:vertical}.demo-back-link,.demo-clear,.swap-route{min-height:44px;border:0;background:transparent;color:var(--color-jade-700);font-weight:800;text-align:left;cursor:pointer}.demo-clear{justify-self:end;color:var(--color-danger-600)}.fee-lines{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:14px;padding:14px;background:#fff}.fee-lines span{display:flex;justify-content:space-between;gap:12px;color:var(--color-ink-700)}.fee-lines strong{display:flex;justify-content:flex-end;border-top:1px solid var(--color-border);padding-top:10px}.demo-error{margin:0;border-radius:12px;padding:11px 12px;background:var(--color-danger-100);color:var(--color-danger-600);font-size:.86rem;line-height:1.45}.success-actions{display:grid;gap:10px;width:min(100%,320px);margin:18px auto}.chat-toolbar{display:flex;align-items:flex-start;gap:8px}.chat-toolbar .demo-note{flex:1}.chat-toolbar>button{min-width:88px;min-height:44px;border:0;background:transparent;color:var(--color-danger-600);font-weight:800;cursor:pointer}.chat-bubble .chat-action{width:100%;border-top:1px solid var(--color-border);color:var(--color-jade-700);font-weight:800;text-align:left}.chat-composer textarea{min-width:0;min-height:48px;max-height:112px;flex:1;resize:none;border:1px solid var(--color-border);border-radius:12px;padding:12px;font:inherit}.floor-tabs,.record-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.floor-tabs button,.record-filters button,.segmented-control button{min-width:48px;min-height:44px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:var(--color-ink-700);font-weight:800;cursor:pointer}.floor-tabs button[aria-pressed=true],.record-filters button[aria-pressed=true],.segmented-control button[aria-pressed=true]{border-color:var(--color-jade-600);background:var(--color-jade-100);color:var(--color-jade-700)}.demo-map i{max-width:42%;overflow-wrap:anywhere}.check-row{display:flex!important;min-height:44px;grid-template-columns:20px 1fr!important;align-items:center!important}.check-row input{width:20px;height:20px;min-height:20px!important;accent-color:var(--color-jade-600)}.accessible-note{margin:12px 0 0;color:var(--color-jade-700);font-weight:800}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-detail,.status-strip,.notification-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--color-border);border-radius:14px;padding:14px;background:#fff}.service-detail span,.notification-card small{display:block;color:var(--color-ink-500);font-size:.8rem;line-height:1.4}.status-strip b{color:var(--color-jade-700)}.record-card>small{display:block;color:var(--color-ink-500);font-size:.74rem;overflow-wrap:anywhere}.record-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.record-actions button:last-child{border-color:var(--color-jade-600);background:var(--color-jade-100)}.notification-card{justify-content:flex-start}.notification-card>span{color:var(--color-danger-600)}.demo-dialog:focus{outline:none}.demo-dialog .button--danger{background:var(--color-danger-600);color:#fff}.order-lines>div>div{display:flex;align-items:center}.order-lines button:disabled,.temperature button:disabled,.room-actions button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:390px){.catalog-tools,.form-columns,.segmented-control{grid-template-columns:1fr}.order-lines>div{align-items:flex-start;gap:8px;flex-direction:column}.order-lines>div>div{align-self:flex-end}.chat-toolbar{display:block}.chat-toolbar>button{display:block;margin-left:auto}.service-detail,.status-strip{align-items:flex-start;flex-direction:column}}@media (max-width:760px){.unbound-layout .hero{min-height:11rem}.unbound-layout .ready-stack{padding-top:.75rem}.account-tools{width:calc(100% - 2rem)}.unbound-card .eyebrow{display:block}.unbound-card{padding-top:1.25rem!important}}.app-main .auth-card .stay-code-default{margin-top:-.55rem;color:var(--color-jade-700);font-weight:700}:root{--scheme-font-title: Georgia, "Times New Roman", serif;--scheme-font-body: Manrope, "Noto Sans TC", Arial, sans-serif}html,body{font-family:var(--scheme-font-body)}.demo-app,.demo-main{background:radial-gradient(300px 260px at 10% -8%,rgba(255,255,255,.72),transparent 54%),radial-gradient(220px 180px at 88% 2%,rgba(255,238,254,.7),transparent 56%),var(--app-bg-surface)}h1,h2,h3,.demo-service-card b,.demo-section h2,.demo-success h1,.record-card h2,.status-strip b,.hero h1,.auth-card h2,.workbench-hero h1{font-family:var(--scheme-font-title)}.demo-form,.demo-nav,.demo-product,.record-card,.demo-service-card,.demo-activity,.stay-card,.price-box,.demo-section,.notification-card,.service-card,.room-service-card,.staff-card,.room-status-item,.transport-page,.room-page,.service-page{gap:12px}.button,button,.button--secondary,.button--danger,.demo-nav button,#demo-page button{min-height:48px;border-radius:14px}.button:not(.button--secondary):not(.button--danger):not(.text-button){background:linear-gradient(135deg,var(--color-jade-600),var(--color-gold-600));border-color:transparent;color:#fff}.demo-service-card,.demo-product,.record-card,.demo-activity,.stay-card,.price-box,.notification-card,.service-card,.room-service-card,.staff-card,.room-status-item,.demo-dialog,.demo-success{border-radius:18px}.demo-nav{padding-bottom:max(.6rem,env(safe-area-inset-bottom))}.demo-section{margin-top:24px}.demo-hero{border-radius:20px}.record-filters button,.floor-tabs button,.chat-quick button,.segmentation-control button,.service-page select,.room-page select,.transport-page select,.transport-page input,.room-page input,.room-page textarea,.service-page textarea,.transport-page textarea,.transport-page button,.service-page button,.room-page button,.chat-composer button,.chat-composer textarea,.input-line button{border-radius:14px}.record-filters,.floor-tabs,.chat-quick,.form-columns,.transport-layout,.service-warning,.service-detail,.temperature-control{gap:12px}.demo-form label,.service-detail,.status-strip,.room-status-hint,.chat-bubble{font-size:.94rem}.chat-bubble{max-width:86%;border-radius:18px}.chat-bubble.guest{border-radius:18px 18px 4px}.chat-bubble.assistant{border-radius:18px 18px 18px 4px}.chat-bubble--failed{border:1px solid var(--color-danger-500);background:var(--color-danger-100)}.chat-bubble small{margin-top:8px;color:var(--color-ink-600)}.chat-bubble--failed button{color:var(--color-danger-600);margin-top:8px}.chat-toolbar button,.chat-quick button,.chat-composer textarea{min-height:44px}.chat-composer{align-items:flex-end}.map-route-form .check-row{margin-top:6px}.transport-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:14px;align-items:start}.transport-main{display:grid;gap:14px}.transport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.transport-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented-control button,.transport-segmented button{min-height:46px;border:1px solid var(--color-border);border-radius:12px;background:#fff;color:var(--color-ink-700);font-weight:800}.segmented-control button[aria-pressed=true],.transport-segmented button[aria-pressed=true]{border-color:var(--color-jade-600);background:var(--color-jade-100);color:var(--color-jade-700)}.transport-submit-confirm{display:grid;justify-items:end;gap:10px}.transport-submit-confirm>span{margin-bottom:-4px;color:var(--color-ink-700);font-weight:600}.transport-submit-confirm .service-request__actions{margin-top:2px}.transport-summary{border:1px solid var(--color-border);border-radius:18px;padding:12px;background:var(--app-card-overlay);position:sticky;top:96px}.transport-summary .fee-lines{margin-top:10px}.transport-summary .fee-lines{margin-top:10px;padding:0;list-style:none;display:grid;gap:8px}.transport-summary .fee-lines li{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.transport-summary .fee-lines strong{color:var(--color-ink-950);text-align:right}.transport-success-card,.room-status-card,.service-warning{margin-top:4px}.transport-success-card{width:min(100%,520px);margin:8px auto 0;border:1px solid var(--color-border);border-radius:18px;background:var(--app-card-overlay);padding:12px;display:grid;gap:10px}.transport-success-card>div,.transport-summary .fee-lines,.room-status-card .status-strip,.service-success .transport-success-card>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.transport-success-card span,.room-status-card small,.room-status-hint{color:var(--color-ink-600);font-size:.82rem;line-height:1.35}.success-actions{margin-top:16px}.room-page .room-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.room-action{min-height:56px;border-radius:14px}.temperature{display:grid;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:18px;background:#fff}.temperature-control{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:10px}.temperature-control button{min-width:56px;min-height:56px;font-size:1.2rem}.room-sync-floating{position:fixed;left:0;right:0;bottom:calc(84px + env(safe-area-inset-bottom));width:min(100%,720px);margin:0 auto;background:rgba(0,0,0,.82);color:#fff;padding:12px 14px;border-radius:16px 16px 0 0;text-align:center;z-index:40}.service-warning{border:1px solid var(--color-danger-300, #f4b4ad);border-radius:14px;background:var(--color-danger-100);color:var(--color-danger-700);padding:10px}.button--danger{background:linear-gradient(135deg,#d14c47,#9f2d27)!important}.record-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;min-height:22px;font-weight:700;font-size:.75rem}.record-badge--working{background:color-mix(in srgb,var(--color-jade-100) 88%,#fff);color:var(--color-jade-700)}.record-badge--success{background:color-mix(in srgb,#d2f7d7 88%,#fff);color:#0d6b45}.record-badge--danger{background:var(--color-danger-100);color:var(--color-danger-600)}@media (max-width: 900px){.transport-layout{grid-template-columns:1fr}.transport-summary{position:static;top:auto}.room-page .room-actions{grid-template-columns:1fr}.room-status-card,.transport-success-card,.service-success .transport-success-card{border-radius:14px}.room-sync-floating{width:100%;border-radius:16px 16px 0 0;left:0;right:0}}.checking-hero{min-height:max(44dvh,360px)}.ready-dashboard{display:grid;gap:16px}.ready-dashboard__hero{padding:clamp(1.4rem,4vw,2rem)}.ready-dashboard__hero p{margin-bottom:0}.stay-summary-card{border:1px solid var(--color-border);border-radius:18px;padding:14px}.status-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.status-row div{display:grid;gap:6px}.status-row span{color:var(--color-ink-500);font-size:.84rem}.status-row strong{color:var(--color-ink-950)}.service-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-entry-card{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px;min-height:120px;padding:12px;border:1px solid var(--color-border);border-radius:18px;background:var(--app-card-overlay);text-align:left}.service-entry-card strong{display:block;margin-bottom:4px}.service-entry-card small{color:var(--color-ink-600);font-size:.82rem;line-height:1.35}.service-entry-card__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--color-jade-100) 72%,#fff);font-size:1.1rem}.ready-inprogress{border-top:1px solid var(--color-border);padding-top:14px}.ready-inprogress__rail{display:grid;gap:12px;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);overflow-x:auto;padding-bottom:4px}.ready-inprogress .progress-card{min-height:80px;display:grid;place-content:center;border:1px solid var(--color-border);border-radius:14px;padding:14px;background:var(--app-card-overlay)}.admin-toast{border:1px solid color-mix(in srgb,var(--color-jade-600) 42%,transparent);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:color-mix(in srgb,var(--color-jade-100) 72%,#fff);color:var(--color-jade-700);display:grid;gap:8px}.admin-toast .text-button{justify-self:start;font-size:.78rem}.button--full{width:100%}.staff-invitation-result--accent{border:1px solid var(--color-gold-600);box-shadow:0 8px 24px color-mix(in srgb,var(--color-gold-500) 18%,transparent)}.staff-request__actions{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end;align-items:center;overflow-x:auto;scrollbar-width:none}.staff-request__actions::-webkit-scrollbar{display:none}.staff-queue li{min-height:72px}.record-filters button,.floor-tabs button,.chat-quick button{min-height:48px}.stock-warning{margin:8px 0 0;color:var(--color-ink-600);font-size:.82rem}.accessible-note{margin:12px 0 0;color:#0f5a9a;font-weight:800}.shop-minimum{margin:0;border-radius:12px;background:color-mix(in srgb,var(--color-gold-100) 72%,transparent);color:var(--color-ink-700);border:1px solid color-mix(in srgb,var(--color-gold-500) 35%,transparent);padding:10px 12px;font-size:.86rem}.record-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}.record-actions button{min-width:84px}.record-cancel{border-color:var(--color-danger-600)!important;color:var(--color-danger-600)!important}.record-cancel:hover{background:color-mix(in srgb,var(--color-danger-100) 75%,transparent)!important}.chat-quick{position:sticky;z-index:11;bottom:calc(120px + env(safe-area-inset-bottom));margin-bottom:6px}.chat-composer{z-index:12}html{min-width:320px;min-height:100%;overflow-x:hidden;background:#ead7f3;color:var(--color-ink-950);font-family:var(--font-system);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden;background:var(--gradient-page)}button,input,select,textarea{font:inherit;letter-spacing:0}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}h1,h2,h3,p{margin-top:0}.button:not(.button--secondary):not(.button--danger){border-color:transparent;background:var(--gradient-jade);color:#fff}.icon-button{min-width:var(--tap-min);min-height:var(--tap-min);border-radius:50%}.app-shell{width:min(100%,768px);min-height:100dvh;margin-inline:auto;overflow-x:clip;background:var(--gradient-page);color:var(--color-ink-950)}.offline-banner{position:sticky;z-index:80;top:0;padding:calc(9px + env(safe-area-inset-top)) 16px 9px;background:rgba(36,21,47,.96);color:#fff;font-size:.82rem;text-align:center}.app-header{position:relative;z-index:25;display:flex;width:100%;min-height:calc(72px + env(safe-area-inset-top));align-items:center;justify-content:space-between;gap:10px;padding:calc(12px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 12px calc(16px + env(safe-area-inset-left));background:rgba(244,223,242,.34)}.brand{display:flex;flex:1 1 auto;min-width:0;align-items:center;gap:10px}.brand__copy{flex:1;min-width:0}.brand__mark{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:0;border-radius:0;color:var(--color-gold-600)}.brand__mark svg{width:34px;height:34px;stroke-width:1.6}.brand strong,.brand small{display:block}.brand strong{overflow:hidden;font:500 1.05rem/1.15 var(--font-display);text-overflow:ellipsis;white-space:nowrap}.brand small{overflow:hidden;margin-top:3px;color:var(--color-ink-600);font-size:var(--font-caption);line-height:var(--line-caption);text-overflow:ellipsis;white-space:nowrap}.app-header__actions{display:flex;flex-shrink:0;align-items:center;gap:4px}.mode-switch{flex-shrink:0;min-height:44px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);padding:0 12px;background:rgba(255,255,255,.72);color:var(--color-purple-700);font-size:var(--font-button);line-height:var(--line-button);font-weight:750;white-space:nowrap;word-break:keep-all}.language-select{position:relative;display:inline-flex;flex-shrink:0;min-height:44px}.language-select__trigger{display:flex;flex-shrink:0;min-height:44px;align-items:center;gap:5px;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 8px;background:rgba(255,255,255,.72);color:var(--color-ink-800);font-size:var(--font-button);line-height:var(--line-button);white-space:nowrap;word-break:keep-all}.language-select__label{white-space:nowrap;word-break:keep-all}.language-select__menu{position:absolute;z-index:90;top:calc(100% + 8px);right:0;width:max-content;min-width:170px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-control);padding:5px;background:rgba(255,252,254,.98);box-shadow:var(--shadow-elevated)}.language-select__menu button{display:block;width:100%;min-height:44px;border:0;border-radius:10px;padding:0 12px;background:transparent;color:var(--color-ink-800);text-align:left}.language-select__menu button.is-selected{background:var(--color-purple-100);color:var(--color-purple-700)}.app-main{width:100%;margin:0;padding:0}.checking-screen{min-height:calc(100dvh - 72px - env(safe-area-inset-top))}.checking-screen .hero-section{min-height:min(650px,calc(100dvh - 160px));display:flex;align-items:flex-end;border-radius:0;padding-bottom:clamp(72px,12vh,120px)}.checking-screen .hero-section__image{object-position:68% center}.checking-screen .hero-section__content{max-width:560px}.checking-error{margin:0 16px 12px;border:1px solid color-mix(in srgb,var(--color-danger-600) 24%,transparent);border-radius:var(--radius-control);padding:10px 12px;background:var(--color-danger-100);color:var(--color-danger-700);font-size:.84rem}.checking-demo-entry{display:flex;width:calc(100% - 32px);min-height:48px;align-items:center;justify-content:center;gap:8px;margin:-58px auto 0;border:1px solid color-mix(in srgb,var(--color-purple-600) 48%,transparent);border-radius:var(--radius-control);background:rgba(255,255,255,.78);color:var(--color-purple-700);font-weight:750;backdrop-filter:blur(16px)}.checking-demo-entry svg{width:18px;height:18px}.auth-screen,.unbound-screen,.stay-screen,.ready-dashboard{min-height:calc(100dvh - 72px - env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom))}.auth-screen .hero-section{min-height:250px;border-radius:0 0 28px 28px}.auth-screen .hero-section__image,.unbound-screen .hero-section__image,.stay-screen .hero-section__image,.ready-dashboard .hero-section__image{object-position:68% center}.auth-screen>.auth-card{position:relative;z-index:2;width:calc(100% - 28px);max-width:580px;min-height:0;margin:-30px auto 0;padding:18px;border:1px solid rgba(255,255,255,.82);border-radius:22px}.auth-card__heading{display:grid;gap:5px;margin:20px 0 18px}.auth-card__heading>span{color:var(--color-purple-700);font-size:var(--font-caption);font-weight:800;text-transform:uppercase}.auth-card__heading h1,.auth-card__heading h2{margin:0;font:500 1.85rem/1.15 var(--font-display)}.auth-card__heading p{margin:0;color:var(--color-ink-600);font-size:.86rem;line-height:1.55}.auth-form{display:grid;gap:15px}.auth-form>.button{width:100%}.confirmation-row{display:grid;min-height:48px;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:10px;color:var(--color-ink-700)}.confirmation-row input{width:44px;height:44px;margin:0;accent-color:var(--color-jade-600)}.confirmation-row strong,.confirmation-row small{display:block}.confirmation-row strong{color:var(--color-ink-800);font-size:.86rem}.confirmation-row small{margin-top:3px;color:var(--color-ink-600);font-size:var(--font-caption);line-height:1.4}.form-notice{margin:0;border:1px solid transparent;border-radius:var(--radius-control);padding:11px 12px;font-size:.83rem;line-height:1.5}.form-notice--error{border-color:color-mix(in srgb,var(--color-danger-600) 18%,transparent);background:var(--color-danger-100);color:var(--color-danger-700)}.form-notice--success{border-color:color-mix(in srgb,var(--color-jade-600) 18%,transparent);background:var(--color-jade-100);color:var(--color-jade-800)}.form-notice--info{background:var(--color-info-100);color:var(--color-info-700)}.recovery-panel{margin-top:10px;text-align:right}.recovery-panel button,.profile-exit,.stay-secondary-actions button,.section-heading button,.back-inline{min-height:44px;border:0;background:transparent;color:var(--color-purple-700);font-weight:750}.recovery-panel p{margin:0;color:var(--color-ink-600);font-size:.76rem}.experience-entry{display:grid;gap:10px;margin-top:14px;text-align:center}.experience-entry>span{position:relative;color:var(--color-ink-500);font-size:.75rem}.experience-entry>span:before,.experience-entry>span:after{position:absolute;top:50%;width:calc(50% - 20px);height:1px;background:var(--color-border);content:""}.experience-entry>span:before{left:0}.experience-entry>span:after{right:0}.experience-entry .button{width:100%}.experience-entry svg{width:19px;height:19px}.unbound-screen .hero-section{min-height:340px;border-radius:0 0 28px 28px}.unbound-content,.stay-content{display:grid;gap:14px;padding:16px}.experience-feature-card{display:grid;gap:16px;overflow:hidden;padding:20px;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.62)),url(/assets/reference-ui/suite-view.webp) center/cover}.experience-feature-card__icon{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-gold-600)}.experience-feature-card__icon svg{width:29px;height:29px}.experience-feature-card h2{margin:5px 0 8px;font:500 1.75rem/1.16 var(--font-display)}.experience-feature-card>div>span{color:var(--color-purple-700);font-size:.7rem;font-weight:800;text-transform:uppercase}.experience-feature-card p{max-width:410px;margin:0;color:var(--color-ink-600);font-size:.86rem;line-height:1.6}.bind-stay-entry{display:flex;width:100%;min-height:86px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:12px 14px;background:rgba(255,255,255,.7);box-shadow:0 10px 24px #4b2c5612;color:var(--color-ink-800);text-align:left}.bind-stay-entry>span:first-child{display:flex;min-width:0;align-items:center;gap:11px}.bind-stay-entry svg{width:24px;height:24px;flex:0 0 24px;color:var(--color-purple-600)}.bind-stay-entry strong,.bind-stay-entry small{display:block}.bind-stay-entry strong{font:500 1.05rem/1.2 var(--font-display)}.bind-stay-entry small{margin-top:4px;color:var(--color-ink-600);font-size:var(--font-caption);line-height:1.4}.account-tools{border:1px solid var(--color-border);border-radius:var(--radius-card);background:rgba(255,255,255,.58)}.account-tools summary{display:flex;min-height:52px;align-items:center;gap:9px;padding:0 14px;color:var(--color-ink-800);font-weight:750;cursor:pointer}.account-tools summary svg{width:20px;height:20px;color:var(--color-purple-600)}.account-tool-panels{display:grid;gap:12px;padding:0 12px 12px}.stay-screen .hero-section{min-height:230px;border-radius:0 0 28px 28px}.stay-bind-card,.stay-benefits{padding:18px}.stay-bind-card .auth-card__heading{margin-top:0}.invitation-help{display:flex;align-items:flex-start;gap:10px;border-radius:var(--radius-control);padding:12px;background:var(--color-purple-100);color:var(--color-purple-700)}.invitation-help svg{width:20px;height:20px;flex:0 0 20px}.invitation-help strong,.invitation-help span{display:block}.invitation-help strong{font-size:.83rem}.invitation-help span{margin-top:3px;font-size:var(--font-caption);line-height:1.45}.stay-code-recovery{margin:0;color:var(--color-ink-600);font-size:.78rem;line-height:1.5}.stay-benefits>strong{display:block;margin-bottom:14px;font:500 1rem/1.2 var(--font-display)}.stay-benefits>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stay-benefits span{display:flex;min-height:44px;align-items:center;gap:8px;color:var(--color-ink-700);font-size:.77rem}.stay-benefits svg{width:20px;height:20px;color:var(--color-purple-600)}.stay-secondary-actions{text-align:center}.ready-dashboard{display:block}.ready-dashboard .hero-section{min-height:390px;border-radius:0 0 28px 28px}.ready-dashboard .hero-section__content{max-width:100%}.guest-stay-summary{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:14px;overflow:hidden;padding:14px 8px}.guest-stay-summary>div{display:grid;min-width:0;justify-items:center;gap:4px;padding:0 8px;text-align:center}.guest-stay-summary>div+div{border-left:1px solid var(--color-border)}.guest-stay-summary svg{width:21px;height:21px;color:var(--color-purple-600)}.guest-stay-summary span{color:var(--color-ink-500);font-size:var(--font-caption)}.guest-stay-summary strong{max-width:100%;overflow-wrap:anywhere;font:500 1rem/1.2 var(--font-display)}.experience-section,.ready-inprogress{padding:24px 16px 0}.section-heading{display:flex;min-height:46px;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading span{display:block;margin-bottom:3px;color:var(--color-purple-700);font-size:var(--font-caption);font-weight:800;text-transform:uppercase}.section-heading h2{margin:0;font:500 1.45rem/1.15 var(--font-display)}.section-heading button{padding:0;font-size:.78rem}.service-grid,.service-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-entry-card{display:grid;min-height:132px;justify-items:center;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:12px;background:var(--gradient-glass);text-align:center}.ready-inprogress__rail,.active-service-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(278px,88%);gap:12px;overflow-x:auto;padding:2px 0 8px;scroll-snap-type:inline mandatory;scrollbar-width:none}.ready-inprogress__rail::-webkit-scrollbar,.active-service-rail::-webkit-scrollbar{display:none}.progress-card,.active-service-card,.active-service-empty{scroll-snap-align:start}.progress-card,.active-service-empty{display:flex;min-height:96px;align-items:center;gap:12px;padding:16px}.progress-card>svg,.active-service-empty>svg{width:28px;height:28px;flex:0 0 28px;color:var(--color-purple-600)}.progress-card strong,.progress-card span,.active-service-empty strong,.active-service-empty span{display:block}.progress-card span,.active-service-empty span{margin-top:4px;color:var(--color-ink-600);font-size:.75rem}.ready-stack{display:grid;gap:14px;padding:26px 16px 0}.ready-stack>section{scroll-margin-top:calc(82px + env(safe-area-inset-top))}.ready-stack #ready-profile{display:grid;gap:14px}.ready-stack .auth-card,.ready-stack .service-card,.ready-stack .room-service-card{width:100%;max-height:none;margin:0;overflow:visible;padding:16px;border-radius:var(--radius-card)}.mobile-shell{width:min(100%,768px);min-height:100dvh;margin-inline:auto;overflow-x:clip;background:var(--gradient-page)}.experience-header{position:sticky;z-index:24;top:0;align-items:flex-end;background:rgba(244,222,242,.72);backdrop-filter:blur(18px) saturate(130%)}.experience-brand-mark{position:absolute;left:16px;bottom:16px;width:34px;height:34px;color:var(--color-gold-600);pointer-events:none}.experience-app--home .page-header__leading{padding-left:44px}.experience-notify{position:relative}.experience-notify i{position:absolute;top:7px;right:7px;width:7px;height:7px;border:2px solid rgba(244,222,242,.9);border-radius:50%;background:var(--color-danger-600)}.experience-main{min-height:calc(100dvh - 72px);padding:0 0 calc(var(--nav-height) + env(safe-area-inset-bottom) + 22px)}.experience-app{width:min(100%,var(--visual-viewport-width, 100vw),768px);margin-right:auto;margin-left:max(0px,calc((100vw - 768px)/2))}.experience-app .bottom-navigation{right:max(calc(100vw - var(--visual-viewport-width, 100vw)),calc((100vw - 768px)/2));grid-template-columns:repeat(5,minmax(44px,1fr));overflow-x:auto}.experience-app .ui-toast{right:max(calc(100vw - var(--visual-viewport-width, 100vw) + 16px),calc((100vw - 720px)/2))}.experience-home .hero-section{min-height:360px;border-radius:0 0 28px 28px}.experience-home .hero-section__image{object-position:68% center}.hotel-location{display:inline-flex;align-items:center;min-height:28px;color:var(--color-ink-600)}.experience-home .hero-section__content{max-width:100%}.active-service-card{display:grid;min-height:118px;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px}.active-service-card__icon{display:grid;width:50px;height:50px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-purple-700)}.active-service-card__icon svg{width:25px;height:25px}.active-service-card strong,.active-service-card small,.active-service-card div>span{display:block}.active-service-card small{margin-top:3px;overflow:hidden;color:var(--color-ink-600);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.active-service-card div>span{display:flex;align-items:center;gap:4px;margin-top:6px;color:var(--color-ink-500);font-size:var(--font-caption)}.active-service-card div>span svg{width:13px;height:13px}.privacy-inline{margin:16px;border-radius:var(--radius-control);padding:10px 12px;background:rgba(255,255,255,.46);color:var(--color-ink-600);font-size:var(--font-caption);line-height:1.5}.page-intro,.commerce-hero{padding:16px 16px 12px}.page-intro>span,.commerce-hero>span,.operation-success>span:not(.success-mark),.commerce-success>span:not(.success-mark){color:var(--color-purple-700);font-size:var(--font-caption);font-weight:800;text-transform:uppercase}.page-intro h2,.commerce-hero h2,.operation-success h2,.commerce-success h2{margin:4px 0 5px;font:500 2rem/1.12 var(--font-display)}.page-intro p,.commerce-hero p{margin:0;color:var(--color-ink-600);font-size:.86rem;line-height:1.5}.orders-page{padding-bottom:12px}.order-card-list,.product-list{display:grid;gap:12px;padding:8px 16px 0}.inline-danger-action{min-height:44px;border:0;border-radius:var(--radius-control);padding:0 12px;background:transparent;color:var(--color-danger-700);font-weight:750}.order-detail{display:grid;gap:18px}.order-detail__hero{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px}.order-detail__hero>span:first-child{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-purple-700)}.order-detail__hero svg{width:24px;height:24px}.order-detail__hero strong,.order-detail__hero p{display:block;margin:0}.order-detail__hero p{margin-top:3px;color:var(--color-ink-600);font-size:.78rem}.order-detail dl,.booking-success-card dl,.transport-fees dl{display:grid;gap:0;margin:0}.order-detail dl>div,.booking-success-card dl>div,.transport-fees dl>div{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--color-border)}.order-detail dt,.booking-success-card dt,.transport-fees dt{color:var(--color-ink-600);font-size:.78rem}.order-detail dd,.booking-success-card dd,.transport-fees dd{margin:0;color:var(--color-ink-800);font-size:.82rem;font-weight:700;text-align:right}.profile-page{display:grid;gap:14px;padding:16px}.profile-stay-card,.profile-notification{display:flex;align-items:center;gap:12px;padding:16px}.profile-stay-card__avatar{display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;border-radius:50%;background:var(--gradient-purple);color:#fff}.profile-stay-card strong,.profile-stay-card small,.profile-stay-card div>span,.profile-notification strong,.profile-notification span{display:block}.profile-stay-card strong{margin:4px 0;font:500 1.1rem/1.2 var(--font-display)}.profile-stay-card small,.profile-stay-card div>span,.profile-notification span{color:var(--color-ink-600);font-size:var(--font-caption);line-height:1.4}.profile-notification>svg{width:24px;height:24px;flex:0 0 24px;color:var(--color-purple-600)}.profile-page .privacy-inline{margin:0}.profile-exit{color:var(--color-danger-700)}.commerce-page,.commerce-checkout,.transport-page,.room-page,.service-page,.wayfinding-page{display:grid;gap:14px;padding-bottom:18px}.commerce-hero{min-height:150px;padding-top:26px;background:radial-gradient(160px 120px at 88% 18%,rgba(255,255,255,.8),transparent 72%),linear-gradient(180deg,rgba(224,193,238,.46),transparent)}.restaurant-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.restaurant-meta span,.product-service-meta span{display:inline-flex;min-height:32px;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:0 10px;background:rgba(255,255,255,.62);color:var(--color-ink-700);font-size:var(--font-caption)}.restaurant-meta svg,.product-service-meta svg{width:15px;height:15px;color:var(--color-purple-600)}.catalog-search{padding:0 16px}.visually-labelled-field .ui-field__label,.chat-input-field .ui-field__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.product-card .icon-button{min-width:44px;min-height:44px}.product-detail{display:grid;gap:14px}.commerce-page{padding-bottom:104px}.product-detail>img,.product-detail__placeholder{width:100%;aspect-ratio:16 / 10;border-radius:var(--radius-card);object-fit:cover;background:linear-gradient(135deg,var(--color-purple-100),var(--color-rose-100))}.product-detail__placeholder{display:grid;grid-template-rows:auto auto;place-items:center;align-content:center;gap:8px;color:var(--color-purple-600);text-align:center}.product-detail__placeholder svg{width:32px;height:32px}.product-detail__title,.quantity-row{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px}.product-detail__title>strong{color:var(--color-purple-700);font-size:1.35rem}.product-detail>p{margin:0;color:var(--color-ink-600);font-size:.86rem;line-height:1.55}.product-service-meta{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.quantity-row>span{color:var(--color-ink-800);font-size:.86rem;font-weight:750}.quantity-row>div{display:flex;align-items:center;gap:8px}.quantity-row>div>strong{min-width:30px;text-align:center}.cart-sticky{position:fixed;z-index:18;right:max(12px,calc((100vw - 768px)/2 + 12px));bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 8px);left:max(12px,calc((100vw - 768px)/2 + 12px));display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-card);padding:9px 10px;background:linear-gradient(110deg,rgba(183,115,203,.94),rgba(244,187,221,.94));box-shadow:0 14px 32px #60366b33;color:#fff;backdrop-filter:blur(16px)}.cart-sticky__icon{position:relative;display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:rgba(104,45,133,.72)}.cart-sticky__icon svg{width:22px;height:22px}.cart-sticky__icon i{position:absolute;top:-5px;right:-5px;min-width:20px;border-radius:10px;padding:2px 5px;background:#fff;color:var(--color-purple-700);font:800 var(--font-caption)/1 var(--font-system)}.cart-sticky div>span,.cart-sticky div>strong{display:block}.cart-sticky div>span{font-size:var(--font-caption)}.cart-sticky div>strong{margin-top:2px;font-size:1rem}.cart-sticky .button{min-height:44px;padding-inline:14px;white-space:nowrap}.experience-app:has(.cart-sticky){--toast-bottom-offset: calc(var(--nav-height) + env(safe-area-inset-bottom) + 88px)}.experience-app:has(.checkout-sticky){--toast-bottom-offset: calc(var(--nav-height) + env(safe-area-inset-bottom) + 104px)}.experience-app:has(.chat-fixed-stack){--chat-fixed-stack-height: 144px;--toast-bottom-offset: calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--chat-fixed-stack-height) + 12px)}.commerce-checkout{padding:0 16px 110px}.commerce-checkout .page-intro{padding-inline:0}.checkout-card,.fee-summary{display:grid;gap:14px;padding:16px}.checkout-fields{gap:16px}.clear-cart{display:inline-flex;min-height:44px;align-items:center;justify-content:flex-end;gap:6px;border:0;background:transparent;color:var(--color-danger-700);font-size:.78rem;font-weight:750}.clear-cart svg{width:17px;height:17px}.order-lines{display:grid;gap:12px}.order-lines>div{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border);padding-bottom:10px}.order-lines>div:last-child{border-bottom:0;padding-bottom:0}.order-lines strong,.order-lines small{display:block}.order-lines small{margin-top:3px;color:var(--color-ink-600);font-size:.7rem}.order-lines>div>div{display:flex;align-items:center;gap:3px}.order-lines .icon-button{min-width:40px;min-height:40px}.fee-summary>div{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:16px;color:var(--color-ink-600);font-size:.82rem}.fee-summary__total{border-top:1px dashed var(--color-border-strong);padding-top:12px;color:var(--color-ink-950)!important}.fee-summary__total strong{color:var(--color-purple-700);font-size:1.35rem}.minimum-notice,.commerce-error,.urgent-notice{margin:0;border-radius:var(--radius-control);padding:11px 12px;font-size:.8rem;line-height:1.5}.minimum-notice{background:var(--color-gold-100);color:#715626}.checkout-disabled-reason{margin:0;border-left:3px solid var(--color-disabled-border);padding:8px 10px;color:var(--color-disabled-text);font-size:var(--font-caption);line-height:var(--line-caption)}.commerce-error,.urgent-notice{background:var(--color-danger-100);color:var(--color-danger-700)}.checkout-sticky{position:fixed;z-index:18;right:max(calc(100vw - var(--visual-viewport-width, 100vw) + 16px),calc((100vw - 736px)/2));bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 8px);left:max(16px,calc((100vw - 736px)/2));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:10px;background:rgba(255,252,254,.94);box-shadow:var(--shadow-elevated);backdrop-filter:blur(18px)}.checkout-sticky>div>span,.checkout-sticky>div>strong{display:block}.checkout-sticky>div>span{color:var(--color-ink-600);font-size:var(--font-caption)}.checkout-sticky>div>strong{color:var(--color-purple-700);font-size:1.15rem}.commerce-success,.operation-success{display:grid;min-height:calc(100dvh - 190px);align-content:center;justify-items:center;gap:10px;padding:30px 16px;text-align:center}.success-mark{display:grid;width:66px;height:66px;place-items:center;border-radius:50%;background:var(--gradient-jade);box-shadow:0 12px 28px #02705d38;color:#fff}.success-mark svg{width:34px;height:34px}.commerce-success>p,.operation-success>p{max-width:440px;margin:0;color:var(--color-ink-600);font-size:.84rem;line-height:1.55}.commerce-success__summary,.booking-success-card,.service-success-card{width:min(100%,520px);margin-top:8px;padding:16px}.commerce-success__summary>div{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--color-border)}.commerce-success__summary>div:first-child{border-top:0}.commerce-success__summary span{color:var(--color-ink-600);font-size:.76rem}.success-actions{display:grid;width:min(100%,340px);gap:10px;margin-top:12px}.concierge-page{min-height:calc(100dvh - 72px);--chat-fixed-stack-height: 144px;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--chat-fixed-stack-height) + 20px)}.concierge-status{display:flex;min-height:64px;align-items:center;gap:10px;padding:8px 16px}.concierge-avatar{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:13px;background:var(--gradient-purple);color:#fff}.concierge-avatar svg{width:20px;height:20px}.concierge-status>div{min-width:0;flex:1}.concierge-status strong,.concierge-status div>span{display:block}.concierge-status strong{font:500 1.05rem/1.2 var(--font-display)}.concierge-status div>span{display:flex;align-items:center;gap:5px;margin-top:3px;color:var(--color-ink-600);font-size:.7rem}.concierge-status i{width:7px;height:7px;border-radius:50%;background:var(--color-jade-500)}.concierge-page>.privacy-inline{margin-top:0}.chat-messages{display:grid;gap:16px;padding:6px 16px calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--chat-fixed-stack-height) + 20px)}.chat-scroll-anchor{width:1px;height:1px}.assistant-welcome{display:flex;align-items:flex-end;gap:9px}.assistant-welcome .glass-card{max-width:calc(100% - 48px);padding:13px 14px}.assistant-welcome strong{font:500 .97rem/1.35 var(--font-display)}.assistant-welcome p{margin:6px 0 0;color:var(--color-ink-600);font-size:.8rem;line-height:1.55}.message-row{display:flex;min-width:0;align-items:flex-end;gap:9px}.message-row--guest{justify-content:flex-end}.message-bubble{min-width:0;max-width:min(82%,520px);border:1px solid var(--color-border);border-radius:18px 18px 18px 5px;padding:11px 13px;background:rgba(255,255,255,.82);box-shadow:0 8px 20px #4b2c5612}.message-row--guest .message-bubble{border:0;border-radius:18px 18px 5px;background:linear-gradient(135deg,#b96ec5,#e3add4);color:#fff}.message-bubble p{margin:0;font-size:.88rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}.message-bubble footer{display:flex;min-height:18px;align-items:center;justify-content:flex-end;gap:4px;margin-top:4px;opacity:.72}.message-bubble time{font-size:var(--font-caption)}.message-bubble footer svg{width:14px;height:14px}.message-bubble--failed{border-color:color-mix(in srgb,var(--color-danger-600) 42%,transparent);background:var(--color-danger-100)!important;color:var(--color-danger-700)!important}.message-bubble--failed>button{width:100%;min-height:44px;border:0;background:transparent;color:var(--color-danger-700);font-size:var(--font-button);font-weight:750}.message-bubble--failed>button:focus-visible{border-radius:var(--radius-sm);outline:none;box-shadow:var(--focus-ring)}.assistant-action-card{display:grid;width:100%;min-height:72px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:10px;margin-top:10px;border:1px solid var(--color-border);border-radius:14px;padding:9px;background:rgba(255,255,255,.74);color:var(--color-ink-800);text-align:left}.assistant-action-card>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--color-purple-100);color:var(--color-purple-700)}.assistant-action-card svg{width:20px;height:20px}.assistant-action-card strong,.assistant-action-card small{display:block}.assistant-action-card small{margin-top:3px;color:var(--color-ink-600);font-size:var(--font-caption)}.thinking-bubble{display:flex;min-width:130px;align-items:center;gap:5px;color:var(--color-ink-600);font-size:.78rem}.thinking-bubble i{width:6px;height:6px;border-radius:50%;background:var(--color-purple-500, #9a65b4);animation:thinking 1s infinite alternate}.thinking-bubble i:nth-child(3){animation-delay:.12s}.thinking-bubble i:nth-child(4){animation-delay:.24s}.chat-fixed-stack{position:fixed;z-index:26;right:max(calc(100vw - var(--visual-viewport-width, 100vw) + 8px),calc((100vw - 752px)/2));bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--visual-viewport-bottom-gap, 0px) + 8px);left:max(8px,calc((100vw - 752px)/2));display:grid;min-width:0;gap:4px}.chat-quick{position:static;z-index:auto;display:flex;min-width:0;gap:8px;overflow-x:auto;padding:4px 8px;background:linear-gradient(180deg,transparent,rgba(248,238,248,.94) 34%);scrollbar-width:none}.chat-quick::-webkit-scrollbar{display:none}.chat-quick button{display:inline-flex;min-width:max-content;min-height:44px;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 13px;background:rgba(255,255,255,.9);color:var(--color-ink-700);font-size:var(--font-button);font-weight:700}.chat-quick svg{width:16px;height:16px;color:var(--color-purple-600)}.chat-composer{position:relative;z-index:1;inset:auto;display:grid;min-height:64px;grid-template-columns:minmax(0,1fr) 48px;align-items:end;gap:8px;border:1px solid var(--color-border);border-radius:20px;padding:7px;background:rgba(255,253,255,.96);box-shadow:0 12px 34px #47275229;backdrop-filter:blur(20px)}.chat-input-field{position:relative}.chat-input-field .ui-field__control{min-height:48px;border:0;background:transparent;box-shadow:none}.chat-input-field textarea{min-height:48px;max-height:104px;padding:12px 46px 12px 10px;resize:none}.chat-send{width:48px;height:48px;min-width:48px;min-height:48px;background:var(--gradient-jade);color:#fff}.chat-count{position:absolute;right:65px;bottom:10px;color:var(--color-ink-500);font-size:var(--font-caption);pointer-events:none}.wayfinding-page{padding-inline:0}.floor-map{position:relative;min-height:235px;margin:0 16px;overflow:hidden;padding:14px;background:linear-gradient(rgba(124,81,145,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(124,81,145,.07) 1px,transparent 1px),rgba(255,255,255,.78);background-size:28px 28px}.floor-map>span{display:inline-grid;width:46px;height:36px;place-items:center;border-radius:12px;background:var(--gradient-purple);color:#fff;font-weight:800}.floor-map__path{position:absolute;top:47%;left:18%;width:62%;height:34%;border-right:4px dotted color-mix(in srgb,var(--color-jade-600) 54%,transparent);border-bottom:4px dotted color-mix(in srgb,var(--color-jade-600) 54%,transparent);border-radius:0 0 28px}.floor-map i{position:absolute;display:grid;max-width:110px;justify-items:center;gap:3px;color:var(--color-ink-700);font:700 var(--font-caption)/1.2 var(--font-system);text-align:center}.floor-map i svg{width:20px;height:20px;color:var(--color-purple-600)}.floor-map em{position:absolute;inset:50% 0 auto;color:var(--color-ink-500);font-size:.78rem;text-align:center}.route-form,.route-result{display:grid;gap:14px;margin:0 16px;padding:16px}.swap-route{width:44px;height:44px;margin:-7px 18px -7px auto;background:var(--color-purple-100);color:var(--color-purple-700);transform:rotate(90deg)}.switch-row{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px}.switch-row>span{display:flex;align-items:center;gap:9px}.switch-row svg{width:22px;height:22px;color:var(--color-purple-600)}.switch-row strong,.switch-row small{display:block}.switch-row small{margin-top:3px;color:var(--color-ink-600);font-size:var(--font-caption)}.switch-row input{width:44px;height:44px;accent-color:var(--color-jade-600)}.route-result__heading{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px}.route-result__heading>span{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--color-jade-100);color:var(--color-jade-800)}.route-result__heading strong,.route-result__heading small{display:block}.route-result__heading small{display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--color-ink-600);font-size:.7rem}.route-result ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.route-result li{display:grid;min-height:44px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;color:var(--color-ink-700);font-size:.82rem;line-height:1.45}.route-result li i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-purple-700);font-size:var(--font-caption);font-style:normal;font-weight:800}.transport-page,.room-page,.service-page{padding:0 16px 18px}.transport-page .page-intro,.room-page .page-intro,.service-page .page-intro{padding-inline:0}.transport-form,.transport-fees,.room-overview,.device-controls,.service-form,.service-assurance{display:grid;gap:15px;padding:16px}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.transport-fees__heading,.booking-success-card__head,.service-success-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.transport-fees__heading span,.transport-fees__heading strong{display:block}.transport-fees__heading span{color:var(--color-ink-600);font-size:var(--font-caption)}.transport-fees__heading strong{margin-top:3px;color:var(--color-purple-700);font:500 1.65rem/1.2 var(--font-display)}.transport-fees__heading>svg{width:78px;height:48px;color:color-mix(in srgb,var(--color-purple-600) 45%,transparent)}.transport-fees>p{display:flex;align-items:flex-start;gap:7px;margin:0;border-radius:12px;padding:10px;background:var(--color-jade-50);color:var(--color-jade-800);font-size:var(--font-caption);line-height:1.45}.transport-fees>p svg{width:17px;height:17px;flex:0 0 17px}.transport-page>.confirmation-row{padding:0 4px}.transport-page>.button{width:100%}.booking-success-card{text-align:left}.booking-success-card__head>span,.service-success-card>div:first-child>span:first-child{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-purple-700)}.booking-success-card__head>div,.service-success-card>div:first-child>div{min-width:0;flex:1}.booking-success-card__head strong,.booking-success-card__head small,.service-success-card strong,.service-success-card small{display:block}.booking-success-card__head small,.service-success-card small{margin-top:3px;color:var(--color-ink-600);font-size:.7rem}.driver-contact{display:grid;min-height:56px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:2px 9px;margin-top:12px;border-radius:var(--radius-control);padding:9px 12px;background:var(--color-jade-50);color:var(--color-jade-800);font-size:.78rem;text-decoration:none}.driver-contact svg{grid-row:1 / 3;width:22px;height:22px}.driver-contact strong{display:block;font-size:.9rem}.room-overview>div{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px}.room-overview__icon{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--color-purple-100);color:var(--color-purple-700)}.room-overview span,.room-overview strong{display:block}.room-overview div>div>span{color:var(--color-ink-600);font-size:var(--font-caption)}.room-overview div>div>strong{margin-top:2px;font:500 1.2rem/1.2 var(--font-display)}.room-overview>p{margin:0;color:var(--color-ink-600);font-size:var(--font-caption)}.room-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-action-grid button{display:grid;min-height:126px;place-content:center;justify-items:center;gap:7px;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:12px;background:rgba(255,255,255,.72);color:var(--color-ink-800)}.room-action-grid button.selected{border-color:color-mix(in srgb,var(--color-jade-600) 48%,transparent);background:var(--color-jade-50);color:var(--color-jade-800)}.room-action-grid svg{width:29px;height:29px;color:var(--color-purple-600)}.room-action-grid small{color:var(--color-ink-600);font-size:var(--font-caption);line-height:1.35}.device-controls h3{margin:0;font:500 1.12rem/1.2 var(--font-display)}.device-row,.temperature-control{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--color-border)}.device-row>span,.temperature-control>span{display:flex;align-items:center;gap:9px}.device-row svg,.temperature-control>span svg{width:21px;height:21px;color:var(--color-purple-600)}.ui-switch{position:relative;width:48px;height:44px;min-height:44px;border:0;border-radius:22px;background:transparent}.ui-switch:before{position:absolute;inset:8px 0;border-radius:14px;background:rgba(90,67,99,.18);content:""}.ui-switch i{position:absolute;z-index:1;top:11px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #24152f2e;transition:transform var(--motion-fast) ease}.ui-switch--on{background:transparent}.ui-switch--on:before{background:var(--color-jade-600)}.ui-switch--on i{transform:translate(20px)}.temperature-control>div{display:flex;align-items:center;gap:7px}.temperature-control>div>strong{min-width:54px;color:var(--color-purple-700);font-size:1.15rem;text-align:center}.sync-status{position:fixed;z-index:26;right:max(16px,calc((100vw - 736px)/2));bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 12px);left:max(16px,calc((100vw - 736px)/2));display:flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-control);background:rgba(36,21,47,.94);color:#fff;font-size:.8rem}.sync-status span{width:15px;height:15px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:ui-spin .72s linear infinite}.selected-service{display:flex;min-height:72px;align-items:center;gap:12px;border-radius:var(--radius-control);padding:12px;background:var(--color-purple-100);color:var(--color-purple-700)}.selected-service--urgent{background:var(--color-danger-100);color:var(--color-danger-700)}.selected-service>span{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:50%;background:rgba(255,255,255,.58)}.selected-service strong,.selected-service small{display:block}.selected-service small{margin-top:3px;font-size:.7rem;line-height:1.4;opacity:.82}.urgent-notice{display:flex;align-items:flex-start;gap:8px}.urgent-notice svg{width:19px;height:19px;flex:0 0 19px}.service-assurance{display:flex;align-items:center;gap:11px}.service-assurance>svg{width:26px;height:26px;flex:0 0 26px;color:var(--color-purple-600)}.service-assurance strong,.service-assurance span{display:block}.service-assurance span{margin-top:4px;color:var(--color-ink-600);font-size:var(--font-caption);line-height:1.4}.service-success-card{text-align:left}.service-success-card>p{margin:14px 0 0;border-top:1px solid var(--color-border);padding-top:12px;color:var(--color-ink-600);font-size:.8rem}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px}.workbench-layout,.auth-layout.workbench-layout{display:block;min-height:calc(100dvh - 72px - env(safe-area-inset-top));padding:0 calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:transparent}.workbench-layout .workbench-hero{position:relative;display:flex;height:auto;min-height:0;flex-direction:row;align-items:flex-end;align-content:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 calc(-16px - env(safe-area-inset-right)) 16px calc(-16px - env(safe-area-inset-left));border-radius:0 0 28px 28px;padding:16px calc(16px + env(safe-area-inset-right)) 18px calc(16px + env(safe-area-inset-left));background:var(--color-ink-950);color:#fff}.workbench-layout .workbench-hero:before,.workbench-layout .workbench-hero:after{display:none}.workbench-hero__content{flex:1 1 180px;min-width:0}.workbench-layout .workbench-hero h1{max-width:none;margin:4px 0 0;color:#fff;font:600 clamp(22px,5.6vw,26px)/var(--line-page-title) var(--font-system);letter-spacing:0;overflow-wrap:anywhere;word-break:normal}.workbench-hero p{margin:8px 0 0;color:#ffffffc2;font-size:var(--font-caption);line-height:var(--line-caption);overflow-wrap:anywhere;word-break:normal}.workbench-layout .workbench-hero .status-badge{min-height:24px;padding-block:2px;font-size:13px;line-height:var(--line-caption)}.workbench-hero__toggle{position:static;flex:0 0 auto;min-height:44px;transform:none;padding:0 16px;font-size:var(--font-button);line-height:var(--line-button);white-space:nowrap;word-break:keep-all}.workbench-layout .workbench-hero--collapsed{padding-block:12px}.workbench-layout .workbench-hero--collapsed h1{margin:0;font-size:var(--font-card-title)}.staff-card,.security-card,.service-card,.room-service-card{width:100%;max-height:none;overflow:visible;border-radius:var(--radius-card);padding:clamp(18px,5vw,28px)}.workbench-layout .auth-card.staff-card{min-height:0;max-height:none;overflow:visible;border-radius:var(--radius-card)}.staff-card__heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.staff-card__heading>div{min-width:0}.staff-card__heading h2{overflow:hidden;margin:0;font:500 var(--font-page-title)/var(--line-page-title) var(--font-display);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.staff-card__heading p{margin:8px 0 0;color:var(--color-ink-600);font-size:var(--font-body);line-height:var(--line-body);overflow-wrap:anywhere;word-break:normal}.staff-card .service-list{margin-top:24px;padding-top:20px}.staff-card .service-list h3{margin:0;font:750 var(--font-section-title)/var(--line-section-title) var(--font-system);letter-spacing:0}.staff-card .service-list h4{margin:18px 0 0;font:750 var(--font-card-title)/var(--line-section-title) var(--font-system);letter-spacing:0}.staff-card .service-list .staff-fulfillment-title{font:750 var(--font-body)/var(--line-caption) var(--font-system)}.staff-queue,.service-list ul,.room-menu,.session-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.staff-queue li,.service-list li,.room-menu li,.session-list li,.room-status-item{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:12px;background:rgba(255,255,255,.62)}.staff-queue li{min-width:0}.staff-request__meta{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.staff-request__meta>div,.staff-card .service-list>ul>li>div:first-child{min-width:0}.staff-request__meta strong,.staff-card .service-list>ul>li>div:first-child>strong{overflow:hidden;font-size:var(--font-card-title);line-height:var(--line-section-title);text-overflow:ellipsis;white-space:nowrap}.staff-request__meta small,.staff-card .service-list>ul>li>div:first-child>small{margin-top:4px;color:var(--color-ink-600);font-size:var(--font-caption);line-height:var(--line-caption);overflow-wrap:anywhere;word-break:normal}.staff-request__note{margin:12px 0;color:var(--color-ink-700);font-size:var(--font-body);line-height:var(--line-body);overflow-wrap:anywhere;word-break:normal}.staff-card .service-list>ul>li{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.staff-card .service-list>ul>li>.staff-request__actions,.staff-card .service-list>ul>li>.session-confirm{grid-column:1 / -1;justify-self:end}.staff-request__actions,.service-request__actions,.order-item__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.staff-request__actions .button,.staff-stays>ul>li>.button{flex-shrink:0;min-height:44px;padding-inline:16px;white-space:nowrap;word-break:keep-all}.service-card input:not([type=checkbox]):not([type=radio]),.service-card select,.service-card textarea,.room-service-card input:not([type=checkbox]),.room-service-card select,.room-service-card textarea,.staff-card input:not([type=checkbox]),.staff-card select,.staff-card textarea,.security-card input:not([type=checkbox]),.security-card select,.security-card textarea{width:100%;min-height:48px;appearance:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);padding:10px 12px;background:rgba(255,255,255,.78);color:var(--color-ink-950)}.service-card label,.room-service-card label,.staff-card label,.security-card label{display:grid;gap:6px;color:var(--color-ink-800);font-size:.8rem;font-weight:750}.security-muted{color:var(--color-ink-600);font-size:var(--font-body);line-height:var(--line-body);overflow-wrap:anywhere;word-break:normal}.text-button{min-height:44px;border:0;background:transparent;color:var(--color-purple-700);font-weight:750;text-decoration:none}@keyframes thinking{to{opacity:.2;transform:translateY(-2px)}}@media (min-width: 600px){.service-grid,.service-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.auth-screen>.auth-card,.unbound-content,.stay-content{max-width:620px;margin-inline:auto}.product-list,.order-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.order-card{align-content:start}}@media (max-width: 430px){.app-header{padding-right:calc(12px + env(safe-area-inset-right));padding-left:calc(12px + env(safe-area-inset-left))}.brand strong{font-size:.95rem}.brand{gap:8px}.brand__mark{width:38px;height:38px;flex-basis:38px}.brand__mark svg{width:31px;height:31px}.language-select__trigger{white-space:nowrap;word-break:keep-all}.language-select__icon{display:none}.hero-section{padding-inline:16px}.hero-section__content{max-width:94%}.guest-stay-summary{padding-inline:4px}.guest-stay-summary>div{padding-inline:4px}.guest-stay-summary strong{font-size:.86rem}.product-card{grid-template-columns:104px minmax(0,1fr)}.order-card__top,.order-detail__hero{grid-template-columns:42px minmax(0,1fr)}.order-card__top>.status-badge,.order-detail__hero>.status-badge{grid-column:2;justify-self:start}.cart-sticky{grid-template-columns:44px minmax(0,1fr) auto;margin-inline:8px}.cart-sticky .button{padding-inline:10px;font-size:.78rem}.form-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-segmented button{padding-inline:5px;font-size:.75rem}}@media (max-width: 350px){.app-header__actions>.icon-button{display:inline-grid}.brand__mark{width:36px;flex-basis:36px}.brand__mark svg{width:29px;height:29px}.hero-section h1{font-size:1.9rem}.guest-stay-summary{grid-template-columns:1fr;gap:8px}.guest-stay-summary>div{grid-template-columns:24px minmax(0,1fr) auto;justify-items:start;align-items:center;text-align:left}.guest-stay-summary>div+div{border-top:1px solid var(--color-border);border-left:0;padding-top:8px}.service-tile{min-height:124px}.form-columns,.room-action-grid{grid-template-columns:1fr}.cart-sticky{grid-template-columns:40px minmax(0,1fr)}.cart-sticky .button{grid-column:1 / -1;width:100%}}@media (max-width: 389px){.app-header{flex-wrap:wrap}.brand{max-width:calc(100% - 154px)}.mode-switch{order:3;width:100%}.language-select__icon{display:none}}@media (max-width: 359px){.brand small{display:none}.workbench-hero__content{flex-basis:100%}.workbench-hero__toggle{width:100%}.staff-card .service-list>ul>li{grid-template-columns:minmax(0,1fr);align-items:stretch}.staff-card .service-list>ul>li>.status-badge{justify-self:start}.staff-card .service-list>ul>li>.button,.staff-card .service-list>ul>li>.room-status-select,.staff-card .service-list>ul>li>.staff-request__actions,.staff-card .service-list>ul>li>.session-confirm{grid-column:1;width:100%;justify-self:stretch}.staff-card .service-list>ul>li>.button,.staff-card .service-list>ul>li>.staff-request__actions .button,.staff-card .service-list>ul>li>.session-confirm .button{width:100%}.staff-request__actions{justify-content:stretch}}@media (orientation: landscape) and (max-height: 520px){.app-header,.experience-header{position:relative;min-height:58px;padding-top:8px}.hero-section,.ready-dashboard .hero-section,.experience-home .hero-section,.unbound-screen .hero-section{min-height:260px}.chat-fixed-stack{bottom:calc(var(--visual-viewport-bottom-gap, 0px) + 6px)}.bottom-navigation{display:none}.concierge-page{padding-bottom:calc(var(--chat-fixed-stack-height) + 20px)}}html[data-visual-viewport=compact] .experience-header{min-height:60px;gap:4px;padding-right:4px;padding-left:4px}html[data-visual-viewport=compact] .experience-header p{display:none}html[data-visual-viewport=compact] .experience-header h1{font-size:1rem}html[data-visual-viewport=compact] .privacy-inline,html[data-visual-viewport=compact] .message-bubble,html[data-visual-viewport=compact] .assistant-welcome .glass-card{min-width:0;max-width:100%;overflow-wrap:anywhere}html[data-visual-viewport=compact] .concierge-status,html[data-visual-viewport=compact] .chat-messages{padding-right:8px;padding-left:8px}html[data-visual-viewport=compact] .concierge-status{flex-wrap:wrap}.experience-app button,.experience-app [role=button]{font-size:var(--font-button)}.experience-app small,.experience-app time{font-size:max(12px,1em)}@media (prefers-reduced-motion: reduce){.thinking-bubble i,.sync-status span{animation:none}}
