:root{color-scheme:light;--pp-bg:#f5f5f7;--pp-surface:#fff;--pp-text:#29232f;--pp-muted:#776b7e;--pp-line:#e3dce7;--pp-selected:#f7e3ec;--pp-on-accent:#fff;--pp-accent:#c53261;--pp-rose:#c99b82;--pp-field:#fff}
:root[data-theme=dark]{color-scheme:dark;--pp-bg:#17141c;--pp-surface:#231d28;--pp-text:#f2edf5;--pp-muted:#c2b3c8;--pp-line:#44374c;--pp-selected:#482539;--pp-on-accent:#17141c;--pp-accent:#e8608a;--pp-field:#1c1721}
body,.team-page,.booking-page{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:16px;color:var(--pp-text)!important;background:var(--pp-bg)!important;--bg:var(--pp-bg);--text:var(--pp-text);--muted:var(--pp-muted);--panel:var(--pp-surface);--line:var(--pp-line);--rose:var(--pp-accent);--gold:var(--pp-rose);overflow-y:auto}
body h1,body h2,body h3,.reservation-hour,.night-stat strong,.shift-label>span{font-family:inherit!important;letter-spacing:-.025em!important;font-weight:650!important}body h1,.team-page h1{font-size:1.75rem!important;line-height:1.2!important}body h2,.team-page h2{font-size:1.25rem!important;line-height:1.35!important}body h3,.team-page h3{font-size:1.06rem!important;line-height:1.4!important}button,input,select,textarea{font-family:inherit!important}p{line-height:1.6}button,.button-link{min-height:44px!important;border-radius:10px!important;font-size:.875rem!important}body button,body .button-link{background:var(--pp-surface);color:var(--pp-text);border:1px solid var(--pp-line)}body button:hover{border-color:var(--pp-accent);background:var(--pp-selected)}body button.primary,body a.primary{background:var(--pp-accent);color:var(--pp-on-accent);border-color:var(--pp-accent)}body input,body select,body textarea,.team-page input,.team-page select,.team-page textarea{background:var(--pp-field)!important;color:var(--pp-text)!important;border:1px solid var(--pp-line)!important;font-size:1rem!important;border-radius:10px!important;min-height:44px;padding:11px;box-sizing:border-box;max-width:100%}body input[type=checkbox]{min-height:20px!important;width:20px;height:20px;accent-color:var(--pp-accent);flex:none}body button:focus-visible,body a:focus-visible,body input:focus-visible,body select:focus-visible{outline:3px solid var(--pp-accent);outline-offset:3px}body [hidden]{display:none!important}body .muted,body .eyebrow,.suite-label,body .fine-print{color:var(--pp-muted)!important}body small{font-size:.8125rem;line-height:1.5}body .field,body label{font-size:.875rem}body .team-sidebar,body .night-topbar,body .booking-header,body .team-bottom-nav,body .team-embed-nav{background:var(--pp-surface);border-color:var(--pp-line)}body .team-sidebar nav a,body .team-sidebar nav a>span,body .suite-switch a{color:var(--pp-muted)}body .team-sidebar nav a.active,body .team-embed-nav a.active,body .team-bottom-nav a.active{background:var(--pp-selected);color:var(--pp-accent);box-shadow:none}body .team-sidebar nav a:hover{background:var(--pp-selected);color:var(--pp-text)}body .team-sidebar{overflow-y:auto}body .team-brand img,body .mobile-brand img{object-fit:contain;max-height:54px;width:144px}body .night-context>strong,body .reservation-guest strong,body .reservation-table strong,body .reservation-hour{color:var(--pp-text)}body .night-main{padding:28px;max-width:1600px}body .night-heading p,body .night-stat>span,body .night-stat small,body .reservation-guest small,body .reservation-status small,body .shift-label small{color:var(--pp-muted)}body .night-stat,body .reservation-row,body .night-floor,body .profile-card,body .access-person,body .ticket-card,body .reservation-panel,body .reservation-summary,body .card,body .login-card,body .night-search{background:var(--pp-surface);color:var(--pp-text);border:1px solid var(--pp-line);border-radius:16px;box-shadow:none}body .reservation-row:hover{background:var(--pp-selected);border-color:var(--pp-accent)}body .night-stat:before{display:none}body .night-stat strong{font-size:1.9rem;line-height:1.2}body .night-topbar{flex-wrap:wrap;gap:12px}body .night-heading{margin-bottom:22px}body dialog{background:var(--pp-surface);color:var(--pp-text);border:1px solid var(--pp-line);border-radius:18px;max-height:88dvh;overflow:auto;box-shadow:0 20px 70px #0004}body dialog::backdrop{background:#100e1866}body .source-note{background:var(--pp-selected);border-color:var(--pp-line);color:var(--pp-text)}body .source-note span,body .profile-facts small,body .ticket-card p{color:var(--pp-muted)}body .team-account,body .suite-switch,body .profile-facts>div,body .floor-key{border-color:var(--pp-line)}body .profile-facts strong{color:var(--pp-text)}body .account-avatar{background:var(--pp-selected);color:var(--pp-accent);border-color:var(--pp-line)}body .permission-grid>div{background:var(--pp-bg);color:var(--pp-text);border-color:var(--pp-line)}.suite-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.suite-tools button{padding:8px 11px}.suite-tools select{padding:8px;max-width:115px;font-size:.875rem!important}.suite-preferences{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;background:var(--pp-surface);border-bottom:1px solid var(--pp-line)}.suite-preferences:empty{display:none}body .login-card{max-width:460px;width:calc(100% - 32px);padding:32px;box-sizing:border-box;margin:30px auto}body .login-card>img{width:230px;max-width:90%;object-fit:contain;height:auto}body .login-card label{color:var(--pp-text)}body.login-page{min-height:100dvh;display:block!important}body .access-heading{margin-top:24px}body .login-card p{color:var(--pp-muted)}body .booking-heading h1 em{color:var(--pp-accent);font-style:normal}body .booking-header{padding:16px 28px}body .booking-header img{width:180px;height:auto}body .booking-heading{margin-bottom:20px}body .reservation-layout{max-width:1400px}.booking-steps button,.room-tabs button,body .table-choice{background:var(--pp-surface)!important;color:var(--pp-text)!important;border-color:var(--pp-line)!important}.booking-steps button[aria-current=step],body .room-tabs button.active,body .table-choice.selected{background:var(--pp-selected)!important;border-color:var(--pp-accent)!important}body .table-choice small,body .room-tabs span,body .summary-body p,body .quote-line{color:var(--pp-muted)}body .summary-body,body .booking-footer{color:var(--pp-text)}body .summary-image{display:none}body .reservation-summary{position:sticky;top:20px}body .booking-steps span{font-family:inherit!important}.suite-panel{padding:24px;border:1px solid var(--pp-line);border-radius:16px;background:var(--pp-surface);margin-bottom:18px}.suite-panel h2{margin-top:0}.suite-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.suite-form{display:grid;gap:16px}.suite-form label{display:grid;gap:7px}.suite-form .checkbox-line{display:flex;align-items:center}.suite-form button[type=submit]{justify-self:start}.suite-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.suite-toolbar h1,.suite-toolbar h2{margin:0}.suite-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.suite-actions a{padding:10px 14px}.suite-page{max-width:1120px;margin:auto;padding:28px 20px 70px}.suite-header{display:flex;justify-content:space-between;gap:16px;align-items:center;background:var(--pp-surface);border-bottom:1px solid var(--pp-line);padding:16px 28px;flex-wrap:wrap}.suite-header img{width:180px;height:auto}.suite-header nav{display:flex;gap:18px;flex-wrap:wrap}.receipt-code{display:block;padding:20px;background:var(--pp-selected);border:1px solid var(--pp-line);border-radius:12px;letter-spacing:.12em;font-size:1.35rem;font-weight:700;overflow-wrap:anywhere}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-grid button{min-height:82px!important;text-align:left;padding:10px;display:flex;flex-direction:column;gap:8px}.calendar-grid .calendar-day{font-weight:650}.calendar-grid button small{font-size:.75rem}.calendar-grid button.active{background:var(--pp-selected);border-color:var(--pp-accent)}.calendar-weekday{font-size:.8rem;padding:7px;text-align:center;color:var(--pp-muted)}.event-card{padding:22px;display:flex;flex-direction:column;gap:12px}.event-card h2{margin:0}.event-card p{margin:0}.event-card .suite-actions{margin-top:auto}.event-date{font-size:.875rem;color:var(--pp-accent);font-weight:600}.suite-status{display:inline-flex;font-size:.8125rem;background:var(--pp-selected);color:var(--pp-accent);border-radius:7px;padding:5px 9px}.suite-note{padding:14px;border-radius:10px;background:var(--pp-bg);font-size:.875rem;color:var(--pp-muted)}.guest-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guest-facts dt{font-size:.875rem;color:var(--pp-muted);margin-bottom:5px}.guest-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}.suite-avatar{width:72px;height:72px;border-radius:22px;object-fit:cover}.tour-progress{color:var(--pp-muted);font-size:.875rem}.suite-error{color:#b92348}.suite-success{color:#267b53}html[data-theme=dark] .suite-error{color:#ffadc4}html[data-theme=dark] .suite-success{color:#96dcba}body #toast{background:var(--pp-text);color:var(--pp-surface);max-width:calc(100vw - 32px)}
@media(max-width:900px){body .night-main{padding:22px 16px}body .team-bottom-nav{z-index:80}body .night-topbar{padding:14px 16px}.suite-tools{margin-left:auto}.calendar-grid button{min-height:66px!important;padding:6px}.calendar-grid button small{font-size:.75rem}.suite-panel{padding:18px}.suite-header{padding:16px}.suite-header img{width:145px}}
@media(max-width:580px){body h1,.team-page h1{font-size:1.5rem!important}body .night-top-actions{flex-wrap:wrap}.suite-tools{width:100%;justify-content:flex-end}.suite-preferences{padding:10px 16px}.calendar-grid{gap:3px}.calendar-grid button{min-height:58px!important;font-size:.8125rem!important}.calendar-grid button small{display:none}.guest-facts{grid-template-columns:1fr}.suite-page{padding:22px 16px 80px}body .booking-header{padding:16px}.booking-header .header-location{display:none}body .reservation-summary{position:static}.suite-header nav{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.suite-preferences,.suite-header,.suite-tools,.team-sidebar,.team-bottom-nav,button{display:none!important}.receipt-code{color:#000!important}}
body input[type=checkbox]{padding:0!important}.table-choice[aria-pressed=true]{background:var(--pp-selected)!important;border-color:var(--pp-accent)!important;box-shadow:0 0 0 1px var(--pp-accent)!important}body .table-number,body .table-price,body .minimum-note strong{color:var(--pp-text)!important}body .table-meta,body .minimum-note,body .table-choice p{color:var(--pp-muted)!important}body .package-card,body .host-card,body .quote-line,body .quote-total,body .minimum-note,body .quote-note,body .package-option,body .summary-host,body .booking-map,body .room-tabs,body .date-shortcuts button,body .reservation-terms,body .status-panel,body .detail-summary,body .detail-data>div,body .profile-actions,body .access-admin-links{background:var(--pp-surface);color:var(--pp-text);border-color:var(--pp-line)}body .host-card b,body .package-card strong,body .quote-total strong,body .quote-line strong{color:var(--pp-text)}body .booking-header a,body .access-heading,body .login-card h1{color:var(--pp-text)}.studio-page{height:auto!important;min-height:100dvh;overflow-y:auto!important}.studio-page .studio-grid{min-height:580px;height:calc(100dvh - 210px)}body .suite-preferences{position:relative;z-index:30}.has-team-shell>.suite-preferences{padding-right:28px}body .night-topbar .mobile-brand{max-width:160px}body .badge{font-size:.8125rem}body .ticket-count span,body .detail-data small,body .floor-panel-heading p{color:var(--pp-muted)}body .detail-data strong,body .detail-summary .stat-line{color:var(--pp-text)}body .reservation-panel{color:var(--pp-text)}body .field small{color:var(--pp-muted)}body .team-account small{color:var(--pp-muted)}

body .suite-preferences{width:100%;max-width:none;box-sizing:border-box;margin:0;flex-wrap:wrap}body.team-page :is(.login-card,.card,.profile-card,.access-person,.ticket-card,.reservation-panel,.studio-tools,.catalog-panel,.inspector,.appbar,dialog){background:var(--pp-surface);color:var(--pp-text);border-color:var(--pp-line)}body.team-page dialog{font-family:inherit}body.team-page .empty{background:var(--pp-surface);color:var(--pp-muted);border-color:var(--pp-line)}body.team-page .empty h2{color:var(--pp-text)}body.team-page .permission-grid{color:var(--pp-text)}body.team-page .source-note strong{color:var(--pp-text)}body.team-page .team-inline-error{color:#b92348}html[data-theme=dark] body.team-page .team-inline-error{color:#ffadc4}
body.team-page button,body.team-page .button-link{background:var(--pp-surface);color:var(--pp-text);border-color:var(--pp-line)}body.team-page button:hover{background:var(--pp-selected)}body.team-page button.primary,body.team-page a.primary{background:var(--pp-accent);border-color:var(--pp-accent);color:#fff}body.team-page .secondary-link{color:var(--pp-accent)}body .suite-tools{width:max-content;max-width:100%;flex-wrap:nowrap}body .suite-tools button{white-space:nowrap}body .suite-tools select{flex-shrink:0}@media(max-width:400px){body .suite-preferences{padding:10px}body .suite-tools{gap:4px}body .suite-tools select{width:96px}body .suite-tools button{padding:8px}}

/* Suite-wide semantic contrast, including public booking and operator states. */
:root{--pp-primary:#c53261;--pp-on-primary:#fff;--pp-success:#216c50;--pp-success-bg:#e6f4eb;--pp-warning:#805b17;--pp-warning-bg:#fff3d6;--pp-error:#ae2846;--pp-error-bg:#fde9ee;--pp-info:#285f83;--pp-info-bg:#e8f1fa;--pp-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root[data-theme=dark]{--pp-success:#a0e5bd;--pp-success-bg:#1e3b2d;--pp-warning:#f3d38a;--pp-warning-bg:#3d311d;--pp-error:#ffc0ce;--pp-error-bg:#492432;--pp-info:#afd7f4;--pp-info-bg:#243643}
html{font-family:var(--pp-font);background:var(--pp-bg);color:var(--pp-text)}
body{margin:0;min-width:0;--danger:var(--pp-error)}
body *,body *::before,body *::after{box-sizing:border-box}
body :is(.room-tabs b,.table-price,.host-avatar,.host-signature,.package-choice>strong,.space-selection strong,.metric,.space-legend,#space-status,.space-tables button){font-family:var(--pp-font);font-style:normal;letter-spacing:normal}
body :is(.field,label.field,.table-number,.table-price,.selection-description,.room-tabs b,.room-tabs button.active b,.package-choice>strong,.success-card h1,.ticket-code,.detail-topline,.shift-label>span,.header-location,.space-selection strong){color:var(--pp-text)}
body :is(.booking-heading p,.availability-caption,.section-kicker,.header-location span,.alternative-plan,.minimum-note small,.host-card small,.host-signature,.summary-signature,.summary-signature span,.table-loading,.package-choice p,.concierge-selection p,.ticket-card small,.access-person small,.profile-hero p,.permission-grid .permission-off,.reservation-table small,.floor-key,.floor-selection p,.floor-panel-heading label,.night-date,.night-context,.breadcrumb,.history-line small,.team-bottom-nav a,.team-brand>span,.space-selection span,.space-selection small,.panel-heading p,.inspector-note,#space-status,.space-legend,.camera-caption){color:var(--pp-muted)}
body :is(.package-choice,.concierge-selection,.success-card,.booking-form,.camera-dock>div,.space-selection,.scene-notice,.portal-menu>div){background:var(--pp-surface);color:var(--pp-text);border-color:var(--pp-line);border-radius:16px}
body :is(.booking-steps,.step-actions,.venue-frame-wrap,.summary-signature,.detail-section,.history-line,.profile-facts,.ticket-card .ticket-count,.team-brand>span,.segmented,.space-selection,details.table-options){border-color:var(--pp-line)}
body :is(.booking-steps button span,.booking-steps button[aria-current=step] span,.success-card h1 em,.success-card .code,.booking-footer a,.stat-line.total,.catalog-icon){color:var(--pp-accent)}
body :is(.banner,.quote-note,.detail-callout,.source-note){background:var(--pp-warning-bg);color:var(--pp-warning);border-color:var(--pp-warning);border-radius:10px;font-size:.875rem}
body :is(.banner,.quote-note,.detail-callout,.source-note) :is(strong,span){color:inherit}
body :is(.night-error,.suite-error,#space-error){color:var(--pp-error)}
body .night-error{background:var(--pp-error-bg);border-color:var(--pp-error)}
body :is(th,.suite-note){background:var(--pp-bg);color:var(--pp-muted)}
body :is(th,td){border-color:var(--pp-line);font-size:.875rem}
body .badge{background:var(--pp-bg);color:var(--pp-muted);border-radius:8px;font-weight:550}
body .badge.requested{background:var(--pp-warning-bg);color:var(--pp-warning)}
body .badge.confirmed{background:var(--pp-success-bg);color:var(--pp-success)}
body .badge.checked_in{background:var(--pp-selected);color:var(--pp-accent)}
body .badge.completed{background:var(--pp-info-bg);color:var(--pp-info)}
body :is(.badge.cancelled,.badge.no_show){background:var(--pp-bg);color:var(--pp-muted)}
body :is(button.active,.tabs button.active,.segmented button.active,.tool-choices .active,.transform-tools button.active,.camera-dock button.active,.date-shortcuts button.active,.space-tables button[aria-pressed=true]){background:var(--pp-selected);color:var(--pp-accent);border-color:var(--pp-accent)}
body button.primary,body a.primary,body.team-page button.primary,body.team-page a.primary{background:var(--pp-primary);color:var(--pp-on-primary);border-color:var(--pp-primary)}
body button.primary:hover,body a.primary:hover{background:#a52851;color:#fff;border-color:#a52851}
body button:disabled{opacity:.5;cursor:not-allowed}
body :is(button,.button-link):focus-visible,body summary:focus-visible{outline:3px solid var(--pp-accent);outline-offset:3px}
body .danger{color:var(--pp-error)}
body input::placeholder,body textarea::placeholder{color:var(--pp-muted);opacity:1}
body summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.5;color:var(--pp-text)}
body :is(input,select,textarea,button,a){-webkit-tap-highlight-color:transparent}
body .button-link{padding:10px 15px}
body :is(.suite-panel,.card,.reservation-panel,.reservation-summary,.success-card,.event-card){min-width:0;overflow-wrap:anywhere}
body :is(.room-tabs b,.table-price){font-size:1.25rem;font-weight:600}
body .package-choice>strong{font-size:1.75rem}
body :is(.table-meta,.section-kicker,.summary-signature,.minimum-note small,.availability-caption,.host-card small,.room-tabs span){font-size:.8125rem;letter-spacing:normal}
body .booking-header{width:100%;max-width:none;display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:18px 28px}
body .booking-header>.brand{min-width:0;margin-right:auto}
body .booking-header>a:last-child{border:0;color:var(--pp-text)}
body .booking-footer{color:var(--pp-muted);flex-wrap:wrap}
body .success-card{margin:32px auto;padding:32px;width:calc(100% - 32px)}
body .booking-steps{gap:8px}
body .booking-steps button{border:1px solid var(--pp-line);padding:12px;min-height:52px;border-radius:10px}
body .booking-steps button span{font-size:1rem;margin-right:8px}
body .quote-note{border-left-width:3px}
body .summary-body{padding:22px}
body dialog{padding:28px;max-width:calc(100vw - 24px);width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-gutter:stable}
body dialog .dialog-close{width:44px;min-height:44px;top:8px;right:8px;color:var(--pp-text);background:var(--pp-surface);z-index:2}
body #dialog-content>h2:first-child{padding-right:36px}
body .suite-toolbar>input[type=search]{flex:1 1 220px;width:auto;min-width:0}
body .ticket-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,275px),1fr))}
body .calendar-grid button{position:relative;min-width:0}
body .calendar-grid .calendar-count{font-size:.75rem;padding:3px 5px;border-radius:5px;background:var(--pp-selected);color:var(--pp-accent)}
body .guest-facts>div{min-width:0}
body .suite-actions{gap:10px}

/* One shared operational shell, with every destination available on mobile. */
body.has-team-shell{padding-left:248px}
body .team-sidebar{width:248px;padding:24px 16px 16px}
body .team-brand{margin:0 4px 24px;gap:8px}
body .team-brand img{width:155px}
body .team-sidebar nav a{border-radius:12px;min-height:44px;gap:12px}
body .team-sidebar nav a>span{display:flex;align-items:center;justify-content:center;width:20px}
.suite-icon{display:block;width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}
body .night-topbar{min-height:78px;position:sticky;top:0;z-index:35;padding:14px 24px;gap:14px}
body .night-topbar>.suite-tools{margin-left:auto}
body .night-context{display:block}
body .night-top-actions{width:auto;flex-wrap:wrap}
body .night-heading{flex-wrap:wrap}
body .night-search{min-width:0;flex-basis:220px}
body .night-search input{border:0!important;background:transparent!important}
body .night-search>span{color:var(--pp-muted)}
body .night-main,body .view-content{width:100%;min-width:0}
body .team-account button{min-width:44px;min-height:44px!important}
body .suite-preferences{min-height:68px;align-items:center}
body .suite-tools{display:flex;gap:8px;width:auto;flex:none;flex-wrap:wrap;align-items:center}
body .suite-tools button{min-width:44px}
body .night-topbar .suite-tools{flex-wrap:nowrap}
body .team-bottom-nav a,body .team-bottom-nav button{color:var(--pp-muted);border:0;background:none;border-radius:10px}
body .team-bottom-nav :is(a,button).active{color:var(--pp-accent);background:var(--pp-selected)}
.mobile-menu{padding:24px!important}
.mobile-menu h2{margin:0 0 18px}
.mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mobile-menu-grid a{display:flex;align-items:center;gap:10px;min-height:50px;padding:12px;border:1px solid var(--pp-line);border-radius:12px;color:var(--pp-text);font-size:.875rem}
.mobile-menu-grid a.active{background:var(--pp-selected);color:var(--pp-accent);border-color:var(--pp-accent)}
.mobile-menu .suite-switch{margin-top:20px;padding:16px 0 0}
.mobile-menu .menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mobile-menu .menu-heading button{margin-bottom:18px}
body .night-filterbar #night-refresh,body #night-refresh{width:auto;font-size:.875rem!important;min-width:44px}
body .space-legend{flex-wrap:wrap;gap:12px}
body .space-toolbar{height:auto;flex-wrap:wrap}
body .space-toolbar>.segmented{max-width:100%;flex-wrap:wrap}
body .camera-dock>div{border-radius:10px}
body .studio-page{height:auto;min-height:100dvh}
body .studio-grid{min-height:620px}
@media(max-width:1250px){body .night-top-actions{order:3;flex-basis:100%;justify-content:space-between}body .night-topbar{position:relative}body .night-context{margin-right:auto}}
@media(max-width:900px){body.has-team-shell{padding-left:0;padding-bottom:calc(82px + env(safe-area-inset-bottom))}body .team-sidebar{display:none}body .team-bottom-nav{display:flex;padding:8px 8px max(8px,env(safe-area-inset-bottom));gap:4px}body .team-bottom-nav :is(a,button){flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:.75rem!important;line-height:1.25;padding:8px 3px;min-height:54px}body .team-bottom-nav .suite-icon{width:21px;height:21px}body .team-bottom-nav a>span{font-size:inherit}body .night-topbar{padding:14px 16px;gap:12px}body .night-context{display:none}body .mobile-brand{display:block;max-width:120px!important}body .mobile-brand img{width:120px}body .night-main{padding:22px 16px}body .suite-tools select{width:105px}body #toast{bottom:calc(92px + env(safe-area-inset-bottom))}body .night-floor{position:static}body .night-workspace.split{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){body .night-topbar .suite-tools{flex-wrap:wrap;justify-content:flex-end;flex:1}body .night-topbar .suite-tools #suite-guide{flex-basis:100%;min-height:36px!important;font-size:.8125rem!important}body .night-top-actions{gap:8px;display:grid;grid-template-columns:minmax(0,1fr) auto}body .night-date{font-size:.8125rem;min-width:0}body .night-date input{width:100%;max-width:165px}body .night-top-actions>.primary{grid-column:1/-1}body .shift-label{text-align:left}body .night-heading{align-items:start;gap:14px}body .night-heading p{max-width:none}body .reservation-row,body .split .reservation-row{grid-template-columns:44px minmax(0,1fr) 54px}body .reservation-guest{min-width:0;overflow-wrap:anywhere}body .reservation-hour{font-size:1.125rem}body .floor-panel-heading{flex-wrap:wrap}body .floor-panel-heading label{width:100%;display:flex;align-items:center;gap:12px}body .floor-panel-heading select{width:auto;flex:1}body .night-floor iframe,body .floor-only .night-floor iframe{height:440px}body .calendar-grid button{padding:6px 3px;align-items:center;min-height:64px!important}body .calendar-grid .calendar-count{display:inline-block}body .calendar-weekday{font-size:.75rem;padding:6px 1px}body .booking-header{gap:12px;padding:16px}body .booking-header .brand{flex-basis:100%}body .booking-header img{width:180px}body .booking-header>a:not(.brand){font-size:.875rem;padding:8px 0}body .booking-steps{gap:5px}body .booking-steps button{padding:10px 7px;font-size:.8125rem!important;min-width:0}body .booking-steps button span{display:block;margin:0 0 3px}body .booking-footer{padding:20px 16px;gap:12px}body .reservation-panel,body .success-card{padding:20px}body .reservation-summary{position:static}body .suite-grid{grid-template-columns:1fr}body dialog{padding:24px 18px;max-height:calc(100dvh - 24px)}body .guest-facts{grid-template-columns:1fr}body .suite-toolbar{align-items:stretch}body .suite-toolbar>input[type=search]{flex-basis:100%}body .suite-actions>button,body .suite-actions>a{white-space:normal}body .receipt-code{font-size:1.1rem;letter-spacing:.07em}body .section-kicker{flex-wrap:wrap}body .space-toolbar .segmented{width:100%}body .space-toolbar .segmented button{flex:1}body .space-page.embed #space-view{min-height:240px}body .venue-frame-wrap iframe{height:500px}}
@media(max-width:360px){body .mobile-brand{max-width:100px!important}body .mobile-brand img{width:100px}body .night-topbar .suite-tools{gap:4px}body .suite-tools button{padding:8px;font-size:.8125rem!important}body .suite-tools select{width:95px}body .mobile-menu-grid{grid-template-columns:1fr}}
@media print{html,body{background:#fff!important;color:#000!important}body .suite-panel,body .receipt-code{border-color:#aaa;background:#fff!important;color:#000!important}body :is(.suite-status,.guest-facts dt,.muted){color:#333!important}}
.calendar-toolbar{display:grid;grid-template-columns:44px minmax(140px,1fr) 44px auto}.calendar-toolbar input{width:100%;min-width:0}.night-list{container-type:inline-size}.reservation-row>*{min-width:0;overflow-wrap:anywhere}.suite-toolbar>div{min-width:0}.suite-header nav a{display:inline-flex;align-items:center;min-height:44px}.booking-header img{max-width:100%}@container(max-width:580px){body .reservation-row,body .split .reservation-row{grid-template-columns:44px minmax(0,1fr) 54px;gap:12px}body .reservation-status,body .split .reservation-status{grid-column:2/4;flex-direction:row;flex-wrap:wrap}body .reservation-chevron{display:none}}@media(max-width:580px){.calendar-toolbar{grid-template-columns:44px minmax(0,1fr) 44px}.calendar-toolbar #clear-day{grid-column:1/-1}}

:root{--pp-on-accent:#fff}:root[data-theme=dark]{--pp-on-accent:#17141c}
body button.primary,body a.primary{color:var(--pp-on-primary)}
body :is(input,textarea,select):focus-visible{outline:3px solid var(--pp-accent);outline-offset:3px}
@media(max-width:1024px){body .access-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}body .access-person .account-avatar{display:none}body .access-person>div:nth-child(2){grid-column:1/-1}body .access-person .button-link{display:flex;align-items:center;justify-content:center;text-align:center}}

.access-person>div>span,.access-person>div>small{display:block;overflow-wrap:anywhere}.identity-id{overflow-wrap:anywhere;font-size:14px}.access-person{min-width:0}.access-person>div{min-width:0}

.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.contact-card{padding:20px;border:1px solid var(--pp-line);border-radius:14px;background:var(--pp-surface);min-width:0}.contact-card h3{font-size:18px}.contact-card p,.contact-card small{overflow-wrap:anywhere}.contact-card dl{display:grid;gap:12px}.contact-card dl>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.contact-card dt{font-size:14px;color:var(--pp-muted)}.contact-card dd{margin:0;text-align:right}.contact-card small{display:block;color:var(--pp-muted);margin:14px 0}.contact-card button{min-height:44px;width:100%}.contact-check{border-top:1px solid var(--pp-line);margin-top:18px;padding-top:14px}.contact-check h4{overflow-wrap:anywhere}.contact-check li{margin:8px 0}

/* Theme changes must not briefly pair light text with an old dark surface. */
body button,body .button-link{transition:transform .12s ease}
/* Keep the requested help affordance circular while retaining a usable hit target. */
body button.context-help{border-radius:50%!important}
/* RSVP booking workspace: combobox and progress patterns reviewed on 21st.dev. */
.booking-progress{margin:10px 0 18px;color:var(--pp-muted);font-size:14px}.booking-steps button.completed span{background:var(--pp-selected);color:var(--pp-accent);border:1px solid var(--pp-accent);border-radius:50%;padding:3px 7px}.booking-assignment{background:var(--pp-bg);padding:22px;border:1px solid var(--pp-line);border-radius:14px;margin:24px 0}.booking-assignment h3{margin:0;font-size:18px}.booking-assignment .section-heading p,.assignment-note{font-size:14px;line-height:1.55;color:var(--pp-muted)}.booking-assignment .form-grid{align-items:start;gap:20px}.booking-assignment .field{min-width:0}.assignment-summary{width:100%}.assignment-summary h3{font-size:14px;font-weight:600;margin:0 0 14px;color:var(--pp-muted)}.assignment-summary dl{margin:0;display:grid;gap:14px}.assignment-summary dl>div{display:flex;justify-content:space-between;gap:16px}.assignment-summary dt{font-size:14px;color:var(--pp-muted)}.assignment-summary dd{font-size:14px;font-weight:600;text-align:right;margin:0;overflow-wrap:anywhere}.booking-blocker{padding:12px 16px;background:var(--pp-selected);border-left:3px solid var(--pp-accent);border-radius:8px;font-size:14px;line-height:1.5}.booking-referral{padding:10px 0;font-size:14px;color:var(--pp-muted)}.reservation-results{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 14px;font-size:14px;color:var(--pp-muted)}body button.night-stat{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:20px;cursor:pointer}body button.night-stat:hover{border-color:var(--pp-accent);background:var(--pp-selected)}body .reservation-status{min-width:0}body .reservation-server{color:var(--pp-text);font-size:14px;white-space:normal}body .reservation-status small{white-space:normal;overflow-wrap:anywhere}body .guest-plan-table.selected text{fill:var(--pp-on-accent)}@media(max-width:600px){.booking-assignment{padding:16px}.booking-assignment .form-grid{grid-template-columns:1fr}.booking-steps button{min-width:0}.reservation-results{flex-wrap:wrap}}
.staff-refresh-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:14px;color:var(--pp-muted);flex-wrap:wrap}
.field-title{display:flex;align-items:center;gap:8px;min-height:24px}.field-title [data-help-slot]{display:inline-flex}.booking-assignment .field-title .context-help{margin:0;min-height:24px!important;width:24px;height:24px;padding:0}

/* Shared Team controls, visible and in the same order on every RSVP workspace. */
.suite-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.suite-language-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--pp-muted)}body .suite-language-label select{min-height:36px;padding:6px 9px;font-size:12px;width:132px}.suite-theme-buttons{display:flex;border:1px solid var(--pp-line);border-radius:9px;padding:3px;gap:2px}body .suite-theme-buttons button{min-height:30px;width:30px;padding:3px;border:0;background:transparent;border-radius:6px}.suite-theme-buttons button[aria-pressed=true]{background:var(--pp-selected);color:var(--pp-accent)}.suite-portal-switcher{position:relative;flex:none}.suite-portal-switcher summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--pp-line);border-radius:9px;font-size:13px;font-weight:600;background:var(--pp-surface)}.suite-portal-switcher summary::-webkit-details-marker{display:none}.suite-portal-switcher nav{position:absolute;right:0;top:calc(100% + 8px);width:250px;z-index:100;background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:12px;box-shadow:0 10px 35px #0002;padding:8px}.suite-portal-switcher nav small{display:block;padding:8px;color:var(--pp-muted)}.suite-portal-switcher nav a{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:7px;text-decoration:none;color:var(--pp-text)}.suite-portal-switcher nav a:hover,.suite-portal-switcher nav a[aria-current]{background:var(--pp-selected)}.suite-portal-switcher nav span{font-size:12px;color:var(--pp-muted)}body .night-topbar{flex-wrap:wrap}body .night-command-bar{order:2;width:100%;border-top:1px solid var(--pp-line);padding-top:10px}.staff-review-link{margin-left:12px;font-weight:600;color:var(--pp-accent)}@media(max-width:700px){.suite-header-controls{gap:6px;flex-wrap:wrap}.suite-language-label>span{display:none}body .suite-tools{gap:6px}body #suite-guide{display:none}body .night-topbar .night-command-bar{display:flex;order:2;width:100%}.suite-header-controls .suite-tools{width:auto}.suite-header-controls{width:100%;justify-content:space-between}}

body.has-team-shell .booking-header{flex-wrap:wrap}body.has-team-shell .booking-header .suite-header-controls{margin-left:auto}body.has-team-shell .booking-header .suite-header-controls .suite-tools{margin:0}@media(max-width:900px){body.has-team-shell .booking-header .suite-header-controls{width:100%;justify-content:flex-start}}
