/* Compact page layout: navigation already identifies each card menu. */
.cards-dialog .cards-hero{display:none;}
:root[data-theme] .neon-member .member-summary .profile-member-points{
 align-items:flex-end;justify-self:end;text-align:right;
}
:root[data-theme] .neon-member .member-summary .profile-member-points small{padding-right:0;text-align:right;}
:root[data-theme] .neon-member .member-summary .profile-member-points-value{text-align:right;}
/* A hidden active-reservation section must not give the booking form a top margin. */
:root[data-theme] .neon-member .reservations-content{gap:var(--zug-gap);}
:root[data-theme] .neon-member .reservations-content>.reservation-section{margin-top:0;margin-bottom:0;}

/* Card equipment uses the same direct-touch affordance as CARD ENHANCE. */
.enhance-equipment-slot{position:relative;box-sizing:border-box;height:288px;padding:12px;display:grid;grid-template-rows:22px minmax(0,1fr) 20px;gap:8px;}
.enhance-equipment-slot>small:first-child{align-self:center;font-weight:650;color:var(--ink);}
.enhance-equipment-well{display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;}
.enhance-equipment-well>.enhance-card-choice{width:100%;max-width:140px;}
.enhance-equipment-well .zug-card-face{width:120px;height:170px;aspect-ratio:auto;margin:0 auto;}
.enhance-equipment-well .zug-card-front>:not(.card-face-picture){display:none;}
.enhance-equipment-well .zug-card-front .card-face-picture{position:absolute;inset:0;margin:0;border-radius:0;}
.enhance-equipment-well .enhance-level{font-size:12px;line-height:1.45;padding:7px 0 0;}
.enhance-equipment-well .enhance-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin:0;padding:0;border:1px solid #3ad5ff83;border-radius:50%;background:radial-gradient(circle,#1167ad55,#0c234244);color:#65eaff;font-size:38px;line-height:1;box-shadow:0 0 25px #149bd528;}
.enhance-equipment-slot>.enhance-serial{margin:0;align-self:center;font-size:9px;line-height:1.45;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.enhance-equipment-slot>.enhance-slot-trigger{position:absolute;inset:0;z-index:8;width:100%;height:100%;border:0;border-radius:18px;padding:0;background:transparent;cursor:pointer;}
.enhance-equipment-slot:has(.enhance-slot-trigger:not(:disabled)):hover{box-shadow:0 0 22px #279eff45;}
.enhance-equipment-slot>.enhance-slot-trigger:disabled{cursor:wait;}
.equipment-actions-dialog .equipment-action-name{margin:0 0 5px;font-size:15px;font-weight:700;color:var(--ink);overflow-wrap:anywhere;}
.equipment-actions-dialog>.enhance-serial{display:block;margin:0;color:var(--muted);}
.equipment-actions-dialog>.enhance-confirm-actions{margin-top:18px;}
.equipment-actions-dialog .equipment-remove{color:#ffb5cf;}
.equipment-actions-dialog>.equipment-actions-cancel{width:100%;min-height:36px;margin:10px 0 0;padding:7px;font-size:12px;}
:root[data-theme=clean] .equipment-actions-dialog .equipment-remove{color:#a32250;}

/* The profile action and sign-out are separate buttons, with no nested targets. */
.settings-profile-row{display:flex;align-items:center;gap:12px;min-width:0;}
.settings-profile-row>.install-entry{flex:1;min-width:0;width:auto;}
.settings-profile-row>.install-entry>span{min-width:0;}
:root[data-theme] .neon-member .photo-settings .settings-profile-logout{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-width:42px;min-height:42px;margin:0;padding:0;border:1px solid #d86fb45c;border-radius:13px;background:linear-gradient(145deg,#7d28572e,#471c4a38);color:#f3a6cb;box-shadow:0 0 12px #cb4ab017;}
.settings-profile-logout>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.settings-profile-logout>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
:root[data-theme=clean] .neon-member .photo-settings .settings-profile-logout{background:#fff0f5;color:#a82e64;border-color:#e9b5ca;}

/* Accessible two-option theme slider; existing radio and keyboard behavior stays. */
:root[data-theme] .neon-member [aria-labelledby=appearance-title]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;}
:root[data-theme] .neon-member [aria-labelledby=appearance-title]>.section-heading{margin:0;}
:root[data-theme] .neon-member .theme-grid.theme-slider{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;box-sizing:border-box;width:152px;height:48px;min-width:0;padding:4px;margin:0;border:1px solid var(--zug-border);border-radius:14px;background:var(--zug-inset);}
.theme-slider-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/2);z-index:-1;border:1px solid #54d7ff90;border-radius:10px;background:var(--zug-action);box-shadow:0 0 12px #2789d633;transition:transform .22s ease;}
:root[data-theme=clean] .theme-slider-thumb{transform:translateX(100%);}
:root[data-theme] .neon-member .theme-slider>.theme-option{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:6px;box-sizing:border-box;height:38px;min-height:38px;min-width:0;padding:7px 6px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:var(--muted);text-align:center;}
:root[data-theme] .neon-member .theme-slider>.theme-option.selected{border:0;background:transparent;box-shadow:none;color:#fff;}
.theme-slider>.theme-option>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
:root[data-theme] .neon-member .theme-slider>.theme-option>strong{font-size:12px;line-height:1.5;font-weight:700;}

/* Booking retains its disabled state while keeping its label legible. */
:root[data-theme] .neon-member .reservation-submit-bar{padding:10px 12px 12px;gap:8px;border:1px solid transparent;border-radius:16px;background:var(--zug-panel) padding-box,var(--zug-rgb) border-box;box-shadow:0 4px 22px #030a2180,0 0 16px #458bf01e;}
:root[data-theme] .neon-member .reservation-submit-hint{font-size:11px;line-height:1.55;color:var(--muted);}
:root[data-theme] .neon-member #reservation-submit{display:flex;align-items:center;justify-content:center;gap:9px;position:relative;isolation:isolate;min-height:48px;padding:12px 14px;border:1px solid #8adeff80;border-radius:12px;background:linear-gradient(110deg,#078ddd,#3d61e0 53%,#9c35d5);box-shadow:inset 0 1px 0 #ffffff24,0 4px 15px #3a63e134;color:#fff;font-size:14px;font-weight:750;line-height:1.5;opacity:1;}
.reservation-submit-icon{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
:root[data-theme] .neon-member #reservation-submit:disabled{border-color:#5479a45c;background:linear-gradient(110deg,#193651,#2b355b 58%,#3b2c55);box-shadow:inset 0 1px 0 #ffffff0b;color:#b9c9df;opacity:1;cursor:not-allowed;}
:root[data-theme] .neon-member #reservation-submit:disabled .reservation-submit-icon{opacity:.65;}
:root[data-theme=clean] .neon-member #reservation-submit:disabled{background:linear-gradient(110deg,#e7eff8,#eae7f7);border-color:#bfcedc;color:#52677d;}
@media(max-width:350px){.enhance-equipment-slot{padding:9px;height:280px;}.enhance-equipment-well .zug-card-face{width:108px;height:153px;}:root[data-theme] .neon-member .theme-grid.theme-slider{width:138px;}:root[data-theme] .neon-member [aria-labelledby=appearance-title]{gap:9px;}}
@media(prefers-reduced-motion:reduce){.theme-slider-thumb{transition:none;}}

/* Use the visible viewport, including phone keyboard and safe-area changes.
   Keep the existing dialog scroll container so transfer navigation and live
   refresh continue to restore the correct scroll position. */
:root{--zug-viewport-width:100vw;--zug-viewport-height:100vh;--zug-viewport-top:0px;--zug-viewport-left:0px;--zug-dialog-room:calc(var(--zug-viewport-height) - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));}
@supports(height:100dvh){:root{--zug-viewport-height:100dvh;--zug-viewport-width:100dvw;}}
html,body{min-width:0;max-width:100%;}
body{overflow-x:clip;}
.app-shell,.main-content,.member-view{min-width:0;max-width:100%;}
:root[data-theme] .neon-member dialog.dialog{box-sizing:border-box;position:fixed;top:var(--zug-viewport-top);bottom:calc(100% - var(--zug-viewport-top) - var(--zug-viewport-height));left:var(--zug-viewport-left);right:calc(100% - var(--zug-viewport-left) - var(--zug-viewport-width));margin:auto;min-width:0;max-width:calc(var(--zug-viewport-width) - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:var(--zug-dialog-room);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
:root[data-theme] .neon-member dialog.cards-dialog{width:min(590px,calc(var(--zug-viewport-width) - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:auto;max-height:var(--zug-dialog-room);}
.cards-dialog .cards-content{min-width:0;overflow-wrap:anywhere;}
.cards-dialog .cards-heading{gap:9px;}
.cards-dialog .cards-heading>div{min-width:0;}
.cards-dialog .cards-heading h2{font-size:clamp(17px,4.5vw,20px);}
:root[data-theme] .neon-member .equipment-confirm-dialog{width:340px;}
.equipment-confirm-dialog>h3{margin:0 0 13px;text-align:center;font-size:17px;line-height:1.5;}
.equipment-confirm-card{display:grid;justify-items:center;gap:5px;text-align:center;min-width:0;}
.equipment-confirm-card .enhance-card-choice{width:130px;}
.equipment-confirm-card .zug-card-face{width:120px;height:170px;aspect-ratio:auto;margin:auto;}
.equipment-confirm-card .zug-card-front>:not(.card-face-picture){display:none;}
.equipment-confirm-card .zug-card-front .card-face-picture{position:absolute;inset:0;margin:0;border-radius:0;}
.equipment-confirm-card .enhance-level{font-size:12px;line-height:1.4;margin:0;padding:7px 0 2px;}
.equipment-confirm-card>.equipment-action-name{font-size:14px;line-height:1.45;overflow-wrap:anywhere;}
.equipment-confirm-card>.enhance-serial{font-size:10px;color:var(--muted);overflow-wrap:anywhere;}
.equipment-confirm-dialog>.cards-help{margin:13px 0;font-size:11px;line-height:1.6;text-align:center;}
.equipment-confirm-dialog>.enhance-confirm-actions{position:sticky;bottom:-1px;padding-top:8px;background:var(--surface);border-radius:10px;}
@media(max-height:550px){.equipment-confirm-card .zug-card-face{width:86px;height:122px;}.equipment-confirm-dialog{padding:14px;}.equipment-confirm-dialog>h3{margin-bottom:8px;}.equipment-confirm-dialog>.cards-help{margin:8px 0;}}
