:root{--portal-primary:#1e4f8c;--portal-secondary:#12945e;--portal-accent:#f4b740;--portal-bg:#f7f9fc;--portal-text:#203044;--portal-radius:8px;--portal-font:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--portal-surface:#fff;--portal-border:#d9e1ea;--portal-muted:#667085;--portal-shadow:0 14px 40px rgba(31,45,61,.08)}:root[data-portal-theme=dark]{--portal-bg:#10151d;--portal-text:#f2f6fb;--portal-surface:#171e29;--portal-border:#2a3544;--portal-muted:#a8b3c2;--portal-shadow:none}*{box-sizing:border-box}html,body,#member-portal-root{min-height:100%}body.member-portal-body{background:var(--portal-bg);color:var(--portal-text);font-family:var(--portal-font);margin:0}#member-entry-root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.guest-shell{min-height:100vh;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background-color:var(--portal-bg);background-position:50%;background-size:cover;place-items:center;display:grid}.guest-panel{background:color-mix(in srgb, var(--portal-surface) 94%, transparent);border:1px solid var(--portal-border);border-radius:var(--portal-radius);width:min(100%,430px);box-shadow:var(--portal-shadow);padding:24px}.auth-form{gap:14px;margin-top:22px;display:grid}.auth-form h1{margin:0;font-size:1.8rem}.auth-message{gap:8px;display:grid}.auth-message p{margin:0}.magic-link-confirmation{gap:14px;margin-top:22px;display:grid}.magic-link-confirmation .primary-button{justify-self:start}input,textarea,select{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);width:100%;color:var(--portal-text);padding:12px 13px}.primary-button,.secondary-button,.text-button,.icon-button{border-radius:var(--portal-radius);cursor:pointer;border:0;min-height:42px}.primary-button{background:var(--portal-primary);color:#fff;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:inline-flex}.secondary-button{border:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-text);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:inline-flex}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.text-button{color:var(--portal-muted);background:0 0;padding:8px 10px}.icon-button{background:var(--portal-surface);border:1px solid var(--portal-border);place-items:center;width:42px;display:grid}.member-entry-shell{min-height:100vh;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));place-items:center;display:grid}.member-entry-panel{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);width:min(100%,480px);box-shadow:var(--portal-shadow);gap:22px;padding:24px;display:grid}.member-entry-brand{gap:4px;display:grid}.member-entry-brand span,.member-entry-copy,.member-entry-option small,.member-entry-result p{color:var(--portal-muted)}.member-entry-brand strong{font-size:1.25rem}.member-entry-copy{margin:0;line-height:1.5}.member-entry-result{border-top:1px solid var(--portal-border);gap:12px;padding-top:18px;display:grid}.member-entry-result h2,.member-entry-result p{margin:0}.member-entry-options{gap:10px;display:grid}.member-entry-option{text-align:left;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);width:100%;color:var(--portal-text);cursor:pointer;gap:5px;padding:14px;display:grid}.member-entry-option:hover{border-color:var(--portal-primary)}.portal-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.portal-sidebar{background:var(--portal-surface);border-right:1px solid var(--portal-border);height:100vh;padding:20px 14px;position:sticky;top:0}.portal-brand{align-items:center;gap:10px;margin-bottom:22px;font-weight:800;display:flex}.portal-brand img{max-width:148px;max-height:48px}.portal-brand span{border-radius:var(--portal-radius);background:var(--portal-primary);color:#fff;place-items:center;width:42px;height:42px;display:grid}.guest-brand{margin-bottom:24px}.guest-brand.has-logo{justify-content:center}.guest-brand.has-logo img{max-width:min(220px,100%);max-height:72px}.guest-brand.has-initial{justify-content:flex-start}.portal-sidebar nav{gap:5px;display:grid}.portal-nav-item{border-radius:var(--portal-radius);color:var(--portal-muted);align-items:center;gap:10px;padding:11px 12px;display:flex}.portal-nav-item span{text-align:center;width:22px;font-weight:800}.portal-nav-item small{font-size:.95rem;font-weight:700}.portal-nav-item.is-active{background:color-mix(in srgb, var(--portal-primary) 12%, transparent);color:var(--portal-primary)}.portal-main{min-width:0;padding-bottom:28px}.portal-topbar{z-index:2;background:color-mix(in srgb, var(--portal-bg) 88%, transparent);border-bottom:1px solid var(--portal-border);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:16px;padding:18px 26px;display:flex;position:sticky;top:0}.portal-eyebrow{color:var(--portal-muted);text-transform:uppercase;letter-spacing:0;font-size:.78rem;display:block}.portal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-page{padding:26px}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-heading h1{margin:0;font-size:2rem}.metric-grid,.portal-grid{gap:14px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card,.portal-panel,.portal-card,.empty-state,.message-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius)}.metric-card{padding:16px}.metric-card span,.portal-card span,.portal-card small,.muted-text{color:var(--portal-muted)}.metric-card strong{margin-top:8px;font-size:1.8rem;display:block}.portal-panel{padding:16px}.portal-panel h2{margin:0 0 12px;font-size:1rem}.panel-list,.card-list{gap:10px;display:grid}.portal-card{gap:6px;padding:14px;display:grid}.portal-card-button{text-align:left;cursor:pointer;width:100%}.portal-card strong{overflow-wrap:anywhere}.local-offers-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:14px;display:grid}.local-offer-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.local-offer-filter{border:1px solid var(--portal-border);background:var(--portal-surface);min-height:36px;color:var(--portal-muted);cursor:pointer;border-radius:999px;padding:7px 12px;font-weight:700}.local-offer-filter.is-active{border-color:color-mix(in srgb, var(--portal-primary) 46%, var(--portal-border));background:color-mix(in srgb, var(--portal-primary) 12%, transparent);color:var(--portal-primary)}.local-offer-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.local-offer-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);gap:12px;padding:12px;display:grid}.local-offer-card-main{min-width:0;color:var(--portal-text);grid-template-columns:96px minmax(0,1fr);gap:12px;text-decoration:none;display:grid}.local-offer-card-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.local-offer-card-image{aspect-ratio:1;border-radius:calc(var(--portal-radius) * .85);background:color-mix(in srgb, var(--portal-primary) 11%, var(--portal-bg));color:var(--portal-primary);place-items:center;font-weight:900;display:grid;overflow:hidden}.local-offer-card-image img,.local-offer-hero img,.local-offer-rich-content img{object-fit:cover;width:100%;height:100%;display:block}.local-offer-card-copy{align-content:start;gap:6px;min-width:0;display:grid}.local-offer-card-copy small,.local-offer-card-copy p,.local-offer-summary{color:var(--portal-muted)}.local-offer-card-copy strong{overflow-wrap:anywhere;font-size:1.05rem}.local-offer-card-copy p{margin:0;line-height:1.45}.local-offer-tags{flex-wrap:wrap;gap:6px;display:flex}.local-offer-tags span,.local-offer-tags a{background:color-mix(in srgb, var(--portal-secondary) 12%, transparent);color:var(--portal-secondary);border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800;text-decoration:none}.article-category-links a{border:1px solid color-mix(in srgb, var(--portal-secondary) 28%, transparent)}.article-category-links a:hover{background:color-mix(in srgb, var(--portal-secondary) 18%, transparent)}.local-offer-card-claim{justify-self:start;min-height:38px}.local-offer-detail{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);overflow:hidden}.local-offer-hero{background:color-mix(in srgb, var(--portal-primary) 11%, var(--portal-bg));min-height:max(180px,min(32vw,360px));color:var(--portal-primary);place-items:center;font-size:1.35rem;font-weight:900;display:grid}.local-offer-detail-body{gap:14px;padding:22px;display:grid}.local-offer-detail-body h2{margin:0;font-size:max(1.55rem,min(4vw,2.4rem))}.local-offer-back{justify-self:start;min-height:auto;padding:0}.local-offer-summary{margin:0;font-size:1.05rem;line-height:1.55}.local-offer-rich-content{gap:12px;line-height:1.65;display:grid}.local-offer-rich-content>*{margin:0}.local-offer-rich-content img{border-radius:var(--portal-radius);max-width:100%;height:auto}.local-offer-claim{justify-self:start}.article-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),380px));align-items:start}.article-card{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow);overflow:hidden}.article-card-main{color:var(--portal-text);text-decoration:none;display:grid}.article-card-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.article-card-main:focus-visible{outline:3px solid color-mix(in srgb, var(--portal-primary) 34%, transparent);outline-offset:3px}.article-card-image{aspect-ratio:16/10;background:color-mix(in srgb, var(--portal-primary) 11%, var(--portal-bg));color:var(--portal-primary);place-items:center;font-weight:900;display:grid;overflow:hidden}.article-card-image img{object-fit:cover;width:100%;height:100%;display:block}.article-card-copy{gap:8px;min-width:0;padding:16px;display:grid}.article-card-copy strong{overflow-wrap:anywhere;font-size:1.12rem;line-height:1.25}.article-card-copy p{color:var(--portal-muted);margin:0;line-height:1.45}.article-card-copy small{color:var(--portal-muted);font-weight:700}.article-card-tags{flex-wrap:wrap;gap:6px;display:flex}.article-card-tags span{background:color-mix(in srgb, var(--portal-secondary) 12%, transparent);color:var(--portal-secondary);border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800}.portal-drawer-backdrop{z-index:20;background:rgba(15,23,42,.38);justify-items:end;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.portal-drawer{background:var(--portal-bg);border-left:1px solid var(--portal-border);width:min(100%,680px);height:100%;overflow:auto;box-shadow:-18px 0 48px rgba(15,23,42,.18)}.portal-drawer-head{z-index:2;padding:max(14px, env(safe-area-inset-top)) 16px 14px;background:var(--portal-surface);border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.portal-drawer .empty-state,.portal-drawer .card-list,.portal-drawer .settings-form{margin:16px}.article-detail.is-drawer-content,.local-offer-detail.is-drawer-content{box-shadow:none;border:0;border-radius:0}.unit-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;display:grid}.unit-card,.unit-detail,.unit-hero,.availability-panel{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow)}.unit-card{display:grid;overflow:hidden}.unit-card-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.unit-card-button:hover{border-color:color-mix(in srgb, var(--portal-primary) 38%, var(--portal-border));box-shadow:var(--portal-shadow), 0 0 0 3px color-mix(in srgb, var(--portal-primary) 18%, transparent);outline:none}.unit-card-button:focus-visible{border-color:color-mix(in srgb, var(--portal-primary) 38%, var(--portal-border));box-shadow:var(--portal-shadow), 0 0 0 3px color-mix(in srgb, var(--portal-primary) 18%, transparent);outline:none}.unit-booking-drawer .unit-detail{margin:16px}.unit-image{aspect-ratio:16/10;background:color-mix(in srgb, var(--portal-primary) 10%, var(--portal-bg));color:var(--portal-primary);place-items:center;font-weight:900;display:grid;overflow:hidden}.unit-image img{object-fit:cover;width:100%;height:100%;display:block}.unit-card-copy,.unit-hero{gap:8px;display:grid}.unit-card-copy{padding:14px}.unit-card-copy small,.unit-card-copy span{color:var(--portal-muted)}.unit-card-copy em,.availability-panel strong{font-style:normal;font-weight:800}.is-available{color:var(--portal-secondary)}.is-unavailable{color:#b42318}.unit-detail{overflow:hidden}.unit-hero{border:0;border-bottom:1px solid var(--portal-border);box-shadow:none;border-radius:0;grid-template-columns:minmax(180px,38%) minmax(0,1fr);align-items:center}.unit-hero>div:last-child{padding:20px}.unit-hero h2{margin:0;font-size:1.6rem}.unit-feature-row{flex-wrap:wrap;gap:8px;display:flex}.unit-feature-row span{background:color-mix(in srgb, var(--portal-primary) 9%, transparent);color:var(--portal-primary);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-weight:700;display:inline-flex}.booking-form{gap:12px;max-width:560px;padding:18px;display:grid}.booking-form label,.person-editor-form label{color:var(--portal-muted);gap:7px;display:grid}.availability-panel{box-shadow:none;gap:6px;padding:14px;display:grid}.availability-panel p{color:var(--portal-muted);margin:0}.people-manager{gap:14px;display:grid}.checkbox-grid{gap:8px;display:grid}.checkbox-grid label{color:var(--portal-text);align-items:center;gap:8px;display:flex}.checkbox-grid input{width:auto}.article-detail{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow);overflow:hidden}.article-detail-image{object-fit:cover;width:100%;max-height:252px}.article-detail-body{gap:12px;padding:24px;display:grid}.article-detail-body h2{margin:0;font-size:2rem;line-height:1.1}.article-rich-content{color:var(--portal-text);gap:12px;line-height:1.7;display:grid}.article-rich-content>*{margin:0}.article-rich-content img{border-radius:var(--portal-radius);max-width:100%;height:auto}.article-rich-content blockquote{border-left:4px solid var(--portal-primary);border-radius:calc(var(--portal-radius) * .75);background:color-mix(in srgb, var(--portal-primary) 8%, var(--portal-surface));color:var(--portal-text);margin:0;padding:12px 14px}.article-rich-content blockquote>:first-child{margin-top:0}.article-rich-content blockquote>:last-child{margin-bottom:0}.article-rich-content a{color:var(--portal-primary);text-underline-offset:.16em;text-decoration:underline}.article-rich-content mark{color:inherit;background:#fff2a8;border-radius:.2em;padding:.05em .18em}.article-rich-content table{border-collapse:collapse;width:100%}.article-rich-content th,.article-rich-content td{border:1px solid var(--portal-border);text-align:left;padding:10px}.article-video{aspect-ratio:16/9;width:100%;max-width:100%;position:relative}.article-video iframe{border-radius:var(--portal-radius);border:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.article-related{border-top:1px solid var(--portal-border);gap:12px;margin-top:14px;padding-top:18px;display:grid}.article-related h3{margin:0}.virtual-member-card-wrap{place-items:start center;display:grid}.virtual-member-card{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--portal-primary) 92%, #111827), color-mix(in srgb, var(--portal-secondary) 78%, #111827)), var(--portal-primary);border-radius:22px;gap:22px;width:min(100%,420px);padding:24px;display:grid;box-shadow:0 22px 50px rgba(16,29,61,.22)}.virtual-member-card .portal-brand{color:#fff;margin:0}.virtual-member-card .member-card-brand img{max-width:170px;max-height:54px}.virtual-member-card .portal-brand span{background:rgba(255,255,255,.18)}.virtual-member-card-head,.virtual-member-card-meta{justify-content:space-between;align-items:start;gap:16px;display:flex}.virtual-member-card-head>span{border:1px solid rgba(255,255,255,.34);border-radius:999px;padding:6px 10px;font-weight:800}.virtual-member-card p,.virtual-member-card h2,.virtual-member-card small{margin:0}.virtual-member-card h2{margin-top:6px;font-size:1.85rem}.virtual-member-card small,.virtual-member-card p,.virtual-member-card span{color:rgba(255,255,255,.82)}.virtual-member-card-meta strong{color:#fff;margin-top:4px;display:block}.virtual-member-card-qr{background-color:rgba(255,255,255,.16);background-image:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid rgba(255,255,255,.24);border-radius:16px;place-items:center;min-height:120px;display:grid}.virtual-member-card-qr span{color:#fff;letter-spacing:.08em;font-weight:900}.empty-state{padding:24px}.empty-state h2{margin:0 0 6px;font-size:1.1rem}.inline-form,.reply-form,.settings-form{gap:12px;margin-bottom:16px;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) auto}.settings-form{max-width:560px}.settings-form label{text-transform:capitalize;color:var(--portal-muted);gap:7px;display:grid}.message-card{white-space:pre-wrap;padding:14px}.skeleton-card{border-radius:var(--portal-radius);background:linear-gradient(90deg, color-mix(in srgb, var(--portal-border) 55%, transparent), color-mix(in srgb, var(--portal-border) 25%, transparent), color-mix(in srgb, var(--portal-border) 55%, transparent));background-size:200% 100%;height:74px;animation:1.4s linear infinite portal-loading}.error-text{color:#c2410c}.success-text{color:var(--portal-secondary)}.boot-mark{border:4px solid var(--portal-border);border-top-color:var(--portal-primary);border-radius:50%;width:48px;height:48px;margin:28px auto;animation:1s linear infinite portal-spin}.portal-bottom-nav{display:none}@keyframes portal-loading{to{background-position:-200% 0}}@keyframes portal-spin{to{transform:rotate(360deg)}}@media (max-width:860px){.portal-shell{padding-bottom:calc(74px + env(safe-area-inset-bottom));display:block}.portal-sidebar{display:none}.portal-topbar{padding:max(14px, env(safe-area-inset-top)) 16px 14px}.portal-page{padding:18px 14px}.page-heading h1{font-size:1.55rem}.metric-grid,.portal-grid{grid-template-columns:1fr}.portal-bottom-nav{z-index:4;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--portal-surface);border-top:1px solid var(--portal-border);grid-template-columns:repeat(5,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.portal-nav-item.is-compact{justify-items:center;gap:2px;padding:8px 4px;display:grid}.portal-nav-item.is-compact small{font-size:.68rem}.inline-form{grid-template-columns:1fr}.portal-bottom-nav{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}.local-offers-toolbar,.local-offer-grid{grid-template-columns:1fr}.local-offer-card-main{grid-template-columns:84px minmax(0,1fr)}.local-offer-detail-body,.article-detail-body{padding:18px}.portal-drawer{border-left:0;width:100%}.unit-hero{grid-template-columns:1fr}.unit-hero>div:last-child,.booking-form{padding:16px}}
