:root{color-scheme:light;--navy:#17364d;--navy-soft:#294b61;--green:#2d5b43;--green-soft:#e5eee7;--gold:#d6a84b;--sand:#eee3d2;--sand-soft:#f7f2e9;--paper:#fffdf9;--line:#ded4c4;--muted:#65716d;--danger:#94463a;--radius:18px;--shadow:0 18px 55px rgba(25,48,61,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand-soft);color:var(--navy);font-family:Arial,Helvetica,sans-serif;line-height:1.45}a{color:inherit}.skip-link{position:fixed;z-index:10;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;border-radius:8px;background:var(--navy);color:white}.skip-link:focus{transform:none}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:rgba(255,253,249,.96)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border:1px solid #799282;border-radius:12px;background:var(--navy);color:white;font:600 22px Georgia,serif}.brand strong,.brand small{display:block}.brand strong{font:700 18px Georgia,serif}.brand small{margin-top:1px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.secure-label{display:flex;gap:7px;align-items:center;color:var(--green);font-size:12px;font-weight:700}.secure-label span{font-size:10px}.portal-shell{width:min(1120px,calc(100% - 32px));margin:28px auto 54px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr);gap:18px}.welcome,.stay-card,.timeline-card,.information-card,.help-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.welcome{grid-column:1/-1;padding:clamp(28px,5vw,60px);background:linear-gradient(125deg,var(--green-soft),#f3eee4 72%);border-color:#bfd0c1}.eyebrow{margin:0 0 8px;color:#7b8985;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.welcome h1{margin:0;font:700 clamp(38px,6vw,66px)/1 Georgia,serif}.welcome-lead{margin:18px 0 4px;color:var(--green);font:700 clamp(21px,3vw,30px)/1.2 Georgia,serif}.welcome>p:last-of-type{max-width:620px;margin-top:6px;color:#566660}.primary-button,.secondary-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;margin-top:22px;padding:0 22px;border:0;border-radius:11px;background:var(--green);color:white;font-weight:800;text-decoration:none}.stay-card{grid-column:1;padding:26px}.stay-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:21px;border-bottom:1px solid var(--line)}h2{margin:0;font:700 clamp(23px,3vw,31px)/1.12 Georgia,serif}.status-pill{white-space:nowrap;padding:7px 11px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800}.stay-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:20px 0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.stay-facts div{min-width:0;padding:13px;background:#fbfaf6}.stay-facts span,.stay-facts strong{display:block}.stay-facts span{color:var(--muted);font-size:11px}.stay-facts strong{margin-top:3px;font-size:14px}.rooms{display:grid;gap:13px}.portal-notice{grid-column:1/-1;margin:0;padding:12px 14px;border:1px solid;border-radius:11px;font-size:13px;font-weight:700}.portal-notice.success{border-color:#acc8b4;background:var(--green-soft);color:var(--green)}.portal-notice.error{border-color:#dfb5ad;background:#fbebe7;color:var(--danger)}.room-card{display:grid;grid-template-columns:110px 1fr;min-height:142px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.room-visual{display:grid;place-items:center;background:linear-gradient(145deg,#dbe8df,#c2d6c8)}.room-visual span{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(45,91,67,.25);border-radius:14px;background:rgba(255,255,255,.6);font:700 23px Georgia,serif}.room-copy{padding:19px}.room-copy h3{margin:0;font:700 21px Georgia,serif}.room-copy>p:last-of-type{margin:7px 0 0;color:var(--muted);font-size:13px}.room-number{margin:7px 0 0;color:var(--green);font-weight:800}.room-number.pending{color:#8a6b38}.room-guest-form{margin-top:17px;padding-top:16px;border-top:1px solid var(--line)}.room-guest-form fieldset{min-width:0;margin:0;padding:0;border:0}.room-guest-form legend{padding:0;color:var(--navy);font-weight:800}.room-guest-help{margin:4px 0 12px;color:var(--muted);font-size:12px}.room-guest-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto;gap:9px;align-items:end}.room-guest-fields label span{display:block;margin:0 0 4px;color:var(--muted);font-size:11px;font-weight:700}.room-guest-fields input{width:100%;height:44px;padding:0 11px;border:1px solid #cfc4b3;border-radius:9px;background:white;color:var(--navy);font:inherit}.room-guest-fields input:focus{outline:3px solid rgba(45,91,67,.18);border-color:var(--green)}.room-guest-fields button{min-height:44px;padding:0 15px;border:0;border-radius:9px;background:var(--green);color:white;font-weight:800;cursor:pointer}.timeline-card{grid-column:2;grid-row:2;padding:26px}.timeline{list-style:none;margin:24px 0 0;padding:0}.timeline li{position:relative;display:grid;grid-template-columns:24px 1fr;gap:11px;min-height:68px}.timeline li:not(:last-child)::after{content:"";position:absolute;top:18px;bottom:-2px;left:6px;width:1px;background:var(--line)}.timeline li>span{position:relative;z-index:1;width:13px;height:13px;margin-top:3px;border:2px solid #c9c2b5;border-radius:50%;background:var(--paper)}.timeline li.done>span{border-color:var(--green);background:var(--green)}.timeline li.current>span{border-color:#b88a3e;background:#f1dfbd;box-shadow:0 0 0 5px #f6eddd}.timeline strong,.timeline small{display:block}.timeline strong{font-size:14px}.timeline small{margin-top:3px;color:var(--muted);font-size:12px}.quick-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{min-height:92px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-decoration:none}.quick-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green);font-weight:900}.quick-card strong,.quick-card small{display:block}.quick-card strong{font-size:14px}.quick-card small{margin-top:3px;color:var(--muted);font-size:11px}.quick-card b{color:#95a29c;font-size:24px}.information-card{grid-column:1;padding:25px}.information-card>p{color:#51605b}.muted{padding-top:14px;border-top:1px solid var(--line);color:var(--muted)!important;font-size:12px}.information-links{display:grid;gap:0;margin-top:15px;border-top:1px solid var(--line)}.information-links span{padding:14px 0;border-bottom:1px solid var(--line);font-weight:700}.help-card{grid-column:2;grid-row:4/span 3;padding:25px;background:var(--navy);color:white}.help-card .eyebrow,.help-card p{color:#c6d1d2}.secondary-button{width:100%;background:white;color:var(--navy)}.logout-form{grid-column:1/-1;text-align:center}.logout-form button{padding:10px 15px;border:0;background:transparent;color:var(--muted);font-size:13px;text-decoration:underline;cursor:pointer}footer{display:flex;justify-content:center;gap:10px;padding:23px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.landing-body{min-height:100vh;display:grid;place-items:center;padding:20px}.landing-card{width:min(430px,100%);padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);text-align:center}.landing-card .brand-mark{margin:0 auto 24px}.landing-card h1{margin:0;font:700 32px Georgia,serif}.landing-card>p{color:var(--muted)}.landing-help{margin-top:28px;font-size:13px}.landing-help a{font-weight:800}
@media(max-width:820px){.portal-shell{grid-template-columns:1fr}.welcome,.stay-card,.timeline-card,.quick-grid,.information-card,.help-card,.logout-form{grid-column:1}.timeline-card,.help-card{grid-row:auto}.quick-grid{grid-template-columns:1fr 1fr}.stay-facts{grid-template-columns:1fr 1fr}.room-guest-fields{grid-template-columns:1fr 1fr}.room-guest-fields button{grid-column:1/-1}.secure-label{font-size:0}.secure-label span{font-size:10px}.site-header{height:70px}}
@media(max-width:520px){.portal-shell{width:min(100% - 20px,1120px);margin-top:10px;gap:10px}.welcome,.stay-card,.timeline-card,.information-card,.help-card{border-radius:15px;box-shadow:none}.welcome{padding:27px 21px}.welcome h1{font-size:40px}.welcome-lead{font-size:23px}.primary-button{width:100%}.stay-card,.timeline-card,.information-card,.help-card{padding:20px}.stay-heading{display:block}.status-pill{display:inline-flex;margin-top:12px}.stay-facts{margin:17px 0}.stay-facts div{padding:11px}.room-card{grid-template-columns:1fr}.room-visual{min-height:72px}.room-visual span{width:44px;height:44px;font-size:20px}.room-copy{padding:15px}.room-copy h3{font-size:19px}.room-guest-fields{grid-template-columns:1fr}.room-guest-fields button{grid-column:1;min-height:48px}.quick-grid{grid-template-columns:1fr}.quick-card{min-height:80px}.site-header{padding-left:14px;padding-right:14px}.brand-mark{width:39px;height:39px}.brand strong{font-size:16px}footer{display:grid;text-align:center}.landing-card{padding:28px 21px}}
.room-copy .room-dogs{display:inline-flex;margin:9px 0 2px;padding:6px 9px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800}
.room-guest-details{margin-top:17px;border-top:1px solid var(--line)}.room-guest-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0 0;cursor:pointer}.room-guest-details>summary::-webkit-details-marker{display:none}.room-guest-details>summary span{display:grid;gap:2px}.room-guest-details>summary small{color:var(--muted);font-size:12px}.room-guest-details>summary>b{color:var(--green);font-size:12px}.room-guest-details .room-guest-form{margin-top:12px;padding-top:0;border-top:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.language-switcher{display:flex;align-items:center;gap:10px;margin-left:auto}.language-switcher a{display:grid;width:36px;height:32px;place-items:center;border:1px solid transparent;border-radius:8px;font-size:24px;line-height:1;text-decoration:none;filter:saturate(.9)}.language-switcher a:hover,.language-switcher a:focus-visible{border-color:var(--line);background:white;outline:none}.language-switcher a[aria-current="page"]{border-color:#9bad9f;background:white;box-shadow:0 2px 8px rgba(25,48,61,.1)}.landing-card>.language-switcher{justify-content:center;margin:-12px 0 24px}

/* Guest information architecture: content from the former portal in Marsk Booking's design. */
.service-card{grid-column:1/-1;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}
.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.service-card>p{color:#51605b}
.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.place-grid div{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfaf6}.place-grid strong,.place-grid small{display:block}.place-grid small{margin-top:4px;color:var(--muted)}
.addon-rooms{display:grid;gap:12px;margin-top:18px}.addon-room{padding:17px;border:1px solid var(--line);border-radius:13px;background:#fbfaf6}.addon-room h3{margin:0;font:700 20px Georgia,serif}.addon-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.addon-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:white}.addon-option strong,.addon-option small{display:block}.addon-option small{margin-top:3px;color:var(--muted)}.addon-option button{min-height:40px;padding:0 15px;border:0;border-radius:9px;background:var(--green);color:white;font-weight:800;cursor:pointer}.order-state{padding:7px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:800;white-space:nowrap}
.addon-select-form{display:flex;align-items:center;gap:7px}.addon-select-form select{height:40px;padding:0 8px;border:1px solid #cfc4b3;border-radius:9px;background:white;color:var(--navy);font:inherit}.addon-remove-form{display:inline-flex;margin-left:.35rem}.addon-remove-form button{border:0;background:transparent;color:var(--green);font:inherit;font-weight:700;text-decoration:underline;padding:.3rem;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cart-state{background:#f2eadc;color:#765a2c}.addon-cart{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:18px;border:1px solid #acc8b4;border-radius:13px;background:var(--green-soft)}.addon-cart h3,.addon-cart p{margin:0}.addon-cart h3{font:700 21px Georgia,serif}.addon-cart div>p:last-child{margin-top:4px;color:var(--muted);font-size:12px}.payment-actions{display:grid;gap:6px}.payment-actions button{width:100%;min-height:42px;padding:0 15px;border:0;border-radius:9px;background:var(--green);color:white;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.payment-actions .secondary-pay{border:1px solid var(--green);background:white;color:var(--green)}
.payment-card{grid-column:1/-1;padding:clamp(20px,4vw,36px);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.payment-card h2{margin:.25rem 0 1.25rem}.payment-summary{margin:0 0 1.25rem}.payment-summary div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.payment-summary dt{color:var(--muted)}.payment-summary dd{margin:0;font-weight:800;text-align:right}.payment-continue{width:100%;margin-top:0}.payment-continue:disabled{opacity:.55;cursor:not-allowed}.text-link{display:inline-block;margin-top:1rem;color:var(--green);font-weight:800}
.release-panel{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;margin-top:18px;padding:14px;border-radius:12px;background:var(--sand-soft)}
.guest-door-codes{display:grid;gap:12px;margin:18px 0}.guest-door-code{display:grid;gap:6px;padding:18px;border:1px solid #b9d0c1;border-radius:18px;background:#e5f0e9}.guest-door-code span,.guest-door-code small{color:#5f6c66}.guest-door-code strong{font-family:var(--font-display);font-size:clamp(2rem,8vw,3.25rem);letter-spacing:.18em;color:#24563d}
.breakfast-rooms{display:grid;gap:12px;margin-top:18px}.breakfast-room{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fbfaf6}.breakfast-room h3{margin:0 0 10px;font:700 18px Georgia,serif}.breakfast-row{display:grid;grid-template-columns:minmax(0,1fr) 86px 76px;gap:9px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.breakfast-row label strong,.breakfast-row label small{display:block}.breakfast-row label small{margin-top:2px;color:var(--muted);font-size:11px}.breakfast-row select,.breakfast-row button{height:42px;border-radius:9px;font:inherit}.breakfast-row select{padding:0 10px;border:1px solid #cfc4b3;background:white;color:var(--navy)}.breakfast-row button{border:0;background:var(--green);color:white;font-weight:800;cursor:pointer}
.release-panel>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--green);font-weight:900}
.release-panel strong,.release-panel small{display:block}.release-panel small{margin-top:3px;color:var(--muted)}
.information-accordion{margin-top:17px;border-top:1px solid var(--line)}
.information-accordion details{border-bottom:1px solid var(--line)}
.information-accordion summary{display:flex;justify-content:space-between;gap:12px;padding:16px 2px;cursor:pointer;font-weight:800}
.information-accordion summary span{color:var(--green);font-size:11px}.information-accordion details p{margin:0;padding:0 2px 17px;color:#51605b}
.local-card{grid-column:1/-1}
.guide-category{margin-top:24px}.guide-category>h3{margin:0 0 11px;font:700 20px Georgia,serif}.guide-category>p{color:#51605b}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guide-grid details{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fbfaf6}.guide-grid summary{padding:15px;cursor:pointer;font-weight:800}.guide-grid details>p{margin:0;padding:0 15px 13px;color:#51605b;font-size:13px}.place-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 15px 15px}.place-actions a{display:inline-flex;min-height:36px;align-items:center;padding:0 11px;border:1px solid #b9c8bd;border-radius:8px;background:white;color:var(--green);font-size:12px;font-weight:800;text-decoration:none}.place-actions a:hover,.place-actions a:focus-visible{background:var(--green-soft)}
.cancellation-card{grid-column:1;padding:25px;border:1px solid #dfb5ad;border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.cancellation-card>p{color:#51605b}.refund-message{padding:13px 14px;border-radius:11px;background:var(--green-soft)}.refund-message.warning{background:#fbebe7;color:var(--danger)}.cancel-details{margin-top:18px;border-top:1px solid var(--line)}.cancel-details summary{padding:16px 0;color:var(--danger);font-weight:800;cursor:pointer}.cancel-details form{display:grid;gap:14px;padding:2px 0 4px}.cancel-confirm{display:flex;align-items:flex-start;gap:10px;color:#51605b}.cancel-confirm input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0}.danger-button{min-height:48px;padding:0 18px;border:0;border-radius:10px;background:var(--danger);color:white;font-weight:800;cursor:pointer}.cancellation-receipt h1{font-size:30px}
.help-card{grid-row:5/span 3}
@media(max-width:820px){.service-card,.cancellation-card{grid-column:1}.help-card{grid-row:auto}}
@media(max-width:520px){.service-card,.payment-card,.cancellation-card{padding:20px;border-radius:15px;box-shadow:none}.section-heading{display:block}.section-heading .status-pill{margin:12px 0 0}.place-grid,.addon-options,.guide-grid{grid-template-columns:1fr}.addon-option{align-items:flex-end}.addon-option button{min-width:76px}.addon-cart{display:grid}.addon-cart .payment-actions{width:100%}.breakfast-row{grid-template-columns:minmax(0,1fr) 68px}.breakfast-row button{grid-column:1/-1}}
.breakfast-row{grid-template-columns:minmax(0,1fr) 96px minmax(112px,max-content)}.breakfast-row button{min-width:112px;padding-left:16px;padding-right:16px;white-space:nowrap}
@media(max-width:520px){.breakfast-row{grid-template-columns:minmax(0,1fr) 68px}.breakfast-row button{grid-column:1/-1;width:100%}}
.addon-remove-form button{min-height:40px;padding:0 15px;border:1px solid #b8c8bc;border-radius:9px;background:#fff;color:var(--green);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.addon-remove-form button:hover{background:var(--green-soft)}.addon-remove-form button:focus-visible{outline:3px solid rgba(45,91,67,.2);outline-offset:2px}
.addon-select-form button:disabled,.addon-remove-form button:disabled{cursor:wait;opacity:.58}
.public-portal-body{display:block;padding:0}.public-portal-shell{width:min(1120px,calc(100% - 32px));margin:28px auto 54px}.public-portal-shell .landing-card{margin:0 auto 18px}.public-portal-shell .local-card{padding:25px}@media(max-width:520px){.public-portal-shell{width:min(100% - 20px,1120px);margin-top:10px}.public-portal-shell .local-card{padding:20px}}
.hotel-logo{display:block;width:118px;max-width:100%;height:auto;object-fit:contain}.site-header .hotel-logo{width:104px;max-height:68px}.landing-logo{width:clamp(140px,52vw,190px);margin:0 auto 22px}@media(max-width:520px){.site-header .hotel-logo{width:82px;max-height:58px}.landing-logo{margin-bottom:18px}}

/* The guest portal follows Marsk Hotellet's visual identity and stays usable at every width. */
html,body{max-width:100%;overflow-x:hidden}.site-header{border-top:3px solid var(--gold)}.portal-shell>*,.public-portal-shell>*{min-width:0}.portal-login{display:grid;gap:13px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);text-align:left}.portal-login label span{display:block;margin:0 0 5px;color:var(--navy);font-size:12px;font-weight:800}.portal-login input{width:100%;height:50px;padding:0 13px;border:1px solid #cfc4b3;border-radius:10px;background:white;color:var(--navy);font:inherit}.portal-login input:focus{outline:3px solid rgba(45,91,67,.18);border-color:var(--green)}.portal-login .primary-button{width:100%;margin-top:2px;cursor:pointer}[hidden]{display:none!important}
@media(max-width:820px){.site-header{height:auto;min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:10px 16px}.site-header>.language-switcher{grid-column:1/-1;justify-content:center;width:100%;margin:0}.brand,.brand>span{min-width:0}.brand strong,.brand small{white-space:normal}.secure-label{justify-self:end}}
@media(max-width:520px){.site-header{padding:8px 12px}.site-header .hotel-logo{width:76px}.brand{gap:8px}.brand strong{font-size:14px}.language-switcher{gap:6px}.addon-option{display:grid;grid-template-columns:1fr;align-items:start}.addon-select-form{flex-wrap:wrap}.payment-summary div{display:grid;gap:4px}.payment-summary dd{text-align:left}.landing-card h1{font-size:clamp(29px,10vw,38px)}}
@media(max-width:360px){.stay-facts{grid-template-columns:1fr}.language-switcher a{width:33px}}

/* On laptops the public entrance uses the available width instead of stretching a mobile card vertically. */
@media(min-width:821px){.public-portal-shell .landing-card{width:min(960px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);grid-template-rows:auto auto auto auto auto;column-gap:clamp(42px,5vw,72px);align-items:center;padding:clamp(38px,5vw,64px);text-align:left}.public-portal-shell .landing-card>.language-switcher{grid-column:1/-1;justify-content:center;margin:0 0 34px}.public-portal-shell .landing-logo{grid-column:1;grid-row:2;margin:0 auto 28px}.public-portal-shell .landing-card>h1{grid-column:1;grid-row:3;text-align:center}.public-portal-shell .landing-card>p:not(.landing-help){grid-column:1;text-align:center}.public-portal-shell .landing-card>p:nth-of-type(1){grid-row:4}.public-portal-shell .landing-card>p:nth-of-type(2){grid-row:5}.public-portal-shell .portal-notice{grid-column:2;grid-row:2;margin:0 0 14px}.public-portal-shell .portal-login{grid-column:2;grid-row:2/5;align-self:center;margin:0;padding:0;border-top:0}.public-portal-shell .landing-help{grid-column:2;grid-row:5;align-self:start;margin:18px 0 0;text-align:center}.public-portal-shell .local-card{margin-top:26px}}
@media(min-width:821px){.public-portal-shell .landing-card{width:100%;display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);grid-template-rows:auto auto auto auto auto;column-gap:clamp(38px,4vw,58px);align-items:center;padding:30px clamp(52px,7vw,90px) 34px;text-align:left}.public-portal-shell .landing-card>.language-switcher{grid-column:1/-1;justify-content:center;margin:0 0 14px}.public-portal-shell .landing-logo{grid-column:1;grid-row:2;width:142px;margin:0 auto 10px}.public-portal-shell .landing-card>h1{grid-column:1;grid-row:3;margin:0;text-align:center;font-size:38px}.public-portal-shell .landing-card>p:not(.landing-help){grid-column:1;max-width:380px;margin:9px auto 0;text-align:center;font-size:15px;line-height:1.42}.public-portal-shell .landing-card>p:nth-of-type(1){grid-row:4}.public-portal-shell .landing-card>p:nth-of-type(2){grid-row:5;margin-top:15px}.public-portal-shell .portal-notice{grid-column:2;grid-row:2;margin:0 0 12px}.public-portal-shell .portal-login{grid-column:2;grid-row:2/5;align-self:center;margin:0;padding:0;border-top:0}.public-portal-shell .landing-help{grid-column:2;grid-row:5;align-self:start;margin:14px 0 0;text-align:center}.public-portal-shell .local-card{margin-top:20px}}
.owner-preview-banner{width:min(1120px,calc(100% - 32px));margin:24px auto -4px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border:1px solid #b8c8bc;border-radius:12px;background:var(--green-soft);color:var(--green);text-align:center}.owner-preview-banner strong{font-size:14px}.owner-preview-banner span{font-size:12px}.owner-preview form button:disabled{opacity:.58;cursor:not-allowed!important}.owner-preview form input,.owner-preview form select{cursor:default}@media(max-width:620px){.owner-preview-banner{width:calc(100% - 20px);margin-top:10px;display:grid;gap:3px}}
.receipt-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px}.receipt-profile-form label span{display:block;margin:0 0 5px;color:var(--navy);font-size:12px;font-weight:800}.receipt-profile-form input,.receipt-profile-form select{width:100%;height:48px;padding:0 12px;border:1px solid #cfc4b3;border-radius:9px;background:#fff;color:var(--navy);font:inherit}.receipt-profile-form input:focus,.receipt-profile-form select:focus{outline:3px solid rgba(45,91,67,.18);border-color:var(--green)}.receipt-profile-form .wide,.receipt-profile-form button{grid-column:1/-1}.receipt-profile-form button{margin-top:3px}@media(max-width:520px){.receipt-profile-form{grid-template-columns:1fr}.receipt-profile-form .wide,.receipt-profile-form button{grid-column:1}}
.receipt-profile-form button:disabled{opacity:.55;cursor:not-allowed}.receipt-issue-form,.receipt-actions{display:grid;gap:9px;margin-top:18px}.receipt-issue-form p,.receipt-actions p{margin:0;color:var(--muted);font-size:12px}.receipt-document-body{padding:28px;background:#f4f1ea}.receipt-document{width:min(820px,100%);margin:auto;padding:42px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.receipt-document header{display:flex;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}.receipt-document header img{width:135px;height:auto}.receipt-document header p{margin:0;color:var(--green);font-weight:800;letter-spacing:.14em}.receipt-document header h1{margin:7px 0;font:700 29px Georgia,serif}.receipt-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px 0}.receipt-parties div{display:grid;gap:4px}.receipt-parties small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.receipt-document table{width:100%;border-collapse:collapse}.receipt-document th,.receipt-document td{padding:13px 9px;border-bottom:1px solid var(--line);text-align:left}.receipt-document .amount{text-align:right}.receipt-document dl{width:min(380px,100%);margin:25px 0 25px auto}.receipt-document dl div{display:flex;justify-content:space-between;padding:7px 0}.receipt-document dl .total{margin-top:6px;padding-top:13px;border-top:2px solid var(--navy);font-weight:800}.receipt-document dd{margin:0}.receipt-document footer{display:grid;justify-content:start;padding:18px 0;border-top:1px solid var(--line);text-align:left}.receipt-document nav{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.receipt-document nav button,.receipt-document nav a{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;border:1px solid var(--green);border-radius:9px;background:var(--green);color:#fff;font:inherit;font-weight:800;text-decoration:none}.receipt-document nav a{background:#fff;color:var(--green)}@media(max-width:620px){.receipt-document-body{padding:10px}.receipt-document{padding:22px}.receipt-document header{display:grid}.receipt-parties{grid-template-columns:1fr}.receipt-document nav{display:grid}.receipt-document nav>*{justify-content:center}}@media print{.receipt-document-body{padding:0;background:#fff}.receipt-document{width:100%;padding:0;border:0;box-shadow:none}.receipt-document nav{display:none}}
.addon-receipt-list{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.addon-receipt-list h3{margin:0 0 12px}.addon-receipt-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.addon-receipt-row span{display:grid;gap:3px}.addon-receipt-row form{margin:0}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--navy);border-radius:8px;background:#fff;color:var(--navy);font-weight:700;text-decoration:none;cursor:pointer}@media(max-width:520px){.addon-receipt-row{align-items:stretch;flex-direction:column}.addon-receipt-row .secondary-button{width:100%}}

/* A calm reading order on laptops: every section after the overview follows the same width. */
.portal-shell>.service-card,.portal-shell>.information-card,.portal-shell>.help-card,.portal-shell>.cancellation-card{grid-column:1/-1;grid-row:auto}
.receipt-card{padding:0;overflow:hidden}.receipt-details>summary{list-style:none;display:flex;min-height:94px;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;cursor:pointer}.receipt-details>summary::-webkit-details-marker{display:none}.receipt-details>summary>div{min-width:0}.receipt-details>summary .eyebrow{margin-bottom:3px;font-size:10px}.receipt-details>summary h2{font-size:clamp(19px,2vw,24px)}.receipt-details>summary small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.receipt-details>summary::after{content:'+';display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--green);font-size:21px;font-weight:400}.receipt-details[open]>summary::after{content:'−'}.receipt-details>summary .status-pill{margin-left:auto}.receipt-details-body{padding:0 30px 30px;border-top:1px solid var(--line)}
.collapsible-service-card{padding:0;overflow:hidden}.service-details>summary{list-style:none;min-height:94px;align-items:center;padding:15px 22px;cursor:pointer}.service-details>summary::-webkit-details-marker{display:none}.service-details>summary .eyebrow{margin-bottom:3px;font-size:10px}.service-details>summary h2{font-size:clamp(19px,2vw,24px)}.service-details>summary small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.service-details>summary::after{content:'+';display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--green);font-size:21px;font-weight:400}.service-details[open]>summary::after{content:'−'}.service-details>summary .status-pill{margin-left:auto}.service-details-body{padding:0 30px 24px;border-top:1px solid var(--line)}
.timeline-card{display:flex;flex-direction:column}.access-card{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.access-card h2{font-size:21px}.access-card>p{margin:8px 0 0;color:#51605b;font-size:13px}.access-card .guest-door-codes{margin:14px 0 0}.access-card .guest-door-code{padding:14px;border-radius:13px}.access-card .guest-door-code strong{font-size:clamp(1.8rem,3.5vw,2.35rem)}.access-card .guest-door-code strong b{margin-left:.08em;font:inherit;color:inherit}.door-code-help{margin:4px 0;border-radius:9px;background:#fff8e8;color:var(--navy)}.door-code-help>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;cursor:pointer;font-size:12px;font-weight:800}.door-code-help>summary::-webkit-details-marker{display:none}.door-code-help>summary::after{content:'+';font-size:18px;font-weight:400}.door-code-help[open]>summary::after{content:'−'}.door-code-help>small{display:block;padding:0 11px 10px;color:#51605b}.access-card .release-panel{margin-top:14px;padding:11px}.access-card .release-panel small{font-size:11px}
.help-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:28px;padding:28px 32px}.help-card .eyebrow,.help-card h2,.help-card p{grid-column:1}.help-card .secondary-button{grid-column:2;grid-row:1/4;width:auto;min-width:260px;margin:0}
.addon-options{grid-template-columns:1fr}.addon-option{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);align-items:end;gap:20px;padding:16px 18px}.addon-select-form{display:grid;grid-template-columns:minmax(220px,1fr) auto max-content;align-items:end;gap:10px}.addon-select-form label{min-width:0}.addon-select-form label:not(:has(.visually-hidden)) span{display:block;margin:0 0 5px;color:var(--muted);font-size:12px}.addon-select-form select{width:100%;min-width:0}.addon-select-form button{min-width:118px;padding:0 18px;white-space:nowrap}.addon-option>span:first-child{align-self:center}.addon-option>span:first-child strong{font-size:16px}.receipt-card{padding:0}
@media(max-width:820px){.help-card{grid-template-columns:1fr}.help-card .secondary-button{grid-column:1;grid-row:auto;width:100%;min-width:0;margin-top:18px}.addon-option{grid-template-columns:1fr}.addon-select-form{grid-template-columns:minmax(0,1fr) auto max-content}.access-card{margin-top:22px}}
@media(max-width:620px){.addon-select-form{grid-template-columns:1fr 78px}.addon-select-form label:first-of-type{grid-column:1/-1}.addon-select-form button{min-width:0}.receipt-details>summary,.service-details>summary{align-items:center;padding:14px 16px}.receipt-details>summary .status-pill,.service-details>summary .status-pill{display:none}.receipt-details>summary small{display:none}.receipt-details-body,.service-details-body{padding:0 20px 20px}.help-card{padding:22px}}

/* Keep the two primary desktop panels visually aligned as one pair. */
@media(min-width:821px){.stay-card,.timeline-card{height:100%;align-self:stretch}}
.service-details>summary{display:flex;justify-content:space-between;gap:16px}
.stay-card>.access-card{margin-top:22px}
