.filter-bar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px 16px;margin:-7px 0 16px}.filter-bar label{font-size:9px;color:#7e8884}.filter-bar select{display:block;min-width:150px;border:1px solid #dce1de;border-radius:6px;padding:8px;margin-top:5px;background:#fff}.filter-bar>span{margin-left:auto;font-size:10px;color:#7c8582;padding-bottom:8px}
.preference-edit{padding:0 0 8px}.profile-actions.four{display:grid;grid-template-columns:1fr 1fr}.profile-actions.four button:last-child{grid-column:1/-1}.progress>small{font-size:8px;color:#929a97}.table-scroll{overflow:auto}.wide-modal{width:650px}
.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:17px}.reward-grid article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px}.reward-grid article.inactive{opacity:.58;background:#f4f4f1}.reward-grid article>div:first-child{display:flex;justify-content:space-between;align-items:center}.reward-grid small{font-size:9px;color:#3f7465;background:#e7f1ed;padding:4px 7px;border-radius:10px}.reward-grid strong{font-size:24px;color:#9a7435}.reward-grid strong em{font-size:10px;font-style:normal;margin-left:2px}.reward-grid h3{font-family:serif;font-size:16px;margin:16px 0 7px}.reward-grid p{font-size:10px;color:#7d8582;min-height:30px}.reward-grid article>div:last-child{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #eee;padding-top:10px}
.birthday-card>p.done{color:#34725f}.birthday-card>p.pending{color:#a45d4e}.care-note{display:block;color:#7c8581;font-size:9px;min-height:34px;line-height:1.5}.birthday-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.birthday-actions button{border:0;background:#edf4f1;color:#316658;padding:8px;border-radius:5px;font-size:9px}.birthday-actions button:last-child{background:#f4f1e9;color:#7b673f}
.notice-list section+section{margin-top:18px}.notice-list h3{font-family:serif;font-size:14px;border-bottom:1px solid #eee;padding-bottom:8px}.notice-list h3 span{float:right;background:#e8f0ed;color:#346858;border-radius:10px;padding:2px 8px;font-family:Arial;font-size:9px}.notice-list section>button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #eee;background:#fff;padding:9px 0;text-align:left}.notice-list section>button em{font-style:normal;color:#3f7163;font-size:9px}.notice-list section>p{font-size:10px;color:#8e9693}
.cycle-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:17px}.compact-list>div{display:flex;align-items:center;gap:10px;padding:10px 18px;border-top:1px solid #eee}.compact-list>div>span{min-width:48px;text-align:center;background:#edf3f0;color:#386b5e;border-radius:13px;padding:5px 8px;font-size:9px}.compact-list b,.compact-list small{display:block;font-size:10px}.compact-list small{font-size:8px;color:#919996;margin-top:3px}.audit-table code{font-family:Arial;font-size:8px;white-space:pre-wrap;color:#6f7774}
.icon-btn b{min-width:17px;width:auto;padding:3px 4px}.primary,.soft,.text-btn,.danger-text,.restore-text,.birthday-actions button,.notice-list button{cursor:pointer}
.member-point-section{margin-top:18px}.point-counter-note{display:block;color:#909895;font-size:8px;margin-top:10px}.purchase-row>span.minus{color:#a25e51}

@media(max-width:1100px){.reward-grid{grid-template-columns:1fr 1fr}.cycle-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .sidebar{height:70px;padding:5px 4px;overflow:hidden}
  .sidebar nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:2px}
  .sidebar nav button,.sidebar nav button:nth-child(n+5){display:block;flex:0 0 62px;font-size:0;padding:8px 4px;text-align:center}
  .sidebar nav button i{display:block;width:auto;font-size:17px;margin:0 0 3px}
  .sidebar nav button::after{content:attr(aria-label);display:block;font-size:8px;white-space:nowrap}
  .nav-badge{position:absolute;right:5px;top:2px}
  .content{margin-bottom:70px}
  .content>header{gap:8px}
  .header-actions .primary{font-size:0;padding:10px 12px}
  .header-actions .primary::after{content:"新增";font-size:11px}
  .header-actions .icon-btn{display:block}
  .filter-bar{display:grid;grid-template-columns:1fr 1fr;align-items:end}
  .filter-bar label:last-of-type{grid-column:1/-1}
  .filter-bar select{min-width:0;width:100%}
  .filter-bar>span{margin:0}
  .reward-grid,.birthday-grid,.report-grid{grid-template-columns:1fr}
  .benefit-grid{grid-template-columns:1fr}
  .section-head{align-items:flex-start;gap:10px}
  .section-head>div:last-child{flex-wrap:wrap;justify-content:flex-end}
  .section-head p{line-height:1.5}
  .member-profile{grid-row:1}
  .profile-actions.four{grid-template-columns:1fr}
  .profile-actions.four button:last-child{grid-column:auto}
  .birthday-hero{padding:20px}
  .birthday-hero h2{font-size:18px;line-height:1.5}
  .wide-modal{width:100%}
  .tier-tabs{grid-template-columns:repeat(3,1fr)}
  .cycle-grid{grid-template-columns:1fr}
  .table-scroll,.audit-table{overflow:auto}
  .reward-grid article p{min-height:0}
}

/* Dynamic tier comparison shared by the public and signed-in member pages. */
.tier-benefit-comparison{margin:28px 0 24px;padding:27px;background:#fff;border:1px solid #e0e3de;border-radius:14px;box-shadow:0 12px 30px #17382f0b}
.public-showcase>.tier-benefit-comparison{margin-top:34px}
.tier-benefit-comparison>header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}
.tier-benefit-comparison>header p{margin:0 0 7px;color:#765619;font-size:var(--member-xs);font-weight:600;letter-spacing:.24em}
.tier-benefit-comparison>header h2{margin:0;color:#173a31;font:var(--member-title) serif;letter-spacing:.06em}
.tier-benefit-comparison>header>span{max-width:430px;color:#4d5f59;font-size:var(--member-sm);line-height:1.7;text-align:right}
.tier-comparison-scroll{overflow-x:auto;padding:2px 2px 12px;scrollbar-color:#c4ae7e #f1eee6}
.tier-comparison-grid{display:grid;grid-template-columns:repeat(5,minmax(205px,1fr));gap:12px;min-width:1085px}
.tier-comparison-card{min-height:350px;border:1px solid #d8ddd9;border-top:4px solid #667c73;border-radius:11px;padding:17px;background:linear-gradient(180deg,#fff,#f8faf8);color:#172822;position:relative}
.tier-comparison-card.tier-card-和饗{border-color:#aebdb7;background:linear-gradient(145deg,#778b82,#51675f);box-shadow:0 13px 28px #17372f38}.tier-comparison-card.tier-card-雅饗{border-color:#cdb38d;background:radial-gradient(circle at 20% 0,#b39a73,#8a6d49 48%,#604a32);box-shadow:0 15px 32px #3d2c1e52}.tier-comparison-card.tier-card-臻饗{border-color:#b3a4bd;background:radial-gradient(circle at 25% 10%,#9a88a8,#6d5b7d 48%,#3f344b);box-shadow:0 16px 34px #2d223d5e}.tier-comparison-card.tier-card-御饗{border-color:#c8aa68;background:radial-gradient(circle at 25% 5%,#2d695c,#164a3e 48%,#082d26);box-shadow:0 16px 34px #06291f61}.tier-comparison-card.tier-card-尊饗{border-color:#d1ae5e;background:radial-gradient(circle at 22% 3%,#4c4434,#191a18 48%,#060706);box-shadow:0 18px 38px #030a076b,0 0 0 1px #b9913e35}
.tier-comparison-card.current{box-shadow:0 0 0 2px #c7a55f,0 13px 28px #664d1a1a}
.tier-comparison-heading{display:flex;gap:10px;align-items:center;padding-bottom:14px;border-bottom:1px solid #ecece6}
.tier-comparison-heading>i{width:39px;height:39px;border-radius:50%;background:#dfe8e4;color:#173f34;display:grid;place-items:center;font:18px serif;font-style:normal;flex:0 0 auto}
.tier-card-和饗 .tier-comparison-heading>i{background:#425d54;border:1px solid #dbe7e2;color:#f5faf8}.tier-card-雅饗 .tier-comparison-heading>i{background:#61482e;border:1px solid #ead6b7;color:#fff0db}.tier-card-臻饗 .tier-comparison-heading>i{background:#4c3d5a;border:1px solid #e0d3e7;color:#f5edf8}.tier-card-御饗 .tier-comparison-heading>i{background:#103f35;border:1px solid #d8bb71;color:#f1dda3}.tier-card-尊饗 .tier-comparison-heading>i{background:#252116;border:1px solid #dbb95f;color:#f8dda0}
.tier-comparison-heading b,.tier-comparison-heading small{display:block}.tier-comparison-heading b{font:var(--member-lg) serif;color:#142720;font-weight:700}.tier-comparison-heading small{margin-top:3px;color:#3e5049;font-size:var(--member-xs);font-weight:700;letter-spacing:.06em}
.tier-comparison-heading em{margin-left:auto;padding:4px 7px;border-radius:999px;background:#f2e5c8;color:#684916;font-size:9px;font-weight:700;font-style:normal;white-space:nowrap}
.tier-comparison-card ul{list-style:none;margin:11px 0 0;padding:0}.tier-comparison-card li{display:flex;gap:7px;padding:10px 0;border-bottom:1px solid #d9ded9}.tier-comparison-card li>span{color:#604307;font-weight:800}.tier-comparison-card li>div{min-width:0}
.tier-comparison-card li b,.tier-comparison-card li small,.tier-comparison-card li em{display:block}.tier-comparison-card li b{color:#142720;font-size:var(--member-sm);font-weight:700;line-height:1.45}.tier-comparison-card li small{margin-top:4px;color:#34463f;font-size:var(--member-xs);font-weight:500;line-height:1.55}.tier-comparison-card li em{margin-top:6px;color:#5d4007;font-size:var(--member-xs);font-weight:700;font-style:normal}.tier-comparison-card .tier-benefit-empty{color:#33443e;font-size:var(--member-sm);font-weight:600;line-height:1.6}
.tier-comparison-card:is(.tier-card-和饗,.tier-card-雅饗,.tier-card-臻饗,.tier-card-御饗,.tier-card-尊饗){color:#fffdf7}
.tier-comparison-card:is(.tier-card-和饗,.tier-card-雅饗,.tier-card-臻饗,.tier-card-御饗,.tier-card-尊饗) .tier-comparison-heading{border-bottom-color:#ffffff38}
.tier-comparison-card:is(.tier-card-和饗,.tier-card-雅饗,.tier-card-臻饗,.tier-card-御饗,.tier-card-尊饗) .tier-comparison-heading b{color:#fff;text-shadow:0 1px 2px #0008}
.tier-comparison-card:is(.tier-card-和饗,.tier-card-雅饗,.tier-card-臻饗,.tier-card-御饗,.tier-card-尊饗) .tier-comparison-heading em{background:#f1d899;color:#342307}
.tier-comparison-card:is(.tier-card-和饗,.tier-card-雅饗,.tier-card-臻饗,.tier-card-御饗,.tier-card-尊饗) li{border-bottom-color:#ffffff2e}
.tier-comparison-card:is(.tier-card-和饗,.tier-card-雅饗,.tier-card-臻饗,.tier-card-御饗,.tier-card-尊饗) li b{color:#fff;text-shadow:0 1px 1px #0007}
.tier-comparison-card:is(.tier-card-和饗,.tier-card-雅饗,.tier-card-臻饗,.tier-card-御饗,.tier-card-尊饗) .tier-benefit-empty{color:#fffaf0;text-shadow:0 1px 1px #0006}
.tier-comparison-card.tier-card-和饗 .tier-comparison-heading small,.tier-comparison-card.tier-card-和饗 li small{color:#edf5f2}.tier-comparison-card.tier-card-和饗 li>span,.tier-comparison-card.tier-card-和饗 li em{color:#dce9e4}
.tier-comparison-card.tier-card-雅饗 .tier-comparison-heading small,.tier-comparison-card.tier-card-雅饗 li small{color:#fff1dc}.tier-comparison-card.tier-card-雅饗 li>span,.tier-comparison-card.tier-card-雅饗 li em{color:#f6dcae}
.tier-comparison-card.tier-card-臻饗 .tier-comparison-heading small,.tier-comparison-card.tier-card-臻饗 li small{color:#f4edf7}.tier-comparison-card.tier-card-臻饗 li>span,.tier-comparison-card.tier-card-臻饗 li em{color:#ead8f2}
.tier-comparison-card.tier-card-御饗 .tier-comparison-heading small{color:#f2d99e}.tier-comparison-card.tier-card-御饗 li small{color:#dcebe5}.tier-comparison-card.tier-card-御饗 li>span,.tier-comparison-card.tier-card-御饗 li em{color:#f3d68f}
.tier-comparison-card.tier-card-尊饗 .tier-comparison-heading small{color:#f2d99e}.tier-comparison-card.tier-card-尊饗 li small{color:#eee8dc}.tier-comparison-card.tier-card-尊饗 li>span,.tier-comparison-card.tier-card-尊饗 li em{color:#f4d58c}

/* Member-only dining concierge. */
.concierge-quick-button{min-width:238px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d7bd7e;border-radius:999px;background:#102f28;color:#fff;padding:9px 13px 9px 10px;cursor:pointer;position:relative}
.concierge-quick-button>span{width:40px;height:40px;display:grid;place-items:center;border:1px solid #d9bf81;border-radius:50%;color:#ead39d;font:19px serif}.concierge-quick-button>strong{font-size:var(--member-sm);text-align:left;line-height:1.35}.concierge-quick-button>b{min-width:21px;height:21px;padding:4px;border-radius:999px;background:#d4af63;color:#17372e;font-size:10px}
.concierge-dialog-bg{position:fixed;z-index:90;inset:0;padding:20px;background:#071914c4;display:grid;place-items:center;backdrop-filter:blur(4px)}
.concierge-dialog{width:min(720px,100%);height:min(760px,92vh);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;background:#f6f4ee;border-radius:17px;overflow:hidden;box-shadow:0 30px 100px #0008}
.concierge-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:21px 24px;background:linear-gradient(125deg,#173f36,#285b4e);color:#fff}.concierge-dialog>header>div{display:flex;align-items:center;gap:12px}.concierge-dialog>header>div>span{width:43px;height:43px;border:1px solid #d6ba77;border-radius:50%;display:grid;place-items:center;color:#efd99f;font:20px serif}.concierge-dialog>header p{margin:0 0 4px;color:#d8c28e;font-size:var(--member-xs);letter-spacing:.08em}.concierge-dialog>header h2{margin:0;font:var(--member-xl) serif;letter-spacing:.04em}.concierge-dialog>header>button{border:0;background:none;color:#fff;font-size:27px;cursor:pointer}
.concierge-dialog-hint{margin:0;padding:14px 24px;border-bottom:1px solid #dedfd8;background:#fff;color:#6f7d78;font-size:var(--member-sm);line-height:1.6}
.concierge-message-list{overflow:auto;padding:20px 24px}.concierge-message{display:flex;margin:0 0 13px}.concierge-message.member{justify-content:flex-end}.concierge-message>div{max-width:78%;padding:12px 14px;border-radius:13px 13px 13px 3px;background:#fff;border:1px solid #e0e2dc}.concierge-message.member>div{border-radius:13px 13px 3px 13px;background:#214d41;color:#fff;border-color:#214d41}.concierge-message b,.concierge-message span,.concierge-message small{display:block}.concierge-message b{margin-bottom:5px;font-size:var(--member-xs);color:#9a7838}.concierge-message.member b{color:#e6ce98}.concierge-message span{white-space:pre-wrap;font-size:var(--member-md);line-height:1.65}.concierge-message small{margin-top:7px;color:#939b98;font-size:var(--member-xs)}.concierge-message.member small{color:#c4d6d0}
.concierge-empty{text-align:center;padding:60px 25px;color:#7d8985}.concierge-empty>span{width:48px;height:48px;margin:auto;border:1px solid #c8ad72;border-radius:50%;display:grid;place-items:center;color:#9c7939;font:22px serif}.concierge-empty p{font-size:var(--member-sm);line-height:1.7}
.concierge-resolved{margin:0;padding:9px 24px;background:#e8efe9;color:#49705f;font-size:var(--member-xs)}.concierge-form-error{margin:0;padding:8px 24px;background:#f5e3de;color:#9b574c;font-size:var(--member-sm)}
.concierge-compose{padding:14px 20px 18px;border-top:1px solid #dedfd8;background:#fff}.concierge-compose textarea{width:100%;resize:none;border:1px solid #d5dad6;border-radius:9px;padding:11px;font:var(--member-md) Arial;outline:none}.concierge-compose textarea:focus{border-color:#47776a;box-shadow:0 0 0 3px #dceae5}.concierge-compose>div{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.concierge-compose small{color:#909895;font-size:var(--member-xs)}.concierge-compose button{border:0;border-radius:8px;background:#173f36;color:#fff;padding:10px 19px;font-size:var(--member-sm);cursor:pointer}.concierge-compose button:disabled{opacity:.45;cursor:not-allowed}

/* Staff concierge workspace. */
.concierge-live-indicator{color:#2d765e;font-size:13px}.concierge-admin-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:17px;height:calc(100vh - 185px);min-height:600px}.concierge-thread-list,.concierge-admin-conversation{overflow:hidden}.concierge-thread-list{display:flex;flex-direction:column}.concierge-thread-list>header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.concierge-thread-list>header b{font-size:16px}.concierge-thread-list>header span{font-size:12px;color:#a27635}.concierge-thread-list>button{display:grid;grid-template-columns:43px minmax(0,1fr) auto;gap:11px;align-items:start;text-align:left;border:0;border-bottom:1px solid #eceeea;background:#fff;padding:14px;cursor:pointer}.concierge-thread-list>button:hover,.concierge-thread-list>button.active{background:#f1f6f3}.concierge-thread-list>button.unread{box-shadow:inset 4px 0 #b18b42}.concierge-thread-list>button>span,.concierge-admin-conversation>header>div>span{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#e1ebe7;color:#315f52;font:17px serif}.concierge-thread-list>button>div{min-width:0}.concierge-thread-list>button b{display:flex;align-items:center;gap:7px;font-size:14px}.concierge-thread-list .tier{font-size:10px;font-style:normal}.concierge-thread-list>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:6px 0 4px;color:#687671;font-size:12px}.concierge-thread-list time{font-size:10px;color:#99a09d}.concierge-thread-list>button>i{min-width:22px;height:22px;padding:4px;border-radius:999px;background:#b18b42;color:#fff;text-align:center;font-size:10px;font-style:normal}
.concierge-admin-conversation{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}.concierge-admin-conversation>header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.concierge-admin-conversation>header>div{display:flex;gap:11px;align-items:center}.concierge-admin-conversation h3{margin:0;font:19px serif}.concierge-admin-conversation header p{margin:4px 0 0;color:#7e8985;font-size:12px}.concierge-admin-messages{overflow:auto;padding:21px;background:#f7f7f3}.concierge-admin-messages article{display:flex;margin-bottom:13px}.concierge-admin-messages article.staff{justify-content:flex-end}.concierge-admin-messages article>div{max-width:74%;padding:12px 14px;border-radius:12px 12px 12px 3px;background:#fff;border:1px solid #e0e2dd}.concierge-admin-messages article.staff>div{border-radius:12px 12px 3px 12px;background:#214f43;color:#fff}.concierge-admin-messages b{font-size:11px;color:#967538}.concierge-admin-messages article.staff b{color:#ead39e}.concierge-admin-messages p{white-space:pre-wrap;margin:5px 0 7px;font-size:14px;line-height:1.6}.concierge-admin-messages small{font-size:10px;color:#939a97}.concierge-admin-messages article.staff small{color:#c9d9d4}.concierge-admin-loading{text-align:center;color:#8b9490}.concierge-admin-resolved{margin:0;padding:9px 20px;background:#e8efe9;color:#4c735f;font-size:12px}.concierge-admin-conversation>footer{padding:14px 18px;border-top:1px solid var(--line);background:#fff}.concierge-admin-conversation textarea{width:100%;resize:none;border:1px solid #d9dedb;border-radius:8px;padding:11px;font:14px Arial}.concierge-admin-conversation footer>div{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.concierge-admin-conversation footer small{color:#8a9490;font-size:11px}
.concierge-member-link{display:flex;align-items:baseline;gap:8px;border:0;background:none;padding:0;color:#173f36;cursor:pointer;text-align:left;font:19px serif}.concierge-member-link small{color:#9a7536;font:11px Arial;white-space:nowrap}.concierge-member-link:hover{color:#9a7536}.concierge-member-link:focus-visible{outline:2px solid #b18b42;outline-offset:4px;border-radius:3px}
.profile-form-heading{margin:22px 0 0;padding-bottom:7px;border-bottom:1px solid #e8e9e4;color:#234b40;font:17px serif}.profile-form-heading:first-of-type{margin-top:18px}

@media(max-width:1050px){.concierge-admin-layout{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:760px){
  .tier-benefit-comparison{padding:20px 15px}.tier-benefit-comparison>header{display:block}.tier-benefit-comparison>header>span{display:block;margin-top:10px;text-align:left}.tier-comparison-grid{grid-template-columns:repeat(5,82vw);min-width:0}.tier-comparison-card{min-height:330px}
  .member-quick-actions .concierge-quick-button{width:100%}.concierge-dialog-bg{padding:0}.concierge-dialog{width:100%;height:100vh;max-height:none;border-radius:0}.concierge-dialog>header,.concierge-dialog-hint,.concierge-message-list{padding-left:17px;padding-right:17px}.concierge-message>div{max-width:88%}
  .concierge-admin-layout{display:block;height:auto;min-height:0}.concierge-thread-list{max-height:340px;margin-bottom:14px}.concierge-admin-conversation{height:650px}.concierge-admin-messages article>div{max-width:88%}
}

/* Independent staff sign-in and administrator account management. */
.admin-login-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}
.admin-login-story{min-height:100vh;padding:58px 7vw;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 14% 12%,#486f63 0,transparent 30%),linear-gradient(145deg,#102f28,#1c4b3f 64%,#2e6253);position:relative;overflow:hidden}
.admin-login-story:after{content:"和";position:absolute;right:-4vw;bottom:-9vw;font:36vw serif;line-height:1;color:#fff;opacity:.035}
.admin-login-story>div:nth-child(2){position:relative;z-index:1;max-width:590px}.admin-login-story>div:nth-child(2) p{font-size:13px;letter-spacing:.32em;color:#ddc489}.admin-login-story h1{font:44px/1.5 serif;letter-spacing:.08em;margin:20px 0}.admin-login-story>div:nth-child(2) span{font-size:16px;line-height:2;color:#cbdad5}.admin-login-story>small{position:relative;z-index:1;font-size:11px;letter-spacing:.22em;color:#a9c0b8}
.admin-login-panel{display:grid;place-items:center;padding:46px 8vw}.admin-login-panel form{width:100%;max-width:430px}.admin-login-panel .eyebrow{font-size:13px;letter-spacing:.3em;color:#a08041}.admin-login-panel h2{font:34px serif;letter-spacing:.08em;margin:10px 0}.admin-login-help{font-size:15px;color:#72807b;line-height:1.7;margin:0 0 28px}.admin-login-panel label{display:block;font-size:15px;color:#50645d;margin:18px 0}.admin-login-panel input{width:100%;margin-top:8px;padding:14px 15px;border:1px solid #d4ddd9;border-radius:8px;background:#fff;font-size:16px;outline:none}.admin-login-panel input:focus{border-color:#49786a;box-shadow:0 0 0 4px #49786a16}.admin-login-submit{width:100%;border:0;border-radius:8px;background:#1b4a3d;color:#fff;padding:14px 18px;font-size:16px;cursor:pointer}.admin-login-submit:disabled{opacity:.55}.admin-login-security{font-size:12px;color:#8b9692;text-align:center;line-height:1.65}.owner-bootstrap-link,.admin-back-link{display:block;text-align:center;color:#426c60;text-decoration:none;font-size:13px;margin-top:16px}.owner-bootstrap-link{padding-top:17px;border-top:1px solid #e6e9e6}.admin-back-link{color:#8a9490;margin-top:10px}
.logout-btn{margin-left:auto!important;width:auto!important;min-width:auto!important;padding:7px 9px!important;border:1px solid #3b6258!important;font-size:12px!important;color:#bcd0c9!important}.user>div{min-width:0}.user b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.admin-role-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.admin-role-guide article{background:#fff;border:1px solid var(--line);border-top:3px solid #a98747;border-radius:9px;padding:18px}.admin-role-guide b,.admin-role-guide span{display:block}.admin-role-guide b{font:18px serif;color:#2d4e45}.admin-role-guide span{font-size:13px;color:#78847f;line-height:1.55;margin-top:7px}.admin-users-table code{font-size:13px;color:#345e52;background:#edf3f0;padding:4px 7px;border-radius:5px}.admin-role,.admin-status{display:inline-block;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:12px}.role-super_admin{background:#f3e8d3;color:#79581e}.role-manager{background:#e3efeb;color:#2b6656}.role-staff{background:#e8edf2;color:#496478}.role-viewer{background:#eeeef0;color:#666975}.admin-status.active{background:#e4f1eb;color:#2f745e}.admin-status.inactive{background:#f3e8e5;color:#9b5b4f}.row-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.row-actions button:disabled{opacity:.35}.admin-user-form .field-help{margin:15px 0 0;padding:13px;background:#f5f6f3;border-radius:7px;color:#697771}
.admin-login-panel>.admin-recovery-panel{width:100%;max-width:430px}.mfa-setup-steps{margin:-10px 0 20px;padding-left:22px;color:#52655e;font-size:14px;line-height:1.9}.mfa-secret{padding:16px;background:#f2f6f4;border:1px solid #d7e2dd;border-radius:9px}.mfa-secret small{display:block;color:#71817a;font-size:12px;margin-bottom:8px}.mfa-secret code{display:block;color:#173f34;font:600 15px/1.6 monospace;letter-spacing:.08em;overflow-wrap:anywhere}.mfa-secret button,.admin-mfa-back,.admin-copy-codes{border:0;background:transparent;color:#35695b;text-decoration:underline;cursor:pointer;padding:8px 0 0}.admin-mfa-back{display:block;width:100%;margin-top:14px;text-align:center;text-decoration:none}.recovery-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.recovery-code-grid code{display:block;text-align:center;padding:10px 8px;border:1px solid #d9e1dd;border-radius:7px;background:#f6f8f7;color:#244b40;font-weight:700;letter-spacing:.08em}.admin-copy-codes{display:block;width:100%;margin:-5px 0 18px}.admin-status.pending{background:#f6edda;color:#89651f}.mfa-reset-check{padding:13px!important;background:#fff7ed;border:1px solid #f0d6b2;border-radius:7px}.mfa-reset-check small{display:block;margin:5px 0 0 26px;color:#886b48}

@media(max-width:980px){.admin-role-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-login-page{grid-template-columns:1fr}.admin-login-story{min-height:280px;padding:30px}.admin-login-story h1{font-size:30px}.admin-login-story>div:nth-child(2) span,.admin-login-story>small{display:none}.admin-login-panel{padding:48px 24px}.admin-login-panel h2{font-size:29px}.admin-role-guide{grid-template-columns:1fr 1fr}.admin-role-guide article{padding:14px}.admin-role-guide span{font-size:12px}.admin-users-table{overflow:auto}}

/* Activity banner management */
.activity-summary{display:grid;grid-template-columns:190px 190px 1fr;gap:14px;align-items:stretch;margin-bottom:18px}.activity-summary>div,.activity-summary>p{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px;margin:0}.activity-summary small,.activity-summary strong,.activity-summary span{display:block}.activity-summary small{font-size:9px;color:#818a86}.activity-summary strong{font:27px serif;color:#214f43;margin:6px 0}.activity-summary span{font-size:9px;color:#929a97}.activity-summary>p{display:flex;align-items:center;color:#687772;font-size:10px;line-height:1.8}.activity-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.activity-admin-grid>article{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.2s}.activity-admin-grid>article.inactive{opacity:.62;background:#f2f2ef}.activity-image-wrap{height:175px;position:relative;background:#e7ebe8;overflow:hidden}.activity-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.activity-image-wrap:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#102d2680)}.activity-image-wrap span,.activity-image-wrap b{position:absolute;z-index:1;color:#fff;font-size:8px;letter-spacing:1px}.activity-image-wrap span{left:12px;bottom:11px;background:#173e35cc;padding:5px 8px;border-radius:12px}.activity-image-wrap b{right:12px;top:12px;background:#0d241e99;width:26px;height:26px;display:grid;place-items:center;border-radius:50%}.activity-card-copy{padding:15px 17px;min-height:112px}.activity-card-copy h3{font:16px serif;margin:0 0 7px}.activity-card-copy p{font-size:9px;line-height:1.6;color:#78827e;margin:0 0 10px}.activity-card-copy small{font-size:8px;line-height:1.5;color:#9a8a6b}.activity-card-actions{display:flex;gap:9px;border-top:1px solid #eee;padding:11px 17px}.activity-card-actions button:last-child{margin-left:auto}.activity-current-image{width:100%;max-height:230px;object-fit:cover;border-radius:8px;margin-bottom:12px}.activity-form input[type=file]{padding:8px;background:#f7f8f6}.activity-form label>.field-help{display:block;margin-top:6px;color:#949c99;font-size:8px}

/* Member carousel */
.activity-carousel{height:310px;border-radius:13px;overflow:hidden;position:relative;background:#173a31;margin-bottom:18px;box-shadow:0 15px 35px #183c3218}.carousel-viewport,.carousel-track,.carousel-slide{height:100%}.carousel-track{display:flex;transition:transform .65s cubic-bezier(.22,.75,.25,1)}.carousel-slide{min-width:100%;position:relative}.carousel-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b251fdb 0%,#0b251f91 38%,transparent 72%),linear-gradient(0deg,#0b251f6e,transparent 50%)}.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}.carousel-slide>div{position:absolute;z-index:1;left:48px;top:50%;transform:translateY(-50%);max-width:440px;color:#fff}.carousel-slide p{font-size:8px;letter-spacing:4px;color:#d8bc7b}.carousel-slide h2{font:29px serif;letter-spacing:2px;margin:13px 0}.carousel-slide span{font-size:11px;line-height:1.8;color:#d4dfdb}.carousel-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid #ffffff55;background:#102c2570;color:#fff;font-size:25px;display:grid;place-items:center}.carousel-arrow.previous{left:13px}.carousel-arrow.next{right:13px}.carousel-dots{position:absolute;z-index:2;left:48px;bottom:21px;display:flex;gap:7px}.carousel-dots button{width:18px;height:3px;border:0;background:#ffffff65;padding:0;transition:.2s}.carousel-dots button.active{width:35px;background:#d7ba76}.carousel-count{position:absolute;z-index:2;right:23px;bottom:18px;color:#fff;font-size:8px;letter-spacing:2px}

/* Distinct membership cards */
.digital-card{isolation:isolate;border:1px solid #ffffff3b;transition:box-shadow .3s,transform .3s}.digital-card:before{content:"";position:absolute;inset:8px;border:1px solid #ffffff25;border-radius:7px;z-index:-1;pointer-events:none}.digital-card:after{content:"";inset:0;right:auto;top:auto;width:auto;height:auto;font-size:0;background:radial-gradient(circle at 82% 18%,#ffffff18 0 1px,transparent 2px);background-size:16px 16px;opacity:.55;z-index:-2}.digital-card>div,.digital-card>strong,.digital-card>p,.digital-card>small{position:relative;z-index:2}.card-emblem{position:absolute;right:20px;top:53px;width:46px;height:46px;border:1px solid #ffffff4a;border-radius:50%;display:grid;place-items:center;font:23px serif;font-style:normal;color:#fff;z-index:2}.card-和饗{background:linear-gradient(145deg,#778b82,#51675f);color:#fff;box-shadow:0 13px 28px #17372f46}.card-和饗 .card-emblem{border-color:#d8e1dd6b;color:#edf2f0}.card-雅饗{background:radial-gradient(circle at 20% 0,#b39a73,#8a6d49 48%,#604a32);box-shadow:0 15px 32px #3d2c1e66}.card-雅饗:before{border-color:#f0dcbf4d}.card-雅饗 .card-emblem{border-style:double;border-width:3px;border-color:#ead6b7;color:#f8ead4}.card-臻饗{background:radial-gradient(circle at 25% 10%,#9a88a8,#6d5b7d 48%,#3f344b);box-shadow:0 16px 34px #2d223d73}.card-臻饗:after{background:repeating-linear-gradient(135deg,transparent 0 18px,#ffffff0b 19px 20px);opacity:1}.card-臻饗 .card-emblem{border-color:#e0d3e7;color:#f1e9f4;box-shadow:inset 0 0 14px #fff2}.card-御饗{background:radial-gradient(circle at 25% 5%,#2d695c,#164a3e 48%,#082d26);border-color:#c8aa68;box-shadow:0 18px 38px #06291f8a}.card-御饗:before{border-color:#d9bc7959}.card-御饗:after{background:linear-gradient(120deg,transparent 0 60%,#d9bd7317 61% 62%,transparent 63%),radial-gradient(circle at 85% 18%,#d8bf7b1d,transparent 31%);opacity:1}.card-御饗 .card-emblem{border-color:#d8bb71;color:#ecd89e;box-shadow:0 0 0 4px #d8bb7112}.card-尊饗{background:radial-gradient(circle at 22% 3%,#4c4434,#191a18 48%,#060706);border-color:#d1ae5e;box-shadow:0 21px 46px #030a078f,0 0 0 1px #b9913e45}.card-尊饗:before{inset:7px;border-color:#d9b75f73;border-radius:8px}.card-尊饗:after{background:linear-gradient(110deg,transparent 0 43%,#fff5c51a 49%,transparent 55%),radial-gradient(circle at 85% 18%,#cba74f24,transparent 32%);opacity:1}.card-尊饗 .card-emblem{border:1px solid #dbb95f;color:#f5daa0;box-shadow:0 0 0 4px #d5ae4d17,0 0 24px #d7b35d26}.card-尊饗>div span,.card-御饗>div span{color:#efd99e}.card-尊饗>small,.card-御饗>small{color:#dfca91}

@media(max-width:1100px){.activity-admin-grid{grid-template-columns:1fr 1fr}.activity-summary{grid-template-columns:160px 160px 1fr}}
@media(max-width:760px){.activity-summary{grid-template-columns:1fr 1fr}.activity-summary>p{grid-column:1/-1}.activity-admin-grid{grid-template-columns:1fr}.activity-image-wrap{height:190px}.activity-carousel{height:235px;border-radius:10px}.carousel-slide:after{background:linear-gradient(90deg,#0b251fd9,#0b251f5e 75%),linear-gradient(0deg,#0b251f7a,transparent)}.carousel-slide>div{left:25px;right:25px;max-width:none}.carousel-slide h2{font-size:21px;margin:9px 0}.carousel-slide span{font-size:9px;line-height:1.6}.carousel-arrow{display:none}.carousel-dots{left:25px;bottom:15px}.carousel-count{right:17px;bottom:13px}.digital-card{max-width:370px}.card-emblem{right:18px;top:51px}.activity-form .form-grid{grid-template-columns:1fr}}

/* Stable member-card layout and the approved 1284 × 775 activity ratio. */
.digital-card{width:340px;height:auto;aspect-ratio:85.6/53.98;flex:0 0 auto;display:grid;grid-template-rows:auto 1fr auto;padding:22px 24px;isolation:isolate}
.digital-card:before{z-index:1}
.digital-card:after{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.digital-card>.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative;z-index:2}
.card-heading b{font-size:9px;line-height:1;letter-spacing:2px;white-space:nowrap}.card-heading span{font:15px/1 serif;white-space:nowrap}
.digital-card>.card-holder{display:block;align-self:end;min-width:0;padding-right:64px;position:relative;z-index:2}
.card-holder strong{display:block;margin:0;font:21px/1.2 serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-holder p{margin:7px 0 0;font-size:9px;line-height:1.2;letter-spacing:1.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.digital-card>.card-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:15px;position:relative;z-index:2}
.card-footer span,.card-footer small{font-size:7px;line-height:1.25;letter-spacing:1px;white-space:nowrap}.card-footer small{position:static;text-align:right}
.card-emblem{right:24px;top:50%;transform:translateY(-35%)}

.activity-image-wrap,.activity-current-image,.activity-carousel{height:auto;aspect-ratio:1284/775}
.activity-image-wrap img,.activity-current-image,.carousel-slide img{object-fit:contain;object-position:center;background:#101713}
.activity-current-image{display:block;max-height:none}
.carousel-slide:after,.carousel-slide>div{display:none}
.carousel-dots{left:50%;bottom:15px;transform:translateX(-50%);padding:7px 10px;border-radius:20px;background:#0b1d1870}
.carousel-count{right:18px;bottom:16px;padding:5px 8px;border-radius:14px;background:#0b1d1880}

@media(max-width:760px){
  .digital-card{width:100%;max-width:370px;margin:25px 0 0;aspect-ratio:85.6/53.98;padding:20px 22px}
  .digital-card>.card-holder{padding-right:58px}.card-emblem{right:21px}.card-footer span,.card-footer small{font-size:6.5px}
  .activity-image-wrap,.activity-carousel{height:auto;aspect-ratio:1284/775}
  .carousel-dots{left:50%;bottom:11px}.carousel-count{right:12px;bottom:12px}
}

/* Readability baseline for the staff interface. */
.app-shell{font-size:15px;line-height:1.55}
.app-shell :is(button,input,select,textarea){font-size:14px;line-height:1.45}
.app-shell :is(p,label){font-size:14px;line-height:1.6}
.app-shell small{font-size:12px;line-height:1.5}
.app-shell :is(th,td){font-size:13px;line-height:1.5}
.app-shell .eyebrow{font-size:12px}
.app-shell .sidebar nav button{font-size:15px}
.app-shell .brand small,.app-shell .user small{font-size:11px}
.app-shell .panel-title p,.app-shell .section-head p{font-size:13px}
.app-shell .panel-title button,.app-shell .panel-title select,.app-shell .text-btn{font-size:13px}
.app-shell .mini-person b,.app-shell .mini-person small{font-size:12px}
.app-shell .tier{font-size:12px}
.app-shell .profile-hero p,.app-shell .profile-numbers small,.app-shell .progress>div,.app-shell .progress p,.app-shell .info-list p{font-size:12px}
.app-shell .benefit-top p,.app-shell .benefit-grid article>p,.app-shell .benefit-grid article>p small,.app-shell .benefit-grid article>button{font-size:12px}
.app-shell .manage-list b{font-size:14px}.app-shell .manage-list small,.app-shell .manage-list span,.app-shell .manage-list button{font-size:12px}
.app-shell .activity-summary small,.app-shell .activity-summary span,.app-shell .activity-card-copy p,.app-shell .activity-card-copy small,.app-shell .activity-card-actions button{font-size:12px}

/* Member display preferences: the refreshed, larger setting is Medium. */
.member-interface[data-font-size="small"]{--member-xs:9px;--member-sm:11px;--member-md:12px;--member-lg:15px;--member-title:29px;--member-hero-title:38px;--member-number:24px;--member-card-name:20px}
.member-interface[data-font-size="medium"]{--member-xs:11px;--member-sm:13px;--member-md:14px;--member-lg:17px;--member-title:33px;--member-hero-title:43px;--member-number:28px;--member-card-name:22px}
.member-interface[data-font-size="large"]{--member-xs:13px;--member-sm:15px;--member-md:17px;--member-lg:20px;--member-title:37px;--member-hero-title:48px;--member-number:32px;--member-card-name:25px}
.member-interface{font-size:var(--member-md);line-height:1.55}
.member-interface :is(button,input,select){font-size:var(--member-md)}
.member-interface .member-logo b{font-size:var(--member-lg)}
.member-interface .member-logo small,
.member-interface .story-copy p,
.member-interface .login-story>small,
.member-interface .privacy-note,
.member-interface .test-code span,
.member-interface .member-welcome>div>p,
.member-interface .member-panel-title p,
.member-interface .member-benefit small,
.member-interface .purchase-row small,
.member-interface .empty-state small,
.member-interface .point-counter-note{font-size:var(--member-xs)}
.member-interface .staff-link,
.member-interface .login-help,
.member-interface .login-form>label,
.member-interface .phone-input span,
.member-interface .form-error,
.member-interface .test-code b,
.member-interface .member-nav-actions,
.member-interface .member-welcome>div>span,
.member-interface .member-metrics small,
.member-interface .member-metrics p,
.member-interface .member-panel-title>span,
.member-interface .member-benefit em,
.member-interface .purchase-row>span{font-size:var(--member-sm)}
.member-interface .story-copy span,
.member-interface .member-benefit b,
.member-interface .purchase-row b,
.member-interface .empty-state p{font-size:var(--member-md)}
.member-interface .login-form h2,
.member-interface .member-welcome h1{font-size:var(--member-title)}
.member-interface .story-copy h1{font-size:var(--member-hero-title);white-space:pre-line}
.member-interface .member-metrics strong{font-size:var(--member-number)}
.member-interface .member-metrics strong em{font-size:var(--member-sm)}
.member-interface .member-panel-title h2{font-size:var(--member-lg)}
.member-interface .card-holder strong{font-size:var(--member-card-name)}
.member-interface .card-heading span{font-size:var(--member-sm);max-width:150px;overflow:hidden;text-overflow:ellipsis}
.member-interface .card-heading b,
.member-interface .card-holder p,
.member-interface .card-footer span,
.member-interface .card-footer small{font-size:var(--member-xs)}

/* The Large setting needs a physically larger card, not only larger type. */
.member-interface[data-font-size="large"] .digital-card{width:380px;min-height:228px;aspect-ratio:auto;grid-template-rows:auto minmax(72px,1fr) auto;padding:25px 27px}
.member-interface[data-font-size="large"] .digital-card>.card-holder{padding-right:76px}
.member-interface[data-font-size="large"] .card-heading span{max-width:185px}
.member-interface[data-font-size="large"] .card-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:14px;margin-top:12px}
.member-interface[data-font-size="large"] .card-footer span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.member-interface[data-font-size="large"] .card-footer small{max-width:170px;white-space:normal;overflow-wrap:anywhere}
.member-interface[data-font-size="large"] .card-emblem{right:27px;width:51px;height:51px;font-size:25px}
.member-interface[data-font-size="large"] .card-avatar{right:27px;width:70px;height:70px}

/* Member profile photo and card placement. */
.avatar-setting-link{display:block;margin-top:18px;border:1px solid #ffffff52;border-radius:999px;background:#ffffff10;color:#fff;padding:9px 15px;cursor:pointer;line-height:1.2}
.avatar-setting-link:hover{background:#ffffff1c}
.member-quick-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;margin-top:18px}
.member-quick-actions .avatar-setting-link{display:grid;place-items:center;margin-top:0}
.member-reservation-button{width:fit-content;min-width:210px;display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:11px;border:1px solid #efdba7;border-radius:999px;background:linear-gradient(135deg,#d1ad61,#9a732f);color:#fff;text-decoration:none;padding:9px 14px 9px 10px;box-shadow:0 8px 22px #081f1835;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.member-reservation-button:hover{transform:translateY(-1px);box-shadow:0 11px 27px #081f1845;filter:brightness(1.04)}
.member-reservation-button>span{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border:1px solid #fff7;border-radius:50%;background:#ffffff16;font:20px serif}
.member-reservation-button>strong{align-self:end;font-size:var(--member-md);line-height:1.2;white-space:nowrap}
.member-reservation-button>small{align-self:start;color:#fffbdc;font-size:var(--member-xs);line-height:1.25;letter-spacing:.08em}
.member-reservation-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.login-form>.member-reservation-button{width:100%;margin-top:20px;border-radius:12px;padding:11px 16px 11px 12px}
.card-avatar{position:absolute;z-index:4;right:24px;top:50%;transform:translateY(-35%);width:62px;height:62px;padding:0;border:2px solid #ffffffb8;border-radius:50%;background:#f0e5cf;color:#5b492b;box-shadow:0 5px 18px #071b1655;overflow:visible;cursor:pointer}
.card-avatar>img,.card-avatar>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;object-fit:cover;overflow:hidden;font:27px serif}
.card-avatar>i{position:absolute;right:-3px;top:-3px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#244d42;border:1px solid #d8ddd8;font:12px/1 Arial;font-style:normal;box-shadow:0 2px 8px #0002}
.card-avatar>b{position:absolute;right:-3px;bottom:-3px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#173f36;color:#e8ce91;border:1px solid #e4cb91;font:12px/1 serif}
.card-avatar:focus-visible,.avatar-setting-link:focus-visible{outline:3px solid #fff;outline-offset:3px}

.avatar-modal-bg{position:fixed;z-index:80;inset:0;padding:22px;background:#0a201bb8;display:grid;place-items:center;backdrop-filter:blur(3px)}
.avatar-modal{position:relative;width:min(620px,100%);max-height:92vh;overflow:auto;border-radius:17px;background:#fffdf9;color:#263a34;padding:31px;box-shadow:0 24px 90px #04140f80}
.avatar-modal-close{position:absolute;right:18px;top:14px;border:0;background:none;color:#6a7873;font-size:28px;cursor:pointer}
.avatar-modal .eyebrow{margin:0;color:#9b7c43;font-size:var(--member-xs);letter-spacing:.18em}.avatar-modal h2{margin:6px 0 8px;font:var(--member-title) serif;color:#1a4439}.avatar-hint{margin:0 38px 24px 0;color:#71807b;font-size:var(--member-sm);line-height:1.65}
.avatar-editor-layout{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:center}
.avatar-preview-wrap{width:240px;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#e9dfca,#cbb68a);border:5px solid #fff;box-shadow:0 0 0 1px #d7d9d3,0 14px 32px #203c3325;overflow:hidden;display:grid;place-items:center}
.avatar-preview-wrap :is(canvas,img){width:100%;height:100%;display:block;object-fit:cover}.avatar-preview-wrap>span{font:76px serif;color:#6b5938}
.avatar-editor-controls{display:flex;flex-direction:column;gap:14px}.avatar-editor-controls>label{display:block;margin:0;color:#596b65;font-size:var(--member-sm)}.avatar-editor-controls label>span{display:block;margin-bottom:6px}.avatar-editor-controls input[type=range]{width:100%;accent-color:#24594b}.avatar-file-button{position:relative;text-align:center;padding:11px 14px;border-radius:8px;background:#e9f0ed;color:#24594b!important;font-weight:700;cursor:pointer}.avatar-file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.avatar-error{margin:18px 0 0;padding:10px 12px;border-radius:8px;background:#fff0ed;color:#a34f43;font-size:var(--member-sm)}
.avatar-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px;padding-top:18px;border-top:1px solid #e7e7e1}.avatar-actions button{border-radius:8px;padding:11px 16px;cursor:pointer}.avatar-actions button:disabled{opacity:.45;cursor:not-allowed}.avatar-remove{margin-right:auto;border:1px solid #e0c9c4;background:#fff;color:#a05246}.avatar-cancel{border:1px solid #d9dfdc;background:#fff;color:#476158}.avatar-save{border:1px solid #173f36;background:#173f36;color:#fff}

.member-display-controls{display:flex;align-items:flex-end;gap:12px;color:#526a62}
.login-form>.member-display-controls{border-bottom:1px solid #e7e8e3;margin:0 0 28px;padding:0 0 18px}
.member-display-controls label,.font-size-control{margin:0;display:flex;align-items:center;gap:7px;color:inherit}
.member-display-controls label>span,.font-size-control>span{font-size:var(--member-xs);white-space:nowrap;color:#75817d}
.member-display-controls select{height:36px;border:1px solid #d7ddda;border-radius:7px;background:#fff;color:#27463e;padding:0 28px 0 10px;outline:none}
.font-size-control{border:1px solid #d7ddda;border-radius:7px;padding:3px;background:#fff}
.font-size-control>span{padding:0 5px}
.font-size-control button{min-width:34px;height:28px;border:0;border-radius:5px;background:transparent;color:#5c6d67;padding:0 7px;cursor:pointer}
.font-size-control button.active{background:#1d4d40;color:#fff;box-shadow:0 2px 7px #173e3527}
.member-nav{height:auto;min-height:76px;gap:18px}
.member-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;color:#63736d}
.member-nav-actions>.member-display-controls{padding-right:16px;border-right:1px solid #e2e6e3}
.member-nav-actions>button{white-space:nowrap;cursor:pointer}
.member-benefit>div,.purchase-row>div{min-width:0}
.member-benefit b,.member-benefit small,.purchase-row b,.purchase-row small{line-height:1.55}

html:lang(ja) .member-interface,html:lang(ko) .member-interface{font-family:Arial,"Noto Sans JP","Noto Sans KR",sans-serif}

@media(max-width:800px){
  .member-interface[data-font-size="medium"]{--member-title:28px;--member-hero-title:32px}
  .member-interface[data-font-size="large"]{--member-title:32px;--member-hero-title:37px}
  .member-nav{padding:11px 15px}
  .member-nav .member-logo>div{display:none}
  .member-nav-actions{margin-left:auto;gap:8px}
  .member-nav-actions>span{display:none}
  .member-nav-actions>.member-display-controls{padding-right:0;border-right:0}
  .member-nav-actions>.member-display-controls label>span,.member-nav-actions .font-size-control>span{display:none}
  .member-nav-actions>.member-display-controls{gap:6px}
  .member-nav-actions .member-display-controls select{width:108px;padding-left:7px}
  .member-nav-actions .font-size-control button{min-width:29px;padding:0 5px}
  .login-form>.member-display-controls{align-items:stretch;flex-direction:column}
  .login-form>.member-display-controls label,.login-form>.member-display-controls .font-size-control{justify-content:space-between}
  .member-benefit{align-items:flex-start}
  .member-benefit em{max-width:92px;text-align:right;line-height:1.4}
  .member-interface[data-font-size="large"] .digital-card{width:100%;max-width:390px;min-height:226px;margin-top:27px;padding:24px 25px}
  .member-interface[data-font-size="large"] .digital-card>.card-holder{padding-right:70px}
  .member-interface[data-font-size="large"] .card-emblem{right:25px}
  .member-interface[data-font-size="large"] .card-avatar{right:25px;width:68px;height:68px}
  .avatar-setting-link{margin-top:15px}
  .member-quick-actions .avatar-setting-link{margin-top:0}
  .avatar-modal{padding:26px}.avatar-editor-layout{grid-template-columns:200px 1fr;gap:22px}.avatar-preview-wrap{width:200px}
}

@media(max-width:420px){
  .member-nav{gap:6px}
  .member-nav .member-logo>span{width:36px;height:36px}
  .member-nav-actions>.member-display-controls select{width:94px}
  .member-nav-actions .font-size-control button{min-width:27px;padding:0 4px}
  .member-nav-actions>button{padding:4px}
  .member-interface[data-font-size="large"] .digital-card{min-height:224px;padding:22px 20px}
  .member-interface[data-font-size="large"] .digital-card>.card-holder{padding-right:62px}
  .member-interface[data-font-size="large"] .card-heading span{max-width:150px}
  .member-interface[data-font-size="large"] .card-footer{grid-template-columns:1fr;row-gap:4px}
  .member-interface[data-font-size="large"] .card-footer small{max-width:100%;text-align:left}
  .member-interface[data-font-size="large"] .card-emblem{right:20px;width:48px;height:48px}
  .member-interface[data-font-size="large"] .card-avatar{right:20px;width:62px;height:62px}
  .member-quick-actions{display:grid;grid-template-columns:1fr;max-width:340px}
  .member-quick-actions .member-reservation-button,.member-quick-actions .avatar-setting-link{width:100%}
  .member-reservation-button{min-width:0}
  .member-interface[data-font-size="large"] .member-reservation-button>strong{white-space:normal}
  .avatar-modal-bg{padding:12px}.avatar-modal{padding:24px 18px}.avatar-hint{margin-right:22px}.avatar-editor-layout{grid-template-columns:1fr}.avatar-preview-wrap{width:min(220px,72vw);margin:auto}.avatar-actions{display:grid;grid-template-columns:1fr 1fr}.avatar-actions .avatar-remove{grid-column:1/-1;margin:0}.avatar-actions button{padding:11px 8px}
}

/* Public customer edition: useful to browse before production SMS login is enabled. */
.member-public{min-height:100vh;background:#f3f1eb;color:#22342f}
.member-public .member-login{min-height:100vh}
.public-login-notice{margin-top:24px;padding:24px;border:1px solid #e3dccb;border-radius:14px;background:linear-gradient(145deg,#fbfaf6,#f2eee3);box-shadow:0 14px 35px #233b3212}
.public-login-notice>span{width:52px;height:52px;border:1px solid #b5914c;color:#8f6d2d;display:grid;place-items:center;border-radius:50%;font:25px serif;margin-bottom:18px}
.public-login-notice p{margin:0;color:#465b54;font-size:var(--member-md);line-height:1.9}
.public-login-notice small{display:block;margin-top:17px;padding-top:14px;border-top:1px solid #ddd4c1;color:#7b857f;font-size:var(--member-sm);line-height:1.7}
.staff-test-badge{display:inline-flex;margin:0 0 6px;padding:6px 10px;border-radius:999px;background:#f4ead1;color:#755a25;font-size:var(--member-xs);letter-spacing:.08em}
.public-showcase{max-width:1180px;margin:0 auto;padding:70px 34px 86px}
.public-showcase .activity-carousel{margin-bottom:64px}
.public-tier-heading{text-align:center;max-width:700px;margin:0 auto 30px}
.public-tier-heading p{margin:0;color:#a08043;font-size:var(--member-xs);letter-spacing:.32em}
.public-tier-heading h2{margin:12px 0 10px;font:var(--member-title) serif;letter-spacing:.08em;color:#1b4036}
.public-tier-heading span{color:#72817c;font-size:var(--member-sm)}
.public-tier-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.public-tier-card{min-height:158px;border-radius:12px;padding:20px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 28px #152c2430}
.public-tier-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff12,transparent 45%,#ffffff0c);pointer-events:none}
.public-tier-card i{width:46px;height:46px;border:1px solid #ffffff6b;border-radius:50%;display:grid;place-items:center;font:22px serif;font-style:normal;position:relative;z-index:1}
.public-tier-card div{display:flex;justify-content:space-between;align-items:end;gap:8px;position:relative;z-index:1}
.public-tier-card b,.public-tier-card small{display:block}.public-tier-card b{font:var(--member-lg) serif}.public-tier-card small{font-size:var(--member-xs);letter-spacing:.08em;text-align:right;opacity:.85}

.admin-access-page{min-height:100vh;background:radial-gradient(circle at 25% 10%,#416b5f,#173c33 52%,#0b251f);display:grid;place-items:center;padding:24px;color:#fff}
.admin-access-page section{width:min(540px,100%);padding:48px;border:1px solid #ffffff26;border-radius:18px;background:#fffdf7;box-shadow:0 24px 80px #04140f6e;color:#243a34;text-align:center}
.admin-access-mark{width:64px;height:64px;border:1px solid #aa8744;color:#8f6d2c;display:grid;place-items:center;border-radius:50%;font:31px serif;margin:0 auto 18px}
.admin-access-page p{font-size:11px;letter-spacing:.28em;color:#9b7d43}.admin-access-page h1{font:30px serif;margin:14px 0}.admin-access-page div{font-size:14px;color:#53645f}.admin-access-page small{display:block;margin:17px 0 24px;color:#7c8984;line-height:1.7}
.admin-access-page nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.admin-access-page nav a{padding:11px 16px;border:1px solid #d3dcd8;border-radius:8px;color:#305e52;text-decoration:none;font-size:14px}.admin-access-page nav a:last-child{background:#214f43;color:#fff;border-color:#214f43}

@media(max-width:900px){.public-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-tier-card:last-child{grid-column:1/-1}}
@media(max-width:760px){
  .member-public .member-login{display:block}.member-public .login-story{min-height:58vh;padding:34px 8vw}.member-public .login-form-wrap{min-height:72vh;padding:86px 8vw 46px}.member-public .staff-link{top:28px;right:8vw}
  .public-showcase{padding:48px 18px 64px}.public-showcase .activity-carousel{margin-bottom:48px}.public-tier-grid{grid-template-columns:1fr}.public-tier-card:last-child{grid-column:auto}.public-tier-card{min-height:138px}
  .admin-access-page section{padding:35px 23px}.admin-access-page h1{font-size:26px}
}

/* Member activity broadcast and notification center. */
.broadcast-member-count{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #d7dfdb;border-radius:999px;background:#fff;color:#536760;font-size:13px}.broadcast-member-count b{color:#245548;font-size:17px}
.broadcast-admin-layout{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:20px;align-items:start}.broadcast-compose,.broadcast-history{padding:24px}.broadcast-compose{display:grid;gap:16px}.broadcast-compose label{display:grid;gap:7px;color:#40544e;font-weight:700}.broadcast-compose input,.broadcast-compose textarea{width:100%;border:1px solid #d6ded9;border-radius:8px;padding:12px;background:#fff;color:#203b33;font:inherit}.broadcast-compose textarea{resize:vertical;min-height:180px;line-height:1.7}.broadcast-permission-note{margin:0;padding:11px 13px;border-radius:8px;background:#fff4dc;color:#775b28;font-size:12px;line-height:1.6}.broadcast-history-list{display:grid;gap:14px;max-height:680px;overflow:auto;padding-right:4px}.broadcast-history-list>article{padding:18px;border:1px solid #e0e4e1;border-radius:12px;background:#fcfcf9}.broadcast-history-list article>header{display:flex;justify-content:space-between;gap:15px;align-items:start}.broadcast-history-list header div{display:grid;gap:4px}.broadcast-history-list header b{font:18px serif;color:#25493f}.broadcast-history-list header small{color:#8a9490;font-size:11px}.broadcast-history-list header>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e8f0ec;color:#396a5c;font-size:11px;font-weight:700}.broadcast-history-list article>p{margin:13px 0 9px;color:#596862;line-height:1.7;white-space:pre-wrap}.broadcast-history-list article>a{color:#9a7530;font-size:12px;font-weight:700;text-decoration:none}.broadcast-history-list article>footer{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;margin-top:15px;color:#7a8681;font-size:11px}.broadcast-history-list footer>div{height:5px;overflow:hidden;border-radius:999px;background:#e6e9e7}.broadcast-history-list footer i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3d7466,#b28c45)}
.member-notification-button{position:relative!important;width:42px;height:42px;padding:0!important;border:1px solid #d6dfdb!important;border-radius:50%!important;background:#fff!important;color:#285b4e!important;display:grid!important;place-items:center;font:15px serif!important}.member-notification-button>b{position:absolute;top:-6px;right:-7px;min-width:20px;height:20px;padding:2px 5px;border:2px solid #f5f3ed;border-radius:999px;background:#a77d31;color:#fff;font:10px Arial;display:grid;place-items:center}.member-notification-toast{position:fixed;right:26px;bottom:28px;z-index:85;width:min(390px,calc(100vw - 30px));display:grid;grid-template-columns:52px 1fr;gap:14px;padding:20px 20px 18px;border:1px solid #d7c397;border-radius:16px;background:linear-gradient(145deg,#fffdf8,#f5efe2);box-shadow:0 22px 60px #132c2452;color:#243f37}.member-notification-toast>span{width:52px;height:52px;border:1px solid #b88f43;border-radius:50%;display:grid;place-items:center;color:#96702c;font:22px serif}.member-notification-toast div{min-width:0;display:grid}.member-notification-toast small{color:#987632;font-size:var(--member-xs);letter-spacing:.08em}.member-notification-toast b{margin-top:5px;font:var(--member-lg) serif}.member-notification-toast p{margin:6px 0 12px;color:#66736e;font-size:var(--member-sm);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.member-notification-toast div>button{justify-self:start;border:0;border-radius:8px;padding:8px 12px;background:#285b4e;color:#fff;font-size:var(--member-sm)}.member-notification-toast-close{position:absolute;right:8px;top:6px;border:0;background:transparent;color:#89928e;font-size:20px}
.notification-center-bg{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#0b201bbd;backdrop-filter:blur(5px)}.notification-center{width:min(720px,100%);max-height:min(820px,calc(100vh - 48px));overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #ffffff2b;border-radius:18px;background:#f9f8f3;box-shadow:0 28px 90px #071a155c;color:#25433b}.notification-center>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#173f35,#2e6154);color:#fff}.notification-center>header>div{display:flex;gap:13px;align-items:center}.notification-center>header>div>span{width:45px;height:45px;border:1px solid #d2b776;border-radius:50%;display:grid;place-items:center;color:#e7cf96;font:20px serif}.notification-center>header p{margin:0 0 3px;color:#d5bd83;font-size:10px;letter-spacing:.2em}.notification-center>header h2{margin:0;font:24px serif}.notification-center>header>button{border:0;background:transparent;color:#fff;font-size:28px}.notification-center-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 24px;border-bottom:1px solid #e1e3dd;background:#fff}.notification-center-tools p{margin:0;color:#68756f;font-size:var(--member-sm);line-height:1.6}.notification-center-tools button{flex:0 0 auto;border:1px solid #b59450;border-radius:8px;padding:8px 11px;background:#fffaf0;color:#806126;font-size:var(--member-xs);font-weight:700}.notification-center-tools span{flex:0 0 auto;color:#3f7665;font-size:var(--member-xs);font-weight:700}.notification-center-tools small{max-width:260px;color:#9a653c;font-size:var(--member-xs);line-height:1.5}.notification-center-list{overflow:auto;padding:20px 24px 26px;display:grid;gap:12px}.notification-center-list>article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:17px;border:1px solid #e0e3dd;border-radius:12px;background:#fff}.notification-message-mark{width:42px;height:42px;border:1px solid #ccb06f;border-radius:50%;display:grid;place-items:center;color:#9a7430;font:18px serif}.notification-center-list article>div:last-child>header{display:flex;justify-content:space-between;gap:10px}.notification-center-list article header b{font:var(--member-lg) serif}.notification-center-list article header span{color:#4f806f;font-size:var(--member-xs)}.notification-center-list time{display:block;margin-top:3px;color:#929a96;font-size:var(--member-xs)}.notification-center-list article p{margin:10px 0;color:#53645e;font-size:var(--member-sm);line-height:1.75;white-space:pre-wrap}.notification-center-list article a{color:#93702f;font-size:var(--member-sm);font-weight:700;text-decoration:none}
@media(max-width:1100px){.broadcast-admin-layout{grid-template-columns:1fr}.broadcast-history-list{max-height:none}}
@media(max-width:760px){.broadcast-admin-layout{grid-template-columns:minmax(0,1fr)}.broadcast-compose,.broadcast-history{padding:18px}.broadcast-history-list article>footer{grid-template-columns:auto auto}.broadcast-history-list footer>div{grid-column:1/-1}.member-notification-button{width:36px;height:36px}.member-notification-toast{right:15px;bottom:84px}.notification-center-bg{padding:12px}.notification-center{max-height:calc(100vh - 24px)}.notification-center>header{padding:17px}.notification-center-tools{align-items:flex-start;flex-direction:column;padding:13px 17px}.notification-center-list{padding:14px}.notification-center-list>article{grid-template-columns:34px minmax(0,1fr);padding:14px}.notification-message-mark{width:34px;height:34px}.notification-center-list article>div:last-child>header{display:grid}.notification-center-list article header span{justify-self:start}}
