/* GYM UI refresh: additive, no backend changes */
#view-dashboard .stat-card,#view-dashboard .glass-card,.stat-card{transition:transform .2s ease,box-shadow .2s ease;border-radius:18px}
#view-dashboard .stat-card:hover,.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 35px #0002}
.gym-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.gym-toolbar select{background:var(--panel-glass,#171923);color:var(--text-main,#fff);border:1px solid #8885;border-radius:12px;padding:11px;min-height:42px}
.gym-count{font-size:.85rem;color:var(--text-sub,#aaa);margin-inline-start:auto}
.gym-table-wrap{overflow:auto;border:1px solid #8883;border-radius:18px;background:var(--panel-glass,#171923)}
.gym-table{width:100%;border-collapse:collapse;text-align:right;min-width:680px}
.gym-table th,.gym-table td{padding:15px 13px;border-bottom:1px solid #8882;vertical-align:middle}
.gym-table th{font-size:.82rem;color:var(--text-sub,#aaa);background:#8881;white-space:nowrap}
.gym-table tbody tr:hover{background:#8881}
.gym-table tbody tr:last-child td{border-bottom:0}
.gym-link{border:0;background:none;color:var(--accent-neon,#54d5ff);cursor:pointer;font:inherit;font-weight:700;text-align:right}
.gym-pill{display:inline-block;border-radius:99px;padding:5px 10px;font-size:.76rem;font-weight:700;background:#8882}
.gym-pill.Active{color:#34d399;background:#34d39920}
.gym-pill.Expired{color:#fb7185;background:#fb718520}
.gym-pill.Expiring-Soon{color:#fbbf24;background:#fbbf2420}
.gym-drawer-backdrop{position:fixed;inset:0;background:#0009;z-index:9998;opacity:0;pointer-events:none;transition:opacity .2s}
.gym-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:9999;background:var(--bg-dark,#101118);border-left:1px solid #8884;box-shadow:-12px 0 45px #0005;transform:translateX(105%);transition:transform .25s;overflow:auto;padding:24px;color:var(--text-main,#fff)}
.gym-drawer-backdrop.open{opacity:1;pointer-events:auto}.gym-drawer.open{transform:none}
.gym-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gym-drawer dl{display:grid;grid-template-columns:110px 1fr;gap:14px 10px;margin:24px 0}
.gym-drawer dt{color:var(--text-sub,#aaa)}.gym-drawer dd{margin:0;overflow-wrap:anywhere}
.gym-drawer-actions{display:flex;gap:9px;flex-wrap:wrap}
.gym-drawer-actions button,.gym-close{border:1px solid #8885;background:#8882;color:inherit;border-radius:11px;padding:11px 15px;cursor:pointer}
.gym-toast-stack{position:fixed;left:20px;bottom:20px;z-index:10050;display:grid;gap:9px;max-width:min(360px,calc(100vw - 40px))}
.gym-toast{padding:13px 17px;border-radius:13px;color:white;background:#22303b;box-shadow:0 8px 25px #0005;border-right:4px solid #38bdf8;animation:gym-in .2s ease}
.gym-toast.success{border-color:#34d399}.gym-toast.error{border-color:#fb7185}
@keyframes gym-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:700px){.gym-table{min-width:590px}.gym-table th,.gym-table td{padding:12px 9px}.gym-drawer{padding:18px}}

.gym-dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.gym-dashboard-heading h2{font-size:clamp(1.4rem,3vw,2rem);margin:4px 0;color:var(--text-bright,#fff)}
.gym-dashboard-heading p{margin:0;color:var(--text-sub,#aaa);font-size:.85rem}
#view-dashboard .stats-row{gap:16px}
#view-dashboard .glass-card{position:relative;overflow:hidden;border:1px solid #8883;transition:transform .2s,box-shadow .2s}
#view-dashboard .glass-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #0003}
#view-dashboard .card-value{font-variant-numeric:tabular-nums}

@media(max-width:700px){
#all-members-list .gym-table-wrap{overflow:visible;border:0;background:transparent}
#all-members-list .gym-table{display:block;width:100%;min-width:0}
#all-members-list .gym-table thead{display:none}
#all-members-list .gym-table tbody{display:grid;gap:12px}
#all-members-list .gym-table tr{display:grid;padding:8px 14px;border:1px solid #8884;border-radius:16px;background:var(--panel-glass)}
#all-members-list .gym-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #8882;min-width:0;text-align:left;overflow-wrap:anywhere}
#all-members-list .gym-table td:last-child{border:0}
#all-members-list .gym-table td::before{content:attr(data-label);flex:0 0 38%;font-size:.8rem;color:var(--text-sub);text-align:right}
#all-members-list .gym-table td>*{max-width:60%}
#all-members-list .gym-toolbar select{min-width:0;flex:1 1 110px}
#all-members-list .gym-count{flex:1 0 100%;text-align:right}
}
@media(max-width:900px){
html.gym-keyboard-open .login-box,html.gym-keyboard-open header.main-header,html.gym-keyboard-open aside.sidebar,html.gym-keyboard-open .glass-card,html.gym-keyboard-open .data-panel,html.gym-keyboard-open .modal-backdrop,html.gym-keyboard-open .btn-liquid{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important;animation:none!important}
html.gym-keyboard-open .modal-backdrop{align-items:flex-start;overflow-y:auto}
html.gym-keyboard-open .modal-glass-box{transform:none!important;transition:none!important;margin:auto 0}
html.gym-keyboard-open .login-wrapper{overflow-y:auto;align-items:flex-start}
html.gym-keyboard-open .login-box{margin:auto 0}
input,textarea,select{font-size:16px!important}
}

/* Accessible per-member quick actions, available in table and mobile cards. */
.gym-actions{position:relative;display:inline-block;text-align:right;min-width:120px}
.gym-actions summary{list-style:none;cursor:pointer;user-select:none;border:1px solid #8885;border-radius:10px;padding:9px 12px;background:#8882;font-size:.84rem;font-weight:700;color:var(--text-bright,#fff)}
.gym-actions summary::-webkit-details-marker{display:none}
.gym-actions summary:focus-visible,.gym-actions-menu button:focus-visible{outline:2px solid var(--accent-neon,#38bdf8);outline-offset:2px}
.gym-actions-menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;min-width:165px;background:var(--bg-dark,#11131c);border:1px solid #8885;border-radius:12px;box-shadow:0 12px 28px #0008;padding:5px;display:grid;gap:2px}
.gym-actions-menu button{background:transparent;border:0;color:var(--text-bright,#fff);text-align:right;padding:10px;border-radius:7px;cursor:pointer;font:inherit;font-size:.84rem;white-space:nowrap}
.gym-actions-menu button:hover{background:#8882}
.gym-actions-menu .gym-danger{color:#fb7185}
#all-members-list .gym-table-wrap{overflow:visible}
@media(max-width:700px){
#all-members-list .gym-table td[data-label="الإجراءات"]{align-items:flex-start}
#all-members-list .gym-table td[data-label="الإجراءات"] .gym-actions{max-width:60%;flex:1}
#all-members-list .gym-actions-menu{position:static;margin-top:5px;box-shadow:none;min-width:0;width:100%}
}

/* Keep mobile confirmations unobtrusive and away from bottom controls. */
@media (max-width:700px) {
  .gym-toast-stack { top:calc(env(safe-area-inset-top, 0px) + 10px); bottom:auto; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); pointer-events:none; }
  .gym-toast { padding:7px 11px; font-size:12px; line-height:1.35; border-radius:9px; box-shadow:0 3px 12px #0003; text-align:center; }
}
