/* ==========================================================================
   GymSofto — الشاشات الجديدة: الداشبورد، ساعات الذروة، البحث، ملف العضو، الواتساب
   + تأكيد (bold) للحاجات المهمة في الشاشات الحالية
   ========================================================================== */

:root {
    --gs-green: #16a34a;
    --gs-green-soft: #e8f6ee;
    --gs-orange: #d97706;
    --gs-orange-soft: #fff3e2;
    --gs-blue: #1d4fb8;
    --gs-blue-soft: #eaf1fd;
    --gs-wa: #25d366;
    --gs-wa-dark: #128c7e;
    --gs-card-r: 14px;
}

.gs-red { color: var(--gs-red) !important; }
.gs-muted { color: var(--gs-muted); }
.gs-flip { display: inline-block; }
html[dir="rtl"] .gs-flip { transform: scaleX(-1); }

/* ---------- عناصر عامة ---------- */
.gs-pill {
    display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px;
    font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; background: #f1f2f4; color: #3a404a;
}
.gs-pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .85; }
.gs-pill.is-xs { padding: 1px 8px; font-size: 11px; }
.gs-pill.is-xs::before { display: none; }
.gs-pill.is-green { background: var(--gs-green-soft); color: #177245; }
.gs-pill.is-orange { background: var(--gs-orange-soft); color: #b35c00; }
.gs-pill.is-red { background: var(--gs-red-soft); color: #b3262b; }
.gs-pill.is-blue { background: var(--gs-blue-soft); color: var(--gs-blue); }
.gs-pill.is-gray { background: #f1f2f4; color: #636b78; }
.gs-pill.is-dark { background: #141414; color: #fff; }
.gs-pill.is-dark::before { display: none; }

.gs-no { display: inline-block; font-size: 11.5px; font-weight: 700; color: var(--gs-red); background: var(--gs-red-soft); padding: 0 7px; border-radius: 6px; line-height: 1.7; font-variant-numeric: tabular-nums; vertical-align: middle; }
.gs-avatar {
    width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #2a2a2a, #111); color: #fff; font-weight: 700; font-size: 14px; letter-spacing: .3px;
}
.gs-avatar.is-sm { width: 32px; height: 32px; border-radius: 10px; font-size: 12px; }

.gs-spinner { display: inline-block; width: 26px; height: 26px; border-radius: 50%; border: 3px solid rgba(var(--gs-red-rgb, 213, 60, 65), .2); border-top-color: var(--gs-red); animation: gsSpin .7s linear infinite; }
.gs-spinner.is-xs { width: 14px; height: 14px; border-width: 2px; }
@keyframes gsSpin { to { transform: rotate(360deg); } }

.gs-empty { text-align: center; padding: 34px 16px; color: var(--gs-muted); }
.gs-empty .fa { font-size: 30px; color: #d4d7dd; display: block; margin-bottom: 8px; }
.gs-empty p { margin: 0; font-weight: 600; }
.gs-empty.is-sm { padding: 18px 10px; }
.gs-empty.is-page { background: var(--gs-surface); border: 1px dashed var(--gs-border-strong); border-radius: var(--gs-card-r); margin-top: 10px; }

.gs-bar { height: 6px; background: #eef0f3; border-radius: 99px; overflow: hidden; margin-top: 8px; }
.gs-bar > span { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--gs-red), #ef7a7e); animation: gsGrow .9s var(--gs-ease) both; transform-origin: left; }
html[dir="rtl"] .gs-bar > span { background: linear-gradient(270deg, var(--gs-red), #ef7a7e); transform-origin: right; }
.gs-bar.is-orange > span { background: linear-gradient(90deg, #f59e0b, #d97706); }
@keyframes gsGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.gs-link { font-weight: 700; font-size: 13px; color: var(--gs-red) !important; display: inline-flex; align-items: center; gap: 4px; }

/* ---------- الواتساب ---------- */
.gs-wa {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 34px; padding: 0 14px;
    border-radius: 10px; background: var(--gs-wa); color: #fff !important; font-weight: 700; font-size: 13px; border: 0;
    box-shadow: 0 6px 14px rgba(37, 211, 102, .28); transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease; cursor: pointer;
}
.gs-wa .fa { font-size: 17px; }
.gs-wa:hover { background: var(--gs-wa-dark); transform: translateY(-1px); box-shadow: 0 10px 20px rgba(18, 140, 126, .3); color: #fff !important; }
.gs-wa.is-sm { width: 34px; padding: 0; }
.gs-wa.is-off { background: #e5e7eb; color: #9ca3af !important; box-shadow: none; cursor: not-allowed; width: 34px; padding: 0; }
.gs-wa-group { display: inline-flex; }
.gs-wa-group > .gs-wa:first-child { border-start-end-radius: 0; border-end-end-radius: 0; }
.gs-wa-group > .gs-wa-more { width: 32px; padding: 0; border-start-start-radius: 0; border-end-start-radius: 0; border-inline-start: 1px solid rgba(255, 255, 255, .35); }
.gs-wa-menu { min-width: 230px; inset-inline-end: 0; inset-inline-start: auto; top: calc(100% + 6px); }
html[dir="ltr"] .gs-wa-menu { right: 0; left: auto; }
html[dir="rtl"] .gs-wa-menu { left: 0; right: auto; }
.gs-wa-menu .dropdown-item .fa { width: 16px; color: var(--gs-wa-dark); }
.gs-wa-menu .dropdown-item:active .fa { color: #fff; }

/* ---------- البحث اللي فوق ---------- */
.gs-search { position: relative; flex: 0 1 380px; min-width: 0; }
.gs-search-toggle { display: none; }
.gs-search-field { position: relative; display: flex; align-items: center; }
.gs-search-field input {
    width: 100%; height: 40px; border: 1px solid var(--gs-border); border-radius: 12px; background: #f6f7f9;
    padding-inline-start: 38px; padding-inline-end: 40px; font-size: 13.5px; color: var(--gs-text); outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.gs-search-field input::-webkit-search-cancel-button { display: none; }
.gs-search-field input:focus { background: #fff; border-color: var(--gs-red); box-shadow: 0 0 0 4px var(--gs-accent-ring); }
.gs-search-ic { position: absolute; inset-inline-start: 14px; color: var(--gs-red); font-size: 14px; pointer-events: none; }
.gs-search kbd { position: absolute; inset-inline-end: 10px; font-family: inherit; font-size: 11px; font-weight: 700; color: #8a909a; background: #fff; border: 1px solid var(--gs-border); border-bottom-width: 2px; border-radius: 6px; padding: 0 6px; box-shadow: none; }
.gs-search .gs-spinner { position: absolute; inset-inline-end: 12px; display: none; }
.gs-search.is-loading .gs-spinner { display: inline-block; }
.gs-search.is-loading kbd { display: none; }
.gs-search-results {
    position: absolute; top: calc(100% + 8px); inset-inline-start: 0; inset-inline-end: 0; z-index: 1050;
    background: #fff; border: 1px solid var(--gs-border); border-radius: 14px; box-shadow: 0 18px 40px rgba(16, 24, 40, .16);
    padding: 6px; display: none; max-height: 420px; overflow-y: auto; min-width: 320px;
}
.gs-search-results.is-open { display: block; animation: gsPop .16s var(--gs-ease) both; transform-origin: top; }
.gs-search-item {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 0; background: transparent;
    border-radius: 10px; text-align: start; cursor: pointer; color: var(--gs-text);
}
.gs-search-item:hover, .gs-search-item.is-active { background: #fff4f4; }
.gs-search-main { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.35; }
.gs-search-main b { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-search-main small { color: var(--gs-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-search-empty { padding: 14px; color: var(--gs-muted); font-weight: 600; text-align: center; }

@media (max-width: 991.98px) {
    .gs-search { flex: 0 0 auto; position: static; }
    .gs-search-toggle { display: inline-flex; }
    .gs-search-field { display: none; position: absolute; top: calc(var(--gs-top-h) - 2px); inset-inline-start: 0; inset-inline-end: 0; padding: 8px 12px; background: #fff; border-bottom: 1px solid var(--gs-border); box-shadow: 0 10px 20px rgba(0,0,0,.06); z-index: 5; }
    .gs-search.is-expanded .gs-search-field { display: flex; }
    .gs-search-ic { inset-inline-start: 26px; }
    .gs-search .gs-spinner { inset-inline-end: 24px; }
    .gs-search-results { top: calc(var(--gs-top-h) + 54px); inset-inline-start: 8px; inset-inline-end: 8px; min-width: 0; position: absolute; }
}

/* ---------- شريط الأدوات (الفترات والفرع) ---------- */
.gs-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; }
.gs-toolbar-end { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-inline-start: auto; }
.gs-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: #fff; border: 1px solid var(--gs-border); border-radius: 12px; box-shadow: var(--gs-shadow-sm); }
.gs-seg button {
    border: 0; background: transparent; height: 34px; padding: 0 14px; border-radius: 9px; font-weight: 700; font-size: 13px;
    color: #4b5260; cursor: pointer; transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; white-space: nowrap;
}
.gs-seg button:hover { background: #f4f4f5; color: var(--gs-text); }
.gs-seg button.is-on { background: #141414; color: #fff; box-shadow: 0 6px 14px rgba(0, 0, 0, .18); }
.gs-seg.is-sm button { height: 30px; padding: 0 12px; font-size: 12.5px; }
.gs-seg.is-sm button.is-on { background: var(--gs-red); box-shadow: 0 6px 14px rgba(var(--gs-red-rgb, 213, 60, 65), .3); }
.gs-range { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--gs-muted); font-weight: 600; white-space: nowrap; }
.gs-range .fa { color: var(--gs-red); }
.gs-select-wrap { position: relative; display: inline-flex; align-items: center; }
.gs-select-wrap .fa { position: absolute; inset-inline-start: 12px; color: var(--gs-red); pointer-events: none; }
.gs-select-wrap select {
    height: 40px; min-width: 170px; border: 1px solid var(--gs-border); border-radius: 12px; background: #fff; font-weight: 700; font-size: 13px;
    padding-inline-start: 32px; padding-inline-end: 12px; color: var(--gs-text); outline: none; box-shadow: var(--gs-shadow-sm); cursor: pointer;
}
.gs-select-wrap select:focus { border-color: var(--gs-red); box-shadow: 0 0 0 4px var(--gs-accent-ring); }
.gs-select-wrap.is-sm select { height: 34px; min-width: 0; font-size: 12.5px; border-radius: 10px; }
.gs-toolbar .gs-icon-btn { height: 40px; width: 40px; border-radius: 12px; }

/* ---------- كروت الأرقام ---------- */
.gs-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 16px; margin-bottom: 18px; }
.gs-kpi {
    position: relative; overflow: hidden; background: #fff; border: 1px solid var(--gs-border); border-radius: var(--gs-card-r);
    padding: 16px 18px 14px; box-shadow: var(--gs-shadow-sm); animation: gsRise .55s var(--gs-ease) both;
    transition: transform .25s var(--gs-ease), box-shadow .25s ease, border-color .25s ease;
}
.gs-kpi::after { content: ''; position: absolute; width: 140px; height: 140px; border-radius: 50%; top: -70px; inset-inline-end: -50px; background: radial-gradient(circle, rgba(var(--gs-red-rgb, 213, 60, 65), .08), transparent 70%); pointer-events: none; }
.gs-kpi:hover { transform: translateY(-3px); box-shadow: var(--gs-shadow-lg); }
.gs-kpi.is-click { cursor: pointer; }
.gs-kpi.is-click:hover { border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .45); }
.gs-kpi-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.gs-kpi-ic { width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; background: #f3f4f6; color: #141414; }
.gs-kpi-label { font-size: 13px; font-weight: 700; color: var(--gs-muted); }
.gs-kpi-val { font-size: 26px; font-weight: 800; color: var(--gs-text); line-height: 1.25; margin: 2px 0 4px; font-variant-numeric: tabular-nums; letter-spacing: -.3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-kpi-val.is-text { font-size: 21px; }
.gs-kpi-sub { font-size: 12.5px; color: var(--gs-muted); }
.gs-kpi-sub b { color: var(--gs-text); font-weight: 700; }
.gs-kpi.is-hero { background: linear-gradient(135deg, #1b1b1b 0%, #0e0e0e 100%); border-color: #1b1b1b; color: #fff; }
.gs-kpi.is-hero::after { background: radial-gradient(circle, rgba(var(--gs-red-rgb, 213, 60, 65), .45), transparent 70%); width: 190px; height: 190px; top: -80px; }
.gs-kpi.is-hero .gs-kpi-ic { background: var(--gs-red); color: #fff; box-shadow: 0 8px 18px rgba(var(--gs-red-rgb, 213, 60, 65), .45); }
.gs-kpi.is-hero .gs-kpi-label, .gs-kpi.is-hero .gs-kpi-sub { color: #b9bcc2; }
.gs-kpi.is-hero .gs-kpi-val, .gs-kpi.is-hero .gs-kpi-sub b { color: #fff; }
.gs-kpi.is-warn .gs-kpi-ic { background: var(--gs-orange-soft); color: var(--gs-orange); }
.gs-kpi.is-alert .gs-kpi-ic { background: var(--gs-red-soft); color: var(--gs-red); }
.gs-kpi.is-alert .gs-kpi-val { color: var(--gs-red); }
.gs-split { height: 5px; border-radius: 99px; background: #3b82f6; overflow: hidden; margin-top: 10px; }
.gs-split > span { display: block; height: 100%; background: var(--gs-green); animation: gsGrow .9s var(--gs-ease) both; transform-origin: left; }
html[dir="rtl"] .gs-split > span { transform-origin: right; }
.gs-delta { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 800; padding: 2px 8px; border-radius: 999px; }
.gs-delta .fa { font-size: 10px; }
.gs-delta.is-up { background: var(--gs-green-soft); color: #177245; }
.gs-delta.is-down { background: var(--gs-red-soft); color: #b3262b; }
.gs-delta.is-flat { background: #f1f2f4; color: #636b78; }
.gs-kpi.is-hero .gs-delta.is-up { background: rgba(22, 163, 74, .2); color: #7ee2a4; }
.gs-kpi.is-hero .gs-delta.is-down { background: rgba(var(--gs-red-rgb, 213, 60, 65), .25); color: #ff9a9d; }

/* ---------- البانلز ---------- */
.gs-dash-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.gs-span-2 { grid-column: span 2; }
.gs-panel {
    background: #fff; border: 1px solid var(--gs-border); border-radius: var(--gs-card-r); padding: 16px 18px 18px;
    box-shadow: var(--gs-shadow-sm); margin-bottom: 16px; min-width: 0; animation: gsRise .6s var(--gs-ease) both; animation-delay: .12s;
}
.gs-dash-grid > .gs-panel { margin-bottom: 0; }
.gs-panel[hidden] { display: none !important; }
.gs-panel-head { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.gs-panel-title { margin: 0; font-size: 16px; font-weight: 800; color: var(--gs-text); display: flex; align-items: center; gap: 8px; }
.gs-panel-sub { margin: 2px 0 0; font-size: 12.5px; color: var(--gs-muted); }
.gs-panel-tools { display: flex; align-items: center; gap: 8px; }
.gs-panel-hint { margin: -2px 0 10px; font-size: 12.5px; color: var(--gs-muted); }
.gs-chart { min-height: 300px; }
.gs-chart.is-sm { min-height: 210px; }
.gs-dash.is-loading .gs-kpis, .gs-dash.is-loading .gs-panel { opacity: .55; transition: opacity .2s ease; }

.gs-live-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--gs-green); box-shadow: 0 0 0 0 rgba(22, 163, 74, .5); animation: gsLive 1.8s ease-out infinite; }
@keyframes gsLive { 0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, .5); } 100% { box-shadow: 0 0 0 10px rgba(22, 163, 74, 0); } }

.gs-breakdown { margin-top: 6px; }
.gs-bk-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #eceef1; font-size: 13.5px; }
.gs-bk-row i { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.gs-bk-row span { flex: 1; color: #3a404a; font-weight: 600; }
.gs-bk-row small { color: var(--gs-muted); font-weight: 600; }
.gs-bk-row b { font-weight: 800; font-variant-numeric: tabular-nums; }
.gs-bk-row.is-total { border-bottom: 0; padding-top: 10px; }
.gs-bk-row.is-total span { font-weight: 800; color: var(--gs-text); }

/* التابات */
.gs-tabs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gs-tabs button {
    border: 1px solid transparent; background: transparent; height: 36px; padding: 0 14px; border-radius: 10px; font-weight: 700; font-size: 13px;
    color: #4b5260; display: inline-flex; align-items: center; gap: 7px; cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.gs-tabs button:hover { background: #f4f4f5; }
.gs-tabs button em { font-style: normal; font-size: 11.5px; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 99px; background: #eef0f3; color: #4b5260; display: inline-flex; align-items: center; justify-content: center; }
.gs-tabs button.is-on { background: #141414; color: #fff; }
.gs-tabs button.is-on em { background: var(--gs-red); color: #fff; }

/* قوايم الأشخاص */
.gs-people { display: flex; flex-direction: column; gap: 8px; max-height: 520px; overflow-y: auto; padding: 2px; }
.gs-person {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #eef0f3; border-radius: 12px; background: #fff;
    animation: gsRise .45s var(--gs-ease) both; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.gs-person:hover { border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .35); box-shadow: var(--gs-shadow-md); background: #fffafa; }
.gs-person-main { flex: 1; min-width: 0; }
.gs-person-name { font-weight: 800; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-person-name a { color: var(--gs-text); }
.gs-person-name a:hover { color: var(--gs-red); }
.gs-person-meta { font-size: 12.5px; color: var(--gs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-person-meta b { color: #3a404a; }
.gs-person-end { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.gs-people.is-compact .gs-person { padding: 8px 10px; border-radius: 10px; }
.gs-time { font-variant-numeric: tabular-nums; font-size: 13px; }

/* ---------- ساعات الذروة ---------- */
.gs-peak-wrap { overflow-x: auto; padding-bottom: 4px; }
.gs-peak-grid { display: grid; gap: 4px; min-width: 640px; }
.gs-peak-h { font-size: 11px; font-weight: 700; color: var(--gs-muted); text-align: center; white-space: nowrap; padding-bottom: 4px; }
.gs-peak-d { font-size: 12.5px; font-weight: 800; color: #3a404a; display: flex; align-items: center; padding-inline-end: 8px; white-space: nowrap; }
.gs-peak-c {
    --a: 0; height: 38px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
    font-size: 11.5px; font-weight: 800; color: #7a2a2d; font-variant-numeric: tabular-nums;
    background: rgba(var(--gs-red-rgb, 213, 60, 65), var(--a)); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .03);
    animation: gsCell .5s var(--gs-ease) both; transition: transform .15s ease, box-shadow .15s ease; cursor: default;
}
.gs-peak-c.is-dark { color: #fff; }
.gs-peak-c[style^="--a:0;"] { background: #f5f6f8; }
.gs-peak-c:hover { transform: scale(1.12); box-shadow: 0 8px 16px rgba(var(--gs-red-rgb, 213, 60, 65), .3); position: relative; z-index: 2; }
.gs-peak-c.is-peak { outline: 2px solid #141414; outline-offset: 2px; animation: gsCell .5s var(--gs-ease) both, gsPeak 2.2s ease-in-out 1s infinite; }
@keyframes gsCell { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
@keyframes gsPeak { 0%, 100% { box-shadow: 0 0 0 0 rgba(var(--gs-red-rgb, 213, 60, 65), .45); } 50% { box-shadow: 0 0 0 8px rgba(var(--gs-red-rgb, 213, 60, 65), 0); } }
.gs-heat-legend { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: var(--gs-muted); }
.gs-heat-legend.is-scale i { --a: .5; width: 18px; height: 12px; border-radius: 4px; background: rgba(var(--gs-red-rgb, 213, 60, 65), var(--a)); display: inline-block; }
.gs-insight { margin: 14px 0 0; padding: 10px 14px; border-radius: 12px; background: #fff7f7; border: 1px solid rgba(var(--gs-red-rgb, 213, 60, 65), .18); font-size: 13.5px; color: #3a404a; }
.gs-insight .fa { color: var(--gs-red); margin-inline-end: 6px; font-size: 16px; }
.gs-insight[hidden] { display: none; }
.gs-days { display: flex; flex-direction: column; gap: 10px; padding-top: 6px; }
.gs-day { display: grid; grid-template-columns: 84px 1fr 44px; align-items: center; gap: 10px; font-size: 13px; }
.gs-day-name { font-weight: 700; color: #3a404a; }
.gs-day b { text-align: end; font-variant-numeric: tabular-nums; }
.gs-day-bar { height: 12px; border-radius: 99px; background: #f1f2f4; overflow: hidden; }
.gs-day-bar > span { display: block; height: 100%; border-radius: 99px; background: #2a2a2a; animation: gsGrow .8s var(--gs-ease) both; transform-origin: left; }
html[dir="rtl"] .gs-day-bar > span { transform-origin: right; }
.gs-day.is-top .gs-day-bar > span { background: linear-gradient(90deg, var(--gs-red), #ef7a7e); }
.gs-day.is-top .gs-day-name, .gs-day.is-top b { color: var(--gs-red); }

/* ---------- مودال ملف العضو ---------- */
.gs-member-modal .modal-xl { max-width: 1080px; }
.gs-member-modal .modal-content { border-radius: 18px; overflow: hidden; }
.gs-mm-head {
    position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 16px; padding: 22px 24px;
    background: radial-gradient(120% 160% at 0% 0%, rgba(var(--gs-red-rgb, 213, 60, 65), .45), transparent 55%), linear-gradient(135deg, #1b1b1b, #0c0c0c);
    color: #fff;
}
html[dir="rtl"] .gs-mm-head { background: radial-gradient(120% 160% at 100% 0%, rgba(var(--gs-red-rgb, 213, 60, 65), .45), transparent 55%), linear-gradient(225deg, #1b1b1b, #0c0c0c); }
.gs-mm-avatar {
    width: 68px; height: 68px; border-radius: 20px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
    font-size: 24px; font-weight: 800; background: linear-gradient(135deg, var(--gs-red), #8e1f23); color: #fff;
    box-shadow: 0 12px 28px rgba(var(--gs-red-rgb, 213, 60, 65), .45), inset 0 0 0 2px rgba(255, 255, 255, .15);
}
.gs-mm-id { flex: 1; min-width: 220px; }
.gs-mm-name { font-size: 22px; font-weight: 800; line-height: 1.3; }
.gs-mm-status { margin: 4px 0 8px; display: flex; gap: 6px; flex-wrap: wrap; }
.gs-mm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gs-chip-dark {
    display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .07); color: #d6d8dc !important; font-size: 12.5px; cursor: default; transition: background-color .2s ease;
}
.gs-chip-dark b { color: #fff; font-weight: 700; }
.gs-chip-dark .fa { color: #ff8b8f; }
a.gs-chip-dark, button.gs-chip-dark { cursor: pointer; }
a.gs-chip-dark:hover, button.gs-chip-dark:hover { background: rgba(255, 255, 255, .14); }
.gs-copy.is-copied { background: var(--gs-green) !important; border-color: var(--gs-green); }
.gs-mm-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gs-mm-btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 10px; font-weight: 700; font-size: 13px; background: rgba(255, 255, 255, .1); color: #fff !important; border: 1px solid rgba(255, 255, 255, .15); }
.gs-mm-btn:hover { background: rgba(255, 255, 255, .18); }
.gs-mm-close { position: absolute; top: 12px; inset-inline-end: 14px; color: #fff !important; opacity: .7; text-shadow: none; font-size: 26px; margin: 0 !important; padding: 0 !important; }
.gs-mm-close:hover { opacity: 1; }
.gs-mm-head .gs-mm-actions { margin-inline-end: 28px; }
.gs-mm-head.is-loading .gs-mm-name, .gs-mm-head.is-loading .gs-mm-avatar { opacity: .4; }
.gs-member-modal .modal-header::after { display: none; }
.gs-mm-body { padding: 20px 24px 24px !important; background: #f7f8fa; }
.gs-mm-loading { display: flex; justify-content: center; padding: 60px 0; }

.gs-mm-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.gs-mm-kpi { position: relative; background: #fff; border: 1px solid var(--gs-border); border-radius: 12px; padding: 12px 14px; animation: gsRise .45s var(--gs-ease) both; min-width: 0; }
.gs-mm-kpi:nth-child(2) { animation-delay: .04s; } .gs-mm-kpi:nth-child(3) { animation-delay: .08s; } .gs-mm-kpi:nth-child(4) { animation-delay: .12s; } .gs-mm-kpi:nth-child(5) { animation-delay: .16s; } .gs-mm-kpi:nth-child(6) { animation-delay: .2s; }
.gs-mm-kpi > .fa { position: absolute; top: 12px; inset-inline-end: 12px; color: #d4d7dd; font-size: 15px; }
.gs-mm-kpi small { display: block; font-size: 12px; font-weight: 700; color: var(--gs-muted); }
.gs-mm-kpi b { display: block; font-size: 19px; font-weight: 800; color: var(--gs-text); margin: 2px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.gs-mm-kpi span { display: block; font-size: 11.5px; color: var(--gs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-mm-kpi.is-warn { border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .35); background: #fffafa; }
.gs-mm-kpi.is-warn b, .gs-mm-kpi.is-warn > .fa { color: var(--gs-red); }
.gs-mm-kpi.is-ok b { color: #177245; }

.gs-mm-body .gs-tabs { margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--gs-border); }
.gs-tab-pane { display: none; }
.gs-tab-pane.is-on { display: block; animation: gsFade .25s ease both; }
.gs-mm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gs-mm-card { background: #fff; border: 1px solid var(--gs-border); border-radius: 14px; padding: 16px 18px; min-width: 0; }
.gs-mm-card.is-wide { grid-column: 1 / -1; }
.gs-mm-card h6 { font-size: 14px; font-weight: 800; margin: 0 0 12px; color: var(--gs-text); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gs-mm-card h6 em { font-style: normal; font-size: 12px; color: var(--gs-muted); font-weight: 700; }
.gs-mm-plan { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.gs-mm-plan b { font-size: 16px; font-weight: 800; }
.gs-mm-range { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gs-mm-range span { display: flex; flex-direction: column; }
.gs-mm-range small { font-size: 11.5px; color: var(--gs-muted); font-weight: 700; }
.gs-mm-range b { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.gs-mm-range .fa { color: #c9ccd2; font-size: 20px; }
.gs-dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; margin: 14px 0 0; font-size: 13.5px; }
.gs-dl dt { color: var(--gs-muted); font-weight: 600; }
.gs-dl dd { margin: 0; text-align: end; color: var(--gs-text); min-width: 0; overflow-wrap: anywhere; }
.gs-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gs-notes small { display: block; font-size: 12px; font-weight: 700; color: var(--gs-muted); margin-bottom: 4px; }
.gs-notes p { margin: 0; padding: 10px 12px; border-radius: 10px; background: #f7f8fa; min-height: 44px; white-space: pre-wrap; font-size: 13.5px; }

.gs-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--gs-border); border-radius: 14px; margin-top: 14px; }
.gs-tab-pane > .gs-table-wrap:first-child { margin-top: 0; }
.gs-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.gs-table th { background: #fafafa; color: #3a404a; font-weight: 700; font-size: 12.5px; padding: 11px 14px; white-space: nowrap; border-bottom: 1px solid var(--gs-border); text-align: start; }
.gs-table td { padding: 11px 14px; border-bottom: 1px solid #f0f1f3; white-space: nowrap; text-align: start; }
.gs-table tbody tr:last-child td { border-bottom: 0; }
.gs-table tbody tr { transition: background-color .15s ease; }
.gs-table tbody tr:hover td { background: rgba(var(--gs-red-rgb, 213, 60, 65), .05); }

.gs-timeline { list-style: none; margin: 0; padding: 4px 0; position: relative; }
.gs-timeline::before { content: ''; position: absolute; top: 8px; bottom: 8px; inset-inline-start: 11px; width: 2px; background: #e8eaee; }
.gs-timeline li { position: relative; display: flex; gap: 14px; padding: 8px 0; animation: gsRise .4s var(--gs-ease) both; }
.gs-tl-dot { width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0; background: #fff; border: 3px solid var(--gs-red); position: relative; z-index: 1; box-shadow: 0 0 0 4px #f7f8fa; }
.gs-timeline li div { background: #fff; border: 1px solid var(--gs-border); border-radius: 12px; padding: 10px 14px; flex: 1; }
.gs-timeline b { font-size: 15px; font-weight: 800; margin-inline-end: 6px; }
.gs-timeline small { display: block; color: var(--gs-muted); font-size: 12px; margin-top: 2px; }

.gs-heat-card { margin-bottom: 0; }
.gs-heat { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
.gs-heat-days { display: grid; grid-template-rows: repeat(7, 14px); gap: 3px; font-size: 10.5px; color: var(--gs-muted); }
.gs-heat-days b { font-weight: 700; line-height: 14px; white-space: nowrap; }
.gs-heat-grid { display: flex; gap: 3px; }
.gs-heat-grid > span { display: grid; grid-template-rows: repeat(7, 14px); gap: 3px; }
.gs-heat-grid i, .gs-heat-legend i { width: 14px; height: 14px; border-radius: 4px; background: #eef0f3; display: inline-block; }
.gs-heat-grid i.l1, .gs-heat-legend i.l1 { background: rgba(var(--gs-red-rgb, 213, 60, 65), .35); }
.gs-heat-grid i.l2, .gs-heat-legend i.l2 { background: rgba(var(--gs-red-rgb, 213, 60, 65), .65); }
.gs-heat-grid i.l3, .gs-heat-legend i.l3 { background: var(--gs-red); }
.gs-heat-grid i.is-future { background: transparent; }
.gs-heat-grid i:not(.is-future):hover { outline: 2px solid #141414; outline-offset: 1px; }
.gs-heat-card .gs-heat-legend { margin-top: 10px; }
.gs-heat-card .gs-heat-legend i { width: 12px; height: 12px; }

@media (max-width: 1199.98px) {
    .gs-dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gs-mm-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .gs-dash-grid { grid-template-columns: minmax(0, 1fr); }
    .gs-span-2 { grid-column: auto; }
    .gs-toolbar-end { margin-inline-start: 0; width: 100%; }
    .gs-seg { width: 100%; }
    .gs-seg button { flex: 1 1 auto; padding: 0 10px; }
    .gs-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .gs-kpi { padding: 12px; }
    .gs-kpi-val { font-size: 20px; }
    .gs-member-modal .modal-dialog { margin: 0; max-width: none; min-height: 100%; }
    .gs-member-modal .modal-content { border-radius: 0; min-height: 100vh; }
    .gs-mm-head { padding: 18px 16px; }
    .gs-mm-avatar { width: 54px; height: 54px; font-size: 19px; border-radius: 16px; }
    .gs-mm-name { font-size: 18px; }
    .gs-mm-body { padding: 14px !important; }
    .gs-mm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gs-mm-grid, .gs-notes { grid-template-columns: minmax(0, 1fr); }
    .gs-person { flex-wrap: wrap; }
    .gs-person-end { width: 100%; justify-content: flex-end; }
}

/* ---------- تسجيل حضور / فتح الميدالية ---------- */
.gs-mm-btn.is-attend {
    background: #fff; color: #141414 !important; border-color: #fff; box-shadow: 0 8px 20px rgba(0, 0, 0, .25); cursor: pointer;
}
.gs-mm-btn.is-attend .fa { color: var(--gs-green); font-size: 16px; }
.gs-mm-btn.is-attend:hover { background: #f1fdf5; transform: translateY(-1px); }
.gs-mm-btn { transition: transform .15s ease, background-color .2s ease; }
.gs-mm-btn.is-light { background: #f3f4f6; color: var(--gs-text) !important; border-color: var(--gs-border); cursor: pointer; }
.gs-mm-btn.is-light:hover { background: #e9eaee; }
.gs-medal-view {
    position: absolute; inset: 0; z-index: 20; display: none; flex-direction: column; align-items: center;
    background: rgba(247, 248, 250, .98); padding: 14px 16px 18px; overflow-y: auto;
}
.gs-medal-view.is-open { display: flex; animation: gsFade .2s ease both; }
.gs-medal-bar { width: 100%; max-width: 460px; display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.gs-medal-bar b { flex: 1; font-size: 15px; font-weight: 800; }
.gs-medal-bar b .fa { color: var(--gs-red); }
.gs-medal-hint { width: 100%; max-width: 460px; margin: 0 0 10px; font-size: 12.5px; color: var(--gs-muted); }
.gs-medal-hint .fa { color: var(--gs-red); }
.gs-medal-phone {
    position: relative; width: 100%; max-width: 420px; flex: 1; min-height: 560px; border-radius: 28px; overflow: hidden;
    background: #111; border: 8px solid #111; box-shadow: 0 24px 50px rgba(0, 0, 0, .3);
}
.gs-medal-phone iframe { width: 100%; height: 100%; min-height: 544px; border: 0; background: #fff; display: block; }
.gs-medal-phone .gs-spinner { position: absolute; top: 50%; left: 50%; margin: -13px 0 0 -13px; display: none; }
.gs-medal-phone.is-loading .gs-spinner { display: block; }
.gs-medal-phone.is-loading iframe { opacity: .2; }
.gs-mm-kpis.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- [التجميد] ---------- */
.gs-mm-btn.is-freeze { background: #e0f2fe; color: #075985 !important; border-color: #bae6fd; cursor: pointer; }
.gs-mm-btn.is-freeze .fa { color: #0284c7; font-size: 15px; }
.gs-mm-btn.is-freeze:hover { background: #f0f9ff; transform: translateY(-1px); }
.gs-fz-card h6 .fa { color: #0284c7; }
.gs-fz-now { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: #f0f9ff; border: 1px solid #bae6fd; margin-bottom: 12px; }
.gs-fz-now > .fa { font-size: 22px; color: #0284c7; margin-top: 2px; }
.gs-fz-now.is-scheduled { background: #fff7ed; border-color: #fed7aa; }
.gs-fz-now.is-scheduled > .fa { color: #ea580c; }
.gs-fz-now b { display: block; font-size: 14.5px; }
.gs-fz-now small { display: block; font-size: 12.5px; color: var(--gs-muted); font-weight: 600; }
.gs-fz-use { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 700; color: var(--gs-muted); margin-bottom: 6px; }
.gs-fz-use b { color: var(--gs-text); }
.gs-fz-left { margin: 6px 0 0; font-size: 12.5px; color: var(--gs-muted); font-weight: 600; }
.gs-fz-reason { margin: 8px 0 0; font-size: 12.5px; color: #92400e; background: #fffbeb; border-radius: 10px; padding: 8px 10px; }
.gs-fz-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }
.gs-fz-list li { padding: 9px 12px; border: 1px solid var(--gs-border); border-radius: 10px; background: #fff; }
.gs-fz-list b { font-size: 13px; }
.gs-fz-list small { display: block; font-size: 12px; color: var(--gs-muted); font-weight: 600; margin-top: 2px; }
.gs-fz-list p { margin: 4px 0 0; font-size: 12.5px; color: #3a404a; white-space: pre-wrap; overflow-wrap: anywhere; }
.gs-fz-view {
    position: absolute; inset: 0; z-index: 21; display: none; flex-direction: column; align-items: center; justify-content: flex-start;
    background: rgba(247, 248, 250, .98); padding: 14px 16px 18px; overflow-y: auto;
}
.gs-fz-view.is-open { display: flex; animation: gsFade .2s ease both; }
.gs-fz-form { width: 100%; max-width: 480px; background: #fff; border: 1px solid var(--gs-border); border-radius: 18px; padding: 16px; box-shadow: 0 18px 40px rgba(0, 0, 0, .12); margin-top: 8px; }
.gs-fz-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.gs-fz-head b { flex: 1; font-size: 16px; font-weight: 800; }
.gs-fz-head b .fa { color: #0284c7; }
.gs-fz-sub { font-size: 12.5px; color: var(--gs-muted); margin: 0 0 12px; }
.gs-fz-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.gs-fz-form label { display: block; margin: 0 0 10px; }
.gs-fz-form label > span { display: block; font-size: 12.5px; font-weight: 700; color: var(--gs-muted); margin-bottom: 4px; }
.gs-fz-preview { display: grid; gap: 6px; padding: 10px 12px; border-radius: 12px; background: #f8fafc; border: 1px dashed #cbd5e1; font-size: 13px; min-height: 40px; }
.gs-fz-preview > div { display: flex; justify-content: space-between; gap: 10px; }
.gs-fz-preview span { color: var(--gs-muted); font-weight: 600; }
.gs-fz-preview em { font-style: normal; color: #0284c7; }
.gs-fz-acts { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.gs-fz-acts .gs-mm-btn.is-attend { border-color: #0284c7; background: #0284c7; color: #fff !important; }
.gs-fz-acts .gs-mm-btn.is-attend .fa { color: #fff; }
.gs-fz-acts .gs-mm-btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
@media (max-width: 575.98px) { .gs-fz-fields { grid-template-columns: minmax(0, 1fr); } }

/* ---------- الموبايل: الشريط العلوي أنضف ومش زحمة ---------- */
@media (max-width: 575.98px) {
    .gs-topbar { gap: 6px; padding: 0 8px; }
    .gs-topbar .gs-title-icon, .gs-topbar .gs-crumb { display: none; }
    .gs-topbar .gs-page-title { font-size: 15px; }
    .gs-topbar .gs-icon-btn { width: 36px; height: 36px; border-radius: 10px; }
    .gs-topbar-end { gap: 6px; }
    .gs-lang-btn { min-width: 30px; height: 30px; padding: 0 6px; font-size: 12px; }
    .gs-user-btn { padding: 0 2px; gap: 4px; }
    .gs-user-btn .fa-angle-down { display: none; }
    .gs-user-btn .gs-user-avatar { width: 32px; height: 32px; }
    .gs-mm-actions { width: 100%; margin-inline-end: 0 !important; }
    .gs-mm-actions > * { flex: 1 1 auto; justify-content: center; }
    .gs-wa-group { display: flex; }
    .gs-wa-group > .gs-wa:first-child { flex: 1; }
    .gs-mm-kpis.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gs-mm-body .gs-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .gs-mm-body .gs-tabs button { white-space: nowrap; }
    .gs-medal-view { padding: 10px; }
    .gs-medal-phone { border-width: 0; border-radius: 14px; min-height: 70vh; }
    .gs-medal-phone iframe { min-height: 70vh; }
    .gs-toolbar { gap: 8px; }
    .gs-toolbar-end > * { flex: 1 1 auto; }
    .gs-select-wrap select { width: 100%; }
    .gs-range { width: 100%; justify-content: center; }
    .gs-panel { padding: 14px 12px; }
    .gs-person-meta { white-space: normal; }
}

/* ---------- الشاشات الحالية: bold للحاجات المهمة (شكل بس) ---------- */
.gs-admin table.dataTable tbody td:first-child { font-weight: 700; }           /* أول عمود = الاسم في أغلب الجداول */
.gs-admin table.dataTable tbody td:first-child a { font-weight: 700; }
.gs-name-link { color: var(--gs-text) !important; font-weight: 700; border-bottom: 1px dashed rgba(var(--gs-red-rgb, 213, 60, 65), .5); }
.gs-name-link:hover { color: var(--gs-red) !important; border-bottom-style: solid; }
.gs-admin .card-body h1, .gs-admin .card-body h2, .gs-admin .card-body h3, .gs-admin .card-body h4, .gs-admin .card-body h5,
.gs-admin .card-body [id] > b, .gs-admin .card-body span[id] { font-weight: 800; font-variant-numeric: tabular-nums; }
.gs-admin .card-header { font-weight: 700; }
.gs-admin .widget-title b, .gs-admin .widget-title span { font-weight: 800; }
.gs-admin table.dataTable tfoot th, .gs-admin table.dataTable tfoot td { font-weight: 800; }

@media (prefers-reduced-motion: reduce) {
    .gs-kpi, .gs-panel, .gs-person, .gs-peak-c, .gs-mm-kpi, .gs-timeline li { animation: none !important; }
}

/* الكلام الإنجليزي جوه الواجهة العربي (أسماء الباقات والفروع) يفضل بترتيبه الصح */
.gs-chip-dark, .gs-mm-plan b, .gs-table td { unicode-bidi: plaintext; }
.gs-dl dd bdi, .gs-person-meta bdi { unicode-bidi: isolate; }
@media (max-width: 575.98px) { .gs-toolbar-end > .gs-icon-btn { flex: 0 0 auto; } }

/* ---------- شريط التابات: سطر واحد وبيسكرول بالعرض ---------- */
.gs-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; max-width: 100%; }
.gs-tabs::-webkit-scrollbar { display: none; }
.gs-tabs > li, .gs-tabs > button { flex: 0 0 auto; scroll-snap-align: start; }
.gs-tabs button { white-space: nowrap; }
.gs-panel-head > .gs-tabs { min-width: 0; flex: 1 1 auto; }
.gs-seg { max-width: 100%; }

/* ---------- الجداول على الموبايل: الزراير والبحث والترقيم بيمشوا مع اتجاه اللغة بدل ما يبقوا في النص ---------- */
@media screen and (max-width: 767px) {
    .gs-admin div.dt-buttons { float: none !important; text-align: start !important; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
    .gs-admin div.dt-buttons .dt-button { margin: 0 !important; }
    .gs-admin .dataTables_wrapper .dataTables_length,
    .gs-admin .dataTables_wrapper .dataTables_filter { float: none !important; text-align: start !important; }
    .gs-admin .dataTables_wrapper .dataTables_filter label { display: flex; align-items: center; gap: 8px; width: 100%; margin: 0; }
    .gs-admin .dataTables_wrapper .dataTables_filter input { flex: 1; min-width: 0 !important; width: 100% !important; margin: 0 !important; }
    .gs-admin .dataTables_wrapper .dataTables_filter input:focus { min-width: 0 !important; }
    .gs-admin .dataTables_wrapper .dataTables_info { float: none !important; text-align: start !important; padding-top: 12px; }
    .gs-admin .dataTables_wrapper .dataTables_paginate { float: none !important; text-align: start !important; margin-top: 8px; }
    .gs-admin .widget-header { justify-content: flex-start; }
    .gs-admin .widget-toolbar { flex-wrap: wrap; }
}

/* ---------- الزراير: مسافة بسيطة عشان لما تنزل سطر جديد على الموبايل متبقاش لازقة ---------- */
@media (max-width: 767.98px) {
    .gs-admin .gs-content .btn { margin-top: 4px; margin-bottom: 4px; }
    .gs-admin .modal-footer { flex-wrap: wrap; gap: 8px; }
    .gs-admin .modal-footer > * { margin: 0 !important; }
}

/* ==========================================================================
   القوايم المنسدلة (Dropdowns): شكل واحد في كل السيستم
   ========================================================================== */
.gs-admin select.form-control,
.gs-admin .dataTables_wrapper .dataTables_length select,
.gs-select-wrap select {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    height: 42px; border: 1px solid var(--gs-border-strong); border-radius: 12px; background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d53c41' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 14px center; background-size: 12px;
    padding-top: 0; padding-bottom: 0; padding-left: 14px; padding-right: 38px;
    font-weight: 600; font-size: 13.5px; color: var(--gs-text); cursor: pointer;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
html[dir="rtl"] .gs-admin select.form-control,
html[dir="rtl"] .gs-admin .dataTables_wrapper .dataTables_length select,
html[dir="rtl"] .gs-select-wrap select { background-position: left 14px center; padding-left: 38px; padding-right: 14px; }
.gs-select-wrap select { padding-inline-start: 34px; }
html[dir="ltr"] .gs-select-wrap select { padding-left: 34px; }
html[dir="rtl"] .gs-select-wrap select { padding-right: 34px; }
.gs-admin select.form-control:hover, .gs-admin .dataTables_length select:hover, .gs-select-wrap select:hover { border-color: #b9bec7; background-color: #fcfcfd; }
.gs-admin select.form-control:focus, .gs-admin .dataTables_length select:focus, .gs-select-wrap select:focus { border-color: var(--gs-red); box-shadow: 0 0 0 4px var(--gs-accent-ring); outline: none; }
.gs-admin select.form-control[multiple] { height: auto; background-image: none; padding: 8px 12px; }
.gs-admin select.form-control::-ms-expand { display: none; }
.gs-admin .dataTables_wrapper .dataTables_length select { height: 36px; min-width: 76px; border-radius: 10px; }
/* Select2 بنفس الشكل */
.gs-admin .select2-container--default .select2-selection--single { height: 42px; border-radius: 12px; border-color: var(--gs-border-strong); box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.gs-admin .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 40px; font-weight: 600; padding-left: 14px; padding-right: 36px; }
html[dir="rtl"] .gs-admin .select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 36px; padding-right: 14px; }
.gs-admin .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; width: 34px; }
.gs-admin .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--gs-red) transparent transparent transparent; border-width: 6px 5px 0 5px; margin-left: -5px; margin-top: -3px; }
.gs-admin .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-color: transparent transparent var(--gs-red) transparent; border-width: 0 5px 6px 5px; }
.select2-dropdown { border-radius: 12px !important; overflow: hidden; box-shadow: 0 16px 36px rgba(16, 24, 40, .16); border-color: var(--gs-border) !important; }
.select2-results__option { padding: 9px 12px; font-weight: 600; font-size: 13.5px; }
.select2-search--dropdown .select2-search__field { border-radius: 10px; height: 36px; border-color: var(--gs-border-strong) !important; outline: none; }

/* ---------- الفلاتر على الموبايل: عمودين ومسافات مريحة ---------- */
.gs-admin .gs-content label { margin-bottom: 6px; display: inline-block; }
@media (max-width: 767.98px) {
    .gs-admin .gs-content .row > [class*="col-"] + [class*="col-"] { margin-top: 12px; }
    .gs-admin .gs-content .row:has(> .col-sm-2 > select, > .col-sm-3 > select) > [class*="col-sm-2"],
    .gs-admin .gs-content .row:has(> .col-sm-2 > select, > .col-sm-3 > select) > [class*="col-sm-3"] { flex: 0 0 50%; max-width: 50%; }
    .gs-admin .gs-content .row:has(> .col-sm-2 > select, > .col-sm-3 > select) > [class*="col-"]:nth-child(2) { margin-top: 0; }
    .gs-admin .gs-content .row > [class*="col-"] > label { font-size: 12.5px; }
}

/* ==========================================================================
   الجداول على الموبايل = كروت منسقة (زي الـ CRM)
   - فوق: العنوان (الاسم) وجنبه الكود
   - تحت: التفاصيل في عمودين منظمين، كل خانة اسمها صغير فوق وقيمتها تحته
   - الخانات الطويلة (الإيميل/الملاحظات) واخدة السطر كله
   - الزراير سطر واحد جنب بعض في آخر الكارت
   كل البيانات ظاهرة (مفيش طي)، ونفس الصفوف والأحداث والترقيم والسيرفر سايد
   ========================================================================== */
@media (max-width: 767.98px) {
    .gs-admin table.gs-cards { display: block; width: 100% !important; border: 0 !important; background: transparent; margin: 0 !important; }
    .gs-admin table.gs-cards > thead { display: none; }
    .gs-admin table.gs-cards > tbody { display: block; }
    .gs-admin table.gs-cards > tbody > tr:not(.child) {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; row-gap: 0; position: relative;
        background: #fff !important; border: 1px solid var(--gs-border); border-radius: 14px;
        margin: 0 0 10px; padding: 12px 14px 12px; box-shadow: 0 1px 6px rgba(16, 24, 40, .05);
        transition: box-shadow .2s ease, border-color .2s ease, transform .15s ease;
    }
    .gs-admin table.gs-cards > tbody > tr:not(.child)::before {
        content: ''; position: absolute; top: 14px; height: 22px; inset-inline-start: 0; width: 3px; border-radius: 3px; background: var(--gs-red);
    }
    .gs-admin table.gs-cards > tbody > tr:not(.child):active { transform: scale(.99); }
    .gs-admin table.gs-cards > tbody > tr.selected { border-color: var(--gs-red); box-shadow: 0 0 0 3px var(--gs-accent-ring); }
    .gs-admin table.gs-cards > tbody > tr.child { display: none !important; }
    /* كل خانة: الاسم فوق والقيمة تحته */
    .gs-admin table.gs-cards > tbody > tr > td,
    .gs-admin table.gs-cards > tbody > tr > td[style*="display: none"] {
        display: flex !important; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 3px; min-width: 0;
        border: 0 !important; border-top: 1px solid #f0f1f4 !important; border-radius: 0; background: transparent !important; box-shadow: none !important;
        padding: 9px 0 !important; text-align: start !important; white-space: normal !important;
        font-size: 13.5px; font-weight: 700; color: var(--gs-text); line-height: 1.4; overflow-wrap: anywhere; unicode-bidi: plaintext;
    }
    .gs-admin table.gs-cards > tbody > tr > td[data-label]::after {
        content: attr(data-label); order: -1; font-size: 11px; font-weight: 600; color: #8a909a; white-space: nowrap; letter-spacing: .1px;
    }
    .gs-admin table.gs-cards > tbody > tr > td > p, .gs-admin table.gs-cards > tbody > tr > td > div { margin: 0; }
    .gs-admin table.gs-cards td p[style*="color"], .gs-admin table.gs-cards td h5[style*="color"] { white-space: normal !important; max-width: 100%; }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-wide { grid-column: 1 / -1; }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-empty:not(.gs-td-title) { display: none !important; }
    /* العنوان */
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-title {
        grid-column: 1 / -1; order: -2; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 6px;
        border-top: 0 !important; padding: 0 0 10px !important; font-size: 15.5px; font-weight: 800;
    }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-title::after { display: none; }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-title .gs-no { margin-inline-start: 2px; }
    /* عنوان من خانتين (زي "الفرع - اليوم" في الجدول) */
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-title.is-part1 { grid-column: 1 / 2; }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-title.is-part2 { grid-column: 2 / 3; justify-content: flex-end; color: var(--gs-red); }
    /* خانات فيها كتابة (input) */
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-input { align-items: stretch; }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-input > div { width: 100%; }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-input .form-control { height: 40px; font-weight: 600; width: 100%; }
    /* الزراير: سطر واحد جنب بعض */
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-actions {
        grid-column: 1 / -1; order: 99; flex-direction: row; align-items: stretch; flex-wrap: nowrap; gap: 8px; padding: 10px 0 0 !important;
    }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-actions > div { display: contents; }
    .gs-admin table.gs-cards td.gs-td-actions a, .gs-admin table.gs-cards td.gs-td-actions button {
        flex: 1 1 0; min-width: 0; height: 38px; padding: 0 8px; border-radius: 10px; margin: 0 !important;
        display: inline-flex; align-items: center; justify-content: center; gap: 6px;
        background: #f3f4f6; border: 1px solid var(--gs-border); font-weight: 700; font-size: 12.5px; color: var(--gs-text) !important;
        transition: background-color .2s ease, transform .15s ease; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .gs-admin table.gs-cards td.gs-td-actions a:active, .gs-admin table.gs-cards td.gs-td-actions button:active { transform: scale(.95); }
    .gs-admin table.gs-cards td.gs-td-actions a.red { background: var(--gs-red-soft); border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .22); color: var(--gs-red) !important; }
    .gs-admin table.gs-cards td.gs-td-actions a.blue { background: #141414; border-color: #141414; color: #fff !important; }
    .gs-admin table.gs-cards td.gs-td-actions a[style*="green"] { background: var(--gs-green-soft); border-color: rgba(22, 163, 74, .22); }
    .gs-admin table.gs-cards td.gs-td-actions a[style*="darkred"] { background: var(--gs-red-soft); border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .22); }
    .gs-admin table.gs-cards td.gs-td-actions .bigger-150 { font-size: 15px !important; margin: 0; }
    .gs-admin table.gs-cards td.gs-td-actions p { margin: 0; }
    /* مفيش زرار طي */
    .gs-admin table.gs-cards.dtr-inline.collapsed > tbody > tr[role="row"] > td.dtr-control { cursor: default; position: static !important; padding-left: 0 !important; padding-right: 0 !important; }
    .gs-admin table.gs-cards.dtr-inline.collapsed > tbody > tr[role="row"] > td.dtr-control::before { display: none !important; }
    /* فاضي */
    .gs-admin table.gs-cards > tbody > tr > td.dataTables_empty { grid-column: 1 / -1; align-items: center; border: 0 !important; color: var(--gs-muted); }
    .gs-admin table.gs-cards > tbody > tr > td.dataTables_empty::after { display: none; }
    .gs-table-wrap:has(.gs-cards) { border: 0; background: transparent; overflow: visible; }
}

/* ---------- العناوين والأرقام والهيدرز أتقل شوية ---------- */
.gs-admin .gs-page-title, .gs-admin .widget-title, .gs-admin .modal-title, .gs-admin .card-header, .gs-panel-title { font-weight: 800 !important; }
.gs-admin table.dataTable thead th, .gs-admin .table thead th, .gs-table th { font-weight: 800 !important; color: #2a2f37 !important; }
.gs-admin table.dataTable tbody td { font-weight: 500; }
.gs-admin table.dataTable tbody td:first-child { font-weight: 700; }
.gs-admin .gs-content label, .gs-dl dt, .gs-kpi-label { font-weight: 700; }
.gs-admin .card-body b, .gs-admin .card-body strong, .gs-admin .card-body [id] { font-variant-numeric: tabular-nums; }

/* الخانات بنفس ارتفاع وشكل القوايم */
.gs-admin input.form-control { height: 42px; border-radius: 12px; }
.gs-admin .dataTables_wrapper .dataTables_filter input { height: 40px; }
@media (max-width: 767.98px) { .gs-admin table.gs-cards > tbody > tr > td { unicode-bidi: plaintext; } }

/* ==========================================================================
   بيانات الجداول أتقل، وكروت الموبايل من غير هوفر متقطع
   ========================================================================== */
.gs-admin table.dataTable tbody td { font-weight: 600; color: #1d2127; }
.gs-admin table.dataTable tbody td:first-child { font-weight: 800; }
@media (max-width: 767.98px) {
    /* الكارت كله بيتلون مرة واحدة، مش خانات منه */
    .gs-admin table.dataTable.gs-cards > tbody > tr > td,
    .gs-admin table.dataTable.gs-cards > tbody > tr:hover > td,
    .gs-admin table.dataTable.gs-cards > tbody > tr:nth-child(even) > td,
    .gs-admin table.dataTable.gs-cards > tbody > tr.selected > td { background: transparent !important; box-shadow: none !important; }
    .gs-admin table.dataTable.gs-cards > tbody > tr:hover > td:first-child { box-shadow: none !important; }
    .gs-admin table.dataTable.gs-cards > tbody > tr:not(.child) { background: #fff !important; }
    .gs-admin table.dataTable.gs-cards > tbody > tr.selected { background: #fff7f7 !important; }
    .gs-admin table.gs-cards > tbody > tr > td { font-weight: 700; }
    .gs-admin table.gs-cards > tbody > tr > td.gs-td-title { font-weight: 800; }
}
@media (max-width: 767.98px) and (hover: hover) {
    .gs-admin table.dataTable.gs-cards > tbody > tr:not(.child):hover { border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .35); box-shadow: 0 6px 16px rgba(16, 24, 40, .08); }
}

/* ==========================================================================
   تحسينات الموبايل
   ========================================================================== */
.gs-admin, .gs-admin a, .gs-admin button { -webkit-tap-highlight-color: transparent; }
.gs-bottom-nav { display: none; }
@media (max-width: 991.98px) {
    /* الشريط اللي تحت */
    .gs-bottom-nav {
        display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1022;
        background: rgba(255, 255, 255, .96); backdrop-filter: saturate(160%) blur(10px); -webkit-backdrop-filter: saturate(160%) blur(10px);
        border-top: 1px solid var(--gs-border); box-shadow: 0 -6px 20px rgba(16, 24, 40, .06);
        padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
    }
    .gs-bn-item {
        flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
        height: 52px; border: 0; background: transparent; border-radius: 12px; color: #6b7280 !important;
        font-size: 10.5px; font-weight: 700; line-height: 1.2; text-align: center; padding: 0 2px; cursor: pointer;
        transition: color .2s ease, background-color .2s ease;
    }
    .gs-bn-item i { font-size: 19px; transition: transform .25s var(--gs-ease-spring); }
    .gs-bn-item span { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .gs-bn-item.is-active { color: var(--gs-red) !important; background: var(--gs-red-soft); }
    .gs-bn-item.is-active i { transform: translateY(-1px) scale(1.08); }
    .gs-bn-item:active { background: #f3f4f6; }
    .gs-admin .gs-main { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
    .gs-drawer-open .gs-bottom-nav { transform: translateY(100%); }
    .gs-bottom-nav { transition: transform .25s ease; }
    /* روابط القائمة الجانبية أكبر للدوس */
    .gs-nav-link { min-height: 48px; }
    .gs-nav-sublink { padding-top: 10px; padding-bottom: 10px; }
}
@media (max-width: 767.98px) {
    /* الخانات 16px عشان الآيفون ميعملش زوم لما تكتب */
    .gs-admin input.form-control, .gs-admin select.form-control, .gs-admin textarea.form-control,
    .gs-admin .dataTables_wrapper input, .gs-admin .dataTables_wrapper select, .gs-search-field input { font-size: 16px !important; }
    /* المودالات بتطلع من تحت (Bottom sheet) */
    .gs-admin .modal:not(.gs-member-modal) .modal-dialog {
        margin: 0; max-width: none; min-height: 100%; display: flex; align-items: flex-end;
    }
    .gs-admin .modal:not(.gs-member-modal) .modal-content {
        width: 100%; border-radius: 20px 20px 0 0; max-height: 92vh; overflow-y: auto;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
    .gs-admin .modal:not(.gs-member-modal) .modal-content::before {
        content: ''; display: block; width: 42px; height: 5px; border-radius: 5px; background: #d9dce1; margin: 8px auto 0;
    }
    .gs-admin .modal.fade:not(.gs-member-modal) .modal-dialog { transform: translateY(40px); opacity: 0; transition: transform .28s var(--gs-ease), opacity .2s ease; }
    .gs-admin .modal.show:not(.gs-member-modal) .modal-dialog { transform: none; opacity: 1; }
    .gs-admin .modal-footer .btn { flex: 1 1 auto; min-height: 44px; }
    /* الزراير الأساسية أعلى شوية للدوس */
    .gs-admin .gs-content .btn { min-height: 42px; }
    .sweet-alert { width: calc(100% - 32px) !important; left: 16px !important; margin-left: 0 !important; }
    .gs-footer { padding-bottom: 12px; }
}

/* ==========================================================================
   فورمات المودالات: مسافات مريحة بين كل خانة واسم الخانة اللي بعدها
   ========================================================================== */
.gs-admin .modal-body { padding-top: 6px; }
.gs-admin .modal-body label:not(.control-label) { display: block; margin: 14px 0 6px; font-weight: 700; }
.gs-admin .modal-body label.control-label { margin: 5px 0 0; font-size: 12px; }
.gs-admin .modal-body .form-group { margin-bottom: 0; }
.gs-admin .modal-body .row { margin-left: -8px; margin-right: -8px; }
.gs-admin .modal-body .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }
.gs-admin .gs-content .modal-body .row > [class*="col-"] + [class*="col-"] { margin-top: 0; }
.gs-admin .modal-body > :last-child { margin-bottom: 4px; }
@media (max-width: 767.98px) {
    .gs-admin .modal-body { padding: 4px 18px 18px !important; }
    .gs-admin .modal-body label:not(.control-label) { margin-top: 16px; font-size: 13px; }
    .gs-admin .modal-body textarea.form-control { min-height: 90px; }
    /* زرار الحفظ دايماً ظاهر تحت */
    .gs-admin .modal:not(.gs-member-modal) .modal-footer { position: sticky; bottom: 0; background: #fff; z-index: 2; box-shadow: 0 -8px 16px rgba(255, 255, 255, .9); }
    .gs-admin .modal:not(.gs-member-modal) .modal-header { position: sticky; top: 0; background: #fff; z-index: 2; }
}

/* ---------- الموبايل: أي مودال سايب مسافة من فوق ومش لازق في سقف الشاشة ---------- */
@media (max-width: 767.98px) {
    .gs-admin .modal:not(.gs-member-modal) .modal-dialog { padding-top: 44px; }
    .gs-admin .modal:not(.gs-member-modal) .modal-content { max-height: calc(100vh - 44px); max-height: calc(100dvh - 44px); }
    .gs-member-modal .modal-dialog { padding-top: 18px; }
    .gs-member-modal .modal-content { border-radius: 20px 20px 0 0 !important; min-height: calc(100vh - 18px); min-height: calc(100dvh - 18px); }
    .gs-member-modal.fade .modal-dialog { transform: translateY(40px); transition: transform .28s var(--gs-ease); }
    .gs-member-modal.show .modal-dialog { transform: none; }
}

/* تلميح الرسوم البيانية: خلفية بيضا وكلام غامق (ملف highcharts.css كان بيغطي على لون الخلفية) */
.gs-admin .highcharts-tooltip-box { fill: #ffffff !important; fill-opacity: 1 !important; stroke: #e1e3e8 !important; }
/* الكلام غامق دايماً حتى لو الإعدادات في الجافاسكريبت بتقول أبيض، ونقط الألوان جنب كل سلسلة تفضل بلونها */
.gs-admin .highcharts-tooltip text { fill: #1d2127 !important; }
.gs-admin div.highcharts-tooltip, .gs-admin div.highcharts-tooltip > span { color: #1d2127 !important; }

/* ================= الإحصائيات السنوية ================= */
.gs-span-3 { grid-column: 1 / -1; }
.gs-annual .gs-dash-grid { margin-bottom: 16px; }
.gs-annual.is-empty .gs-kpis, .gs-annual.is-empty .gs-dash-grid, .gs-annual.is-empty .gs-dash-grid + .gs-panel { display: none; }

/* اختيار الشهور */
.gs-an-years { display: flex; flex-direction: column; gap: 12px; }
.gs-an-year { display: grid; grid-template-columns: 56px 1fr; align-items: center; gap: 10px; }
.gs-an-year > b { font-size: 15px; font-weight: 800; color: var(--gs-text); font-variant-numeric: tabular-nums; }
.gs-an-months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; }
.gs-an-month { height: 38px; border-radius: 10px; border: 1px solid var(--gs-border); background: #fff; font-weight: 700; font-size: 13px; color: #3a404a; cursor: pointer; transition: all .15s ease; }
.gs-an-month:hover:not([disabled]) { border-color: var(--gs-red); color: var(--gs-red); }
.gs-an-month.is-on { background: #141414; border-color: #141414; color: #fff; box-shadow: 0 6px 14px rgba(0, 0, 0, .18); }
.gs-an-month[disabled] { opacity: .35; cursor: not-allowed; background: #f6f7f8; }
.gs-an-count { font-size: 13px; color: var(--gs-muted); font-weight: 600; white-space: nowrap; }
.gs-an-count b { color: var(--gs-text); }
.gs-an-picker .btn { height: 38px; border-radius: 10px; font-weight: 700; padding: 0 16px; }

/* أكتر الباقات مبيعاً */
.gs-an-plans { display: flex; flex-direction: column; gap: 11px; padding-top: 6px; }
.gs-an-plans .gs-day { grid-template-columns: minmax(90px, 40%) 1fr 40px 38px; }
.gs-an-plans .gs-day-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-an-plans .gs-day em { font-style: normal; font-size: 11.5px; font-weight: 700; color: var(--gs-muted); text-align: end; }

/* جدول الشهور: أول عمود ثابت والباقي بيسكرول */
.gs-an-scroll { overflow-x: auto; border: 1px solid var(--gs-border); border-radius: 14px; -webkit-overflow-scrolling: touch; }
.gs-an-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13.5px; }
.gs-an-table th, .gs-an-table td { padding: 10px 12px; white-space: nowrap; text-align: center; border-bottom: 1px solid #f0f1f3; font-variant-numeric: tabular-nums; }
.gs-an-table thead th { background: #141414; color: #fff; font-weight: 800; font-size: 12.5px; position: sticky; top: 0; }
.gs-an-table td { font-weight: 600; color: #1d2127; background-color: #fff; background-image: linear-gradient(rgba(var(--gs-red-rgb, 213, 60, 65), var(--a, 0)), rgba(var(--gs-red-rgb, 213, 60, 65), var(--a, 0))); }
.gs-an-table .gs-an-metric { text-align: start; position: sticky; inset-inline-start: 0; z-index: 1; min-width: 210px; background: #fff; background-image: none; font-weight: 700; border-inline-end: 1px solid var(--gs-border); }
.gs-an-table thead .gs-an-metric { background: #141414; z-index: 2; }
.gs-an-table .gs-an-metric .fa { width: 18px; color: var(--gs-muted); }
.gs-an-table .gs-an-metric small { color: var(--gs-muted); font-weight: 600; font-size: 11.5px; }
.gs-an-table .gs-an-total { background: #fafafa; background-image: none; font-weight: 800; border-inline-start: 1px solid var(--gs-border); }
.gs-an-table thead .gs-an-total { background: #2a2a2a; }
.gs-an-table tr.is-strong td { font-weight: 800; }
.gs-an-table tr.is-strong .gs-an-metric .fa { color: var(--gs-red); }
.gs-an-table tr.is-sub .gs-an-metric { padding-inline-start: 38px; color: var(--gs-muted); font-weight: 600; }
.gs-an-table tr.is-plan .gs-an-metric { padding-inline-start: 38px; font-weight: 600; }
.gs-an-table tr.is-alert td:not(.gs-an-metric):not(.gs-an-total) { color: #b3262b; }
.gs-an-table tr.gs-an-sec td { background: #f6f7f8; background-image: none; text-align: start; font-weight: 800; font-size: 12px; letter-spacing: .4px; text-transform: uppercase; color: #3a404a; position: static; }
.gs-an-table tr.gs-an-sec td:first-child { position: sticky; inset-inline-start: 0; }
.gs-an-table tbody tr:not(.gs-an-sec):hover td { background-color: rgba(var(--gs-red-rgb, 213, 60, 65), .05); }
.gs-an-table tbody tr:not(.gs-an-sec):hover td.gs-an-metric { background: rgba(var(--gs-red-rgb, 213, 60, 65), .05); }
.gs-an-table tbody tr:last-child td { border-bottom: 0; }
.gs-an-star { color: #ffb3b5; font-weight: 800; }
.gs-an-note { margin: 12px 2px 0; font-size: 12.5px; color: var(--gs-muted); line-height: 1.8; }
.gs-an-note .fa { color: var(--gs-red); }
#anTabs[hidden] { display: none; }

@media (max-width: 991.98px) {
    .gs-an-months { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .gs-an-year { grid-template-columns: 1fr; gap: 6px; }
    .gs-an-months { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .gs-an-picker .gs-panel-tools { width: 100%; }
    .gs-an-picker .gs-panel-tools .btn-primary { margin-inline-start: auto; }
    .gs-an-table { font-size: 12.5px; }
    .gs-an-table th, .gs-an-table td { padding: 9px 10px; }
    .gs-an-table .gs-an-metric { min-width: 150px; max-width: 170px; white-space: normal; }
    .gs-an-table tr.is-sub .gs-an-metric, .gs-an-table tr.is-plan .gs-an-metric { padding-inline-start: 22px; }
    .gs-annual #anTabs { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; }
    .gs-annual #anTabs button { flex: 0 0 auto; }
}

/* الطباعة / PDF: الأرقام والرسومات بس */
@media print {
    .gs-admin .gs-sidebar, .gs-admin .gs-topbar, .gs-admin .gs-bottom-nav, .gs-annual .gs-toolbar-end .gs-icon-btn,
    .gs-annual .gs-seg, .gs-an-picker, #anTabs { display: none !important; }
    .gs-annual .gs-panel, .gs-annual .gs-kpi { box-shadow: none !important; break-inside: avoid; }
    .gs-annual .gs-kpi.is-hero { background: #fff !important; color: #000 !important; border: 1px solid #ccc; }
    .gs-annual .gs-kpi.is-hero .gs-kpi-val, .gs-annual .gs-kpi.is-hero .gs-kpi-label, .gs-annual .gs-kpi.is-hero .gs-kpi-sub { color: #000 !important; }
    .gs-an-scroll { overflow: visible; border: 0; }
    .gs-an-table { font-size: 10.5px; }
    .gs-an-table th, .gs-an-table td { padding: 5px 6px; }
    .gs-an-table thead th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .gs-an-table td { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
.gs-annual .gs-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 1360px) { .gs-annual .gs-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); } .gs-annual .gs-kpis.is-7 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .gs-annual .gs-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
.gs-an-plans .gs-day-name { unicode-bidi: plaintext; text-align: start; }
.gs-an-month.is-on:hover:not([disabled]) { color: #fff; border-color: var(--gs-red); }

/* الفترات (الداشبورد / ساعات الذروة / الإحصائيات السنوية) على الموبايل: سطر واحد بيسكرول بدل ما تترص تحت بعض */
@media (max-width: 767.98px) {
    .gs-toolbar .gs-seg { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; scrollbar-width: none; scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
    .gs-toolbar > .gs-seg { width: 100%; }
    .gs-toolbar .gs-seg::-webkit-scrollbar { display: none; }
    .gs-toolbar .gs-seg button { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }
}

/* شاشة "جاري التحميل" (بتظهر بس لو الداتا اتأخرت) */
.gs-loader { position: fixed; inset: 0; z-index: 1035; display: flex; align-items: center; justify-content: center; background: rgba(245, 246, 248, .55); -webkit-backdrop-filter: blur(1.5px); backdrop-filter: blur(1.5px); opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility .18s ease; }
.gs-loader.is-on { opacity: 1; visibility: visible; }
.gs-loader-box { display: inline-flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--gs-border, #e1e3e8); border-radius: 14px; padding: 14px 20px; box-shadow: 0 18px 40px rgba(16, 24, 40, .14); transform: translateY(6px) scale(.98); transition: transform .2s ease; }
.gs-loader.is-on .gs-loader-box { transform: none; }
.gs-loader-box b { font-size: 14px; font-weight: 700; color: #1d2127; }
.gs-loader-spin { width: 24px; height: 24px; border-radius: 50%; border: 3px solid #f1d3d4; border-top-color: var(--gs-red, #d53c41); animation: gsSpin .7s linear infinite; }
@keyframes gsSpin { to { transform: rotate(360deg); } }
@media (min-width: 992px) { .gs-admin:not(.gs-no-side) .gs-loader { inset-inline-start: var(--gs-side-w, 0); } .gs-collapsed .gs-loader { inset-inline-start: var(--gs-side-w-collapsed, 0) !important; } }
@media print { .gs-loader { display: none !important; } }

/* ================================================================ [المنصة] الاشتراك والميداليات (أدمن الجيم) */
.gs-paybar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; padding: 10px 14px; border-radius: 14px;
    background: linear-gradient(135deg, #1d1d1f, #0b0b0c); color: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.14); animation: gsSubIn .35s ease both; }
.gs-paybar > .fa { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: rgba(var(--gs-red-rgb, 213, 60, 65),.18); color: #ff6b6f; flex: 0 0 auto; }
.gs-paybar span { flex: 1 1 220px; font-size: 13.5px; line-height: 1.6; }
.gs-paybar .btn { background: var(--gs-red, #d53c41); color: #fff; border: 0; border-radius: 10px; font-weight: 700; padding: 6px 16px; }
.gs-paybar .btn:hover { background: #bf2f34; color: #fff; }
@keyframes gsSubIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.gs-sub-bill { text-align: center; }
.gs-sub-ic { width: 58px; height: 58px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; background: rgba(var(--gs-red-rgb, 213, 60, 65),.1); color: var(--gs-red, #d53c41); margin-bottom: 10px; }
.gs-sub-ic.is-ok { background: rgba(22,163,74,.12); color: #16a34a; }
.gs-sub-amount { font-size: 30px; font-weight: 800; letter-spacing: -.5px; direction: ltr; }
.gs-sub-period { color: #6b7280; font-size: 13.5px; margin-top: 2px; }
.gs-sub-due { display: inline-flex; gap: 6px; align-items: center; margin: 14px 0 4px; padding: 6px 12px; border-radius: 999px; background: #fff5e6; color: #8a5300; font-size: 13px; font-weight: 600; }
.gs-sub-links { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 12px; text-align: start; }
.gs-sub-pay { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: linear-gradient(135deg, var(--gs-red, #d53c41), #a3232a); color: #fff !important; font-weight: 700; text-decoration: none !important; transition: transform .15s ease, box-shadow .15s ease; }
.gs-sub-pay:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(var(--gs-red-rgb, 213, 60, 65),.3); }
.gs-sub-pay span { flex: 1 1 auto; }
.gs-sub-label { display: block; text-align: start; font-weight: 700; font-size: 13px; margin: 6px 0 6px; }
.gs-sub-muted { color: #8a9099; font-size: 12.5px; margin: 10px 0 0; }
.gs-sub-note.is-ok { margin: 14px 0 0; padding: 10px 12px; border-radius: 12px; background: rgba(22,163,74,.08); color: #166534; font-weight: 600; }
.gs-sub-loading { text-align: center; padding: 30px; color: #9aa0a8; font-size: 22px; }
.gs-sub-sec + .gs-sub-sec { margin-top: 22px; padding-top: 18px; border-top: 1px solid #eef0f2; }
.gs-sub-sec h5 { font-size: 15px; font-weight: 800; margin: 0 0 12px; }
.gs-sub-sec h5 .fa { color: var(--gs-red, #d53c41); margin-inline-end: 4px; }
.gs-sub-plan { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gs-sub-plan > div { background: #f7f8fa; border-radius: 12px; padding: 10px 12px; }
.gs-sub-plan small { display: block; color: #8a9099; font-size: 11.5px; }
.gs-sub-plan b { font-size: 15px; }
.gs-sub-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.gs-sub-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #eef0f2; border-radius: 12px; }
.gs-sub-row small { display: block; color: #8a9099; font-size: 12px; }
.gs-sub-end { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.gs-sub-req { background: #f7f8fa; border-radius: 14px; padding: 12px 14px; }
@media (max-width: 575px) {
    .gs-sub-plan { gap: 6px; }
    .gs-sub-plan > div { padding: 8px 10px; }
    .gs-sub-plan b { font-size: 13px; }
    .gs-sub-row { flex-direction: column; align-items: flex-start; }
}
.gs-sub-paysm { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: var(--gs-red, #d53c41); color: #fff !important; font-size: 12px; font-weight: 700; text-decoration: none !important; }

/* ================================================================ [المنصة] جرس الإشعارات */
.gs-bell-wrap { position: relative; }
.gs-bell { position: relative; }
.gs-bell.has-new .fa { animation: gsBellRing 2.4s ease-in-out 1; transform-origin: 50% 0; }
@keyframes gsBellRing { 0%, 100% { transform: rotate(0); } 10%, 30% { transform: rotate(14deg); } 20%, 40% { transform: rotate(-12deg); } 50% { transform: rotate(0); } }
.gs-bell-n { position: absolute; top: -7px; inset-inline-end: -7px; z-index: 2; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--gs-red, #d53c41); color: #fff; font-size: 10.5px; font-weight: 800; line-height: 19px; text-align: center; box-shadow: 0 0 0 2px #fff; pointer-events: none; }   /* [شكل] الرقم في الكورنر برة الزرار — الجرس باين كله */
.gs-bell-panel { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; z-index: 1050; width: 360px; max-width: calc(100vw - 24px); background: #fff; border: 1px solid #e1e3e8; border-radius: 16px; box-shadow: 0 24px 60px rgba(16, 24, 40, .18); overflow: hidden; animation: gsSubIn .2s ease both; }
.gs-bell-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid #eef0f2; }
.gs-bell-head b { font-size: 15px; }
.gs-bell-all { border: 0; background: transparent; color: var(--gs-red, #d53c41); font-weight: 700; font-size: 12.5px; cursor: pointer; }
.gs-bell-allow { display: flex; align-items: center; gap: 8px; width: calc(100% - 20px); margin: 10px; padding: 9px 12px; border-radius: 12px; border: 1px dashed #e0a3a5; background: #fdf2f2; color: #b42328; font-weight: 700; font-size: 12.5px; cursor: pointer; text-align: start; }
.gs-bell-list { max-height: 420px; overflow-y: auto; }
.gs-bell-item { display: flex; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #f3f4f6; color: #1d2127 !important; text-decoration: none !important; transition: background .15s ease; }
.gs-bell-item:hover { background: #f8f9fa; }
.gs-bell-item.is-new { background: #fff7f7; }
.gs-bell-item.is-new .gs-bell-txt b::after { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--gs-red, #d53c41); margin-inline-start: 6px; vertical-align: middle; }
.gs-bell-ic { width: 36px; height: 36px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: #eef0f2; color: #4b5563; }
.gs-bell-ic.is-billing { background: #fdecec; color: var(--gs-red, #d53c41); }
.gs-bell-ic.is-medals { background: #eaf1fe; color: #2563eb; }
.gs-bell-ic.is-info { background: #fff5e6; color: #e08a00; }
.gs-bell-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gs-bell-txt b { font-size: 13.5px; }
.gs-bell-txt span { font-size: 12.5px; color: #5b616b; line-height: 1.5; }
.gs-bell-txt small { font-size: 11.5px; color: #9aa0a8; }
.gs-bell-empty { text-align: center; padding: 34px 16px; color: #9aa0a8; }
.gs-bell-empty .fa { font-size: 26px; margin-bottom: 8px; }
.gs-bell-empty p { margin: 0; }
@media (max-width: 575px) {
    .gs-bell-panel { position: fixed; top: calc(var(--gs-top-h, 60px) + 6px); inset-inline: 10px; width: auto; }
}

/* ================================================================ [Kwekly] صورة العضو */
.gs-avatar, .gs-mm-avatar { position: relative; overflow: hidden; }
.gs-avatar img, .gs-mm-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gs-mm-avatar.has-photo { cursor: zoom-in; box-shadow: 0 12px 28px rgba(0, 0, 0, .35), 0 0 0 3px #fff, 0 0 0 5px var(--gs-red); }
.gs-photo-view { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, .85); display: flex; align-items: center; justify-content: center; padding: 24px; cursor: zoom-out; animation: gsSubIn .2s ease both; }
.gs-photo-view img { max-width: min(92vw, 520px); max-height: 86vh; border-radius: 22px; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); object-fit: contain; background: #111; }

/* [المنصة] الجرس: حالة الإشعارات على الجهاز + التجربة + التفاصيل + كارت الإشعار الجديد + تثبيت التطبيق */
.gs-bell-dev { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px; padding: 10px 12px; border-radius: 12px; background: #f6f7f9; border: 1px solid #eceef1; font-size: 12.5px; font-weight: 600; color: #4b5563; }
.gs-bell-dev > span { display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; min-width: 0; }
.gs-bell-dev > span .fa { margin-top: 3px; }
.gs-bell-dev.is-on { background: #effaf3; border-color: #cdeed8; color: #166534; }
.gs-bell-dev.is-off { background: #fdf6ec; border-color: #f6e0bf; color: #92400e; }
.gs-bell-dev button { flex: 0 0 auto; height: 32px; padding: 0 12px; border-radius: 10px; border: 0; font-weight: 800; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
.gs-bell-allow { background: #141414 !important; color: #fff !important; width: auto !important; margin: 0 !important; display: inline-flex !important; }
.gs-bell-test { background: #fff; color: #1d2127; box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 0 0 1px #e1e3e8 inset; }
.gs-bell-test:disabled { opacity: .7; }
.gs-bell-item { align-items: center; }
.gs-bell-txt { flex: 1 1 auto; }
.gs-bell-go { color: #c3c7ce; font-size: 16px; flex: 0 0 auto; }
.gs-bell-back { border: 0; background: none; font-weight: 800; font-size: 14px; color: #1d2127; padding: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.gs-bell-detail { padding: 22px 18px 20px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.gs-bell-detail h4 { margin: 6px 0 0; font-size: 16px; font-weight: 800; }
.gs-bell-detail p { margin: 0; color: #4b5563; font-size: 13.5px; line-height: 1.7; white-space: pre-line; }
.gs-bell-detail small { color: #9aa0a8; font-size: 12px; }
.gs-bell-ic.is-lg { width: 52px; height: 52px; border-radius: 16px; font-size: 22px; }
.gs-bell-ic.is-system { background: #eef0f2; color: #374151; }
.gs-bell-open { margin-top: 8px; height: 40px; padding: 0 18px; border-radius: 12px; border: 0; background: #141414; color: #fff; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.gs-ntoast { position: fixed; z-index: 2100; top: 14px; inset-inline-end: 14px; width: 340px; max-width: calc(100vw - 28px); display: flex; align-items: center; gap: 12px; padding: 12px 14px; text-align: start; background: #fff; border: 1px solid #e6e8eb; border-radius: 16px; box-shadow: 0 20px 50px rgba(16, 24, 40, .2); cursor: pointer; opacity: 0; transform: translateY(-12px); transition: opacity .25s ease, transform .25s ease; }
.gs-ntoast.is-on { opacity: 1; transform: none; }
.gs-ntoast .gs-bell-txt span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gs-install { display: inline-flex; align-items: center; gap: 7px; width: auto !important; padding: 0 12px; font-weight: 800; font-size: 13px; }
.gs-install[hidden] { display: none !important; }
@media (max-width: 767px) { .gs-install { padding: 0; width: 40px !important; justify-content: center; } }

/* [المنصة] مودال الاشتراك: مسافة زرار الطلب + صفحات القوايم */
.gs-sub-req { padding: 16px !important; }
.gs-sub-req .form-group { margin-bottom: 14px; }
.gs-sub-req > .btn { margin-top: 2px; display: inline-flex; align-items: center; gap: 8px; }
.gs-sub-paged { margin-top: 12px; }
.gs-sub-paged .gs-sub-list { margin-top: 0; }
.gs-sub-pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 10px; font-size: 12.5px; font-weight: 700; color: #6b7280; }
.gs-sub-pager button { width: 34px; height: 34px; border-radius: 10px; border: 1px solid #e1e3e8; background: #fff; color: #1d2127; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.gs-sub-pager button:disabled { opacity: .4; cursor: default; }

/* =====================================================================
   [شكل] الأعضاء كروت (نفس الجدول ونفس البيانات والصفحات والترتيب من السيرفر)
   ===================================================================== */
.widget-header:has(.gs-sortbar) { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.gs-sortbar { display: inline-flex; align-items: center; gap: 8px; margin-inline-start: auto; margin-inline-end: 12px; }
.gs-sortbar label { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--gs-muted, #6b7280); white-space: nowrap; }
.gs-sortbar select.form-control { height: 38px; width: auto; min-width: 150px; border-radius: 11px; font-weight: 700; font-size: 13px; }
.gs-sortbar .gs-icon-btn { width: 38px; height: 38px; }
.gs-sortbar #gsSortDir i { transition: transform .2s ease; }
.gs-sortbar #gsSortDir.is-desc i { transform: rotate(180deg); }

#clienttable.gs-member-cards { border: 0 !important; background: transparent !important; margin: 6px 0 !important; border-collapse: separate !important; }
#clienttable.gs-member-cards thead { display: none !important; }
#clienttable.gs-member-cards tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
#clienttable.gs-member-cards tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px;
    grid-template-areas: "name status" "plan plan" "phone phone" "exp classes" "medal medal" "acts acts";
    padding: 16px; background: #fff !important; border: 1px solid var(--gs-border, #e6e8eb); border-radius: 18px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .05); transition: transform .15s ease, box-shadow .15s ease;
    position: relative; overflow: hidden;
}
#clienttable.gs-member-cards tbody tr:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(16, 24, 40, .1); }
#clienttable.gs-member-cards tbody tr::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: #16a34a; opacity: .85; }
#clienttable.gs-member-cards tbody tr:has(.gs-pill.is-red)::before { background: var(--gs-red, #d53c41); }
#clienttable.gs-member-cards tbody tr:has(.gs-pill.is-orange)::before { background: #f59e0b; }
html[dir="rtl"] #clienttable.gs-member-cards tbody tr::before { inset: 0 0 0 auto; }
#clienttable.gs-member-cards tbody td { display: block; border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; text-align: start; min-width: 0; font-size: 13.5px; }
#clienttable.gs-member-cards tbody td.c-hide { display: none !important; }
#clienttable.gs-member-cards td.c-name { grid-area: name; font-weight: 800; font-size: 15.5px; line-height: 1.35; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#clienttable.gs-member-cards td.c-name .gs-no { font-size: 11.5px; }
#clienttable.gs-member-cards td.c-status { grid-area: status; justify-self: end; align-self: start; }
#clienttable.gs-member-cards td.c-plan { grid-area: plan; }
#clienttable.gs-member-cards td.c-plan p { margin: 0; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #f2f4f7; font-weight: 700; font-size: 12.5px; }
#clienttable.gs-member-cards td.c-phone { grid-area: phone; }
#clienttable.gs-member-cards td.c-phone a { color: #1d2127; font-weight: 700; }
#clienttable.gs-member-cards td.c-exp { grid-area: exp; }
#clienttable.gs-member-cards td.c-classes { grid-area: classes; }
#clienttable.gs-member-cards td.c-exp, #clienttable.gs-member-cards td.c-classes { background: #f7f8fa !important; border-radius: 12px; padding: 9px 12px !important; font-weight: 800; font-variant-numeric: tabular-nums; }
#clienttable.gs-member-cards td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 700; color: #8a9099; letter-spacing: .02em; margin-bottom: 2px; }
#clienttable.gs-member-cards td.c-phone[data-label]::before { display: inline; margin-inline-end: 6px; }
#clienttable.gs-member-cards td.c-medal { grid-area: medal; }
#clienttable.gs-member-cards td.c-medal[data-label]::before { display: none; }
.gs-mc-medal { display: flex; gap: 8px; }
.gs-mc-medal a { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; border-radius: 11px; font-size: 12.5px; font-weight: 700; text-decoration: none !important; }
.gs-mc-open { background: #eef3ff; color: #1d4ed8 !important; }
.gs-mc-x { flex: 0 0 auto !important; padding: 0 12px; background: #fdecec; color: var(--gs-red, #d53c41) !important; }
.gs-mc-x:hover { background: var(--gs-red, #d53c41); color: #fff !important; }
.gs-mc-none { display: inline-flex; align-items: center; gap: 6px; color: #9aa0a8; font-size: 12.5px; font-weight: 600; }
#clienttable.gs-member-cards td.c-acts { grid-area: acts; border-top: 1px solid #eef0f2 !important; padding-top: 12px !important; }
.gs-mc-acts { display: flex; gap: 8px; }
.gs-mc-act { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; border-radius: 11px; background: #f4f5f7; color: #1d2127 !important; font-size: 12.5px; font-weight: 700; text-decoration: none !important; transition: background .15s ease, transform .15s ease; }
.gs-mc-act:hover { background: #141414; color: #fff !important; transform: translateY(-1px); }
.gs-mc-act.is-danger { flex: 0 0 42px; background: #fdecec; color: var(--gs-red, #d53c41) !important; }
.gs-mc-act.is-danger:hover { background: var(--gs-red, #d53c41); color: #fff !important; }
#clienttable.gs-member-cards tbody tr:has(td.dataTables_empty) { display: block; text-align: center; padding: 34px 16px; }
#clienttable.gs-member-cards tbody tr:has(td.dataTables_empty)::before { display: none; }
#clienttable.gs-member-cards td.dataTables_empty { display: block; text-align: center; color: #9aa0a8; }
#clienttable_wrapper .dataTables_processing { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.gs-mc-loading { display: inline-flex; width: 46px; height: 46px; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .12); align-items: center; justify-content: center; font-size: 20px; color: var(--gs-red, #d53c41); }
@media (max-width: 575px) {
    #clienttable.gs-member-cards tbody { grid-template-columns: minmax(0, 1fr); }
    .gs-sortbar { width: 100%; margin: 0; }
    .gs-sortbar select.form-control { flex: 1 1 auto; min-width: 0; }
    .gs-mc-act span { font-size: 12px; }
}

/* [المنصة] الجرس: تعليم كمقروء لكل إشعار + "كل الإشعارات" + ألوان الأنواع الجديدة */
.gs-bell-row { position: relative; }
.gs-bell-row .gs-bell-item { padding-inline-end: 50px; }
.gs-bell-mark { position: absolute; top: 50%; inset-inline-end: 12px; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 9px; border: 1px solid #e1e3e8; background: #fff; color: #16a34a; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; opacity: .8; }
.gs-bell-mark:hover { opacity: 1; background: #effaf3; border-color: #bfe8cc; }
.gs-bell-row .gs-bell-item .gs-bell-go { display: none; }
.gs-bell-more { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border-top: 1px solid #eef0f2; font-weight: 800; font-size: 13px; color: #1d2127 !important; text-decoration: none !important; background: #fafbfc; }
.gs-bell-more:hover { background: #f1f3f5; }
.gs-bell-warn { margin: 0 10px 10px; padding: 9px 12px; border-radius: 12px; background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; font-size: 12.5px; font-weight: 600; line-height: 1.5; }
.gs-bell-ic.is-attend { background: #e7f6ec; color: #16a34a; }
.gs-bell-ic.is-member { background: #eaf1fe; color: #2563eb; }
.gs-bell-ic.is-renew { background: #f3e8ff; color: #7c3aed; }
.gs-bell-ic.is-payment, .gs-bell-ic.is-visit { background: #ecfdf5; color: #059669; }
.gs-bell-ic.is-expense { background: #fff4e0; color: #d97706; }
.gs-bell-ic.is-deleted, .gs-bell-ic.is-overdue { background: #fdecec; color: var(--gs-red, #d53c41); }

/* [المنصة] صفحة الإشعارات */
.gs-inbox { width: 100%; max-width: none; margin: 0; padding: 0 !important; overflow: hidden; }
.gs-inbox-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 14px 16px; border-bottom: 1px solid #eef0f2; }
.gs-inbox-head .gs-seg { width: auto; }
.gs-inbox-n { display: inline-block; min-width: 18px; height: 18px; line-height: 18px; padding: 0 5px; margin-inline-start: 4px; border-radius: 999px; background: var(--gs-red, #d53c41); color: #fff; font-size: 10.5px; }
.gs-inbox-all { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; border-radius: 11px; }
.gs-inbox-list.is-loading { opacity: .6; }
.gs-inbox-item { display: flex; align-items: flex-start; gap: 14px; padding: 14px 16px; border-bottom: 1px solid #f1f2f4; transition: background .15s ease; outline: 0; }
.gs-inbox-item.is-link { cursor: pointer; }
.gs-inbox-item:hover, .gs-inbox-item:focus-visible { background: #f8f9fa; }
.gs-inbox-item.is-new { background: #fff8f8; }
.gs-inbox-item.is-new .gs-inbox-txt b::after { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--gs-red, #d53c41); margin-inline-start: 8px; vertical-align: middle; }
.gs-inbox-item .gs-bell-ic { width: 42px; height: 42px; border-radius: 13px; font-size: 17px; }
.gs-inbox-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.gs-inbox-txt b { font-size: 14.5px; }
.gs-inbox-txt p { margin: 0; color: #4b5563; font-size: 13.5px; line-height: 1.6; white-space: pre-line; word-break: break-word; }
.gs-inbox-txt small { color: #9aa0a8; font-size: 12px; }
.gs-inbox-acts { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; align-self: center; }
.gs-inbox-mark { width: 34px; height: 34px; border-radius: 10px; border: 1px solid #e1e3e8; background: #fff; color: #16a34a; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.gs-inbox-mark:hover { background: #effaf3; border-color: #bfe8cc; }
.gs-inbox-done { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; color: #c3c7ce; }
.gs-inbox-go { color: #c3c7ce; font-size: 18px; }
.gs-inbox-empty { text-align: center; padding: 50px 16px; color: #9aa0a8; }
.gs-inbox-empty .fa { font-size: 30px; margin-bottom: 10px; }
.gs-inbox-empty p { margin: 0; }
.gs-inbox-pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; font-size: 13px; color: #6b7280; }
.gs-inbox-pager[hidden] { display: none; }
.gs-inbox-pager div { display: flex; align-items: center; gap: 8px; }
.gs-inbox-pager button { width: 36px; height: 36px; border-radius: 10px; border: 1px solid #e1e3e8; background: #fff; cursor: pointer; }
.gs-inbox-pager button:disabled { opacity: .4; cursor: default; }
.gs-nav-fixed { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .06); }
@media (max-width: 575px) { .gs-inbox-head { padding: 12px; } .gs-inbox-item { padding: 12px; gap: 10px; } }

/* [المنصة] الإشعار: الفرع/اليوزر فوق + إعدادات الإشعارات */
.gs-bell-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 11px; font-weight: 700; color: #8a9099; margin-bottom: 1px; }
.gs-bell-meta span { display: inline-flex; align-items: center; gap: 4px; }
.gs-bell-detail .gs-bell-meta { justify-content: center; }
.gs-bell-head-acts { display: inline-flex; align-items: center; gap: 6px; }
.gs-bell-cog { width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; color: #6b7280 !important; text-decoration: none !important; }
.gs-bell-cog:hover { background: #f1f3f5; color: #1d2127 !important; }
.gs-inbox-tools { display: inline-flex; gap: 8px; }
.gs-inbox-set { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; border-radius: 11px; }
.gs-prefs h6 { font-size: 12.5px; font-weight: 800; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; margin: 16px 0 8px; }
.gs-prefs-note { color: #6b7280; font-size: 13px; line-height: 1.6; margin: 0 0 6px; }
/* إعدادات الإشعارات: صفوف صغيرة + التوجل واضح + المودال نفسه هو اللي بيسكرول */
.gs-pref-modal .modal-dialog { max-width: 520px; }
.gs-pref-modal .modal-body { padding: 10px 16px 16px !important; }
.gs-pref-modal .modal-dialog-scrollable .modal-content { max-height: calc(100vh - 3.5rem); }
.gs-prefs h6 { margin: 14px 0 6px !important; }
.gs-pref { display: flex !important; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #eceef1; border-radius: 12px; margin: 0 0 6px !important; }
.gs-pref.is-off { background: #fafbfc; }
.gs-pref.is-off .gs-pref-txt b { color: #6b7280; }
.gs-pref-ic { width: 32px; height: 32px; border-radius: 9px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; background: #eef0f2; color: #4b5563; }
.gs-pref-ic.is-attend, .gs-pref-ic.is-subscriber { background: #e7f6ec; color: #16a34a; }
.gs-pref-ic.is-applicant, .gs-pref-ic.is-expense { background: #fff4e0; color: #d97706; }
.gs-pref-ic.is-renew { background: #f3e8ff; color: #7c3aed; }
.gs-pref-ic.is-payment, .gs-pref-ic.is-visit { background: #ecfdf5; color: #059669; }
.gs-pref-ic.is-deleted, .gs-pref-ic.is-overdue, .gs-pref-ic.is-billing { background: #fdecec; color: var(--gs-red, #d53c41); }
.gs-pref-ic.is-medals { background: #eaf1fe; color: #2563eb; }
.gs-pref-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; line-height: 1.35; }
.gs-pref-txt b { font-size: 13px; font-weight: 700; }
.gs-pref-txt small { color: #8a9099; font-size: 11px; }
.gs-pref-na { font-size: 11px; color: #9aa0a8; font-weight: 700; white-space: nowrap; }
/* التوجل */
.gs-toggle { position: relative; display: inline-flex !important; flex: 0 0 auto; margin: 0 !important; cursor: pointer; }
.gs-toggle input { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; pointer-events: none; }
.gs-toggle-track { display: inline-block !important; position: relative; width: 44px; height: 26px; border-radius: 999px; background: #cfd3d9; transition: background .18s ease; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04); }
.gs-toggle-dot { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .18s ease; }
.gs-toggle input:checked + .gs-toggle-track { background: #16a34a; }
.gs-toggle input:checked + .gs-toggle-track .gs-toggle-dot { transform: translateX(18px); }
.gs-toggle input:focus-visible + .gs-toggle-track { box-shadow: 0 0 0 3px rgba(22, 163, 74, .3); }
.gs-toggle input:disabled + .gs-toggle-track { opacity: .6; }
@media (max-width: 767.98px) {
    .gs-pref-modal .modal-dialog { max-width: none; }
    .gs-pref-modal .modal-dialog-scrollable { max-height: none; }
    .gs-pref-modal .modal-dialog-scrollable .modal-content { max-height: calc(100dvh - 44px); overflow: hidden; }
    .gs-pref-modal .modal-dialog-scrollable .modal-body { overflow-y: auto; }
}
.gs-bell-ic.is-applicant { background: #fff4e0; color: #d97706; }
.gs-bell-ic.is-subscriber { background: #e7f6ec; color: #16a34a; }
.gs-pref-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.gs-pref-grid .gs-pref { margin: 0 !important; padding: 6px 8px; }
.gs-pref-grid .gs-pref-ic { width: 26px; height: 26px; font-size: 12px; border-radius: 8px; }
.gs-pref-grid .gs-pref-txt b { font-size: 12px; }
.gs-pref-grid .gs-pref-txt small { font-size: 10.5px; }
@media (max-width: 420px) { .gs-pref-grid { grid-template-columns: minmax(0, 1fr); } }

/* [شكل] مودال فوق مودال */
.modal.gs-behind .modal-dialog { transform: scale(.94) translateY(-18px) !important; transition: transform .25s ease, filter .25s ease; filter: brightness(.93); pointer-events: none; }
.modal.gs-behind .modal-content { box-shadow: 0 10px 30px rgba(0, 0, 0, .12) !important; }
.modal-backdrop.gs-stacked.show { opacity: .35; }
@media (max-width: 767.98px) {
    .modal.gs-behind .modal-dialog { transform: scale(.95) translateY(-10px) !important; }
}

/* [شكل] كروت الأعضاء على الكمبيوتر: كل عضو صف بالعرض (والموبايل زي ما هو) */
.gs-mc-has { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 11px; background: #effaf3; color: #15803d; font-size: 12.5px; font-weight: 700; }
@media (min-width: 1200px) {
    #clienttable.gs-member-cards tbody { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    #clienttable.gs-member-cards tbody tr {
        grid-template-columns: minmax(170px, 1.3fr) minmax(150px, 1.1fr) minmax(120px, .9fr) minmax(110px, .8fr) 90px minmax(100px, .7fr) minmax(170px, 1.1fr) auto;
        grid-template-areas: "name plan phone exp classes status medal acts";
        align-items: center; gap: 14px; padding: 12px 16px 12px 20px;
    }
    #clienttable.gs-member-cards tbody tr:hover { transform: none; }
    #clienttable.gs-member-cards td.c-status { justify-self: start; align-self: center; }
    #clienttable.gs-member-cards td.c-acts { border-top: 0 !important; padding-top: 0 !important; }
    #clienttable.gs-member-cards td.c-phone[data-label]::before { display: block; margin: 0 0 2px; }
    #clienttable.gs-member-cards td.c-plan[data-label]::before { display: none; }
    .gs-mc-acts { gap: 6px; }
    .gs-mc-act { flex: 0 0 auto; width: 38px; padding: 0; }
    .gs-mc-act span { display: none; }
    .gs-mc-act.is-danger { flex: 0 0 38px; }
    .gs-mc-medal { flex-wrap: nowrap; }
    .gs-mc-medal .gs-mc-x { padding: 0 10px; }
}

/* [موديول الجيمات] شاشات القوايم (Lookup) */
.gs-lk { padding: 0 !important; overflow: hidden; }
.gs-lk-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 16px 18px; border-bottom: 1px solid #eef0f2; }
.gs-lk-title { margin: 0; font-size: 17px; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.gs-lk-sub { margin: 4px 0 0; color: #6b7280; font-size: 13px; }
.gs-lk-add { display: inline-flex; align-items: center; gap: 8px; border-radius: 12px; font-weight: 700; }
.gs-lk-row { display: flex; align-items: center; gap: 14px; padding: 12px 18px; border-bottom: 1px solid #f1f2f4; }
.gs-lk-row.is-off { background: #fafbfc; }
.gs-lk-row.is-off .gs-lk-main b { color: #9aa0a8; }
.gs-lk-sort { display: flex; flex-direction: column; gap: 2px; }
.gs-lk-sort button { width: 26px; height: 20px; border: 1px solid #e6e8eb; background: #fff; border-radius: 6px; font-size: 10px; color: #6b7280; cursor: pointer; line-height: 1; }
.gs-lk-sort button:disabled { opacity: .35; cursor: default; }
.gs-lk-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gs-lk-main b { font-size: 14.5px; }
.gs-lk-main small { color: #8a9099; font-size: 12px; }
.gs-lk-hint { margin: 8px 0 0; font-size: 12.5px; color: #6b7280; }
.gs-toggle-row { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0 4px !important; padding: 10px 12px; border: 1px solid #eceef1; border-radius: 12px; cursor: pointer; }

/* [موديول المتجر] أيقونات إشعارات المتجر */
.gs-bell-ic.is-sale, .gs-pref-ic.is-sale { background: #e7f6ec; color: #16a34a; }
.gs-bell-ic.is-purchase, .gs-pref-ic.is-purchase { background: #eaf1fe; color: #2563eb; }
.gs-bell-ic.is-low_stock, .gs-pref-ic.is-low_stock { background: #fff4e0; color: #d97706; }

/* [شكل] صف العضو على الكمبيوتر: الخانات بتصغر (وتتقص بـ ...) بدل ما زراير الأكشن تتزق برة لما القايمة الجانبية تبقى مفتوحة */
@media (min-width: 1200px) {
    #clienttable.gs-member-cards tbody tr {
        grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(0, .95fr) minmax(0, .85fr) minmax(0, 70px) minmax(0, .8fr) minmax(0, 1.1fr) max-content;
        gap: 10px; overflow: hidden;
    }
    #clienttable.gs-member-cards tbody tr > td { min-width: 0; }
    #clienttable.gs-member-cards td.c-acts { justify-self: end; }
    #clienttable.gs-member-cards td.c-plan > *, #clienttable.gs-member-cards td.c-medal > * { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    #clienttable.gs-member-cards td.c-name a, #clienttable.gs-member-cards td.c-phone, #clienttable.gs-member-cards td.c-exp { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .gs-mc-medal .gs-mc-x { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
    .gs-mc-act, .gs-mc-act.is-danger { flex: 0 0 36px; width: 36px; height: 36px; }
}
@media (min-width: 1200px) {
    #clienttable.gs-member-cards td.c-status { overflow: hidden; max-width: 100%; }
    #clienttable.gs-member-cards td.c-status .gs-pill { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-flex; }
}

/* [الميداليات] استخدام كل دفعة */
.gs-sub-use { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; }
.gs-sub-bar { flex: 1 1 120px; max-width: 180px; height: 6px; border-radius: 99px; background: #e8f6ee; overflow: hidden; }
.gs-sub-bar i { display: block; height: 100%; background: #1d4fb8; border-radius: 99px; }

/* [موديول المتجر] تابين العملاء الجداد + نقل المشتري */
.gs-new-tabs { margin: 8px 16px; }
.gs-new-tabs em { font-style: normal; font-size: 11.5px; font-weight: 800; background: rgba(0, 0, 0, .08); border-radius: 99px; padding: 1px 8px; margin-inline-start: 4px; }
.gs-new-tabs button.is-on em { background: rgba(255, 255, 255, .2); }
.gs-move-btn { display: inline-flex; align-items: center; gap: 5px; margin-inline-start: 8px; padding: 4px 10px; border-radius: 9px; background: #141414; color: #fff !important; font-size: 12px; font-weight: 700; text-decoration: none !important; white-space: nowrap; }
.gs-move-btn:hover { background: var(--gs-red); }
.gs-move-who { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: #f6f7f9; margin-bottom: 8px; }
.gs-move-who b { font-size: 15px; }
.gs-move-who span { color: #6b7280; font-size: 13px; }
.gs-move-hint { font-size: 12.5px; color: #6b7280; margin: 0 0 4px; }

/* [موديول المتجر] ملخص المتجر في الداشبورد: صف كامل فوق */
.gs-shopstrip { padding-bottom: 16px; }
.gs-shopstrip-ic { width: 30px; height: 30px; border-radius: 9px; background: var(--gs-red-soft); color: var(--gs-red); display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
.gs-shopstrip-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.gs-shopstrip-item { position: relative; display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-radius: 14px; background: #f7f8fa; border: 1px solid #eef0f2; min-width: 0; }
.gs-shopstrip-item > i { position: absolute; top: 14px; inset-inline-end: 14px; color: #c3c7ce; font-size: 15px; }
.gs-shopstrip-item small { font-size: 12.5px; font-weight: 700; color: var(--gs-muted); }
.gs-shopstrip-item > b { font-size: 21px; font-weight: 800; color: var(--gs-text); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-shopstrip-item span { font-size: 12px; color: var(--gs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-shopstrip-item.is-hero { background: linear-gradient(135deg, #1b1b1b, #0e0e0e); border-color: #1b1b1b; }
.gs-shopstrip-item.is-hero small, .gs-shopstrip-item.is-hero span { color: #b9bcc2; }
.gs-shopstrip-item.is-hero > b { color: #fff; }
.gs-shopstrip-item.is-hero > i { color: var(--gs-red); }
.gs-shopstrip-item.is-warn > b { color: var(--gs-red); }
@media (max-width: 1199px) { .gs-shopstrip-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .gs-shopstrip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gs-shopstrip-item.is-hero { grid-column: 1 / -1; } }

/* [المنصة] الفاتورة اللي عليها فلوس في مودال الاشتراك: الصف كله بيتداس ويفتح الدفع */
.gs-sub-row.is-click { cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.gs-sub-row.is-click:hover, .gs-sub-row.is-click:focus-visible { border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .45); background: #fdf6f6; outline: none; }
.gs-sub-row.is-click:active { transform: scale(.99); }

/* [شكل] زرار التحديث فوق: الديسكتوب بس (ماوس)، ومش على التابلت أو الموبايل */
.gs-refresh { display: none !important; }
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
    .gs-refresh { display: inline-flex !important; }
    .gs-refresh .fa { transition: transform .45s cubic-bezier(.34, 1.56, .64, 1); }
    .gs-refresh:hover .fa { transform: rotate(180deg); color: var(--gs-red); }
    .gs-refresh:active { transform: scale(.92); }
    .gs-refresh { position: relative; overflow: hidden; }
    .gs-refresh.is-spin { border-color: var(--gs-red); background: #fff4f4; box-shadow: 0 0 0 4px rgba(var(--gs-red-rgb, 213, 60, 65), .12); }
    .gs-refresh.is-spin .fa { color: var(--gs-red); animation: gsRefSpin .6s cubic-bezier(.5, .1, .5, .9) infinite; transition: none; }
    .gs-refresh.is-done { border-color: #22c55e; background: #f0fdf4; box-shadow: 0 0 0 4px rgba(34, 197, 94, .14); }
    .gs-refresh.is-done .fa { animation: gsRefDone .5s cubic-bezier(.34, 1.56, .64, 1) both; color: #16a34a; }
    .gs-refresh.is-done .fa::before { content: "\f00c"; }
    html.gs-reloading .gs-content, html.gs-reloading #gsContent { opacity: .55; filter: blur(1px); transition: opacity .25s ease, filter .25s ease; }
}
@keyframes gsRefSpin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes gsRefDone { from { transform: scale(.3) rotate(-120deg); opacity: 0; } to { transform: none; opacity: 1; } }

/* [شكل] شريط البحث فوق أصغر شوية على الديسكتوب */
@media (min-width: 992px) {
    .gs-search { flex-basis: 320px; }
    .gs-search-field input { height: 37px; font-size: 13px; border-radius: 11px; padding-inline-start: 35px; }
    .gs-search-ic { inset-inline-start: 13px; font-size: 13px; }
}

/* =====================================================================
   [متابعة المتقدمين] + [الحسابات] العدادات الثابتة فوق
   ===================================================================== */
.gs-top-alert { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; text-decoration: none !important; white-space: nowrap; border: 1px solid transparent; transition: transform .15s var(--gs-ease, ease), box-shadow .15s; }
.gs-top-alert[hidden] { display: none !important; }
.gs-top-alert:hover { transform: translateY(-1px); box-shadow: var(--gs-shadow-md); }
.gs-top-alert:focus-visible { outline: 2px solid var(--gs-accent); outline-offset: 2px; }
.gs-top-alert b { font-size: 13px; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; }
.gs-top-alert.is-leads { background: var(--gs-red-soft); color: var(--gs-red-dark) !important; border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .25); }
.gs-top-alert.is-leads b { background: var(--gs-red); color: #fff; }
.gs-top-alert.is-leads i { animation: gsLeadPulse 2.4s ease-in-out infinite; }
.gs-top-alert.is-leads.has-mine b { box-shadow: 0 0 0 3px rgba(var(--gs-red-rgb, 213, 60, 65), .25); }
.gs-top-alert.is-due { background: var(--gs-orange-soft); color: #92400e !important; border-color: rgba(217, 119, 6, .28); }
.gs-top-alert.is-due b { background: var(--gs-orange); color: #fff; }
@keyframes gsLeadPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.14); } }
@media (prefers-reduced-motion: reduce) { .gs-top-alert.is-leads i { animation: none; } }
@media (max-width: 575.98px) { .gs-top-alert { height: 34px; padding: 0 9px; gap: 4px; } }

/* شاشة المتقدمين الجداد */
.gs-lead-pill { display: inline-flex; align-items: center; gap: 6px; margin: 8px 16px; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(var(--gs-red-rgb, 213, 60, 65), .25); background: var(--gs-red-soft); color: var(--gs-red-dark); font-size: 12.5px; font-weight: 700; cursor: pointer; }
.gs-lead-pill[hidden] { display: none; }
.gs-lead-pill b { background: var(--gs-red); color: #fff; border-radius: 99px; padding: 0 8px; }
.gs-lead-pill:hover { background: #f7dcde; }
#newtable tr.gs-lead-new > td:first-child { box-shadow: inset 3px 0 0 var(--gs-red); font-weight: 700; }
[dir="rtl"] #newtable tr.gs-lead-new > td:first-child { box-shadow: inset -3px 0 0 var(--gs-red); }
.gs-lead-st { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 99px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.gs-lead-st i { font-size: 9px; }
.gs-lead-st em { font-style: normal; opacity: .75; }
.gs-lead-st.is-new { background: var(--gs-red-soft); color: var(--gs-red-dark); }
.gs-lead-st.is-done { background: var(--gs-green-soft); color: #15803d; }
.gs-lead-st.is-done i { font-size: 11px; }
.gs-lead-sub { display: block; margin-top: 3px; color: var(--gs-muted); font-size: 11.5px; }
.gs-lead-sales-chip { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 99px; background: var(--gs-blue-soft); color: var(--gs-blue); font-size: 12px; font-weight: 700; white-space: nowrap; }
.gs-lead-none { color: var(--gs-muted); font-size: 12px; }
.gs-lead-who { color: var(--gs-muted); font-weight: 600; margin-inline-start: 6px; }
.gs-lead-hint { display: block; margin-top: 4px; color: var(--gs-muted); font-size: 12px; }
.gs-lead-sales[hidden], .gs-lead-log[hidden] { display: none !important; }
.gs-lead-log { margin: 0 16px 8px; padding: 10px 12px; border-radius: 12px; background: #f6f7f9; max-height: 240px; overflow: auto; }
.gs-lead-log-h { font-size: 12.5px; font-weight: 800; color: var(--gs-text); margin-bottom: 6px; }
.gs-lead-log ol { list-style: none; margin: 0; padding: 0; }
.gs-lead-log li { padding: 8px 0; border-top: 1px dashed var(--gs-border); }
.gs-lead-log li:first-child { border-top: 0; }
.gs-lead-log-t { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; }
.gs-lead-log-t span { color: var(--gs-muted); font-size: 11.5px; direction: ltr; }
.gs-lead-log p { margin: 4px 0 0; font-size: 13px; white-space: pre-wrap; word-break: break-word; }
.gs-lead-tag { display: inline-block; margin: 4px 4px 0 0; padding: 1px 8px; border-radius: 99px; background: #fff; border: 1px solid var(--gs-border); font-size: 11.5px; }
.gs-lead-tag.is-sales { color: var(--gs-blue); }
/* [المتابعة ↔ المتقدمين] الخطوة الجاية + النتيجة + اختيارات الميعاد السريعة */
.gs-lead-tag.is-res { color: #15803d; }
.gs-lead-tag.is-next { color: #b26a00; }
.gs-lead-next { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; padding: 1px 8px; border-radius: 99px; font-size: 11.5px; font-weight: 700; background: #fff3e0; color: #b26a00; }
.gs-lead-next.is-due { background: #fdecec; color: #c0392b; }
.gs-lead-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.gs-lead-quick button { height: 28px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--gs-border, #e3e6ea); background: #fff; font-size: 12px; font-weight: 700; color: #3a3f47; cursor: pointer; }
.gs-lead-quick button:hover { border-color: var(--gs-red, #d53c41); color: var(--gs-red, #d53c41); }
.gs-lead-pager { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; }
.gs-lead-pager button { width: 30px; height: 30px; border-radius: 9px; border: 1px solid var(--gs-border); background: #fff; cursor: pointer; }
.gs-lead-pager button:disabled { opacity: .4; cursor: default; }
.gs-lead-pager span { font-size: 12px; font-weight: 700; color: var(--gs-muted); }

/* [السيلز] عمود السيلز في اشتراكات اليوم والأيام اللي فاتت */
.gs-ss-name { font-weight: 700; }
.gs-ss-none { color: var(--gs-muted); font-size: 12.5px; }
.gs-ss-edit { border: 1px solid var(--gs-border); background: #fff; border-radius: 8px; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--gs-red); margin-inline-start: 4px; }
.gs-ss-edit:hover { border-color: var(--gs-red); }
.gs-ss-hint { font-size: 12px; color: var(--gs-muted); margin: 8px 0 0; }

/* [الميداليات] الدفع المجمّع: الاشتراك + الميداليات في إجمالي واحد */
.gs-paybar.is-late { background: linear-gradient(135deg, #b4262b, #7f1a1e); }
.gs-paybar.is-late > .fa { background: rgba(255,255,255,.16); color: #fff; }
.gs-paybar.is-late .btn { background: #fff; color: #b4262b; }
.gs-sub-ic.is-late { background: var(--gs-red, #d53c41); color: #fff; }
.gs-sub-total-lbl { display: block; color: #6b7280; font-size: 12.5px; font-weight: 700; margin-bottom: 2px; }
.gs-sub-parts { display: flex; flex-direction: column; gap: 6px; margin: 12px 0 2px; text-align: start; }
.gs-sub-part { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border: 1px solid #eef0f2; border-radius: 12px; background: #fafafb; font-size: 13px; }
.gs-sub-part > span { color: #3a404a; font-weight: 600; min-width: 0; }
.gs-sub-part > span .fa { color: #8a909a; margin-inline-end: 4px; }
.gs-sub-part > b { direction: ltr; white-space: nowrap; font-weight: 800; }
.gs-sub-part.is-late { border-color: rgba(var(--gs-red-rgb, 213, 60, 65),.35); background: #fdf5f5; }
.gs-sub-due.is-late { background: rgba(var(--gs-red-rgb, 213, 60, 65),.1); color: #b4262b; }
.gs-sub-note:not(.is-ok) { margin: 8px 0 0; color: #3a404a; font-size: 13px; font-weight: 700; }
.gs-sub-dueall { display: flex; align-items: center; gap: 10px; margin: 14px 0; padding: 11px 14px; border-radius: 14px; border: 1px solid rgba(217,119,6,.35); background: #fff8ec; color: #7a4a00; font-size: 13.5px; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.gs-sub-dueall:hover, .gs-sub-dueall:focus-visible { box-shadow: 0 8px 18px rgba(0,0,0,.06); outline: none; }
.gs-sub-dueall > span:first-of-type { flex: 1 1 auto; }
.gs-sub-dueall.is-late { border-color: rgba(var(--gs-red-rgb, 213, 60, 65),.4); background: #fdf3f3; color: #9f1f24; }
/* [Access Keys السوفت] السعر وقت الطلب + لينك الأكواد السوفت */
.gs-sub-quote { margin: 2px 0 12px; }
.gs-sub-quote:empty { display: none; }
/* [السوفت لوحده] الطلب مش متاح */
.gs-sub-soft-off { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px; background: var(--gs-soft, #f6f7f9); color: var(--gs-muted, #6b7280); margin-bottom: 14px; }
.gs-sub-soft-off .fa { font-size: 22px; color: var(--gs-primary, #d53c41); }
.gs-sub-soft-off p { margin: 0; font-weight: 600; }
.gs-sub-qdesc { margin: 0 0 8px; font-size: 13px; color: var(--gs-muted); }
.gs-sub-qline { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-radius: 12px; background: var(--gs-bg, #f7f8fa); font-size: 13.5px; font-weight: 700; }
.gs-sub-qline b { font-size: 17px; font-weight: 800; white-space: nowrap; }
.gs-sub-tiers { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.gs-sub-tiers span { padding: 3px 10px; border-radius: 999px; border: 1px solid var(--gs-border, #eceef1); font-size: 12px; font-weight: 700; color: var(--gs-muted); white-space: nowrap; }
.gs-sub-tiers span.is-on { border-color: #141414; background: #141414; color: #fff; }
.gs-sub-quote .gs-sub-muted { margin: 8px 0 0; }
.gs-sub-keys { border-color: rgba(20,20,20,.15); background: #f6f7f9; color: inherit !important; text-decoration: none !important; }
.gs-sub-keys .gs-sub-paysm { background: #141414; }
.gs-sub-open { background: #141414; }
.gs-sub-est { color: var(--gs-muted); font-weight: 700; }

/* [تنقل] أزرار الشاشات اللي في نفس المجموعة من القايمة (حسب الصلاحيات) — فوق كل شاشة */
.gs-subnav { display: flex; gap: 6px; margin: 0 0 16px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 2px; }
.gs-subnav::-webkit-scrollbar { display: none; }
.gs-subnav a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border-radius: 12px; background: #fff; border: 1px solid var(--gs-border, #e6e8ec); color: #4b5260; font-weight: 700; font-size: 13px; text-decoration: none !important; transition: background-color .2s, color .2s, border-color .2s; white-space: nowrap; }
.gs-subnav a:hover { border-color: rgba(var(--gs-red-rgb, 213, 60, 65), .4); color: var(--gs-text, #1d2127); }
.gs-subnav a.is-on { background: #141414; border-color: #141414; color: #fff; }
.gs-subnav a .fa { color: var(--gs-red, #d53c41); }
.gs-subnav a.is-on .fa { color: var(--gs-red-light, #ff8a8e); }
@media print { .gs-subnav { display: none !important; } }
.gs-ss-add { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: var(--gs-red, #d53c41) !important; white-space: nowrap; }
.gs-pref-lock { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 800; color: #4b5260; background: #f1f2f4; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.gs-pref-lock .fa { color: #9aa0a8; }

/* [تنبيه] اشتراكات قربت تخلص (شاشة الحضور) */
.gs-soonbar #soon { color: #ff8a8e; font-size: 16px; margin-inline-end: 4px; }
.gs-soonbar .btn { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }

/* [موبايل] شريط المتابعة والمستحقات تحت الهيدر */
.gs-alert-strip { display: none; }
@media (max-width: 767px) {
    .gs-alert-strip:not([hidden]) { display: flex; gap: 8px; position: sticky; top: calc(var(--gs-top-h) + env(safe-area-inset-top, 0px)); z-index: 1019; padding: 6px 10px; background: var(--gs-surface); border-bottom: 1px solid var(--gs-border); overflow-x: auto; scrollbar-width: none; }
    .gs-alert-strip::-webkit-scrollbar { display: none; }
    .gs-alert-strip .gs-top-alert { flex: 1 1 0; justify-content: center; height: 34px; min-width: 0; }
    .gs-alert-strip .gs-top-alert .gs-hide-sm { display: inline !important; overflow: hidden; text-overflow: ellipsis; }
}

/* [الديمو] بادج DEMO في عنوان الصفحة جوه جيم الديمو */
.gs-demo-tag { display: inline-flex; align-items: center; vertical-align: middle; margin-inline-start: 8px; padding: 1px 8px; border-radius: 6px; background: #7c3aed; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .06em; line-height: 1.7; }

/* [ترقيم] صفحات 1 2 3 مشتركة (GSPager) — نفس شكل ترقيم الحسابات */
.gs-pager { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 14px; flex-wrap: wrap; }
.gs-pager:empty { display: none; }
.gs-pager button { min-width: 34px; height: 34px; padding: 0 8px; border-radius: 10px; border: 1px solid var(--gs-border, #e1e3e8); background: #fff; font-weight: 700; font-size: 12.5px; cursor: pointer; color: inherit; }
.gs-pager button:hover:not(:disabled):not(.is-on) { border-color: #141414; }
.gs-pager button.is-on { background: #141414; color: #fff; border-color: #141414; }
.gs-pager button:disabled { opacity: .45; cursor: default; }
.gs-pager em { font-style: normal; color: var(--gs-muted, #6b7280); padding: 0 2px; }
.gs-pager span { color: var(--gs-muted, #6b7280); font-size: 12.5px; font-weight: 600; padding: 0 6px; }
.gs-pager-slot:empty { display: none; }
/* [السيلز] الاسم وقلم التعديل جنب بعض في نفس السطر وواخدين مساحتهم */
.gs-ss-cell { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; min-width: max-content; }
.gs-ss-cell .gs-ss-edit { margin-inline-start: 0; flex-shrink: 0; }

/* [سجل العمليات] */
.gl-kpis { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.gl-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-bottom: 4px; }
.gl-f { display: flex; flex-direction: column; gap: 4px; min-width: 150px; flex: 1 1 150px; }
.gl-f label { font-size: 12px; font-weight: 700; color: var(--gs-muted); margin: 0; }
.gl-f .form-control { height: 38px; border-radius: 10px; }
.gl-q { flex: 2 1 220px; }
.gl-reset { height: 38px; width: 38px; border-radius: 10px; padding: 0; }
#glList.is-loading { opacity: .55; transition: opacity .15s; }
.gl-table td { vertical-align: top; }
.gl-table td small { display: block; }
.gl-time { white-space: nowrap; }
.gl-time small, .gl-muted { color: var(--gs-muted); font-size: 12px; }
.gl-act { color: #9aa1ab; font-size: 11px; margin-top: 3px; }
.gl-det { display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; max-width: 460px; }
/* [سجل العمليات] الكلام الطويل بيلف جوه الخانة (مايمطّش الجدول ولا يعمل سكرول بالعرض) */
.gl-table td { white-space: normal; }
.gl-table td.gl-time { white-space: nowrap; }
.gl-table td > b, .gl-table td > small { overflow-wrap: anywhere; }
.gl-det span, .gl-act { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.gl-table td:nth-child(2), .gl-table td:nth-child(3) { min-width: 110px; }
.gl-table td:nth-child(4) { min-width: 130px; }
/* الموبايل: كل عملية كارت (العنوان جنب القيمة) بدل جدول عريض */
@media (max-width: 767.98px) {
    .gs-table-wrap:has(> .gl-table) { overflow: visible; border: 0; background: transparent; }
    .gl-table, .gl-table tbody { display: block; width: 100%; }
    .gl-table thead { display: none; }
    .gl-table tr { display: block; background: #fff; border: 1px solid var(--gs-border); border-radius: 14px; padding: 10px 12px; margin-bottom: 10px; }
    .gl-table tr.is-fail { border-color: #fecdca; }
    .gl-table tr.is-fail td { background: transparent; }
    .gl-table td { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 10px; align-items: start; padding: 6px 0 !important; border: 0 !important; min-width: 0 !important; white-space: normal; background: transparent !important; }
    .gl-table td::before { content: attr(data-th); font-size: 11.5px; font-weight: 700; color: var(--gs-muted); padding-top: 2px; }
    .gl-table td.gl-time { white-space: normal; }
    .gl-table td > * { min-width: 0; grid-column: 2; }
    .gl-det { max-width: none; }
}
.gl-det em { font-style: normal; color: var(--gs-muted); }
.gl-table tr.is-fail td { background: #fff7f7; }
@media (max-width: 767.98px) { .gl-f { min-width: calc(50% - 5px); } .gl-det { max-width: 240px; } }
.gs-nav-fixed + .gs-nav-fixed { border-top: 0; margin-top: 0; padding-top: 0; }

/* [الديمو] البادج دايماً أبيض على بنفسجي مهما كان المكان اللي جواه (كانت بتاخد لون الرمادي من العناصر اللي حواليها) */
.gs-demo-tag, span.gs-demo-tag, b .gs-demo-tag, small .gs-demo-tag { color: #fff !important; background: #7c3aed !important; font-size: 10.5px !important; font-weight: 800 !important; letter-spacing: .06em !important; line-height: 1.6 !important; padding: 1px 7px !important; border-radius: 6px !important; display: inline-flex !important; width: auto !important; direction: ltr; text-transform: uppercase; }
/* [سجل العمليات] الفلاتر في جريد، وزرار المسح جنب البحث مش في سطر لوحده */
.gl-filters { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 10px; }
.gl-filters .gl-f { min-width: 0; }
.gl-filters .gl-q { grid-column: span 2; }
.gl-q-row { display: flex; gap: 6px; }
.gl-q-row .form-control { flex: 1; min-width: 0; }
.gl-q-row .gl-reset { flex: 0 0 38px; }
@media (max-width: 767.98px) { .gl-filters { grid-template-columns: 1fr 1fr; } .gl-filters .gl-q { grid-column: 1 / -1; } }

/* [مصطلح] البادج بالعربي "نسخة تجريبية": من غير مسافات بين الحروف (بتقطّع الحروف العربي) */
html[dir="rtl"] .gs-demo-tag, html[dir="rtl"] span.gs-demo-tag, html[dir="rtl"] .pf-demo-tag, html[dir="rtl"] span.pf-demo-tag { letter-spacing: 0 !important; direction: rtl !important; }

/* [فلتر الفترات] مكوّن واحد لكل القوايم والسجلات (gs-period.js) */
.gs-period { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 12px; }
.gs-period .gs-seg { max-width: 100%; }
.gs-period-custom { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gs-period-custom[hidden] { display: none !important; }
.gs-period-custom label { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 12.5px; font-weight: 700; color: var(--gs-muted); }
.gs-period-custom input { height: 34px; width: 150px; padding: 4px 10px; border-radius: 10px; font-size: 13px; }
.gs-period-note { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--gs-muted); font-weight: 600; }
.gs-period-note .fa { color: var(--gs-red); }
@media (max-width: 640px) {
    .gs-period .gs-seg { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: 100%; }
    .gs-period .gs-seg::-webkit-scrollbar { display: none; }
    .gs-period .gs-seg button { flex: 0 0 auto; }
    .gs-period-custom, .gs-period-custom label { width: 100%; }
    .gs-period-custom input { flex: 1 1 auto; width: auto; }
}

/* [تاريخ + وقت] الخانة اللي فيها الاتنين: التاريخ فوق والوقت تحت (gs-fx.js) — في الجداول والكروت */
.gs-dt { display: inline-flex; flex-direction: column; gap: 1px; line-height: 1.3; vertical-align: middle; unicode-bidi: isolate; }
.gs-dt-d { font-weight: 700; white-space: nowrap; color: inherit; }
.gs-dt-t { font-size: .84em; font-weight: 600; color: var(--gs-muted, #6b7280); white-space: nowrap; unicode-bidi: isolate; }
td.gs-td-dt { white-space: nowrap; }
.gs-cards td.gs-td-dt .gs-dt, table.gs-cards td.gs-td-dt .gs-dt { align-items: flex-end; text-align: end; }
.gs-fz-form .form-control { width: 100%; max-width: none; }
.gs-fz-form textarea.form-control { min-height: 64px; resize: vertical; }
.gs-member-modal .gs-fz-form label { display: block !important; width: 100%; }

/* ---------- [البحث الشامل] زرار فوق القايمة + Ctrl+K ---------- */
.gs-side-search { padding: 12px 12px 4px; flex-shrink: 0; }
.gs-cmdk-btn { width: 100%; display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 12px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .06); color: #b9bcc2; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.gs-cmdk-btn:hover, .gs-cmdk-btn:focus-visible { background: rgba(255, 255, 255, .11); border-color: rgba(255, 255, 255, .2); color: #fff; outline: 0; }
.gs-cmdk-btn .fa { color: var(--gs-red); font-size: 14px; }
.gs-cmdk-btn-t { flex: 1; text-align: start; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-cmdk-btn kbd { font-family: inherit; font-size: 10.5px; font-weight: 700; color: #9aa0a8; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); border-radius: 6px; padding: 1px 6px; box-shadow: none; white-space: nowrap; }
@media (min-width: 992px) { .gs-collapsed .gs-side-search { padding: 10px 8px 2px; } .gs-collapsed .gs-cmdk-btn { justify-content: center; padding: 0; } }
.gs-cmdk-top { display: none; }
@media (max-width: 991.98px) { .gs-cmdk-top { display: inline-flex; } }

.gs-cmdk .modal-dialog { max-width: 640px; margin: 9vh auto 0; }
.gs-cmdk .modal-content { border: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 90px rgba(0, 0, 0, .32); }
.gs-cmdk-in { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--gs-border); }
.gs-cmdk-in > .fa { color: var(--gs-red); font-size: 17px; }
.gs-cmdk-in input { flex: 1; min-width: 0; border: 0; outline: 0; font-size: 16.5px; font-weight: 600; background: none; color: var(--gs-text); }
.gs-cmdk-in input::-webkit-search-cancel-button { display: none; }
.gs-cmdk-in .gs-spinner { display: none; }
.gs-cmdk.is-loading .gs-cmdk-in .gs-spinner { display: inline-block; }
.gs-cmdk kbd { font-family: inherit; font-size: 11px; font-weight: 700; background: #f3f4f6; border: 1px solid #e5e7eb; border-bottom-width: 2px; border-radius: 6px; padding: 1px 6px; color: #636b78; box-shadow: none; }
.gs-cmdk-res { max-height: min(60vh, 520px); overflow: auto; padding: 6px 8px 10px; overscroll-behavior: contain; }
.gs-cmdk-h { font-size: 11.5px; font-weight: 800; color: #9aa0a8; padding: 12px 10px 4px; letter-spacing: .02em; }
.gs-cmdk-item { width: 100%; display: flex; align-items: center; gap: 12px; padding: 9px 10px; border: 0; background: none; border-radius: 12px; text-align: start; cursor: pointer; color: var(--gs-text); }
.gs-cmdk-item.is-on { background: #f4f5f7; }
.gs-cmdk-item.is-on .gs-cmdk-go { opacity: 1; color: var(--gs-red); }
.gs-cmdk-ic { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 11px; background: #f1f2f4; color: #4b5563; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; position: relative; overflow: hidden; font-weight: 800; }
.gs-cmdk-ic.is-page, .gs-cmdk-ic.is-recent { background: #141414; color: #fff; }
.gs-cmdk-ic.is-feature { background: #fff1f1; color: var(--gs-red); }
.gs-cmdk-ic.is-coach, .gs-cmdk-ic.is-group { background: #eef6ff; color: #1d4ed8; }
.gs-cmdk-ic.is-employee, .gs-cmdk-ic.is-user { background: #f3f0ff; color: #6d28d9; }
.gs-cmdk-ic.is-plan, .gs-cmdk-ic.is-product { background: #ecfdf3; color: #15803d; }
.gs-cmdk-ic.is-avatar { background: #141414; color: #fff; font-size: 12.5px; border-radius: 50%; }
.gs-cmdk-ic.is-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gs-cmdk-t { flex: 1; min-width: 0; line-height: 1.35; }
.gs-cmdk-t b, .gs-cmdk-t small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gs-cmdk-t b { font-size: 14px; font-weight: 700; }
.gs-cmdk-t small { color: var(--gs-muted); font-size: 12.5px; font-weight: 600; }
.gs-cmdk-end { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.gs-cmdk-price { font-size: 12.5px; font-weight: 700; color: #3a404a; white-space: nowrap; }
.gs-cmdk-go { opacity: 0; color: #9aa0a8; transition: opacity .15s ease; }
.gs-cmdk-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 30px 10px; color: var(--gs-muted); text-align: center; }
.gs-cmdk-empty .fa { font-size: 22px; color: #c4c8ce; margin-bottom: 4px; }
.gs-cmdk-empty b { color: var(--gs-text); }
.gs-cmdk-tips { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 10px 6px; }
.gs-cmdk-tips span { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: #4b5563; background: #f6f7f9; border-radius: 999px; padding: 6px 11px; }
.gs-cmdk-tips .fa { color: var(--gs-red); }
.gs-cmdk-foot { display: flex; gap: 16px; padding: 10px 18px; border-top: 1px solid var(--gs-border); font-size: 12px; color: #9aa0a8; background: #fafbfc; }
.gs-cmdk-foot-end { margin-inline-start: auto; }
@media (max-width: 575.98px) {
    .gs-cmdk .modal-dialog { margin: 0; max-width: none; height: 100%; }
    .gs-cmdk .modal-content { border-radius: 0; height: 100%; }
    .gs-cmdk-res { max-height: none; flex: 1; }
    .gs-cmdk-foot { display: none; }
    .gs-cmdk-in input { font-size: 16px; }
}

/* ================= [إيه الجديد] نافذة التحديثات */
.gs-wn { position: fixed; inset: 0; z-index: 1065; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(15, 17, 21, .0); transition: background .22s; }
.gs-wn.is-on { background: rgba(15, 17, 21, .55); }
.gs-wn-card { width: 100%; max-width: 520px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; background: #fff; border-radius: 22px; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); overflow: hidden; transform: translateY(16px) scale(.98); opacity: 0; transition: transform .25s cubic-bezier(.2, .8, .2, 1), opacity .2s; }
.gs-wn.is-on .gs-wn-card { transform: none; opacity: 1; }
.gs-wn-head { position: relative; display: flex; align-items: center; gap: 14px; padding: 22px 22px 18px; background: radial-gradient(400px 160px at 100% 0, rgba(var(--gs-red-rgb, 213, 60, 65), .14), transparent 70%), linear-gradient(180deg, #fff, #fbfbfc); border-bottom: 1px solid #f0f1f3; }
.gs-wn-ic { width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; color: #fff; background: linear-gradient(135deg, #e0474c, var(--gs-red-dark, #b52f34)); box-shadow: 0 10px 22px rgba(var(--gs-red-rgb, 213, 60, 65), .32); flex: 0 0 auto; }
.gs-wn-head h3 { margin: 0; font-size: 19px; font-weight: 800; color: #111827; }
.gs-wn-head p { margin: 2px 0 0; color: #6b7280; font-size: 13px; }
.gs-wn-x { position: absolute; top: 14px; inset-inline-end: 14px; width: 34px; height: 34px; border: 0; border-radius: 10px; background: transparent; color: #8b9098; }
.gs-wn-x:hover { background: #f1f2f4; color: #111827; }
.gs-wn-list { overflow-y: auto; padding: 6px 22px; }
.gs-wn-item { padding: 16px 0; border-bottom: 1px solid #f0f1f3; }
.gs-wn-item:last-child { border-bottom: 0; }
.gs-wn-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.gs-wn-meta time { font-size: 12px; color: #9aa0a6; font-weight: 600; }
.gs-wn-tag { display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; padding: 3px 10px; font-size: 11.5px; font-weight: 800; }
.gs-wn-tag.is-new { background: var(--gs-red-soft, #fdecec); color: var(--gs-red-dark, #b3262b); } .gs-wn-tag.is-improved { background: var(--gs-blue-soft, #eaf1fd); color: #1d4fb8; } .gs-wn-tag.is-fixed { background: var(--gs-green-soft, #e8f6ee); color: #177245; }
.gs-wn-item h4 { font-size: 16px; font-weight: 800; color: #111827; margin: 0 0 6px; }
.gs-wn-body { color: #3a404a; font-size: 14px; line-height: 1.7; }
.gs-wn-body p { margin: 0 0 6px; }
.gs-wn-body ul { margin: 0; padding-inline-start: 20px; }
.gs-wn-body li { margin-bottom: 4px; }
.gs-wn-foot { padding: 14px 22px 18px; border-top: 1px solid #f0f1f3; display: flex; justify-content: flex-end; }
.gs-wn-ok { min-width: 120px; height: 42px; border-radius: 12px; font-weight: 800; }
@media (max-width: 575px) { .gs-wn { align-items: flex-end; padding: 0; } .gs-wn-card { border-radius: 22px 22px 0 0; max-height: 88vh; } .gs-wn-foot .btn { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .gs-wn, .gs-wn-card { transition: none; } }
.gs-mm-email { font-size: 12px; font-weight: 700; color: var(--gs-red); margin-inline-start: 6px; }

/* [ترابط الشاشات] لينك صغير لشاشة شبهها (بيظهر بس لو اليوزر معاه الشاشة) */
.gs-go { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--gs-red-soft, #fdecec); color: var(--gs-red, #d53c41) !important; font-weight: 700; font-size: 12.5px; line-height: 1.3; text-decoration: none !important; white-space: nowrap; transition: background-color .2s ease, transform .2s ease; }
.gs-go:hover { background: #fbdcdd; transform: translateY(-1px); }
.gs-go .fa-angle-right, .gs-go .fa-angle-left { font-size: 14px; }
.gs-go.is-plain { background: transparent; padding: 4px 0; }
.gs-gos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.gs-go[hidden] { display: none !important; }
.gs-an-go { margin-top: 6px; }

/* [خدمات الباقات] تاب الخدمات في ملف المشترك */
.gsv-sub h6 { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.gsv-sub h6 small { color: var(--gs-muted); font-weight: 600; font-size: 12px; }
.gsv-sub.is-old { opacity: .75; }
.gsv-note { display: flex; gap: 6px; align-items: flex-start; margin: 0 0 10px; font-size: 12.5px; color: var(--gs-muted); line-height: 1.6; }
.gsv-note .fa { margin-top: 3px; }
.gsv-list { display: flex; flex-direction: column; }
.gsv-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0f1f4; }
.gsv-row:last-child { border-bottom: 0; }
.gsv-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.gsv-main > b { font-size: 14px; }
.gsv-main small { color: var(--gs-muted); font-weight: 600; font-size: 12px; }
.gsv-main small b { color: #16a34a; }
.gsv-main small b.gsv-zero { color: var(--gs-muted); }
.gsv-coach-ic { color: #2563eb; font-size: 12px; }
.gsv-bar { display: block; height: 6px; border-radius: 99px; background: #eef0f3; overflow: hidden; }
.gsv-bar i { display: block; height: 100%; background: var(--gs-red); border-radius: 99px; }
.gsv-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; padding: 12px; margin: 2px 0 10px; border-radius: 12px; background: #f8f9fb; border: 1px solid #eef0f3; }
.gsv-form label { display: flex; flex-direction: column; gap: 4px; margin: 0; font-weight: 700; font-size: 12.5px; }
.gsv-form label small { color: var(--gs-muted); font-weight: 600; }
.gsv-form .gsv-note, .gsv-form .gsv-acts { grid-column: 1 / -1; margin: 0; }
.gsv-acts { display: flex; gap: 8px; flex-wrap: wrap; }

/* [كل الفروع] علامة "كل الفروع" + القفل (باقة أو خدمة كل الفروع للإدارة العامة بس) */
.gps-all { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; font-size: 12px; color: #1d4ed8; background: #eff4ff; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
.gps-lock { color: #9aa0a9; font-size: 15px; cursor: help; }
.gps-all.is-xs { padding: 1px 6px; font-size: 10.5px; vertical-align: middle; }
.gsv-acts .gsv-ok { background: var(--gs-red); color: #fff !important; border-color: var(--gs-red); }
.gsv-acts .gsv-ok:hover { filter: brightness(.95); }
.gsv-acts .gsv-ok:disabled { opacity: .6; }

/* ==========================================================================
   [تنقل الموبايل] سهم الرجوع في الهيدر + زرار "+" العايم (الموبايل والتابلت بس)
   ========================================================================== */
.gs-back-btn, .gs-fab { display: none; }
@media (max-width: 991.98px) {
    .gs-back-btn:not([hidden]) { display: inline-flex; }
    .gs-fab {
        display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
        position: fixed; inset-inline-end: 16px; bottom: calc(82px + env(safe-area-inset-bottom, 0px)); z-index: 1021;
        transition: transform .28s var(--gs-ease-spring, ease), opacity .2s ease;
    }
    .gs-fab.is-hide { transform: translateY(calc(100% + 96px)); opacity: 0; pointer-events: none; }
    .gs-drawer-open .gs-fab, html.gs-modal-open .gs-fab, html.gs-touring .gs-fab, body.gs-scan-lock .gs-fab { opacity: 0; pointer-events: none; }
    .gs-fab-btn {
        width: 54px; height: 54px; border-radius: 18px; border: 0; cursor: pointer;
        background: var(--gs-red, #d53c41); color: #fff; font-size: 22px; display: inline-flex; align-items: center; justify-content: center;
        box-shadow: 0 12px 26px -8px rgba(var(--gs-red-rgb, 213, 60, 65), .65), 0 2px 6px rgba(16, 24, 40, .12);
        transition: transform .25s var(--gs-ease-spring, ease), background-color .2s ease;
    }
    .gs-fab-btn i { transition: transform .25s var(--gs-ease-spring, ease); }
    .gs-fab-btn:active { transform: scale(.94); }
    .gs-fab.is-open .gs-fab-btn { background: #141414; }
    .gs-fab.is-open .gs-fab-btn i { transform: rotate(135deg); }
    .gs-fab-menu { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
    .gs-fab-menu[hidden] { display: none; }
    .gs-fab-menu a {
        display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 14px;
        background: #fff; color: #1d2939 !important; font-size: 14px; font-weight: 700; text-decoration: none !important; white-space: nowrap;
        box-shadow: 0 10px 28px -8px rgba(16, 24, 40, .28), 0 0 0 1px rgba(16, 24, 40, .06);
        animation: gsFabIn .22s ease both;
    }
    [dir="rtl"] .gs-fab-menu a { padding: 8px 8px 8px 14px; }
    .gs-fab-menu a:nth-child(2) { animation-delay: .04s; }
    .gs-fab-menu .ic { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; }
    .gs-fab-menu .ic.is-visit { background: #ecfdf3; color: #067647; }
    .gs-fab-menu .ic.is-out { background: #fef3f2; color: #b42318; }
    @keyframes gsFabIn { from { opacity: 0; transform: translateY(8px) scale(.96); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) { .gs-fab, .gs-fab-btn, .gs-fab-btn i, .gs-fab-menu a { transition: none; animation: none; } }
@media print { .gs-fab, .gs-back-btn { display: none !important; } }
/* [شكل] كروت الموبايل: التاريخ والوقت يبدأوا من نفس ناحية باقي القيم (كان الوقت مزقوق للناحية التانية تحت التاريخ) */
@media (max-width: 767.98px) {
    .gs-admin table.gs-cards td.gs-td-dt .gs-dt { align-items: flex-start; text-align: start; }
}
/* [شكل] شاشات القوايم في الموبايل: الكروت بتاخد عرض أكبر (كان فيه إطار جوه إطار بياكل ~26px من كل ناحية) */
@media (max-width: 767.98px) {
    .gs-admin .widget-box > .widget-body > .row[style*="padding"] { padding: 12px 2px !important; }
}
/* [شكل] الموبايل: مساحة فاضية تحت آخر الصفحة عشان زرار + العايم مايغطيش آخر كارت أو أزرار الصفحات */
@media (max-width: 991.98px) {
    body:has(#gsFab) .gs-content::after { content: ""; display: block; height: 64px; }
}
/* [شكل] الموبايل: المودال اللي بيطلع من تحت لازق في آخر الشاشة الظاهرة بالظبط (bottom:0) بدل ما يتحسب بنسبة من طول الصفحة
   — في الآيفون (سفاري والأبلكيشن) كان آخره بيتاكل / بيقف قبل آخر الشاشة */
@media (max-width: 767.98px) {
    .gs-admin .modal:not(.gs-member-modal) .modal-dialog {
        position: fixed; left: 0; right: 0; bottom: 0; top: auto; width: 100%;
        min-height: 0 !important; height: auto !important; max-height: none !important; margin: 0 !important; padding-top: 0; display: block;   /* (modal-dialog-centered + scrollable بيخلوه height:100% فالمحتوى كان بيقف فوق) */
    }
    .gs-admin .modal:not(.gs-member-modal) .modal-content {
        max-height: calc(100vh - 44px); max-height: calc(100dvh - 44px - env(safe-area-inset-top, 0px));
    }
}
/* [السوفت] الدفع وقت الطلب */
.gs-soft-pay .gs-sub-bill { text-align: center; }
.gs-soft-acts { display: flex; gap: 10px; justify-content: space-between; margin-top: 14px; }
.gs-soft-acts .btn { min-height: 44px; border-radius: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.gs-soft-acts .btn-primary { flex: 1 1 auto; }

/* [ملف العضو] الموبايل والآيفون (سفاري + الأبلكيشن): المودال بيبدأ تحت النوتش والساعة ومابيطلعش تحتهم أبداً
   - اللي بيسكرول هو محتوى المودال نفسه بس (مش الصفحة ولا المودال كله) ⇒ أوله دايماً تحت النوتش
   - زرار القفل (×) ثابت فوق في الركن طول ما المودال مفتوح — دايرة واضحة على الهيدر الغامق وعلى المحتوى الفاتح ومساحة دوس 44px */
@media (max-width: 767.98px) {
    .gs-member-modal.modal { overflow: hidden !important; overscroll-behavior: contain; }
    .gs-member-modal .modal-dialog {
        position: fixed; left: 0; right: 0; bottom: 0; top: calc(10px + env(safe-area-inset-top, 0px));
        width: 100%; max-width: none; margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important; max-height: none !important; display: flex;
    }
    .gs-member-modal .modal-content {
        flex: 1 1 auto; height: 100%; min-height: 0 !important; max-height: none !important; display: block;
        overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
        border-radius: 20px 20px 0 0 !important;
    }
    .gs-member-modal .modal-dialog-scrollable .modal-body { overflow: visible; }
    .gs-member-modal .gs-mm-body { padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important; }
    .gs-member-modal .gs-mm-head { padding-top: 16px; padding-inline-end: 64px; }
    .gs-member-modal.show .gs-mm-close {
        position: fixed; z-index: 5; top: calc(20px + env(safe-area-inset-top, 0px)); inset-inline-end: 12px;
        width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
        background: rgba(20, 20, 20, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
        box-shadow: 0 4px 14px rgba(0, 0, 0, .25); border: 1px solid rgba(255, 255, 255, .18);
        opacity: 1; font-size: 26px; line-height: 1; color: #fff !important;
    }
    .gs-member-modal.show .gs-mm-close span { display: block; margin-top: -2px; }
    .gs-member-modal .gs-mm-head .gs-mm-actions { margin-inline-end: 0; }
}
