.guest-portal-body {
  min-height: 100vh; margin: 0; display: block; color: #f7f3eb;
  background:
    radial-gradient(circle at 15% -10%, rgba(228,120,91,.23), transparent 33%),
    radial-gradient(circle at 100% 20%, rgba(59,153,148,.17), transparent 36%),
    linear-gradient(160deg, #0e1719 0%, #101719 48%, #15130f 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.guest-shell { width: min(1100px, 100%); margin: 0 auto; padding: 0 28px 50px; }
.guest-brandbar { min-height: 86px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.09); }
.guest-brand { display:flex; align-items:center; gap:12px; }
.guest-brand strong { display:block; letter-spacing:.18em; font-size:1rem; }
.guest-brand small { display:block; margin-top:3px; color:#9ea9a7; font-size:.72rem; }
.coral-mark { width:38px; height:38px; position:relative; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }
.coral-mark span { position:absolute; display:block; border:2px solid #e5785b; border-radius:50%; border-top-color:transparent; }
.coral-mark span:nth-child(1){width:24px;height:14px;left:5px;top:7px;transform:rotate(-10deg)}
.coral-mark span:nth-child(2){width:20px;height:13px;left:10px;top:15px;transform:rotate(12deg)}
.coral-mark span:nth-child(3){width:5px;height:5px;right:6px;top:6px;background:#e7c97e;border:0}
.guest-lang { border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04); color:#f7f3eb; padding:8px 13px; border-radius:999px; cursor:pointer; text-decoration:none; font-size:.8rem; }
.stay-main { padding: 42px 0 12px; }
.stay-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:28px; margin-bottom:24px; }
.guest-eyebrow { color:#e7c97e; font-size:.68rem; font-weight:800; letter-spacing:.14em; margin-bottom:7px; }
.stay-hero h1, .guest-home h1 { margin:0; font-size:clamp(2rem,6vw,4rem); line-height:1; letter-spacing:-.045em; font-weight:700; }
.stay-meta { margin-top:12px; color:#9eaaa8; font-size:.9rem; }
.room-orb { min-width:132px; padding:18px 20px; border-radius:24px; text-align:center; background:linear-gradient(145deg, rgba(229,120,91,.2), rgba(231,201,126,.07)); border:1px solid rgba(231,201,126,.23); box-shadow:0 20px 60px rgba(0,0,0,.2); }
.room-orb small,.room-orb span { display:block; color:#b7c1bf; font-size:.68rem; }
.room-orb strong { display:block; font-size:2.2rem; line-height:1.15; margin:2px 0 3px; }
.readiness-card { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 20px; border-radius:18px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.1); }
.readiness-card>div { display:flex;align-items:center;gap:12px}.readiness-card small,.readiness-card strong{display:block}.readiness-card small{color:#8f9b99;font-size:.63rem;letter-spacing:.12em}.readiness-card strong{margin-top:2px;font-size:.95rem}.readiness-card button{border:0;background:transparent;color:#e7c97e;font-weight:700;cursor:pointer}
.readiness-dot { width:12px;height:12px;border-radius:50%;background:#7bc796;box-shadow:0 0 0 6px rgba(123,199,150,.09)}
.readiness-dot.status-dirty{background:#d8b84a}.readiness-dot.status-out_of_order,.readiness-dot.status-out_of_service{background:#e06d6d}
.guest-section { margin-top:34px; }
.guest-section-heading { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:14px; }
.guest-section-heading h2 { font-size:1.2rem; margin:0; letter-spacing:-.02em; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.service-button { min-height:124px; padding:16px; text-align:left; color:#f7f3eb; border:1px solid rgba(255,255,255,.1); border-radius:18px; cursor:pointer; background:linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); transition:.18s ease; }
.service-button:hover { transform:translateY(-3px); border-color:rgba(231,201,126,.35); background:linear-gradient(160deg, rgba(229,120,91,.12), rgba(255,255,255,.035)); }
.service-button span { display:block; font-size:1.35rem; margin-bottom:13px; color:#e7c97e; }.service-button strong{display:block;font-size:.88rem}.service-button small{display:block;color:#8e9997;margin-top:4px;font-size:.7rem}
.concierge-section { padding:20px; border-radius:22px; background:rgba(4,8,9,.46); border:1px solid rgba(229,120,91,.18); }
.ai-safe { font-size:.68rem; color:#8eb7b3; border:1px solid rgba(142,183,179,.25); border-radius:999px; padding:5px 9px; }
.concierge-thread { max-height:300px; overflow:auto; display:flex; flex-direction:column; gap:8px; padding:6px 0 14px; }
.concierge-message { max-width:82%; padding:11px 13px; border-radius:14px; font-size:.83rem; line-height:1.45; }
.concierge-message.bot { align-self:flex-start; background:rgba(255,255,255,.07); color:#dce2e1; }.concierge-message.guest{align-self:flex-end;background:#e5785b;color:white}.concierge-message.error{color:#ffb4b4}
.concierge-input-row { display:flex; gap:8px; }.concierge-input-row input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.11);color:#fff}.concierge-input-row button{border:0;border-radius:10px;background:#e7c97e;color:#1a1710;font-weight:800;padding:0 18px;cursor:pointer}
.request-list { display:grid; gap:8px; }.request-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 15px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px}.request-row strong{display:block;text-transform:capitalize;font-size:.85rem}.request-row span{display:block;color:#8f9b99;font-size:.73rem;margin-top:3px}.request-status{font-style:normal;text-transform:capitalize;font-size:.68rem;padding:5px 8px;border-radius:999px;background:rgba(231,201,126,.1);color:#e7c97e}.request-status.status-done{background:rgba(123,199,150,.1);color:#8bd1a4}
.guest-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.guest-photo{position:relative;overflow:hidden;border-radius:16px;min-height:150px;border:1px solid rgba(255,255,255,.08)}.guest-photo img{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}.guest-photo span{position:absolute;left:9px;right:9px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;padding:6px 8px;font-size:.65rem;backdrop-filter:blur(8px)}
.guest-empty-modern { padding:20px;border:1px dashed rgba(255,255,255,.12);border-radius:15px;color:#8f9b99;font-size:.82rem;text-align:center; }
.guest-footer-modern{text-align:center;color:#657170;font-size:.68rem;margin-top:45px;border-top:1px solid rgba(255,255,255,.07);padding-top:22px}
.guest-modal{position:fixed;inset:0;background:rgba(2,5,6,.72);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;backdrop-filter:blur(8px)}.guest-modal-card{position:relative;width:min(460px,100%);padding:25px;border-radius:22px;background:#172023;border:1px solid rgba(255,255,255,.11);box-shadow:0 30px 100px rgba(0,0,0,.55)}.guest-modal-card h2{margin:0 0 16px}.guest-modal-card textarea{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.12)}.guest-modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#9da8a6;font-size:1.6rem;cursor:pointer}.guest-primary-btn{display:inline-flex;align-items:center;justify-content:center;background:#e5785b;color:white;text-decoration:none;border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.guest-primary-btn.full{width:100%;margin-top:12px}.service-feedback{font-size:.75rem;margin-top:10px}.service-feedback.success{color:#8bd1a4}.service-feedback.error{color:#ff9e9e}
.guest-home-shell{min-height:100vh;display:flex;flex-direction:column}.guest-home{flex:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding:70px 0}.guest-home-copy p{color:#9eaaa8;font-size:1rem;line-height:1.7;max-width:620px}.guest-home-actions{display:flex;align-items:center;gap:18px;margin-top:25px}.guest-home-hint{color:#72807e;font-size:.72rem;line-height:1.45;max-width:330px}.guest-preview-card{padding:25px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 100px rgba(0,0,0,.28);transform:rotate(1.5deg)}.preview-top{display:flex;justify-content:space-between;color:#7f8d8a;font-size:.65rem;letter-spacing:.12em}.preview-live{color:#81c69a}.preview-room{font-size:2.5rem;font-weight:700;margin-top:35px}.preview-status{color:#92d2a9;margin:3px 0 32px}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-grid span{padding:13px;border-radius:13px;background:rgba(255,255,255,.055);font-size:.74rem}
.guest-rtl .service-button{text-align:right}.guest-rtl .guest-modal-close{right:auto;left:15px}
@media(max-width:760px){.guest-shell{padding:0 16px 38px}.guest-brandbar{min-height:72px}.stay-main{padding-top:28px}.stay-hero{align-items:center}.room-orb{min-width:105px;padding:14px}.room-orb strong{font-size:1.8rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-button{min-height:112px}.guest-photo-grid{grid-template-columns:1fr 1fr}.guest-home{grid-template-columns:1fr;gap:42px;padding:45px 0}.guest-preview-card{transform:none}.guest-home-actions{flex-direction:column;align-items:flex-start}}

.guest-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.guest-secondary-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(231,201,126,.28);background:rgba(231,201,126,.06);color:#e7c97e;text-decoration:none;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer}
.preferred-card{position:relative;overflow:hidden;border-radius:26px;padding:24px;background:linear-gradient(135deg,#1d2423 0%,#1b1712 58%,#2b1c16 100%);border:1px solid rgba(231,201,126,.24);box-shadow:0 22px 65px rgba(0,0,0,.28);color:#f7f3eb}
.preferred-card:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-95px;top:-110px;border:1px solid rgba(231,201,126,.12)}
.preferred-card-top{display:flex;justify-content:space-between;gap:14px;font-size:.66rem;letter-spacing:.14em;color:#e7c97e;font-weight:800;position:relative;z-index:1}
.preferred-card-title{font-size:.72rem;color:#9eaaa8;margin-top:28px;position:relative;z-index:1}
.preferred-card-name{font-size:1.65rem;font-weight:750;letter-spacing:-.03em;margin-top:6px;position:relative;z-index:1}
.preferred-card-pg{font-size:.86rem;letter-spacing:.13em;color:#e7c97e;margin-top:7px;position:relative;z-index:1}
.preferred-card-stats{display:flex;gap:22px;margin-top:24px;color:#9eaaa8;font-size:.72rem;position:relative;z-index:1}
.preferred-card-stats strong{display:block;color:#fff;font-size:1.15rem;margin-bottom:2px}
.preferred-card-qr{width:112px;height:112px;background:white;padding:7px;border-radius:14px;margin-top:18px;position:relative;z-index:1}
.preferred-card-actions{margin-top:18px;position:relative;z-index:1}
.stay-member-card{margin:0 0 30px}.preferred-registration-inline{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);position:relative;z-index:1}.preferred-registration-inline>div:first-child strong,.preferred-registration-inline>div:first-child span{display:block}.preferred-registration-inline>div:first-child span{color:#8f9b99;font-size:.72rem;margin-top:4px}.preferred-registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.preferred-registration-fields input,.guest-registration-card input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}.guest-check{display:flex;align-items:flex-start;gap:8px;color:#9eaaa8;font-size:.73rem;margin:11px 0}.guest-check input{width:auto;min-height:auto;margin-top:2px}.loyalty-history{display:grid;gap:8px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.history-row strong,.history-row span{display:block}.history-row strong{font-size:.84rem}.history-row span{font-size:.72rem;color:#8f9b99;margin-top:3px}.history-row>div:last-child{text-align:right}.history-phase{display:inline-block;margin-top:5px;padding:4px 8px;border-radius:999px;font-style:normal;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;background:rgba(231,201,126,.1);color:#e7c97e}.history-phase.current{background:rgba(123,199,150,.11);color:#8bd1a4}.history-phase.upcoming{background:rgba(111,170,220,.1);color:#9cc5e7}.compact-history .history-row{padding:11px 13px}.member-main{padding:44px 0 10px;display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:24px;align-items:start}.member-card{position:sticky;top:22px}.member-history-section,.member-profile-section{margin-top:0}.member-profile-section{grid-column:2}.member-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.member-profile-grid>div{padding:14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.member-profile-grid small,.member-profile-grid strong{display:block}.member-profile-grid small{color:#8f9b99;font-size:.63rem}.member-profile-grid strong{margin-top:4px;font-size:.84rem}
.guest-registration-main{min-height:calc(100vh - 170px);display:grid;grid-template-columns:1fr minmax(320px,470px);gap:60px;align-items:center;padding:48px 0}.guest-registration-copy h1{font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.02;letter-spacing:-.045em;margin:8px 0 18px}.guest-registration-copy p{color:#9eaaa8;line-height:1.7;max-width:560px}.guest-registration-card{padding:24px;border-radius:24px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.guest-registration-card h2{margin:0 0 14px}.guest-registration-card label:not(.guest-check){display:block;color:#a7b0ae;font-size:.72rem;margin:10px 0 5px}.guest-form-note{font-size:.68rem;line-height:1.5;color:#6f7d7a;margin:14px 0 0}.guest-registration-result{align-self:center}.guest-brand{text-decoration:none;color:inherit}
@media(max-width:760px){.guest-header-actions{gap:5px}.guest-header-actions .guest-lang{padding:7px 9px;font-size:.68rem}.preferred-registration-fields{grid-template-columns:1fr}.history-row{align-items:flex-start}.member-main{grid-template-columns:1fr;padding-top:28px}.member-card{position:relative;top:auto}.member-profile-section{grid-column:1}.member-profile-grid{grid-template-columns:1fr}.guest-registration-main{grid-template-columns:1fr;gap:28px;padding:34px 0}.guest-registration-copy h1{font-size:2.25rem}.preferred-card{padding:20px}.preferred-card-name{font-size:1.4rem}.preferred-card-qr{width:96px;height:96px}}
.guest-tip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guest-tip-card{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(150deg,rgba(231,201,126,.07),rgba(255,255,255,.025))}.guest-tip-card>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(231,201,126,.11);color:#e7c97e;font-size:.72rem;font-weight:800}.guest-tip-card strong{display:block;font-size:.83rem}.guest-tip-card p{margin:4px 0 0;color:#8f9b99;font-size:.72rem;line-height:1.5}@media(max-width:650px){.guest-tip-grid{grid-template-columns:1fr}}
.loyalty-progress-wrap{margin:14px 0 10px}.loyalty-progress-head{display:flex;justify-content:space-between;gap:12px;color:#b7c1bf;font-size:.68rem}.loyalty-progress-track{height:8px;margin-top:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.loyalty-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e5785b,#e7c97e)}
