/* Member + admin pages, on top of style.css tokens */
.member-page{background:var(--ground)}
.member-wrap{max-width:560px;margin:0 auto;padding:clamp(20px,4vw,40px) clamp(16px,4vw,32px) 80px}
.member-wrap h1{font-family:var(--display);font-size:clamp(1.8rem,5vw,2.4rem);margin-bottom:8px}
.member-wrap h2{font-size:1.3rem;margin:32px 0 12px}
.lead{color:var(--ink-2);margin-bottom:20px}
.hint{color:var(--ink-3);font-size:.9rem;margin-top:18px}
.login-form{display:flex;flex-direction:column;gap:14px;background:var(--in);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.login-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem;color:var(--ink-2)}
.login-form input{font:1rem var(--body);padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--ground-2);color:var(--ink)}
.login-form input:focus{outline:2px solid var(--matcha);outline-offset:1px}
.form-err{color:#B3261E;font-size:.92rem}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink-2)}

.mcard{background:linear-gradient(135deg,#FBF6EE,#EFE4D2);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.mcard[data-tier="squad"]{background:linear-gradient(135deg,#FBF6EE,var(--matcha-soft))}
.mcard[data-tier="stars"]{background:linear-gradient(135deg,#FFF8E8,#F4E3BC);border-color:#E2C888}
.mcard[data-tier="royalty"]{background:linear-gradient(135deg,#4A3222,#6E5640);color:#F2EBDD;border-color:#4A3222}
.mcard[data-tier="royalty"] .mcard-tier,.mcard[data-tier="royalty"] .mcard-stats span,.mcard[data-tier="royalty"] #m-progress-note{color:#D8C9AE}
.mcard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mcard-hello{font-weight:600}
.mcard-tier{font-family:var(--display);font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--matcha-deep)}
.mcard[data-tier="stars"] .mcard-tier{color:var(--honey)}
.mcard[data-tier="royalty"] .mcard-tier{color:#F2C462}
.mcard-stats{display:flex;gap:28px;margin:16px 0 6px}
.mcard-stats b{font-family:var(--display);font-size:1.5rem;font-weight:800}
.mcard-stats span{display:block;font-size:.8rem;color:var(--ink-3)}
.mcard-progress .bar{height:10px;border-radius:999px;background:rgba(0,0,0,.09);overflow:hidden;margin:10px 0 6px}
.mcard[data-tier="royalty"] .mcard-progress .bar{background:rgba(255,255,255,.15)}
.mcard-progress .fill{height:100%;border-radius:999px;background:var(--matcha);transition:width .6s var(--ease,ease)}
.mcard-progress p{font-size:.85rem;color:var(--ink-2)}
.mcard-bday{margin-top:12px;font-weight:600;font-size:.95rem}

.perk-list,.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.perk{background:var(--in);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:2px 12px}
.perk b{font-weight:600}
.perk span{grid-column:1;color:var(--ink-3);font-size:.85rem}
.perk em{grid-row:1/3;align-self:center;font-style:normal;font-size:.78rem;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--ground-3);color:var(--ink-2);white-space:nowrap}
.perk.avail em{background:var(--matcha-soft);color:var(--matcha-deep)}
.perk.always em{background:#F4E3BC;color:#8a6516}
.perk.used{opacity:.6}
.order{background:var(--in);border:1px solid var(--line);border-radius:14px;padding:10px 14px;display:flex;gap:12px;align-items:baseline}
.order time{color:var(--ink-3);font-size:.82rem;min-width:86px}
.order span{flex:1}
.order b{font-weight:600}

/* Admin */
.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.admin-list button{width:100%;text-align:left;background:var(--in);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:1rem var(--body);color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:10px}
.admin-list small{color:var(--ink-3)}
.admin-row{display:flex;gap:10px;margin:10px 0}
.admin-row input,.admin-row select{flex:1;font:1rem var(--body);padding:11px 13px;border-radius:12px;border:1px solid var(--line);background:var(--in);color:var(--ink);min-width:0}
.admin-back{margin-bottom:14px;display:inline-block}
.ok-note{color:var(--matcha-deep);font-size:.9rem;min-height:1.2em}
.danger{color:#B3261E}
