/* One layout, two colour modes. Loaded after the legacy stylesheet so existing
   booking/payment controls retain their behaviour and accessible labels. */
:root[data-theme="ocean"]{--canvas:#02091c;--surface:#051632;--surface-muted:#092047;--surface-strong:#103365;--ink:#f3f9ff;--muted:#a5c8e5;--line:#225d99;--primary:#38dfff;--primary-strong:#008edc;--primary-soft:#073b61;--primary-ink:#fff;--vip:#ffcf4e;--vip-soft:#3c2911;--new-zone:#ff64db;--new-zone-soft:#481347;--hero:#051737;--nav-bg:#031127}
:root[data-theme="clean"]{--canvas:#edf5ff;--surface:#fff;--surface-muted:#eaf3ff;--surface-strong:#dcecff;--ink:#122b53;--muted:#4a6589;--line:#afcceb;--primary:#006cba;--primary-strong:#004e9c;--primary-soft:#e1f4ff;--primary-ink:#fff;--vip:#8e5900;--vip-soft:#fff2d5;--new-zone:#a01981;--new-zone-soft:#ffedf9;--hero:#e9f5ff;--nav-bg:#f8fbff}
:root[data-theme] .neon-member{min-width:0;background:var(--canvas);color:var(--ink);font-family:"Leelawadee UI","Segoe UI",Tahoma,sans-serif;line-height:1.5}
:root[data-theme] .neon-member::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(#02082355,#01061e88),url("assets/neon-background.webp") center/cover;pointer-events:none}
:root[data-theme="clean"] .neon-member::before{background:linear-gradient(#f0f7fff4,#e6f1fff5),url("assets/neon-background.webp") center/cover}
:root[data-theme] .neon-member .app-shell{max-width:480px;background:transparent;min-height:100dvh}
:root[data-theme] .neon-member .screen{background:transparent;min-height:100dvh}
:root[data-theme] .neon-member .app-bar{height:86px;width:calc(100% - 24px);background:linear-gradient(125deg,#071b3be8,#100b35d9);border:1px solid #238bd1;border-radius:0 0 16px 16px;box-shadow:0 3px 13px #008cff55;margin:0 12px;padding:12px;gap:8px}
:root[data-theme] .neon-member .app-brand img{width:48px;height:54px;object-fit:contain;filter:drop-shadow(0 0 5px #16a8ff)}
:root[data-theme] .neon-member .app-brand strong{font-size:26px;color:var(--ink)}
:root[data-theme] .neon-member .app-brand small{color:#86dcff;letter-spacing:1px}
:root[data-theme] .neon-member .app-page-main{padding:20px 14px calc(128px + var(--safe-bottom));max-width:none}
:root[data-theme] .neon-member .member-summary,:root[data-theme] .neon-member .time-section,:root[data-theme] .neon-member .reservation-section,:root[data-theme] .neon-member .settings-section,:root[data-theme] .neon-member .package-zone-group{position:relative;border:2px solid transparent;border-radius:18px;background:linear-gradient(135deg,#061a3af2,#020a20f5) padding-box,linear-gradient(125deg,#23e7ff,#078aff 38%,#b62aff 75%,#ff65ed) border-box;box-shadow:0 0 0 2px #062354,0 0 10px #008cffaa,4px 0 12px #d500ff55;color:var(--ink)}
:root[data-theme] .neon-member .member-summary{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"identity avatar" "wallet avatar";gap:10px 5px;padding:23px 17px;min-height:225px;text-align:left;overflow:visible;margin:0}
:root[data-theme] .neon-member .member-summary::after{display:none}
:root[data-theme] .neon-member .member-summary::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#030c24,#041332bb,#06125222),url("assets/neon-background.webp") center/cover;z-index:0;border-radius:16px;opacity:.75;pointer-events:none}
:root[data-theme] .neon-member .member-identity{grid-area:identity;min-width:0;z-index:1;text-align:left;align-self:end}
:root[data-theme] .neon-member .member-identity h1{font-size:clamp(21px,5.4vw,29px);font-weight:850;line-height:1.3;margin:6px 0;overflow-wrap:anywhere;color:var(--ink)}
:root[data-theme] .neon-member .welcome-label{color:#8eecff;font-size:15px;font-weight:650}
:root[data-theme] .neon-member .member-username{display:block;color:#9ddcff;font-size:14px;overflow-wrap:anywhere}
:root[data-theme] .neon-member .member-avatar{grid-area:avatar;align-self:center;justify-self:center;position:relative;width:100%;max-width:180px;height:auto;aspect-ratio:1;padding:6px;border-radius:50%;border:0;background:conic-gradient(#cb40ff,#ff51ff,#405bff,#28efff,#13c5ff,#972cff);box-shadow:0 0 12px #1eceff,0 0 21px #9029ff;z-index:1;cursor:pointer;overflow:visible}
:root[data-theme] .neon-member .member-avatar img{width:100%;height:100%;aspect-ratio:1;border-radius:50%;border:3px solid #07102e;object-fit:cover;display:block}
:root[data-theme] .neon-member .profile-camera{position:absolute;right:-2px;bottom:1px;display:grid;place-items:center;width:39px;height:39px;border:2px solid #8feaff;background:linear-gradient(130deg,#040d51,#590795);border-radius:50%;box-shadow:0 0 10px #00cdff;color:white}
.profile-camera svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
:root[data-theme] .neon-member .wallet-summary{grid-area:wallet;align-self:start;justify-self:start;justify-items:start;justify-content:start;align-content:start;z-index:1;width:100%;min-width:0;min-height:0;height:auto;max-width:100%;padding:0;margin:0;text-align:left;border:0;background:transparent;box-shadow:none;display:block;overflow:visible}
:root[data-theme] .neon-member .wallet-summary span{font-size:13px;color:#91e8ff;display:block;margin-bottom:5px;text-align:left;width:100%}
:root[data-theme] .neon-member .wallet-summary strong,:root[data-theme] .neon-member .member-summary.balance-long .wallet-summary strong,:root[data-theme] .neon-member .member-summary.balance-very-long .wallet-summary strong{display:block;justify-self:start;margin-inline:0;width:max-content;max-width:100%;font-size:clamp(19px,5.5vw,29px);line-height:1.4;letter-spacing:-.5px;color:#ffedaf;text-shadow:0 0 9px #ffae37;background:linear-gradient(100deg,#38230c,#070e32);border:1px solid #a8baff;border-radius:11px;padding:6px 9px;box-shadow:0 0 9px #7039ff77;text-align:left;overflow-wrap:anywhere}
:root[data-theme] .neon-member .member-summary.balance-very-long .wallet-summary strong{font-size:19px}
:root[data-theme] .neon-member .time-section{margin-top:21px;padding:16px 12px}
:root[data-theme] .neon-member .section-heading{gap:8px;margin-bottom:14px}
:root[data-theme] .neon-member h2{font-size:20px;line-height:1.4;color:var(--ink)}
:root[data-theme] .neon-member .points-badge{padding:4px 9px;color:#ffda68;border:1px solid #dca131;border-radius:18px;background:linear-gradient(130deg,#3c260d,#191024);box-shadow:0 0 8px #ffaf3555;white-space:nowrap;font-size:13px}
:root[data-theme] .neon-member .zone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
:root[data-theme] .neon-member .zone-item{--zone-accent:#29dfff;--room-position:0% 0%;display:flex;flex-direction:column;justify-content:center;min-height:95px;min-width:0;position:relative;padding:12px 9px!important;margin:0;isolation:isolate;border:1.5px solid var(--zone-accent);border-radius:12px;background:linear-gradient(100deg,#05245c,#07122a);box-shadow:0 0 8px color-mix(in srgb,var(--zone-accent) 45%,transparent);overflow:hidden}
:root[data-theme] .neon-member .zone-item::before,:root[data-theme] .neon-member .package-zone-header::before,:root[data-theme] .neon-member .reservation-zone-button::before{content:"";position:absolute;inset:0;z-index:-1;background-image:url("assets/zone-interiors.webp");background-size:200% 200%;background-position:var(--room-position,0% 0%);opacity:.32;mask-image:linear-gradient(90deg,transparent,#000)}
:root[data-theme] .neon-member .new-zone{--zone-accent:#ff60d4;--room-position:100% 0%}
:root[data-theme] .neon-member .vip{--zone-accent:#ffcd45;--room-position:0% 100%}
:root[data-theme] .neon-member .private-room{--zone-accent:#65ecff;--room-position:100% 100%}
:root[data-theme] .neon-member .zone-item.new-zone{background:linear-gradient(100deg,#3a093e,#100c2a)}
:root[data-theme] .neon-member .zone-item.vip{background:linear-gradient(100deg,#30200a,#100e1e)}
:root[data-theme] .neon-member .zone-item .zone-name{font-size:14px;line-height:1.3;color:var(--zone-accent);font-weight:750;white-space:normal}
:root[data-theme] .neon-member .zone-item .zone-time{font-size:clamp(12px,10cqi,22px);color:#fff;white-space:nowrap;margin:9px 0 3px;font-weight:800}
:root[data-theme] .neon-member .zone-rate{font-size:10px;color:#b2cae1}
:root[data-theme] .neon-member .dashboard-actions{margin-top:24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
:root[data-theme] .neon-member .dashboard-action{display:flex;align-items:center;gap:9px;min-height:71px;min-width:0;padding:11px;border:1.5px solid #38dfff;border-radius:12px;background:linear-gradient(120deg,#003d8e,#071537);box-shadow:0 0 9px #00beff77;color:#8feaff;grid-column:auto;grid-row:auto;order:initial}
:root[data-theme] .neon-member .dashboard-action strong{font-size:16px;color:inherit;line-height:1.4}
:root[data-theme] .neon-member .dashboard-action small{font-size:10px;color:#b3c9e8}
:root[data-theme] .neon-member .dashboard-action-icon{font-size:25px;width:28px;height:32px;background:none;flex-shrink:0;display:grid;place-items:center;padding:0}
:root[data-theme] .neon-member .action-scan{border-color:#da9bff;background:linear-gradient(120deg,#241467,#3d0963);color:#f7dfff;box-shadow:0 0 9px #ae3dff77}
:root[data-theme] .neon-member .action-package{border-color:#ff68d2;background:linear-gradient(120deg,#480e44,#1d0b30);color:#ffc7ec;box-shadow:0 0 9px #ff27b266}
:root[data-theme] .neon-member .action-wallet{border-color:#40efff;background:linear-gradient(120deg,#003d53,#071b34);color:#81f4ff}
:root[data-theme] .neon-member .bottom-nav{width:calc(100% - 18px);max-width:462px;bottom:calc(9px + var(--safe-bottom));padding:6px 5px 4px;background:linear-gradient(#04152ef5,#020b1efc);border:2px solid #27dfff;border-radius:20px;box-shadow:0 0 4px 2px #006fff,0 0 13px #00caff,5px 0 15px #ce00ff66;min-height:64px}
:root[data-theme] .neon-member .bottom-nav-item{font-size:11px;gap:2px;min-height:46px;padding:2px 1px;min-width:0;color:#a8cbe7;border-radius:12px}
:root[data-theme] .neon-member .bottom-nav-item.active{color:#49e8ff;background:linear-gradient(#064493b0,#05204b00);text-shadow:0 0 7px #00bfff}
:root[data-theme] .neon-member .bottom-nav-item svg{width:24px;height:24px}
:root[data-theme] .neon-member .bottom-nav-qr{overflow:visible}
:root[data-theme] .neon-member .bottom-nav .bottom-nav-qr-icon{margin-top:-28px;margin-bottom:0;width:58px;height:58px;border:2px solid #4beaff;border-radius:50%;background:radial-gradient(#073d8f,#021b50);color:#fff;box-shadow:0 0 0 4px #05234c,0 0 12px 5px #00aaff}
:root[data-theme] .neon-member .bottom-nav-qr-icon svg{width:28px;height:28px}
:root[data-theme] .neon-member .icon-button{min-width:38px;width:38px;height:38px;padding:5px;border:1px solid #3d9ede;border-radius:11px;background:linear-gradient(135deg,#03449a,#061027);color:#dcf7ff;box-shadow:0 0 8px #009fff44;display:grid;place-items:center}
:root[data-theme] .neon-member .primary-button{background:linear-gradient(110deg,#008ce7,#173bd5 48%,#bd09d3);border:1px solid #69e8ff;color:#fff;box-shadow:0 0 9px #008cff88;min-height:48px;border-radius:12px;white-space:normal;line-height:1.4}
:root[data-theme] .neon-member .secondary-button{color:var(--ink);background:var(--surface-muted);border:1px solid var(--line);min-height:44px;border-radius:11px}
:root[data-theme] .neon-member .package-zone-group{--zone-accent:#28dfff;--room-position:0% 0%;padding:11px;margin-bottom:20px;border-color:var(--zone-accent);background:var(--surface);box-shadow:0 0 10px color-mix(in srgb,var(--zone-accent) 55%,transparent)}
:root[data-theme] .neon-member .package-zone-header{position:relative;isolation:isolate;min-height:83px;display:flex;align-items:center;justify-content:space-between;padding:9px 5px;gap:10px;overflow:hidden;background:transparent;border:0}
:root[data-theme] .neon-member .package-zone-header::before{opacity:.5}
:root[data-theme] .neon-member .package-zone-header h2{font-size:19px;color:var(--zone-accent)}
:root[data-theme] .neon-member .package-button{background:linear-gradient(100deg,var(--surface),var(--surface-muted));border:1px solid color-mix(in srgb,var(--zone-accent) 60%,var(--line));border-radius:9px;padding:10px 11px;gap:8px;min-height:61px;margin:0}
:root[data-theme] .neon-member .package-items{display:grid;gap:5px}
:root[data-theme] .neon-member .package-price{border-radius:8px;background:linear-gradient(120deg,#007fca,#1144b9);padding:9px 12px;color:#fff;min-width:91px;text-align:center}
:root[data-theme] .neon-member .package-zone-group.new-zone .package-price{background:linear-gradient(120deg,#a922ab,#8c0a8e)}
:root[data-theme] .neon-member .package-zone-group.vip .package-price{background:linear-gradient(120deg,#856108,#5d3c06)}
:root[data-theme] .neon-member .package-copy strong{font-size:15px;white-space:normal}
:root[data-theme] .neon-member .package-copy small{font-size:11px}
:root[data-theme] .neon-member .reservation-section{padding:15px 12px;margin-bottom:20px}
/* Native date controls must not set the minimum width of the booking grid.
   Explicit logical sizes also override the date widget's intrinsic iOS width. */
:root[data-theme] .neon-member .reservation-schedule-fields{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
:root[data-theme] .neon-member .reservation-schedule-fields>.reservation-field-group{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
:root[data-theme] .neon-member .reservation-day-list{min-width:0;max-width:100%}
:root[data-theme] .neon-member .reservation-date-input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;-webkit-appearance:none;appearance:none;font-size:16px;color-scheme:inherit}
.reservation-date-input::-webkit-date-and-time-value{min-width:0;text-align:left}
.reservation-date-input::-webkit-datetime-edit{min-width:0;padding:0}
:root[data-theme] .neon-member .reservation-zone-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
:root[data-theme] .neon-member .reservation-zone-button{position:relative;isolation:isolate;overflow:hidden;min-height:91px;border:1.5px solid var(--zone-accent,#29dfff);background:var(--surface-muted);border-radius:12px;padding:10px 8px;min-width:0}
:root[data-theme] .neon-member .reservation-zone-button strong{font-size:14px;color:var(--zone-accent,#8aefff)}
:root[data-theme] .neon-member .reservation-zone-button span{font-size:10px;color:var(--muted)}
:root[data-theme] .neon-member .reservation-zone-button.selected{box-shadow:0 0 11px var(--zone-accent,#29dfff);background:var(--primary-soft)}
:root[data-theme] .neon-member .reservation-segment-button.selected,:root[data-theme] .neon-member .reservation-floor-button.selected{background:linear-gradient(120deg,#0099ef,#1241c5);border:1px solid #53e9ff;color:#fff;box-shadow:0 0 7px #008cff88}
:root[data-theme] .neon-member .reservation-machine-button.status-available,:root[data-theme] .neon-member .reservation-machine-button.status-idle{border-color:#26d9ff;background:#062349;box-shadow:inset 0 0 8px #0097ff44;color:#aeeaff}
:root[data-theme] .neon-member .reservation-machine-button.status-in_use,:root[data-theme] .neon-member .reservation-machine-button.status-unavailable{border-color:#e357ac;background:#3a1239;color:#f49dce}
:root[data-theme] .neon-member .reservation-machine-button.selected{border-color:#6eeaff;box-shadow:0 0 10px #0bbcff;background:#0d4490;color:#fff}
:root[data-theme] .neon-member .settings-main{display:block}
:root[data-theme] .neon-member .settings-section{padding:17px 14px;margin-bottom:20px}
:root[data-theme] .neon-member .settings-section:has(.language-slider){display:flex;align-items:center;justify-content:space-between;gap:12px}
:root[data-theme] .neon-member .settings-heading{margin:0;min-width:0}
:root[data-theme] .neon-member .settings-heading p{font-size:12px;color:var(--muted);margin-top:4px}
:root[data-theme] .neon-member .language-slider{flex:0 0 106px;width:106px;min-width:106px;height:38px;display:flex;position:relative;padding:3px;border:1px solid #2d88d7;border-radius:11px;background:#03122c;gap:0}
:root[data-theme] .neon-member .language-slider .language-option{position:relative;z-index:1;flex:1;width:50%;height:30px;min-height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:#abc8e7;font-size:12px;font-weight:800;box-shadow:none;transition:color .18s}
:root[data-theme] .neon-member .language-slider .language-option[aria-pressed="true"]{color:#fff;background:transparent}
.language-slider-thumb{position:absolute;inset:3px auto 3px 3px;width:48px;border-radius:8px;background:linear-gradient(#008cfa,#0866cd);box-shadow:0 0 7px #008cff88;transition:transform .18s ease;pointer-events:none}
.language-slider.is-english .language-slider-thumb{transform:translateX(50px)}
:root[data-theme] .neon-member .theme-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
:root[data-theme] .neon-member .theme-option{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:0;padding:10px;background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;text-align:left}
:root[data-theme] .neon-member .theme-option.selected{border-color:var(--primary);box-shadow:0 0 10px #0db8ff66}
:root[data-theme] .neon-member .theme-option .theme-preview{height:70px;width:100%;border-radius:8px;background:linear-gradient(#06163055,#06163055),url("assets/neon-background.webp") center/cover;display:block}
:root[data-theme] .neon-member .theme-option .preview-clean{background:linear-gradient(#eaf3ffd9,#eaf3ffd9),url("assets/neon-background.webp") center/cover;border:1px solid #97c7ee}
:root[data-theme] .neon-member .theme-option strong{font-size:16px;display:block}
:root[data-theme] .neon-member .theme-option small{font-size:11px;color:var(--muted)}
:root[data-theme] .neon-member .theme-check{position:absolute;right:14px;top:14px;display:none;width:23px;height:23px;border-radius:50%;background:#08c1e8;color:#fff;text-align:center}
:root[data-theme] .neon-member .theme-option.selected .theme-check{display:block}
:root[data-theme] .neon-member .photo-settings .install-entry{border:0;margin:0;padding:0;background:none;box-shadow:none;display:flex;align-items:center;gap:12px;width:100%;color:var(--ink);text-align:left}
.photo-settings img{width:54px;height:54px;border:2px solid #51dfff;border-radius:50%;object-fit:cover}
.photo-settings .install-entry>span:first-of-type{flex:1}
.photo-settings strong,.photo-settings small{display:block}
.photo-settings small{color:var(--muted);font-size:11px}
:root[data-theme] .neon-member .dialog{max-width:440px;width:calc(100% - 28px);max-height:calc(100dvh - 32px);border:2px solid #33dfff;border-radius:18px;padding:20px;background:linear-gradient(135deg,var(--surface),var(--canvas));color:var(--ink);box-shadow:0 0 16px #008cff99,5px 0 15px #d600ff66;overflow-y:auto}
:root[data-theme] .neon-member .dialog::backdrop{background:#010717be;backdrop-filter:blur(5px)}
:root[data-theme] .neon-member input:not([type="range"]),:root[data-theme] .neon-member select{background:var(--surface-muted);color:var(--ink);border:1px solid var(--line);border-radius:9px}
:root[data-theme] .neon-member .photo-dialog{max-width:410px}
.photo-heading{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:15px}
:root[data-theme] .neon-member .photo-close{font-size:27px;line-height:1;flex-shrink:0}
.photo-dialog p{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 0}
.photo-dialog .photo-policy{padding:11px;background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.photo-menu{display:grid;gap:8px;margin-top:17px}
.photo-menu button{min-height:48px;border:1px solid #317ec5;border-radius:11px;background:linear-gradient(120deg,#0951a6,#112557);color:#fff;text-align:left;padding:9px 13px;font:inherit;font-weight:650}
.photo-menu .photo-remove{color:#ff98bc;background:#24142b;border-color:#a5467a}
.photo-menu button{display:flex;align-items:center;gap:11px}.photo-menu svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dashboard-action-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.photo-dialog button:disabled{opacity:.45;cursor:not-allowed}
.photo-crop-window{position:relative;width:240px;height:240px;border-radius:50%;overflow:hidden;margin:19px auto;border:2px solid #45e8ff;background:#03091b;touch-action:none;box-shadow:0 0 15px #7b34ff}
.photo-crop-window img{position:absolute;max-width:none;max-height:none;object-fit:fill;user-select:none;pointer-events:none}
.photo-ranges{display:grid;gap:11px;margin-bottom:18px}
.photo-ranges label{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.photo-ranges input{width:100%;accent-color:var(--primary)}
.photo-dialog .primary-button{width:100%;padding:10px}
.package-wallet{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;margin-bottom:21px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 0 10px #008cff44}
.package-wallet>div{min-width:0}.package-wallet>div>span{display:block;font-size:12px;color:var(--muted)}
.package-wallet strong{display:block;font-size:23px;overflow-wrap:anywhere;color:var(--ink)}
:root[data-theme] .neon-member .wallet-topup-shortcut{width:auto;min-width:100px;min-height:43px;font-size:12px;padding:8px 11px}
.coupon-description{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:16px}
.member-coupon-form{display:grid;gap:15px}.member-coupon-form input{width:100%;min-width:0;min-height:46px;padding:10px 12px}
.member-coupon-form label{margin:0}.member-coupon-form .primary-button{margin-top:5px}
:root[data-theme] .neon-member .photo-dialog{padding:16px}
:root[data-theme="clean"] .neon-member .app-bar{background:#f8fbffe8;border-color:#91c0e7;box-shadow:0 3px 10px #2798db24}
:root[data-theme="clean"] .neon-member .app-brand small{color:#27618d}
:root[data-theme="clean"] .neon-member .member-summary,:root[data-theme="clean"] .neon-member .time-section,:root[data-theme="clean"] .neon-member .reservation-section,:root[data-theme="clean"] .neon-member .settings-section{background:linear-gradient(135deg,#fff,#eef5ff) padding-box,linear-gradient(125deg,#1fb4db,#7080ed,#d396ed) border-box;box-shadow:0 4px 16px #176acb22}
:root[data-theme="clean"] .neon-member .member-summary::before{opacity:.05}
:root[data-theme="clean"] .neon-member .welcome-label,:root[data-theme="clean"] .neon-member .member-username,:root[data-theme="clean"] .neon-member .wallet-summary span{color:#27618d}
:root[data-theme="clean"] .neon-member .wallet-summary strong{background:#fff8e5;color:#825200;text-shadow:none;border-color:#d9bc71;box-shadow:0 2px 8px #b9954722}
:root[data-theme="clean"] .neon-member .zone-item{background:#edf6ff;--zone-accent:#006cac;box-shadow:0 2px 8px #0285c222}
:root[data-theme="clean"] .neon-member .zone-item.new-zone{background:#fff0fb;--zone-accent:#ac1483}
:root[data-theme="clean"] .neon-member .zone-item.vip{background:#fff7df;--zone-accent:#8d5d00}
:root[data-theme="clean"] .neon-member .zone-item::before{opacity:.1}
:root[data-theme="clean"] .neon-member .zone-item .zone-time{color:#152e53}
:root[data-theme="clean"] .neon-member .zone-rate{color:#4e6888}
:root[data-theme="clean"] .neon-member .points-badge{background:#fff3cd;color:#775000;box-shadow:none}
:root[data-theme="clean"] .neon-member .dashboard-action{background:#e5f5ff;color:#00578c;border-color:#40acd4;box-shadow:0 2px 8px #0485b222}
:root[data-theme="clean"] .neon-member .action-scan{background:#f1eaff;color:#662c9a;border-color:#b090e3}
:root[data-theme="clean"] .neon-member .action-package{background:#ffebf8;color:#9b2176;border-color:#de80c2}
:root[data-theme="clean"] .neon-member .action-wallet{background:#def8f9;color:#006b75;border-color:#3fa8b5}
:root[data-theme="clean"] .neon-member .dashboard-action small{color:#4d6488}
:root[data-theme="clean"] .neon-member .bottom-nav{background:#f8fbfff8;border-color:#62bddd;box-shadow:0 2px 15px #087dc44d}
:root[data-theme="clean"] .neon-member .bottom-nav-item{color:#4b6889}
:root[data-theme="clean"] .neon-member .bottom-nav-item.active{background:#d9edff;color:#005b9b;text-shadow:none}
:root[data-theme="clean"] .neon-member .language-slider{background:#dae9fb;border-color:#91b6db}
:root[data-theme="clean"] .neon-member .language-slider .language-option{color:#3a5a7f}
:root[data-theme="clean"] .neon-member .package-zone-group{--zone-accent:#087cb0;box-shadow:0 3px 10px #177aad22}
:root[data-theme="clean"] .neon-member .package-zone-group.new-zone{--zone-accent:#ac248b}
:root[data-theme="clean"] .neon-member .package-zone-group.vip{--zone-accent:#906100}
:root[data-theme="clean"] .neon-member .package-zone-header::before{opacity:.08}
:root[data-theme="clean"] .neon-member .reservation-zone-button strong{color:var(--ink)}
:root[data-theme="clean"] .neon-member .reservation-zone-button::before{opacity:.12}
:root[data-theme="clean"] .neon-member .reservation-machine-button.status-available,:root[data-theme="clean"] .neon-member .reservation-machine-button.status-idle{background:#e9f7ff;color:#075584;border-color:#1b9bc5}
:root[data-theme="clean"] .neon-member .reservation-machine-button.selected{background:#176ac3;color:white}
:root[data-theme="clean"] .neon-member .reservation-machine-button.status-in_use,:root[data-theme="clean"] .neon-member .reservation-machine-button.status-unavailable{background:#ffedf8;color:#a12c7d}
:root[data-theme="clean"] .neon-member .photo-dialog{box-shadow:0 4px 25px #0d5ea94d}
:root[data-theme="clean"] .neon-member .photo-menu button{background:#e6f3ff;color:#11416f;border-color:#89b8df}
:root[data-theme="clean"] .neon-member .photo-menu .photo-remove{background:#ffedf3;color:#b12756;border-color:#e5a2ba}
@media(max-width:359px){:root[data-theme] .neon-member .app-page-main{padding-inline:10px}:root[data-theme] .neon-member .member-summary{padding:18px 12px;gap:9px 4px}:root[data-theme] .neon-member .member-identity h1{font-size:21px}:root[data-theme] .neon-member .member-avatar{padding:4px}:root[data-theme] .neon-member .wallet-summary strong{font-size:20px}:root[data-theme] .neon-member .time-section{padding:14px 9px}:root[data-theme] .neon-member h2{font-size:18px}:root[data-theme] .neon-member .zone-name{font-size:12px!important}:root[data-theme] .neon-member .zone-rate{font-size:9px}:root[data-theme] .neon-member .dashboard-action{gap:6px;padding:9px}:root[data-theme] .neon-member .dashboard-action strong{font-size:14px}:root[data-theme] .neon-member .dashboard-action small{font-size:9px}:root[data-theme] .neon-member .bottom-nav-item{font-size:10px}:root[data-theme] .neon-member .bottom-nav-qr-icon{width:64px;height:64px}:root[data-theme] .neon-member .package-price{min-width:78px;padding:9px 7px}:root[data-theme] .neon-member .settings-section{padding:15px 11px}}
@media(prefers-reduced-motion:reduce){.language-slider-thumb,:root[data-theme] .neon-member *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Shared compact app/system footer, below the main settings. */
:root[data-theme] .neon-member .settings-system-compact{padding:10px 12px;margin-bottom:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:none}
.settings-system-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
:root[data-theme] .neon-member .settings-system-heading h2{margin:0;font-size:14px;font-weight:700;line-height:1.5}
.settings-system-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}
:root[data-theme] .neon-member .settings-system-compact .settings-status-row{min-height:0;padding:4px 0;border:0;background:none;gap:7px;font-size:11px;line-height:1.5}
.settings-system-compact .connection-dot{flex:0 0 6px;width:6px;height:6px}
.settings-system-compact .legal-links{display:flex;flex-wrap:wrap;gap:0 16px;justify-content:flex-start;margin:0;font-size:11px}
.settings-system-compact .legal-links a{display:inline-flex;align-items:center;min-height:32px}
:root[data-theme] .neon-member .settings-system-compact .install-entry{min-height:44px;margin:6px 0;padding:8px 10px;gap:8px}
.settings-system-compact .install-entry strong{font-size:12px}
.settings-system-compact .install-entry small{font-size:10px}

:root[data-theme] .neon-member .notifications-bell{position:relative;flex-shrink:0}
.notifications-bell svg,.notification-setting-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme] .neon-member .notifications-badge{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:12px;background:#e92e9e;color:#fff;font-size:10px;font-weight:800;line-height:1}
.notifications-bell .notifications-badge{position:absolute;right:-3px;top:-4px}
:root[data-theme] .neon-member .notifications-badge[hidden]{display:none}
:root[data-theme] .neon-member .notification-settings{padding:12px 14px}
:root[data-theme] .neon-member .notification-settings .install-entry{display:flex;align-items:center;width:100%;gap:10px;margin:0;padding:0;min-height:44px;border:0;background:none;box-shadow:none;text-align:left;color:var(--ink)}
.notification-setting-icon{color:var(--primary);flex:0 0 24px}
.notification-settings .install-entry>span:nth-child(2){flex:1;min-width:0}
.notification-settings .install-entry strong{display:block;font-size:14px}
.notification-settings .install-entry small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:2px}
:root[data-theme] .neon-member .member-notifications-dialog{width:min(420px,calc(100vw - 24px));padding:16px;max-height:82dvh;overflow:auto;color:var(--ink)}
.member-notifications-dialog .photo-heading{position:sticky;top:-16px;z-index:1;background:var(--surface);padding:8px 0;margin-top:-8px}
.notifications-description,.notifications-status{font-size:12px;color:var(--muted);line-height:1.6}
.notifications-status{padding:22px 0;text-align:center}
.notifications-list{padding:0;margin:14px 0;list-style:none;display:grid;gap:10px}
.notification-item{display:flex;gap:10px;padding:13px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}
.notification-item-icon{flex:0 0 24px;font-size:23px;color:var(--primary);line-height:1.2}
.notification-item>div{min-width:0;overflow-wrap:anywhere}
.notification-item strong{font-size:14px;color:var(--ink)}
.notification-item p{font-size:12px;margin:4px 0;color:var(--ink);white-space:pre-wrap}
.notification-item time{font-size:10px;color:var(--muted)}
.notifications-refresh{width:100%;min-height:44px;margin-top:5px}
:root[data-theme] .neon-member .settings-logout{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;margin:16px 0 0;padding:10px 14px;border:1px solid #a54671;border-radius:12px;background:#33132c;color:#ffb2ce;font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.settings-logout svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.settings-logout:disabled{opacity:.6;cursor:wait}
:root[data-theme="clean"] .neon-member .settings-logout{background:#fff1f6;border-color:#d892ae;color:#982751}

/* All surfaces identifying Private Room share one static RGB frame. */
:root[data-theme] .neon-member{--private-room-rgb:conic-gradient(from 215deg,#22d3ee,#3b82f6,#a855f7,#ec4899,#fbbf24,#4ade80,#22d3ee);--private-room-glow:-2px 0 12px #22d3ee66,2px 0 12px #ec489966,0 3px 10px #4ade8044}
:root[data-theme="clean"] .neon-member{--private-room-glow:-2px 0 9px #0891b22b,2px 0 9px #c026d32b,0 3px 12px #16a34a1f}
:root[data-theme] .neon-member :is(.zone-item,.reservation-zone-button,.reservation-access-card,.active-reservation-card,.reservation-history-row,.package-zone-group,.package-button,.zone-chip,.purchase-dialog).private-room,
:root[data-theme] .neon-member .package-button.private-room .package-price{border:2px solid transparent;background:var(--private-room-fill,linear-gradient(var(--surface),var(--surface))) padding-box,var(--private-room-rgb) border-box;box-shadow:var(--private-room-glow)}
:root[data-theme] .neon-member .package-button.private-room .package-price{--private-room-fill:linear-gradient(120deg,#007fca,#1144b9)}
:root[data-theme] .neon-member .reservation-zone-button.private-room.selected{--private-room-fill:linear-gradient(var(--primary-soft),var(--primary-soft));outline:2px solid var(--primary);outline-offset:2px}
:root[data-theme] .neon-member .reservation-history-row.private-room{border-radius:12px;padding:12px;margin-block:8px}
