/* Consistent, readable public support layout even when opened from an app context. */
.support-shell{font-size:16px;background:radial-gradient(circle at 85% 8%,rgba(20,184,166,.12),transparent 28%),linear-gradient(135deg,#f7fbfb,#edf5f6 55%,#e6edf3)}
.support-header,.support-form-shell{width:calc(100% - 2rem);max-width:1280px}.support-header{padding:1.4rem 1.75rem}.support-brand{font-size:1.12rem}.support-header nav a{font-size:.95rem}
.support-form-shell{grid-template-columns:minmax(320px,.68fr) minmax(0,1.32fr);margin-top:1.3rem;border-color:#cbdadd;box-shadow:0 24px 60px rgba(15,23,42,.12)}
.support-form-shell aside{padding:clamp(2rem,3vw,3rem);background:linear-gradient(155deg,#052f36,#075b5c)}.support-form-shell aside h1{font-size:clamp(2.35rem,3.4vw,3.25rem)}.support-form-shell aside>p{font-size:1rem}.support-notice p{font-size:.9rem}
.support-form-shell form{padding:clamp(2rem,3vw,3rem)}.support-form-shell label{font-size:.93rem;margin-bottom:1.15rem}.support-form-shell input,.support-form-shell select,.support-form-shell textarea{width:100%;margin-top:.4rem;border:1px solid #afc5cb;border-radius:.75rem;background:#fff;padding:.82rem .9rem;font-size:1rem;font-weight:500}.support-form-shell textarea{min-height:140px}.support-form-shell input:focus,.support-form-shell select:focus,.support-form-shell textarea:focus{outline:3px solid rgba(20,184,166,.18);border-color:#0f8f83}.support-button,.form-cancel-action{font-size:.95rem}
body:has(.support-shell) #app-navigation a,body:has(.support-shell) #app-navigation button{font-size:.88rem}body:has(.support-shell) #app-navigation .signed-in-identity{font-size:.78rem}
@media(max-width:800px){.support-form-shell{grid-template-columns:1fr}.support-header{padding:1rem}.support-form-shell form,.support-form-shell aside{padding:1.4rem}}

/* Compact, branded public contact form. Scoped to avoid resizing other support screens. */
.support-contact-page{padding-bottom:2rem}
.support-contact-page .support-header{padding-top:.9rem;padding-bottom:.8rem}
.support-contact-card{width:calc(100% - 2rem);max-width:1020px;grid-template-columns:320px minmax(0,1fr);margin-top:.55rem;border-radius:1.35rem;box-shadow:0 22px 55px rgba(15,23,42,.13)}
.support-contact-card .support-contact-intro{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:1.65rem;background:linear-gradient(155deg,#062e37 0%,#075b5c 58%,#0b7770 100%);overflow:hidden}
.support-contact-card .support-contact-intro:before{content:"";position:absolute;z-index:-1;width:280px;height:280px;right:-145px;top:-125px;border-radius:50%;background:radial-gradient(circle,rgba(94,234,212,.28),transparent 68%)}
.support-contact-card .support-contact-intro h1{margin:.5rem 0 .65rem;font-size:clamp(1.75rem,2.8vw,2.15rem);line-height:1.08;letter-spacing:-.025em}
.support-contact-card .support-contact-intro>p{font-size:.92rem;line-height:1.55;color:#d5e9e8}
.support-3d-graphic{position:relative;display:grid;place-items:center;width:118px;height:108px;margin:0 auto 1rem;perspective:600px}
.support-3d-mark{position:relative;display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.5);border-radius:21px;background:linear-gradient(145deg,#2dd4bf,#0f766e 65%,#064e4a);box-shadow:0 18px 26px rgba(0,0,0,.26),inset 8px 8px 14px rgba(255,255,255,.18),inset -8px -8px 14px rgba(0,0,0,.16);transform:rotateX(8deg) rotateY(-12deg);animation:support-mark-float 4.5s ease-in-out infinite}
.support-3d-mark:before{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.28);border-radius:14px}
.support-3d-mark span{color:#fff;font-size:1.55rem;font-weight:950;letter-spacing:-.08em;text-shadow:0 3px 8px rgba(0,0,0,.3)}
.support-3d-orbit{position:absolute;border:1px solid rgba(153,246,228,.38);border-radius:50%;transform:rotate(-14deg)}
.support-3d-orbit-one{width:112px;height:50px}.support-3d-orbit-two{width:55px;height:108px;transform:rotate(32deg)}
.support-route-steps{display:grid;gap:.45rem;margin-top:1.1rem}
.support-route-steps span{display:flex;align-items:center;gap:.55rem;color:#e6fffb;font-size:.78rem;font-weight:750}
.support-route-steps b{display:grid;place-items:center;width:1.55rem;height:1.55rem;flex:0 0 1.55rem;border-radius:50%;background:rgba(153,246,228,.16);border:1px solid rgba(153,246,228,.35);color:#99f6e4;font-size:.7rem}
.support-contact-card .support-context,.support-contact-card .support-notice{margin-top:1rem;padding:.75rem .85rem;border-radius:.8rem}
.support-contact-card .support-context small,.support-contact-card .support-notice b{font-size:.72rem}
.support-contact-card .support-notice{margin-top:auto}.support-contact-card .support-notice p{font-size:.74rem;line-height:1.45}
.support-contact-card form{position:relative;padding:1.55rem 1.65rem}
.support-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-right:4.4rem;margin-bottom:1rem}
.support-form-heading .support-kicker{color:#0f766e}.support-form-heading h2{margin:.25rem 0 .15rem;font-size:1.35rem;font-weight:950;color:#10212b}.support-form-heading p{font-size:.78rem;color:#64748b}
.support-private-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .58rem;background:#ecfdf5;color:#0f766e;font-size:.68rem;font-weight:900}
.support-contact-card .form-exit-bar{position:absolute;top:1rem;right:1rem}
.support-contact-card label{font-size:.8rem;margin-bottom:.68rem;color:#203642}
.support-contact-card label small,.support-optional summary small{font-size:.7rem;font-weight:650;color:#64748b}
.support-contact-card input,.support-contact-card select,.support-contact-card textarea{margin-top:.28rem;border-radius:.62rem;padding:.58rem .7rem;font-size:.88rem;min-height:42px}
.support-contact-card textarea{min-height:104px;resize:vertical}
.support-contact-card .support-fields.two{gap:.75rem}
.support-optional{margin:.1rem 0 .7rem;border:1px solid #d8e5e7;border-radius:.75rem;background:#f8fbfb}
.support-optional summary{padding:.65rem .75rem;cursor:pointer;color:#36515b;font-size:.78rem;font-weight:900}
.support-optional[open] summary{border-bottom:1px solid #d8e5e7}
.support-optional label{padding:.7rem .75rem .1rem;margin:0}
.support-contact-actions{display:flex;justify-content:flex-end;align-items:center;gap:.7rem;margin-top:.75rem;padding-top:.8rem;border-top:1px solid #e2e8f0}
.support-contact-actions .support-button{margin:0;min-width:190px;padding:.72rem 1rem}
@keyframes support-mark-float{0%,100%{transform:translateY(0) rotateX(8deg) rotateY(-12deg)}50%{transform:translateY(-6px) rotateX(4deg) rotateY(7deg)}}
@media(prefers-reduced-motion:reduce){.support-3d-mark{animation:none}}
@media(max-width:800px){.support-contact-card{grid-template-columns:1fr;max-width:660px}.support-contact-card .support-contact-intro{padding:1.35rem}.support-3d-graphic{position:absolute;right:1rem;top:1rem;width:86px;height:78px;margin:0;opacity:.85}.support-3d-mark{width:56px;height:56px;border-radius:16px}.support-3d-mark span{font-size:1.2rem}.support-3d-orbit-one{width:82px;height:38px}.support-3d-orbit-two{width:42px;height:78px}.support-contact-card .support-contact-intro h1,.support-contact-card .support-contact-intro>p{max-width:calc(100% - 92px)}.support-route-steps{grid-template-columns:repeat(3,1fr)}.support-contact-card .support-notice{margin-top:1rem}.support-contact-card form{padding:1.35rem}}
@media(max-width:560px){.support-contact-card{width:100%;margin-top:0;border-radius:0}.support-contact-card .support-contact-intro h1,.support-contact-card .support-contact-intro>p{max-width:none;padding-right:72px}.support-route-steps{grid-template-columns:1fr}.support-form-heading{padding-right:3.2rem}.support-private-badge{display:none}.support-contact-card .support-fields.two{grid-template-columns:1fr}.support-contact-actions{align-items:stretch;flex-direction:column-reverse}.support-contact-actions .support-button,.support-contact-actions .form-cancel-action{width:100%;text-align:center}}

/* Short, graphic-led support landing hero. */
.support-home-hero{position:relative;isolation:isolate;min-height:230px;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:1.75rem;padding:1.75rem 2.4rem;border-radius:1.5rem;overflow:hidden;background:linear-gradient(112deg,rgba(2,28,36,.98),rgba(5,89,85,.91)),url('/static/img/hospitality/hotel-workspace.jpg') center 45%/cover}
.support-home-hero:before{content:"";position:absolute;z-index:-1;inset:auto -90px -170px auto;width:390px;height:390px;border:1px solid rgba(94,234,212,.18);border-radius:50%;box-shadow:0 0 0 42px rgba(45,212,191,.035),0 0 0 84px rgba(45,212,191,.025)}
.support-home-hero .support-hero-copy{max-width:680px}
.support-home-hero h1{max-width:none;margin:.4rem 0 .55rem;font-size:clamp(2rem,3.4vw,3rem);line-height:1.02;letter-spacing:-.04em}
.support-home-hero p{max-width:650px;font-size:.9rem;line-height:1.5}
.support-home-hero .support-actions{margin-top:1rem;gap:.65rem}
.support-home-hero .support-button{border-radius:.68rem;padding:.68rem .95rem;font-size:.76rem;box-shadow:0 9px 22px rgba(0,0,0,.14)}
.support-home-visual{align-self:stretch;display:grid;grid-template-rows:1fr auto;place-items:center;min-height:180px;border:1px solid rgba(153,246,228,.22);border-radius:1.15rem;padding:.75rem 1rem;background:linear-gradient(145deg,rgba(15,23,42,.36),rgba(13,148,136,.13));box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(7px)}
.support-signal-scene{position:relative;display:grid;place-items:center;width:150px;height:115px;perspective:650px}
.support-signal-core{position:relative;z-index:2;display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.48);border-radius:22px;background:linear-gradient(145deg,#2dd4bf,#0f766e 62%,#064e4a);box-shadow:0 18px 26px rgba(0,0,0,.26),inset 7px 7px 13px rgba(255,255,255,.19),inset -8px -8px 14px rgba(0,0,0,.18);transform:rotateX(7deg) rotateY(-11deg);animation:support-signal-float 4.8s ease-in-out infinite}
.support-signal-core span{font-size:1.45rem;font-weight:950;letter-spacing:-.07em;text-shadow:0 3px 7px rgba(0,0,0,.32)}
.support-signal-core small{margin-top:-1.15rem;font-size:.43rem;font-weight:900;letter-spacing:.18em;color:#ccfbf1}
.support-signal-ring{position:absolute;border:1px solid rgba(94,234,212,.38);border-radius:50%}
.support-signal-ring-one{width:142px;height:54px;transform:rotate(-12deg)}.support-signal-ring-two{width:64px;height:112px;transform:rotate(28deg)}
.support-signal-dot{position:absolute;z-index:3;width:7px;height:7px;border-radius:50%;background:#5eead4;box-shadow:0 0 13px #2dd4bf}
.support-signal-dot-one{left:12px;top:48px}.support-signal-dot-two{right:19px;bottom:24px}
.support-mini-route{width:100%;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:.4rem;color:#d9f3f0;font-size:.65rem;font-weight:850}
.support-mini-route span{display:flex;align-items:center;gap:.3rem;white-space:nowrap}.support-mini-route b{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:rgba(45,212,191,.18);color:#99f6e4}.support-mini-route i{height:1px;background:linear-gradient(90deg,rgba(94,234,212,.15),rgba(94,234,212,.75),rgba(94,234,212,.15))}
@keyframes support-signal-float{0%,100%{transform:translateY(0) rotateX(7deg) rotateY(-11deg)}50%{transform:translateY(-5px) rotateX(3deg) rotateY(7deg)}}
@media(prefers-reduced-motion:reduce){.support-signal-core{animation:none}}
@media(max-width:800px){.support-home-hero{grid-template-columns:minmax(0,1fr) 220px;min-height:220px;border-radius:0;padding:1.5rem}.support-home-hero h1{font-size:2rem}.support-home-visual{min-height:160px}.support-signal-scene{height:100px}}
@media(max-width:620px){.support-home-hero{grid-template-columns:1fr;min-height:0}.support-home-visual{display:none}.support-home-hero p{font-size:.84rem}.support-home-hero .support-actions{margin-top:.85rem}}
