@font-face {
	font-family: "Alexandria Arabic";
	src: url("/assets/gymstack/fonts/alexandria-arabic.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
}

@font-face {
	font-family: "Alexandria Latin";
	src: url("/assets/gymstack/fonts/alexandria-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
}

@font-face {
	font-family: "Barlow Condensed";
	src: url("/assets/gymstack/fonts/barlow-condensed-600.woff2") format("woff2");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Barlow Condensed";
	src: url("/assets/gymstack/fonts/barlow-condensed-700.woff2") format("woff2");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Barlow Condensed";
	src: url("/assets/gymstack/fonts/barlow-condensed-800.woff2") format("woff2");
	font-style: normal;
	font-weight: 800;
	font-display: swap;
}

@font-face {
	font-family: "Barlow Condensed";
	src: url("/assets/gymstack/fonts/barlow-condensed-900.woff2") format("woff2");
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}

:root {
	--gs-font-body: "Alexandria Latin", "Alexandria Arabic", Arial, sans-serif;
	--gs-font-display: "Barlow Condensed", "Alexandria Latin", "Alexandria Arabic", sans-serif;
	--gs-bg: #0a0e0d;
	--gs-bg-soft: #0f1513;
	--gs-surface: #131a18;
	--gs-surface-2: #18211e;
	--gs-border: rgba(225, 255, 239, .1);
	--gs-border-strong: rgba(183, 243, 74, .28);
	--gs-text: #f4f7f5;
	--gs-muted: #93a29c;
	--gs-accent: #b7f34a;
	--gs-accent-strong: #9fe22a;
	--gs-accent-ink: #101612;
	--gs-warning: #ffb84d;
	--gs-danger: #ff6b6b;
	--gs-radius: 18px;
	--gs-shadow: 0 18px 50px rgba(0, 0, 0, .26);
}

.gs-member-workspace { padding: 16px; color: var(--gs-text); }
.gs-workspace-header, .gs-workspace-panel {
	padding: 20px; margin-block-end: 16px; background: var(--gs-surface);
	border: 1px solid var(--gs-border); border-radius: var(--gs-radius);
}
.gs-workspace-header h1 { font-size: 26px; margin: 0 0 12px; color: var(--gs-text); }
.gs-workspace-header p, .gs-workspace-message { color: var(--gs-muted); }
.gs-workspace-panel h2 { font-size: 20px; color: var(--gs-text); }
.gs-workspace-actions, .gs-workspace-facts, .gs-workspace-tabs {
	display: flex; flex-wrap: wrap; gap: 10px; margin-block: 16px;
}
.gs-workspace-facts { font-size: 13px; }
.gs-workspace-tabs button[aria-current] {
	background: var(--gs-accent); color: var(--gs-accent-ink); border-color: var(--gs-accent);
}
.gs-workspace-table { overflow-x: auto; max-width: 100%; }
.gs-workspace-table table { width: 100%; border-collapse: collapse; }
.gs-workspace-table th, .gs-workspace-table td {
	padding: 12px; text-align: start; border-bottom: 1px solid var(--gs-border);
	color: var(--gs-text); vertical-align: top; min-width: 110px;
}
.gs-workspace-table th { background: var(--gs-surface-2); }
.gs-member-workspace a { color: var(--gs-accent); }
.gs-member-workspace :focus-visible { outline: 2px solid var(--gs-accent); outline-offset: 3px; }
@media (max-width: 600px) {
	.gs-member-workspace { padding: 4px; }
	.gs-workspace-header, .gs-workspace-panel { padding: 12px; }
	.gs-workspace-tabs .btn { flex: 1 1 135px; white-space: normal; }
}

html, body { scroll-behavior: smooth; }
body {
	font-feature-settings: "ss01" 1, "cv02" 1;
	font-family: var(--gs-font-body) !important;
	background: var(--gs-bg-soft) !important;
	color: var(--gs-text);
}
html[lang="ar"] {
	--gs-font-body: "Alexandria Arabic", "Alexandria Latin", Arial, sans-serif;
	--gs-font-display: "Alexandria Arabic", "Alexandria Latin", Arial, sans-serif;
}
button, input, textarea, select, .btn, .form-control, .input-with-feedback,
.dropdown-menu, .popover, .modal-content, .datatable {
	font-family: var(--gs-font-body) !important;
}
h1, h2, h3, h4, h5, h6, .page-title, .widget-title, .section-head,
.gs-metric-value, .gs-grid dd {
	font-family: var(--gs-font-display) !important;
}

/* Brand and navigation */
.navbar {
	background: rgba(10, 14, 13, .94) !important;
	border-bottom: 1px solid var(--gs-border) !important;
	backdrop-filter: blur(18px);
	box-shadow: none !important;
}
.navbar .navbar-brand img, .navbar .app-logo { width: 38px !important; height: 38px !important; object-fit: contain; }
.navbar .navbar-brand { gap: 10px; color: var(--gs-text) !important; font-weight: 800; }
.navbar a, .navbar .nav-link, .navbar .btn { color: #dbe4df !important; }
.navbar .navbar-search, .navbar #navbar-search {
	background: var(--gs-surface) !important;
	border: 1px solid var(--gs-border) !important;
	border-radius: 999px !important;
}
.gs-language {
	margin-inline-start: 1rem;
	white-space: nowrap;
	border: 1px solid var(--gs-border-strong) !important;
	background: rgba(183, 243, 74, .1) !important;
	color: var(--gs-accent) !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
}
body > .gs-language { position: fixed; inset-block-start: 12px; inset-inline-end: 20px; z-index: 1050; }

/* Frappe Desk restyle */
.desk-page, .page-container, .layout-main, .layout-main-section-wrapper,
.layout-main-section, .page-Workspaces .layout-main-section, .page-form .layout-main-section,
.page-list .layout-main-section, .page-query-report .layout-main-section {
	background: var(--gs-bg-soft) !important;
}
.layout-main-section { color: var(--gs-text) !important; }
.page-body, .page-content, .workspace-body, .workspace-footer { background: transparent !important; }
.page-head { background: rgba(15, 21, 19, .92) !important; border-bottom: 1px solid var(--gs-border) !important; box-shadow: none !important; }
.page-head { top: 0 !important; }
.page-container .page-body.container { max-width: 1600px !important; width: calc(100% - 48px); }
.page-title .title-text, .page-title h3 { color: var(--gs-text) !important; font-weight: 800 !important; letter-spacing: -.02em; }
.page-head .btn, .page-head .menu-btn-group-label { color: var(--gs-text) !important; }
.page-head .btn-primary { color: var(--gs-accent-ink) !important; }
.desk-sidebar, .desk-sidebar .sidebar-item-container, .layout-side-section { color: #b9c5c0 !important; }
.desk-sidebar a, .layout-side-section a, .list-sidebar a { color: #aebbb5 !important; }
.standard-sidebar .standard-sidebar-item, .desk-sidebar .desk-sidebar-item { border-radius: 10px; }
.standard-sidebar .standard-sidebar-item.selected, .desk-sidebar .desk-sidebar-item.selected {
	background: rgba(183, 243, 74, .12) !important;
	color: var(--gs-accent) !important;
}
.standard-sidebar-section > .sidebar-item-container.gs-hidden-workspace {
	display: none !important;
}
.form-layout, .form-dashboard, .form-footer, .list-row-container, .report-wrapper, .datatable {
	color: var(--gs-text);
}
.form-page, .form-dashboard, .form-footer { background: var(--gs-bg-soft) !important; }
/* Keep the framework's timeline and rich-text controls on the same dark palette. */
.page-container .form-footer,
.page-container .frappe-control[data-fieldtype="Text Editor"] {
	--text-color: var(--gs-text);
	--heading-color: var(--gs-text);
	--text-neutral: var(--gs-text);
	--text-light: var(--gs-muted);
	--text-muted: var(--gs-muted);
	--bg-color: var(--gs-bg-soft);
	--fg-color: var(--gs-surface);
	--control-bg: var(--gs-surface-2);
	--gray-50: var(--gs-surface-2);
	--gray-100: var(--gs-surface);
	--border-color: var(--gs-border);
	--dark-border-color: var(--gs-border-strong);
	--icon-stroke: var(--gs-text);
	--invert-neutral: var(--gs-accent);
	--timeline-badge-bg: var(--gs-surface-2);
	--timeline-badge-color: var(--gs-muted);
}
.page-container .ql-snow button { color: var(--text-color); }
.page-container .ql-snow .ql-fill {
	fill: currentColor;
}
.control-value.like-disabled-input, .like-disabled-input, .form-control[disabled], .form-control[readonly] {
	background: #101714 !important;
	border-color: var(--gs-border) !important;
	color: #aebbb5 !important;
}
.page-form, .list-row-head, .list-sidebar, .list-sidebar.overlay-sidebar,
.list-paging-area, .list-paging-area .btn-group, .list-view-settings {
	background: var(--gs-surface) !important;
	color: var(--gs-text) !important;
	border-color: var(--gs-border) !important;
}
.page-form { border-radius: 14px !important; margin-bottom: 12px; }
.page-form .form-control, .page-form .input-with-feedback { background: #0c1210 !important; }
.list-row-head, .list-row-head .level-item, .list-row-head a { color: var(--gs-muted) !important; }
.list-sidebar .sidebar-section, .list-sidebar .list-link { border-color: var(--gs-border) !important; }
/* Remove the native report upsell from the branded Desk; license notices stay in the distribution. */
.list-sidebar .sidebar-section:has(> a[href="https://frappe.io/s/insights"]) { display: none !important; }
.list-row-container { margin-bottom: 5px; overflow: hidden; }
.list-row-container { min-height: 48px; }
.form-layout .form-section.card-section, .form-dashboard-section, .list-row-container, .report-wrapper {
	background: var(--gs-surface) !important;
	border: 1px solid var(--gs-border) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}
.layout-main-section.frappe-card { border-color: var(--gs-border) !important; }
#page-Workspaces .layout-main-section { border: 0 !important; }
.form-control, .input-with-feedback, .frappe-control input, .frappe-control textarea, .frappe-control select, .awesomplete > input {
	background: #0e1412 !important;
	border: 1px solid rgba(225, 255, 239, .14) !important;
	color: var(--gs-text) !important;
	border-radius: 10px !important;
}
.form-control:focus, .frappe-control input:focus, .frappe-control textarea:focus {
	border-color: var(--gs-accent) !important;
	box-shadow: 0 0 0 3px rgba(183, 243, 74, .12) !important;
}
.btn:focus-visible, a:focus-visible, .frappe-control select:focus-visible {
	outline: 2px solid var(--gs-accent) !important;
	outline-offset: 2px;
}
.control-label, .grid-heading-row, .form-section .section-head { color: #c7d2cd !important; }
.form-grid .grid-heading-row, .form-grid .grid-body, .grid-field .grid-footer {
	background: var(--gs-surface-2) !important;
	border-color: var(--gs-border) !important;
}
.form-grid .grid-body .data-row, .form-grid .grid-body .static-area,
.form-grid .grid-body a { color: var(--gs-text) !important; }
.btn { border-radius: 10px; font-weight: 700; }
.btn-primary, .btn-primary-dark {
	background: var(--gs-accent) !important;
	border-color: var(--gs-accent) !important;
	color: var(--gs-accent-ink) !important;
}
.btn-primary:hover { background: var(--gs-accent-strong) !important; border-color: var(--gs-accent-strong) !important; }
.btn-default { background: var(--gs-surface-2) !important; border-color: var(--gs-border) !important; color: var(--gs-text) !important; }
.modal-content, .dropdown-menu, .popover {
	background: var(--gs-surface) !important;
	border: 1px solid var(--gs-border) !important;
	color: var(--gs-text) !important;
	border-radius: 16px !important;
	box-shadow: var(--gs-shadow) !important;
}
.modal-header .modal-title, .modal-header .btn { color: var(--gs-text) !important; }
.modal-header { --icon-stroke: var(--gs-text); }
.file-uploader .file-upload-area {
	background: var(--gs-surface-2) !important;
	border-color: var(--gs-border) !important;
	color: var(--gs-text) !important;
}
.file-uploader .file-upload-area .btn-file-upload { color: var(--gs-text) !important; }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(183, 243, 74, .1) !important; color: var(--gs-accent) !important; }
.list-row:hover, .dt-row:hover .dt-cell { background: rgba(183, 243, 74, .04) !important; }
.indicator-pill { border-radius: 999px !important; font-weight: 800; }
.widget, .widget.links-widget-box, .shortcut-widget-box,
.workspace-container .widget, .workspace-container .widget.links-widget-box, .workspace-container .shortcut-widget-box {
	background: var(--gs-surface) !important;
	border: 1px solid var(--gs-border) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}
.widget:hover, .shortcut-widget-box:hover,
.workspace-container .widget:hover, .workspace-container .shortcut-widget-box:hover { border-color: var(--gs-border-strong) !important; }
.widget-title, .shortcut-widget-box .widget-title,
.workspace-container .widget-title, .workspace-container .shortcut-widget-box .widget-title { color: var(--gs-text) !important; font-weight: 800; }
.widget-label, .link-content, .widget .link-item,
.workspace-container .widget-label, .workspace-container .link-content { color: #bdc8c3 !important; }
.widget-head .widget-label .ellipsis, .workspace-container .widget-head .widget-label .ellipsis { color: var(--gs-accent) !important; }
.widget .link-item:hover, .widget .link-item:focus { color: var(--gs-accent) !important; background: rgba(183, 243, 74, .07) !important; }
.workspace-footer, .workspace-footer a, .workspace-footer .btn { color: var(--gs-muted) !important; }
.workspace-footer .btn { background: var(--gs-surface) !important; border-color: var(--gs-border) !important; }
.page-Workspaces .layout-main-section h1, .page-Workspaces .layout-main-section h2,
.page-Workspaces .layout-main-section h3, .page-Workspaces .layout-main-section h4 {
	color: var(--gs-text) !important;
}
.page-Workspaces .layout-main-section h1 *, .page-Workspaces .layout-main-section h2 *,
.page-Workspaces .layout-main-section h3 *, .page-Workspaces .layout-main-section h4 * {
	color: inherit !important;
}
.shortcut-widget-box .indicator-pill { background: rgba(183, 243, 74, .12) !important; color: var(--gs-accent) !important; }
.datatable, .dt-scrollable, .dt-header, .dt-cell, .dt-row-header,
.dt-row-header .dt-cell, .dt-row-header .dt-cell__content {
	background: var(--gs-surface) !important;
	color: var(--gs-text) !important;
	border-color: var(--gs-border) !important;
}
.dt-cell__content, .dt-cell__content a { color: #c8d3ce !important; }
.dt-row-header .dt-cell__content { color: var(--gs-text) !important; font-weight: 800; }
.dt-row-filter .dt-cell, .dt-row-filter .dt-cell__content { background: #0e1412 !important; }
.dt-filter.dt-input, .dt-input, .dt-paste-target {
	background: #0b100e !important;
	border-color: var(--gs-border) !important;
	color: var(--gs-text) !important;
}
.list-row, .list-row-head, .result { border-color: var(--gs-border) !important; color: var(--gs-text); }
.list-subject a, .level-item a { color: #dce5e1 !important; }

/* Use the available width on single-column forms without changing field order. */
@media (min-width: 1000px) {
	.form-section .form-column.col-sm-12 > form {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2px 24px;
	}
	.form-section .form-column.col-sm-12 > form > .frappe-control {
		max-width: none !important;
		min-width: 0;
	}
	.form-section .form-column.col-sm-12 > form > .frappe-control[data-fieldtype="Small Text"],
	.form-section .form-column.col-sm-12 > form > .frappe-control[data-fieldtype="Text"],
	.form-section .form-column.col-sm-12 > form > .frappe-control[data-fieldtype="Text Editor"],
	.form-section .form-column.col-sm-12 > form > .frappe-control[data-fieldtype="Table"],
	.form-section .form-column.col-sm-12 > form > .frappe-control[data-fieldtype="HTML"] {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.page-container .page-body.container { width: 100%; }
	.page-head .page-title h3 { font-size: 1.1rem; }
	.page-head .btn { min-height: 36px; }
}

/* Keep inherited Frappe text legible on the dark application surfaces. */
.desk-sidebar .section-title,
.standard-sidebar .section-title,
.list-sidebar .sidebar-label {
	color: #b8c5bf !important;
}
.page-Workspaces .ce-header h1,
.page-Workspaces .ce-header h2,
.page-Workspaces .ce-header h3,
.page-Workspaces .ce-header h4,
.page-Workspaces .ce-header h1 *,
.page-Workspaces .ce-header h2 *,
.page-Workspaces .ce-header h3 *,
.page-Workspaces .ce-header h4 * {
	color: var(--gs-text) !important;
}
.page-Workspaces .ce-header .h1,
.page-Workspaces .ce-header .h2,
.page-Workspaces .ce-header .h3,
.page-Workspaces .ce-header .h4,
.page-Workspaces .ce-header .h1 *,
.page-Workspaces .ce-header .h2 *,
.page-Workspaces .ce-header .h3 *,
.page-Workspaces .ce-header .h4 * {
	color: var(--gs-text) !important;
}
.ce-header .h1,
.ce-header .h2,
.ce-header .h3,
.ce-header .h4,
.ce-header .h1 *,
.ce-header .h2 *,
.ce-header .h3 *,
.ce-header .h4 * {
	color: var(--gs-text) !important;
}
.widget .widget-subtitle,
.widget .frappe-timestamp,
.widget .chart-loading-state,
.widget .text-muted {
	color: #aebbb5 !important;
}
.onboarding-widget-box .widget-subtitle,
.onboarding-widget-box .onboarding-step:not(.active) .step-text,
.onboarding-widget-box .onboarding-step:not(.active) .step-skip {
	color: #bdc8c3 !important;
}
.onboarding-widget-box .onboarding-step.active .step-text,
.onboarding-widget-box .onboarding-step.active .step-skip {
	color: #26302c !important;
}
.onboarding-widget-box .onboarding-step-preview,
.onboarding-widget-box .onboarding-step-preview p,
.onboarding-widget-box .onboarding-step-preview li {
	color: #bdc8c3 !important;
}
.onboarding-widget-box .onboarding-step-preview h1,
.onboarding-widget-box .onboarding-step-preview h2,
.onboarding-widget-box .onboarding-step-preview h3,
.onboarding-widget-box .onboarding-step-preview h4 {
	color: var(--gs-text) !important;
}
.onboarding-widget-box .onboarding-step-preview a { color: var(--gs-accent) !important; }
.number-card .number,
.widget.number-widget-box .number { color: var(--gs-text) !important; }
.list-row-container .filterable,
.list-row-container .ellipsis,
.list-row-container .frappe-timestamp,
.list-row-container .comment-count,
.list-row-container .text-muted {
	color: #b8c5bf !important;
}
.list-row-container .list-subject,
.list-row-container .list-subject a { color: var(--gs-text) !important; }
.list-row-container .indicator-pill { color: #24302a !important; }
.form-layout .help-box,
.form-layout .text-muted,
.form-sidebar .text-muted,
.form-sidebar .modified-by,
.form-sidebar .created-by,
.form-sidebar .frappe-timestamp {
	color: #aebbb5 !important;
}
.frappe-control .label-area,
.frappe-control .control-label { color: #c7d2cd !important; }
.report-wrapper .text-muted,
.report-wrapper .pull-right,
.report-wrapper .report-summary,
.report-wrapper .report-footer,
.report-wrapper .report-footer * {
	color: #aebbb5 !important;
}
.page-query-report .col-md-12 > span,
.page-query-report .pull-right {
	color: #aebbb5 !important;
}
.report-footer,
.report-footer * { color: #aebbb5 !important; }
.list-row-activity .mx-2 { color: #87968f !important; }
.btn-primary,
.btn-primary * { color: var(--gs-accent-ink) !important; }
.btn-default,
.btn-default * { color: var(--gs-text) !important; }
.datepicker,
.datepicker--content,
.datepicker--nav {
	background: var(--gs-surface) !important;
	border-color: var(--gs-border) !important;
	color: var(--gs-text) !important;
}
.datepicker--cell,
.datepicker--day-name,
.datepicker--nav-title,
.datepicker--nav-action { color: #c5d0cb !important; }
.datepicker--cell.-other-month- { color: #73837c !important; }
.datepicker--cell.-current- { color: var(--gs-accent) !important; }
.datepicker--cell.-selected-,
.datepicker--cell.-selected-.-focus- {
	background: var(--gs-accent) !important;
	color: var(--gs-accent-ink) !important;
}
.tooltip-inner,
.tooltip-content {
	background: #26312d !important;
	color: var(--gs-text) !important;
}

/* Login and public shell */
.for-login, .for-forgot, .for-login-with-email-link {
	background:
		radial-gradient(circle at 15% 15%, rgba(183, 243, 74, .15), transparent 32rem),
		linear-gradient(145deg, #080b0a, #111915) !important;
}
.for-login .page-card, .for-forgot .page-card, .for-login-with-email-link .page-card {
	background: rgba(19, 26, 24, .9) !important;
	border: 1px solid var(--gs-border) !important;
	border-radius: 24px !important;
	box-shadow: 0 32px 80px rgba(0, 0, 0, .38) !important;
	padding: 34px !important;
}
.for-login .page-card-head img, .for-forgot .page-card-head img { width: 94px !important; height: 94px !important; object-fit: contain; }
.for-login .page-card-head h4, .for-forgot .page-card-head h4 { color: var(--gs-text) !important; font-size: 1.45rem; font-weight: 850; }
.web-footer { background: #080b0a !important; border-top: 1px solid var(--gs-border); color: var(--gs-muted); }
body:has(.gs-portal) { background: var(--gs-bg); color: var(--gs-text); }
body:has(.gs-portal) .web-footer .row { margin-inline: 0; }
body:has(.gs-portal) .web-navbar { background: rgba(10, 14, 13, .92) !important; border-bottom: 1px solid var(--gs-border); }

/* Operations dashboard */
.gs-operations-page .layout-main-section { padding: 0 !important; }
.gs-operations {
	max-width: 1480px;
	margin: auto;
	padding: 28px clamp(16px, 3vw, 46px) 64px;
	color: var(--gs-text);
}
.gs-ops-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 260px;
	padding: clamp(26px, 4vw, 52px);
	background:
		radial-gradient(circle at 80% 10%, rgba(183, 243, 74, .2), transparent 28rem),
		linear-gradient(135deg, #121a17, #0b100e);
	border: 1px solid var(--gs-border);
	border-radius: 28px;
	box-shadow: var(--gs-shadow);
	overflow: hidden;
	position: relative;
}
.gs-ops-hero::after {
	content: "";
	position: absolute;
	inset-inline-end: -70px;
	inset-block-end: -140px;
	width: 360px;
	height: 360px;
	border: 52px solid rgba(183, 243, 74, .05);
	border-radius: 50%;
}
.gs-ops-brand { display: flex; align-items: center; gap: clamp(18px, 3vw, 34px); position: relative; z-index: 1; }
.gs-ops-brand > img { width: clamp(92px, 12vw, 152px); aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 16px 28px rgba(183, 243, 74, .12)); }
.gs-kicker { margin: 0 0 7px; color: var(--gs-accent); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.gs-ops-hero h1 { margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 4rem); font-weight: 900; letter-spacing: -.055em; line-height: .98; }
html[dir="rtl"] .gs-ops-hero h1 { font-size: clamp(2rem, 3vw, 3.35rem); line-height: 1.25; letter-spacing: 0; }
.gs-hero-copy { max-width: 620px; margin: 16px 0 0; color: #aab8b2; font-size: 1.02rem; }
.gs-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; position: relative; z-index: 1; }
.gs-btn-accent, .gs-btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding-inline: 18px; }
.gs-btn-accent { background: var(--gs-accent) !important; border-color: var(--gs-accent) !important; color: var(--gs-accent-ink) !important; }
.gs-btn-ghost { background: rgba(255, 255, 255, .035) !important; border: 1px solid var(--gs-border) !important; color: var(--gs-text) !important; }
.gs-btn-ghost:hover { background: rgba(183, 243, 74, .08) !important; border-color: var(--gs-border-strong) !important; color: var(--gs-accent) !important; }
.gs-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 18px 0 46px; }
.gs-metric {
	display: grid;
	grid-template-columns: 48px 1fr;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 14px;
	padding: 19px 21px;
	background: var(--gs-surface);
	border: 1px solid var(--gs-border);
	border-radius: 16px;
}
.gs-metric-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: rgba(183, 243, 74, .1); color: var(--gs-accent); }
.gs-metric-icon svg { width: 21px; height: 21px; stroke: currentColor; }
.gs-metric-value { font-size: 1.55rem; line-height: 1; color: #fff; }
.gs-metric-label { color: var(--gs-muted); font-size: .8rem; }
.gs-section-heading, .gs-panel-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 18px; }
.gs-section-heading h2, .gs-panel-head h2 { margin: 0; color: var(--gs-text); font-size: 1.45rem; font-weight: 850; letter-spacing: -.025em; }
.gs-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gs-module-group { padding: 22px; background: var(--gs-surface); border: 1px solid var(--gs-border); border-radius: var(--gs-radius); }
.gs-module-group h3 { margin: 0 0 15px; color: #dce5e1; font-size: .82rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.gs-module-links { display: grid; gap: 6px; }
.gs-module-links a {
	display: grid;
	grid-template-columns: 34px 1fr auto;
	align-items: center;
	gap: 10px;
	min-height: 47px;
	padding: 7px 10px;
	border-radius: 11px;
	color: #dfe8e4;
	text-decoration: none;
	transition: transform .16s ease, background .16s ease, color .16s ease;
}
.gs-module-links a:hover { background: rgba(183, 243, 74, .08); color: var(--gs-accent); transform: translateX(3px); }
html[dir="rtl"] .gs-module-links a:hover { transform: translateX(-3px); }
.gs-link-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #0d1311; color: var(--gs-accent); }
.gs-link-icon svg { width: 17px; height: 17px; stroke: currentColor; }
.gs-module-links b { color: var(--gs-muted); font-size: .8rem; }
.gs-work-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 18px; margin-top: 46px; align-items: start; }
.gs-panel { background: var(--gs-surface); border: 1px solid var(--gs-border); border-radius: var(--gs-radius); padding: clamp(18px, 2.3vw, 28px); }
.gs-report-links { display: flex; flex-wrap: wrap; gap: 6px; justify-content: end; }
.gs-report-links a { padding: 7px 10px; border-radius: 9px; background: #0d1311; color: var(--gs-muted); font-size: .76rem; text-decoration: none; }
.gs-report-links a:hover { color: var(--gs-accent); }
.gs-search-bar { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 8px; background: #0c1110; border: 1px solid var(--gs-border); border-radius: 15px; }
.gs-search-bar .form-control { min-height: 46px; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.gs-results { display: grid; gap: 10px; margin-top: 18px; }
.gs-person { display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 14px; padding: 15px; background: #0f1513; border: 1px solid var(--gs-border); border-radius: 15px; }
.gs-avatar { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 15px; overflow: hidden; background: rgba(183, 243, 74, .12); color: var(--gs-accent); font-size: 1.25rem; font-weight: 900; }
.gs-avatar img { width: 100%; height: 100%; object-fit: cover; }
.gs-person h3 { margin: 0; color: var(--gs-text); font-size: 1rem; font-weight: 800; }
.gs-person .gs-id { margin: 4px 0 0; color: var(--gs-muted); font-size: .78rem; }
.gs-person-actions { display: flex; gap: 7px; flex-wrap: wrap; justify-content: end; }
.gs-detail { grid-column: 1 / -1; padding: 16px; background: #090d0c; border-radius: 13px; border-inline-start: 3px solid var(--gs-accent); }
.gs-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.gs-facts > div { padding: 10px; background: var(--gs-surface); border-radius: 10px; }
.gs-facts span { display: block; color: var(--gs-muted); font-size: .68rem; }
.gs-facts strong { display: block; margin-top: 4px; color: #fff; }
.gs-balance { color: var(--gs-warning); margin: 13px 0; font-weight: 800; }
.gs-mini-activity { display: grid; gap: 6px; margin-top: 14px; }
.gs-mini-activity p { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; margin: 0; padding: 8px 0; border-top: 1px solid var(--gs-border); color: var(--gs-muted); font-size: .76rem; }
.gs-mini-activity b { color: var(--gs-accent); }
.gs-load-more { width: 100%; margin-top: 12px; }
.gs-call-list { display: grid; gap: 8px; }
.gs-call-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--gs-border); border-radius: 12px; color: var(--gs-text); text-decoration: none; }
.gs-call-item:hover { border-color: var(--gs-border-strong); color: var(--gs-accent); background: rgba(183, 243, 74, .04); }
.gs-call-item time { color: var(--gs-muted); font-size: .73rem; }
.gs-call-item b { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 8px; background: rgba(183, 243, 74, .1); color: var(--gs-accent); }
.gs-empty-state { display: grid; place-items: center; min-height: 150px; color: var(--gs-muted); }
.gs-alert { color: var(--gs-warning); font-weight: 750; }

/* Member portal */
.gs-portal { max-width: 1120px; margin: 0 auto; padding: 28px 18px 70px; }
html[dir="rtl"] .gs-portal, html[dir="rtl"] .gs-operations { text-align: right; }
html[dir="rtl"] .gs-table th { text-align: right !important; }
.gs-portal-brand { display: flex; align-items: center; gap: 11px; margin-bottom: 34px; }
.gs-portal-brand img { width: 48px; height: 48px; object-fit: contain; }
.gs-portal-brand strong { color: #fff; font-size: 1.1rem; letter-spacing: -.02em; }
.gs-portal-brand span { display: block; color: var(--gs-muted); font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }
.gs-portal-hero { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 22px; padding: clamp(25px, 5vw, 54px); margin-bottom: 18px; border: 1px solid var(--gs-border); border-radius: 28px; background: radial-gradient(circle at 90% 10%, rgba(183, 243, 74, .18), transparent 22rem), linear-gradient(145deg, #151d1a, #0d1210); box-shadow: var(--gs-shadow); }
.gs-portal-identity { display: flex; align-items: center; gap: 20px; }
.gs-portal-avatar { width: 78px; height: 78px; border-radius: 21px; object-fit: cover; background: #0b100e; border: 1px solid var(--gs-border-strong); }
.gs-portal-hero h1 { margin: 3px 0 0; color: #fff; font-size: clamp(1.8rem, 4vw, 3.2rem); font-weight: 900; letter-spacing: -.045em; }
.gs-eyebrow { margin: 0; color: var(--gs-accent); font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gs-portal-plan { text-align: end; }
.gs-portal-plan span { display: block; color: var(--gs-muted); font-size: .72rem; }
.gs-portal-plan strong { display: block; margin-top: 4px; color: #fff; font-size: 1.25rem; }
.gs-portal-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.gs-card { grid-column: span 12; border: 1px solid var(--gs-border); border-radius: 20px; padding: clamp(20px, 3vw, 30px); background: var(--gs-surface); }
.gs-card.gs-membership-card { grid-column: span 7; }
.gs-card.gs-invoice-card { grid-column: span 5; }
.gs-card h2 { color: var(--gs-text); font-size: 1.08rem; font-weight: 850; margin: 0; }
.gs-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.gs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.gs-grid > div { padding: 15px; background: #0e1412; border-radius: 13px; border: 1px solid rgba(255, 255, 255, .035); }
.gs-grid dt { color: var(--gs-muted); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.gs-grid dd { margin: 6px 0 0; color: #fff; font-size: 1.12rem; font-weight: 850; }
.gs-note { margin: 17px 0 0; padding: 13px 15px; border-radius: 12px; background: rgba(183, 243, 74, .06); color: #cbd6d1; font-size: .84rem; }
.gs-warn { color: var(--gs-warning) !important; }
.gs-pill { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 10px; border-radius: 999px; background: #29322f; color: #d9e2de; font-size: .69rem; font-weight: 850; letter-spacing: .04em; white-space: nowrap; }
.gs-pill-active, .gs-pill-paid { background: rgba(183, 243, 74, .14); color: var(--gs-accent); }
.gs-pill-expired, .gs-pill-banned, .gs-pill-overdue, .gs-pill-closed { background: rgba(255, 107, 107, .14); color: #ff8d8d; }
.gs-pill-frozen { background: rgba(94, 187, 255, .14); color: #76c8ff; }
.gs-pill-unpaid, .gs-pill-cancelled { background: rgba(255, 184, 77, .14); color: var(--gs-warning); }
.gs-progress-track { height: 7px; margin-top: 22px; border-radius: 999px; overflow: hidden; background: #27302d; }
.gs-progress-value { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gs-accent-strong), var(--gs-accent)); box-shadow: 0 0 18px rgba(183, 243, 74, .28); }
.gs-table-wrap { overflow-x: auto; }
.gs-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.gs-table th { color: var(--gs-muted); text-align: start; font-size: .67rem; letter-spacing: .07em; text-transform: uppercase; padding: 0 12px 12px; border-bottom: 1px solid var(--gs-border); }
.gs-table td { padding: 14px 12px; border-bottom: 1px solid rgba(225, 255, 239, .06); color: #dce5e1; }
.gs-table tr:last-child td { border-bottom: 0; }
.gs-tag { display: inline-block; padding: 3px 8px; border-radius: 7px; font-size: .7rem; font-weight: 850; }
.gs-tag-ok { background: rgba(183, 243, 74, .12); color: var(--gs-accent); }
.gs-tag-no { background: rgba(255, 107, 107, .14); color: #ff8d8d; }
.gs-reason { display: block; color: var(--gs-muted); font-size: .72rem; margin-top: 3px; }
.gs-empty { text-align: center; padding: 70px 20px; background: var(--gs-surface); border: 1px solid var(--gs-border); border-radius: 24px; }

/* Cards and print */
.gs-card-print { text-align: center; padding: 24px; }
.gs-card-print img { max-width: 140px; }
input[data-fieldname="phone"], input[data-fieldname="legacy_number"], .gs-id { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] .dt-scrollable__no-data .no-data-message { right: 50%; left: auto; width: max-content; max-width: calc(100% - 2rem); transform: translateX(50%); direction: rtl; }

@media (max-width: 1024px) {
	.gs-metrics { grid-template-columns: repeat(2, 1fr); }
	.gs-module-grid, .gs-work-grid { grid-template-columns: 1fr; }
	.gs-card.gs-membership-card, .gs-card.gs-invoice-card { grid-column: span 12; }
}

@media (max-width: 680px) {
	.gs-operations { padding-inline: 12px; }
	.gs-ops-hero { align-items: flex-start; flex-direction: column; min-height: 0; border-radius: 20px; }
	.gs-ops-brand { align-items: flex-start; }
	.gs-ops-brand > img { width: 72px; }
	.gs-ops-hero h1 { font-size: 2rem; }
	.gs-metrics { grid-template-columns: 1fr 1fr; }
	.gs-metric { grid-template-columns: 38px 1fr; padding: 14px; }
	.gs-metric-icon { width: 38px; height: 38px; }
	.gs-module-grid { gap: 10px; }
	.gs-panel-head { align-items: flex-start; flex-direction: column; }
	.gs-report-links { justify-content: start; }
	.gs-person { grid-template-columns: 48px 1fr; }
	.gs-person-actions { grid-column: 1 / -1; justify-content: stretch; }
	.gs-person-actions .btn { flex: 1; }
	.gs-facts { grid-template-columns: 1fr 1fr; }
	.gs-portal { padding-inline: 12px; }
	.gs-portal-hero { grid-template-columns: 1fr; border-radius: 20px; }
	.gs-portal-plan { text-align: start; }
	.gs-portal-identity { align-items: flex-start; }
	.gs-portal-avatar { width: 60px; height: 60px; }
}

@media print {
	.navbar, .gs-language, .modal-header, .modal-footer { display: none !important; }
	body:has(.gs-card-print) * { visibility: hidden; }
	body:has(.gs-card-print) .gs-card-print, body:has(.gs-card-print) .gs-card-print * { visibility: visible; }
	body:has(.gs-card-print) .gs-card-print { position: fixed; inset: 0; width: 85mm; height: 54mm; padding: 3mm; box-sizing: border-box; border: 1px solid #bbb; }
	.gs-card-print h2 { font-size: 14pt; margin: 2mm 0; }
	.gs-card-print p { margin: 1mm 0; }
	.gs-card-print img { width: 24mm; height: 24mm; object-fit: contain; }
}
