:root { --guest-bg:#171b17; --guest-panel:#222820; --guest-cream:#f5f0e7; --guest-gold:#c2a16e; --guest-muted:#a9afa5; }
body.guest-app { background:var(--guest-bg); color:#fff; padding-bottom:88px; }
.guest-header { min-height:72px; padding:10px max(18px,env(safe-area-inset-left)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.12); position:sticky; top:0; z-index:20; background:rgba(23,27,23,.96); backdrop-filter:blur(10px); }
.guest-brand { display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.14em; line-height:1.05; }
.guest-brand img { width:46px; height:46px; object-fit:contain; }
.guest-brand small { font-size:.62rem; color:var(--guest-gold); }
.guest-main { width:min(760px,100%); margin:auto; }
.guest-welcome { padding:52px 20px 28px; }
.guest-kicker { margin:0 0 8px; color:var(--guest-gold); font-size:.72rem; font-weight:700; letter-spacing:.16em; }
.guest-welcome h1,.guest-status h2,.guest-private h2,.guest-section h2,.guest-card h2,.guest-services h2,.guest-help h2 { font:400 clamp(2rem,9vw,3.5rem)/1.06 Georgia,serif; margin:8px 0 14px; }
.guest-welcome p:last-child,.guest-private p,.guest-card p,.guest-help p { color:#c9cec5; }
.guest-selector { margin:0 20px 18px; padding:14px; display:grid; grid-template-columns:1fr 1fr; gap:10px; background:var(--guest-panel); border:1px solid rgba(255,255,255,.1); }
.guest-selector label span { display:block; margin-bottom:6px; color:var(--guest-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.guest-selector select { width:100%; min-height:48px; padding:0 10px; border:1px solid rgba(255,255,255,.2); background:#111510; color:#fff; }
.guest-status,.guest-private,.guest-section,.guest-services,.guest-help { margin:0 20px 18px; padding:24px; }
.guest-status { background:var(--guest-cream); color:#1e221d; }
.status-label { color:#796747; font-size:.68rem; font-weight:700; letter-spacing:.16em; }
.guest-status h2 { font-size:clamp(1.8rem,7vw,2.7rem); }
.guest-status dl { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:22px 0; background:#d8d0c2; }
.guest-status dl div { padding:13px; background:#fffdf8; }
.guest-status dt { font-size:.7rem; color:#7a746b; text-transform:uppercase; letter-spacing:.1em; }
.guest-status dd { margin:3px 0 0; font-weight:700; }
.guest-primary,.guest-secondary { min-height:48px; display:flex; align-items:center; justify-content:center; padding:11px 16px; text-align:center; font-weight:700; }
.guest-primary { background:var(--guest-bg); color:#fff; }
.guest-secondary { border:1px solid currentColor; color:inherit; }
.guest-private { display:grid; grid-template-columns:auto 1fr; gap:16px; background:#263028; border:1px solid rgba(194,161,110,.35); }
.private-icon { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--guest-gold); border-radius:50%; color:var(--guest-gold); font-size:1.5rem; }
.guest-private h2 { font-size:1.85rem; }
.guest-private .guest-secondary { grid-column:1/-1; }
.guest-section { background:#f0e8db; color:#1e221d; }
.guest-section-head { display:flex; gap:16px; align-items:flex-start; }
.guest-section-head>span { color:#8a785d; font:400 1.7rem Georgia,serif; }
.guest-section h2,.guest-services h2 { font-size:2.3rem; }
.guest-steps { list-style:none; margin:18px 0 0; padding:0; counter-reset:steps; }
.guest-steps li { position:relative; padding:15px 0 15px 42px; border-top:1px solid rgba(32,35,29,.15); }
.guest-steps li:before { counter-increment:steps; content:counter(steps); position:absolute; left:0; top:16px; width:25px; height:25px; display:grid; place-items:center; border:1px solid #947c57; border-radius:50%; font-size:.72rem; }
.guest-steps b,.guest-steps span { display:block; }
.guest-steps span { color:#69675f; font-size:.9rem; }
.guest-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 20px 18px; }
.guest-card { min-height:235px; padding:20px; background:var(--guest-panel); }
.guest-card-icon { display:grid; place-items:center; width:36px; height:36px; margin-bottom:28px; border:1px solid rgba(255,255,255,.25); color:var(--guest-gold); }
.guest-card h2 { font-size:1.55rem; }
.guest-card p:last-child { font-size:.9rem; }
.guest-services { background:#101410; }
.service-links { display:grid; gap:10px; margin-top:20px; }
.service-links a { padding:18px; border:1px solid rgba(255,255,255,.18); }
.service-links b,.service-links span { display:block; }
.service-links span { margin-top:4px; color:var(--guest-muted); font-size:.88rem; }
.guest-help { background:var(--guest-gold); color:#171b17; }
.guest-help .guest-kicker,.guest-help p { color:#3d372d; }
.guest-help h2 { font-size:2.45rem; }
.help-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:22px 0; }
.guest-help .guest-secondary { color:#171b17; }
.emergency { padding-top:15px; border-top:1px solid rgba(23,27,23,.25); font-size:.86rem; }
.emergency a { font-weight:800; text-decoration:underline; }
.guest-bottom-nav { position:fixed; left:0; right:0; bottom:0; z-index:30; min-height:72px; padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); display:grid; grid-template-columns:repeat(4,1fr); background:#0f130f; border-top:1px solid rgba(255,255,255,.12); }
.guest-bottom-nav a { min-height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#d2d5cf; font-size:.72rem; }
.guest-bottom-nav span { color:var(--guest-gold); font-size:.65rem; }
@media (max-width:520px) { .guest-selector,.guest-grid,.help-actions { grid-template-columns:1fr; } .guest-card { min-height:0; } }
@media (min-width:760px) { .guest-app { background:linear-gradient(90deg,#0f130f 0 25%,#171b17 25% 75%,#0f130f 75%); } }
