.guest-portal-page{background:#f3f5f7;color:#18202a}.guest-header{background:#071b33;color:#fff;border-bottom:4px solid #b99a55}.guest-header-copy{padding:3rem 0 3.5rem}.guest-header h1{margin:.25rem 0;font-size:clamp(2.5rem,6vw,4.5rem)}.guest-header-copy>p:last-child{max-width:46rem;color:#d5dce5}.guest-main{padding:2.5rem 0 4rem;max-width:1040px}.guest-login{max-width:760px;margin:0 auto}.guest-login>.btn{margin-top:1rem}.code-panel{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #d9dee5}.development-code{padding:.75rem 1rem;background:#fff5ce;border:1px solid #d5b75b;border-radius:.6rem}.guest-dashboard{display:grid;gap:1.5rem}.guest-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric-card{background:#fff;border:1px solid #d9dee5;border-radius:1rem;padding:1rem;display:grid;gap:.35rem}.metric-card span{color:#66707c;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}.viz-stat-value{font-size:1.35rem}.guest-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.guest-actions{display:flex;justify-content:flex-end;margin-top:1.25rem}.edit-attendee-card{border:1px solid #d9dee5;border-radius:1rem;padding:1.1rem;margin-top:1rem;background:#fbfcfd}.edit-attendee-card h3{margin-top:0}.edit-attendee-meta{display:flex;gap:.75rem;flex-wrap:wrap;color:#66707c;margin-bottom:.8rem}.change-summary{margin-top:1rem;padding:1rem;border-radius:.75rem;background:#edf4fb;display:none}.change-summary.visible{display:block}.activity-timeline{display:grid;gap:.85rem}.timeline-item{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e4e8ed}.timeline-item time{color:#66707c}.timeline-item strong{display:block}.footer-links{display:flex;gap:1rem}@media(max-width:760px){.guest-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-section-heading{display:grid}.timeline-item{grid-template-columns:1fr;gap:.2rem}}

.adjustment-payment-panel{margin-top:1rem;padding:1.15rem;border:2px solid #c59d38;border-radius:1rem;background:#fffaf0}.adjustment-payment-grid{display:grid;grid-template-columns:1fr 220px;gap:1rem;align-items:center;margin:1rem 0}.adjustment-payment-grid>div:first-child{display:grid;grid-template-columns:1fr auto;gap:.65rem}.adjustment-payment-grid .qr-placeholder img{max-width:190px;width:100%;height:auto}@media(max-width:760px){.adjustment-payment-grid{grid-template-columns:1fr}}


/* GUIDON FIX18 public self-service branding */
.guest-guidon-brand{display:inline-flex;align-items:center;text-decoration:none}
.guest-guidon-brand img{width:176px;height:64px;object-fit:contain;object-position:left center}
.guest-header .public-nav{min-height:82px;align-items:center}
.guest-header-copy{padding-top:2.4rem}
@media(max-width:640px){.guest-guidon-brand img{width:142px;height:54px}.guest-header .public-nav{min-height:70px}}

/* GUIDON FIX25 · Hotel information */
.hotel-info-card{max-width:760px;margin:0 auto}.hotel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.hotel-facts p{display:flex;flex-direction:column;gap:4px}.hotel-reminder{margin:18px 0;padding:16px 18px;border:1px solid #d8dee7;border-radius:12px;background:#f7f8fa}.hotel-reminder p{margin:6px 0 12px}@media(max-width:700px){.hotel-facts{grid-template-columns:1fr}}

/* GUIDON FIX27 · Hotel / lodging polish */
.hotel-reminder{border-left:4px solid #c8a951!important;background:#fffaf0!important}.hotel-reminder-eyebrow{display:block;color:#9d1f24;font-size:.72rem;letter-spacing:.13em;font-weight:800;margin-bottom:5px}.hotel-reminder .hotel-cta{text-decoration:none!important;background:#cda544!important;color:#071a33!important;border-color:#cda544!important;font-weight:800}

/* GUIDON FIX28D · lodging component refinement */
.hotel-info-card{box-shadow:0 12px 30px rgba(7,26,51,.07);border-color:#e2d3ad!important}
.hotel-card-heading{padding-bottom:12px;border-bottom:1px solid #eee4cf}
.hotel-facts{grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px!important}
.hotel-facts p{margin:0;padding:10px 12px;border-radius:9px;background:#fff}
.hotel-info-card .btn,.hotel-reminder .hotel-cta{display:flex!important;align-items:center;justify-content:center;min-height:44px;border-radius:10px;padding:0 20px;text-decoration:none!important}.hotel-info-card .btn{width:max-content!important;margin:12px auto 0!important}
.hotel-reminder{box-shadow:0 8px 20px rgba(7,26,51,.05)}

/* HZ74V: seating may change between registration and the event. */
.guest-seating-note{margin:12px 2px 18px;padding:10px 14px;border-left:3px solid #c8a24a;background:#fbf8ef;border-radius:6px;font-size:.92rem;line-height:1.45;color:#3d4756}
