/* ============================================================
   Nobatyar public styles — v3.3 FULL REWRITE (mobile-first)
   Base layer = plain CSS that every Android engine understands.
   NO color-mix, NO :has, NO backdrop-filter in the base layer.
   Desktop gets glass/gradient enhancements via min-width queries.
   ============================================================ */

/* ---------- tokens ---------- */
.ny-app{
	--ny-primary:#2563eb;
	--ny-secondary:#4f46e5;
	--ny-success:#22c55e;
	--ny-radius:16px;
	--ny-bg:#f2f6ff;
	--ny-card:#ffffff;
	--ny-text:#1c1c1e;
	--ny-muted:#64748b;
	--ny-border:#dbe2ea;
	--ny-soft:#f1f5f9;
	--ny-input:#ffffff;
}
.ny-app.ny-dark{
	--ny-bg:#0f172a;
	--ny-card:#1e293b;
	--ny-text:#eef2f8;
	--ny-muted:#9aa5b5;
	--ny-border:#334155;
	--ny-soft:#293548;
	--ny-input:#16213a;
}

/* ---------- base / reset ---------- */
.ny-app{
	direction:rtl;
	font-family:'Peyda',Tahoma,sans-serif;
	color:var(--ny-text);
	background:var(--ny-bg);
	padding:12px;
	border-radius:18px;
	line-height:1.9;
	width:100%;
	max-width:100%;
	overflow-x:hidden;
	box-sizing:border-box;
	-webkit-tap-highlight-color:transparent;
}
.ny-app *,.ny-app *::before,.ny-app *::after{box-sizing:border-box;min-width:0}
.ny-app img{max-width:100%;height:auto}
.ny-app h1,.ny-app h2,.ny-app h3,.ny-app h4,.ny-app p,.ny-app label,
.ny-app div,.ny-app td,.ny-app th,.ny-app li,.ny-app small,.ny-app strong,
.ny-app b,.ny-app span{color:var(--ny-text);overflow-wrap:break-word;word-break:normal}
.ny-hidden{display:none!important}
.ny-center{text-align:center}
.ny-muted{color:var(--ny-muted)!important;font-size:13px}
.ny-mt{margin-top:14px}

/* ---------- inputs ---------- */
.ny-app input,.ny-app select,.ny-app textarea{
	font-family:'Peyda',Tahoma,sans-serif;
	width:100%;
	padding:12px 14px;
	font-size:16px; /* prevents mobile zoom */
	border:1.5px solid var(--ny-border);
	border-radius:12px;
	background:var(--ny-input)!important;
	color:var(--ny-text)!important;
	-webkit-text-fill-color:var(--ny-text)!important;
	caret-color:var(--ny-text)!important;
	outline:none;
	-webkit-appearance:none;
	appearance:none;
}
.ny-app select{
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2364748b'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:left 14px center;
	background-size:12px 7px;
	padding:0 14px 0 36px;
	line-height:1.5;
	min-height:48px;
	height:auto;
	text-align:right;
	text-indent:0;
	white-space:nowrap;
	text-overflow:clip;
	display:block;
}
/* Native select on touch devices: the custom arrow + appearance:none can
   clip the selected text on Android WebView (Samsung/Mi Browser). Falling
   back to the platform widget guarantees the text is always fully visible. */
@media (hover:none) and (pointer:coarse){
	.ny-app select{
		-webkit-appearance:menulist!important;
		appearance:auto!important;
		background-image:none!important;
		padding:0 12px!important;
		min-height:46px!important;
	}
	.ny-app select option{
		background:var(--ny-card)!important;
		color:var(--ny-text)!important;
		font-size:16px!important;
	}
}
.ny-app input:focus,.ny-app select:focus,.ny-app textarea:focus{
	border-color:var(--ny-primary);
	box-shadow:0 0 0 3px rgba(37,99,235,.18);
}
.ny-app input::placeholder,.ny-app textarea::placeholder{color:var(--ny-muted);opacity:.8}
.ny-app select option{background:var(--ny-card);color:var(--ny-text);font-family:'Peyda',Tahoma,sans-serif}
.ny-modal select option{background:var(--ny-card);color:var(--ny-text);font-family:'Peyda',Tahoma,sans-serif}
.ny-app input[type=checkbox]{
	width:20px;height:20px;min-width:20px;padding:0;
	accent-color:var(--ny-primary);-webkit-appearance:checkbox;appearance:auto;
}
.ny-field{margin-bottom:14px}
.ny-field label{display:block;font-weight:700;font-size:13px;margin-bottom:5px}
.ny-otp-inputs{direction:ltr;text-align:center;letter-spacing:6px;font-size:20px;font-weight:800}

/* ---------- buttons ---------- */
.ny-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:7px;
	cursor:pointer;border:none;
	width:100%;
	padding:13px 20px;
	border-radius:999px;
	font-family:inherit;font-size:15px;font-weight:700;
	background:var(--ny-primary);
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary));
	color:#fff!important;
	text-decoration:none;
	box-shadow:0 5px 16px rgba(14,165,165,.35);
}
.ny-btn:active{opacity:.85}
.ny-btn.ny-btn-ghost{
	background:var(--ny-card);
	background-image:none;
	border:2px solid var(--ny-primary);
	color:var(--ny-primary)!important;
	box-shadow:none;
}
.ny-btn.ny-btn-danger{background:#ef4444;background-image:linear-gradient(135deg,#ef4444,#f43f5e)}
.ny-btn:disabled{opacity:.5;cursor:not-allowed}
.ny-theme-toggle{
	cursor:pointer;background:var(--ny-card);border:1.5px solid var(--ny-border);
	color:var(--ny-text);border-radius:999px;padding:10px 16px;
	font-family:inherit;font-size:13px;font-weight:600;white-space:nowrap;
}

/* ---------- cards ---------- */
.ny-card{
	background:var(--ny-card);
	border:1px solid var(--ny-border);
	border-radius:var(--ny-radius);
	padding:16px;
	margin-bottom:14px;
	box-shadow:0 2px 10px rgba(15,23,42,.06);
	max-width:100%;
}

/* ---------- header ---------- */
.ny-header{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.ny-title{font-size:19px;font-weight:800;margin:0;text-align:center}
.ny-header>div{display:flex;gap:8px;width:100%}
.ny-account-btn{flex:1;padding:11px 12px;font-size:14px}

/* ---------- wizard steps ---------- */
.ny-steps{
	display:flex;gap:4px;margin-bottom:16px;padding:4px;border-radius:999px;
	background:var(--ny-soft);border:1px solid var(--ny-border);
	overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.ny-steps::-webkit-scrollbar{display:none}
.ny-step{
	flex:1 0 auto;text-align:center;padding:8px 10px;border-radius:999px;
	color:var(--ny-muted);font-size:11px;font-weight:700;white-space:nowrap;
}
.ny-step.active{background:var(--ny-card);color:var(--ny-primary);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.ny-step.done{color:var(--ny-primary)}

/* ---------- grids ---------- */
.ny-grid{display:grid;gap:10px;width:100%}
.ny-grid-2{grid-template-columns:1fr}
.ny-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- department cards ---------- */
.ny-dep-card{
	display:flex;gap:12px;align-items:center;cursor:pointer;padding:14px;
	border:1.5px solid var(--ny-border);border-radius:var(--ny-radius);
	background:var(--ny-card);box-shadow:0 2px 10px rgba(15,23,42,.06);
}
.ny-dep-card.selected{border-color:var(--ny-primary)}
.ny-dep-icon{
	width:48px;height:48px;min-width:48px;border-radius:14px;
	display:flex;align-items:center;justify-content:center;font-size:24px;
	background:rgba(14,165,165,.13);border:1px solid var(--ny-border);
}
.ny-dep-name{font-weight:800;font-size:15px}

/* ---------- doctor cards ---------- */
.ny-doctor-card{
	position:relative;overflow:hidden;text-align:center;cursor:pointer;
	border:1.5px solid var(--ny-border);border-radius:var(--ny-radius);
	padding:14px 8px;background:var(--ny-card);
	box-shadow:0 2px 10px rgba(15,23,42,.06);
}
.ny-doctor-card.selected{border-color:var(--ny-primary);box-shadow:0 4px 16px rgba(14,165,165,.25)}
.ny-avatar{
	width:70px;height:70px;border-radius:50%;object-fit:cover;margin:0 auto 8px;
	display:block;background:var(--ny-soft);
	border:3px solid var(--ny-primary);
}
.ny-avatar-lg{width:120px;height:120px}
.ny-doctor-name{font-weight:800;font-size:14px;margin:0 0 3px}
.ny-doctor-meta{color:var(--ny-muted)!important;font-size:12px}
/* star (sub-specialist) */
.ny-doctor-star{border-color:#d4a72c;background:#fffaf0}
.ny-app.ny-dark .ny-doctor-star{background:#2a2517}
.ny-doctor-star .ny-avatar{border-color:#d4a72c}
.ny-star-ribbon{
	position:absolute;top:10px;right:-34px;transform:rotate(38deg);
	background:#f7c948;background-image:linear-gradient(135deg,#f7c948,#d4a72c);
	padding:3px 38px;font-size:10px;font-weight:800;color:#5b4300!important;white-space:nowrap;
}
.ny-rate-line{margin-top:5px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;flex-wrap:wrap}
.ny-stars-static{color:#f7c948!important;font-size:14px;letter-spacing:2px}

/* ---------- badges ---------- */
.ny-badge{display:inline-block;padding:3px 12px;border-radius:999px;font-size:11.5px;font-weight:700}
.ny-badge-teal{background:rgba(14,165,165,.13);color:var(--ny-primary)!important}
.ny-badge-green{background:#dcfce7;color:#15803d!important}
.ny-badge-red{background:#fee2e2;color:#b91c1c!important}
.ny-badge-amber{background:#fef3c7;color:#b45309!important}
.ny-badge-gray{background:var(--ny-soft);color:var(--ny-muted)!important}
.ny-badge-gold{background:#fdf3d7;border:1px solid #e5c55f;color:#a87e12!important}
.ny-app.ny-dark .ny-badge-green{background:#14351f;color:#4ade80!important}
.ny-app.ny-dark .ny-badge-red{background:#3b1a1a;color:#f87171!important}
.ny-app.ny-dark .ny-badge-amber{background:#3a2c12;color:#fbbf24!important}
.ny-app.ny-dark .ny-badge-gold{background:#3a2f10;color:#f7c948!important}

/* ---------- days & slots ---------- */
.ny-days{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));
	gap:8px;padding:4px 2px 8px;max-width:100%;overflow-x:hidden;
}
.ny-day{
	min-width:0;width:100%;text-align:center;padding:11px 8px;
	border-radius:14px;border:1.5px solid var(--ny-border);cursor:pointer;
	background:var(--ny-card);font-size:13px;
}
.ny-day.selected{border-color:var(--ny-primary);background:rgba(14,165,165,.1)}
.ny-day small{display:block;color:var(--ny-muted)!important;margin-top:3px;font-size:11px}
.ny-day.disabled{opacity:.45;cursor:not-allowed}
.ny-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ny-slot{
	padding:10px 2px;text-align:center;border-radius:12px;cursor:pointer;
	font-weight:700;font-size:13px;
	border:1.5px solid var(--ny-border);background:var(--ny-card);
}
.ny-slot.selected{
	background:var(--ny-primary);
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary));
	border-color:var(--ny-primary);color:#fff!important;
}
.ny-slot.disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}

/* ---------- service rows / chain ---------- */
.ny-service-row{
	display:flex;flex-direction:column;align-items:flex-start;gap:6px;
	padding:13px 14px;border:1.5px solid var(--ny-border);
	border-radius:var(--ny-radius);margin-bottom:10px;cursor:pointer;
	background:var(--ny-card);
}
.ny-service-row.selected{border-color:var(--ny-primary);box-shadow:0 4px 14px rgba(14,165,165,.2)}
.ny-price{font-weight:800;font-size:15px;color:var(--ny-primary)!important;align-self:flex-end}
.ny-chain-item{
	display:flex;align-items:center;gap:10px;padding:11px 13px;margin-bottom:8px;
	cursor:pointer;border:1.5px solid var(--ny-border);border-radius:12px;
	background:var(--ny-card);flex-wrap:wrap;
}
.ny-chain-item.checked{border-color:var(--ny-primary);background:rgba(14,165,165,.09)}

/* ---------- alerts & notices ---------- */
.ny-alert{padding:12px 15px;border-radius:12px;margin-bottom:12px;font-size:13.5px;font-weight:600;border:1px solid transparent}
.ny-alert-ok{background:#dcfce7;border-color:#a7f3d0}
.ny-alert-ok,.ny-alert-ok *{color:#166534!important}
.ny-alert-err{background:#fee2e2;border-color:#fecaca}
.ny-alert-err,.ny-alert-err *{color:#991b1b!important}
.ny-app.ny-dark .ny-alert-ok{background:#14351f;border-color:#166534}
.ny-app.ny-dark .ny-alert-ok,.ny-app.ny-dark .ny-alert-ok *{color:#4ade80!important}
.ny-app.ny-dark .ny-alert-err{background:#3b1a1a;border-color:#7f1d1d}
.ny-app.ny-dark .ny-alert-err,.ny-app.ny-dark .ny-alert-err *{color:#f87171!important}
.ny-notice-box{
	background:#fef3e2;border:2px solid #f5b455;border-right-width:6px;
	border-radius:12px;padding:12px 14px;margin-bottom:14px;
	font-weight:800;font-size:13.5px;line-height:2;
}
.ny-notice-box,.ny-notice-box *{color:#b45309!important}
.ny-app.ny-dark .ny-notice-box{background:#3a2c12;border-color:#b45309}
.ny-app.ny-dark .ny-notice-box,.ny-app.ny-dark .ny-notice-box *{color:#fbbf24!important}
.ny-notice-soft{background:rgba(14,165,165,.1);border-color:var(--ny-primary)}
.ny-notice-soft,.ny-notice-soft *{color:var(--ny-primary)!important}
.ny-notice-box i{font-style:normal}
.ny-maintenance-box{
	background:#fee2e2;border:2px solid #ef4444;border-radius:var(--ny-radius);
	padding:14px 16px;margin-bottom:14px;font-weight:800;font-size:14px;text-align:center;
}
.ny-maintenance-box,.ny-maintenance-box *{color:#b91c1c!important}

/* ---------- tables: card-mode on phones (base) ---------- */
.ny-table-wrap{width:100%;max-width:100%;overflow:visible;border:none;background:transparent}
.ny-table{width:100%;border-collapse:collapse;font-size:13px}
.ny-table thead{display:none}
.ny-table tbody tr{
	display:block;border:1.5px solid var(--ny-border);border-radius:14px;
	margin-bottom:10px;padding:4px 2px;background:var(--ny-card);
}
.ny-table td{
	display:flex;justify-content:space-between;align-items:center;gap:10px;
	border-bottom:1px dashed var(--ny-border);padding:8px 12px;text-align:left;
}
.ny-table td:last-child{border-bottom:none}
.ny-table td::before{
	content:attr(data-label);font-weight:800;color:var(--ny-muted);
	font-size:12px;flex-shrink:0;text-align:right;
}
.ny-table td:not([data-label])::before,.ny-table td[data-label=""]::before{display:none}
.ny-table td:not([data-label]),.ny-table td[data-label=""]{justify-content:flex-start;flex-wrap:wrap}
.ny-table .ny-btn{width:auto;padding:7px 14px;font-size:12px}

/* ---------- wallet ---------- */
.ny-wallet-box{
	display:flex;flex-direction:column;gap:12px;text-align:center;
	background:var(--ny-primary);
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary));
	border-radius:var(--ny-radius);padding:18px;
}
.ny-wallet-box,.ny-wallet-box *{color:#fff!important}
.ny-wallet-box>div{width:100%;display:flex;flex-direction:column;gap:8px}
.ny-balance{font-size:23px;font-weight:900}
.ny-wallet-box input{background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;border:none;max-width:100%}
.ny-wallet-box .ny-btn{background:#fff;background-image:none;color:#0f172a!important;box-shadow:none}

/* ---------- tabs ---------- */
.ny-tabs{
	display:flex;gap:4px;margin-bottom:14px;padding:4px;border-radius:999px;
	background:var(--ny-soft);border:1px solid var(--ny-border);
	overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.ny-tabs::-webkit-scrollbar{display:none}
.ny-tab{
	flex:1 0 auto;padding:9px 14px;border-radius:999px;cursor:pointer;border:none;
	background:transparent;color:var(--ny-muted);font-weight:700;font-size:13px;
	font-family:inherit;white-space:nowrap;
}
.ny-tab.active{
	background:var(--ny-primary);
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary));
	color:#fff!important;
}

/* ---------- MODAL: full-screen on mobile (base) ---------- */
.ny-modal-overlay{
	position:fixed;top:0;right:0;bottom:0;left:0;width:100%;
	height:100vh;
	background:rgba(10,15,30,.55);
	z-index:2147483000;margin:0;padding:0;
	display:flex;align-items:stretch;justify-content:stretch;
}
@supports (height:100dvh){.ny-modal-overlay{height:100dvh}}
body.ny-modal-open{overflow:hidden!important}
.ny-modal{
	background:var(--ny-bg);color:var(--ny-text);
	width:100%;max-width:100%;height:100%;
	margin:0;border:none;border-radius:0;
	padding:12px 12px 40px;
	overflow-y:auto;-webkit-overflow-scrolling:touch;
	direction:rtl;font-family:'Peyda',Tahoma,sans-serif;line-height:1.9;
}
.ny-modal-close{
	position:sticky;top:6px;z-index:60;
	display:flex;align-items:center;justify-content:center;
	width:44px;height:44px;min-width:44px;margin:0 0 8px auto;
	border-radius:50%;cursor:pointer;font-size:18px;line-height:1;
	background:var(--ny-soft);border:1.5px solid var(--ny-border);color:var(--ny-text);
	box-shadow:0 4px 14px rgba(0,0,0,.2);
}
.ny-modal h3{margin-top:0}
.ny-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ny-profile-item{background:var(--ny-card);border:1px solid var(--ny-border);border-radius:12px;padding:10px 12px}
.ny-profile-item small{display:block;color:var(--ny-muted)!important;font-size:11.5px}
.ny-profile-item b{font-size:13px}
.ny-refshare{
	display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:center;
	margin-top:12px;padding:14px;border-radius:14px;
	background:rgba(14,165,165,.09);border:2px dashed var(--ny-primary);
}
.ny-refcode-badge{
	display:inline-block;font-size:18px;font-weight:900;letter-spacing:3px;
	padding:6px 16px;border-radius:12px;background:var(--ny-card);
	border:1px solid var(--ny-border);color:var(--ny-primary)!important;
}

/* ---------- success card ---------- */
.ny-success-card{text-align:center;padding:4px 0}
.ny-success-check{
	width:64px;height:64px;border-radius:50%;margin:0 auto 8px;
	display:flex;align-items:center;justify-content:center;font-size:34px;
	background:#10b981;background-image:linear-gradient(135deg,#34d399,#10b981);
	box-shadow:0 8px 24px rgba(16,185,129,.4);
}
.ny-success-check{color:#fff!important}
.ny-success-code{
	display:inline-block;border:2px dashed var(--ny-primary);border-radius:14px;
	padding:8px 18px;font-size:19px;font-weight:900;letter-spacing:1px;margin:8px 0;
	color:var(--ny-primary)!important;background:rgba(14,165,165,.07);
}
.ny-success-rows{max-width:100%;margin:0 auto 10px;text-align:right}
.ny-success-rows>div{display:flex;justify-content:space-between;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--ny-border);font-size:13px}
.ny-success-rows>div:last-child{border-bottom:none}
.ny-success-qr{margin:6px auto}
.ny-success-qr img{width:170px;max-width:70%;height:auto;border-radius:12px;border:6px solid #fff;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.ny-success-card .ny-mt{display:flex;flex-direction:column;gap:8px}
.ny-success-card .ny-mt .ny-btn{width:100%}

/* ---------- reviews ---------- */
.ny-star-picker{direction:ltr;display:inline-flex;gap:8px;cursor:pointer;user-select:none}
.ny-star-picker span{font-size:42px;color:var(--ny-border);line-height:1}
.ny-star-picker span.on{color:#f7c948!important}
.ny-review-item{border:1px solid var(--ny-border);border-radius:12px;padding:11px 14px;margin-bottom:9px;background:var(--ny-soft)}
.ny-review-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ny-resume{background:var(--ny-soft);border-radius:12px;padding:14px;border:1px solid var(--ny-border)}

/* ---------- misc buttons row ---------- */
.ny-mt .ny-btn + .ny-btn{margin-top:8px}

/* ============================================================
   TABLET  (>= 601px)
   ============================================================ */
@media (min-width: 601px){
	.ny-app{padding:18px;border-radius:22px}
	.ny-card{padding:20px;margin-bottom:16px}
	.ny-grid{gap:14px}
	.ny-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ny-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ny-header{flex-direction:row;align-items:center;justify-content:space-between}
	.ny-title{font-size:21px;text-align:right}
	.ny-header>div{width:auto}
	.ny-account-btn{flex:0 0 auto;width:auto}
	.ny-btn{width:auto;padding:12px 26px}
	.ny-step{font-size:12.5px;padding:9px 14px}
	.ny-slots{grid-template-columns:repeat(6,minmax(0,1fr))}
	.ny-avatar{width:88px;height:88px}
	.ny-doctor-card{padding:20px 14px}
	.ny-doctor-name{font-size:15px}
	.ny-service-row{flex-direction:row;align-items:center;justify-content:space-between}
	.ny-price{align-self:auto}
	.ny-wallet-box{flex-direction:row;text-align:right;align-items:center;justify-content:space-between;padding:22px}
	.ny-wallet-box>div{width:auto}
	.ny-wallet-box>div:last-child{flex-direction:row;align-items:center}
	.ny-wallet-box input{max-width:170px}
	.ny-tab{flex:1;padding:10px 18px;font-size:14px}
	/* tables become real tables */
	.ny-table-wrap{overflow-x:auto;border:1px solid var(--ny-border);border-radius:14px;background:var(--ny-card)}
	.ny-table{min-width:560px;font-size:13.5px}
	.ny-table thead{display:table-header-group}
	.ny-table tbody tr{display:table-row;border:none;margin:0;padding:0;background:transparent}
	.ny-table td{display:table-cell;text-align:right;border-bottom:1px solid var(--ny-border);padding:11px 12px}
	.ny-table td::before{display:none}
	.ny-table th{background:var(--ny-soft);padding:11px 12px;text-align:right;border-bottom:2px solid var(--ny-border)}
	.ny-table tr:last-child td{border-bottom:none}
	/* modal becomes centered sheet */
	.ny-modal-overlay{align-items:flex-start;justify-content:center;padding:26px 14px;overflow-y:auto}
	.ny-modal{
		max-width:720px;height:auto;min-height:0;max-height:none;
		border:1px solid var(--ny-border);border-radius:22px;
		padding:44px 22px 24px;margin:auto 0;overflow:visible;
	}
	.ny-modal-close{position:absolute;top:12px;left:12px;margin:0;box-shadow:none}
	.ny-modal{position:relative}
	.ny-profile-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
	.ny-refshare{flex-direction:row;align-items:center;justify-content:space-between;text-align:right}
	.ny-success-card .ny-mt{flex-direction:row;justify-content:center}
	.ny-success-card .ny-mt .ny-btn{width:auto}
	.ny-success-rows{max-width:360px}
	.ny-dep-card{padding:18px}
	.ny-otp-inputs{letter-spacing:10px;font-size:22px}
}

/* ============================================================
   DESKTOP (>= 1025px) — visual enhancements only
   ============================================================ */
@media (min-width: 1025px){
	.ny-app{
		padding:24px;
		background-image:linear-gradient(160deg,#e8f4f8 0%,#eef0fb 45%,#fdeef3 100%);
	}
	.ny-app.ny-dark{background-image:linear-gradient(160deg,#0b1220 0%,#131a2e 50%,#1c1430 100%)}
	.ny-card,.ny-doctor-card,.ny-dep-card{box-shadow:0 6px 24px rgba(15,23,42,.08)}
	.ny-btn{transition:transform .2s,opacity .2s}
	.ny-btn:hover{transform:translateY(-1px);opacity:.93}
	.ny-doctor-card,.ny-dep-card,.ny-service-row,.ny-slot,.ny-day{transition:border-color .15s,box-shadow .15s,transform .15s}
	.ny-doctor-card:hover,.ny-dep-card:hover,.ny-service-row:hover,.ny-slot:hover,.ny-day:hover{border-color:var(--ny-primary)}
	.ny-doctor-card:hover,.ny-dep-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(14,165,165,.18)}
	.ny-grid-3{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
	.ny-grid-2{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
	/* glass effect only where it's safe (desktop engines) */
	@supports ((-webkit-backdrop-filter:blur(4px)) or (backdrop-filter:blur(4px))){
		.ny-app{--ny-card:rgba(255,255,255,.72)}
		.ny-app.ny-dark{--ny-card:rgba(30,41,59,.66)}
		.ny-card,.ny-doctor-card,.ny-dep-card,.ny-service-row{
			-webkit-backdrop-filter:blur(18px) saturate(1.4);
			backdrop-filter:blur(18px) saturate(1.4);
		}
	}
}

/* very small phones */
@media (max-width: 379px){
	.ny-grid-3{grid-template-columns:1fr}
	.ny-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ny-profile-grid{grid-template-columns:1fr}
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
	.ny-app *{transition:none!important;animation:none!important}
}

/* ---- small modal variant (review) on tablet/desktop ---- */
@media (min-width: 601px){
	.ny-modal-sm{max-width:520px}
}

/* ============================================================
   v3.3.2 — THEME-CONFLICT HARDENING (light mode fixes)
   Site themes often paint <button> black / add shadows; these
   rules pin every plugin control to its own colors.
   Also fixes the active step pill poking out of the rounded
   scroller corner (Safari/old engines don't clip to radius).
   ============================================================ */

/* --- neutralize theme button styling inside the plugin --- */
.ny-app button,
.ny-modal button{
	-webkit-appearance:none;
	appearance:none;
	text-transform:none;
	letter-spacing:normal;
	background-image:none;
	text-shadow:none;
	outline:none;
}

/* --- theme toggle: always a light chip in light mode --- */
.ny-app .ny-theme-toggle{
	background:var(--ny-card)!important;
	background-image:none!important;
	color:var(--ny-text)!important;
	border:1.5px solid var(--ny-border)!important;
	box-shadow:none!important;
	border-radius:999px!important;
	padding:10px 16px!important;
	font-size:13px!important;
	line-height:1.6!important;
	min-height:0!important;
	height:auto!important;
}
.ny-app.ny-dark .ny-theme-toggle{
	background:var(--ny-card)!important;
	color:var(--ny-text)!important;
}

/* --- primary / ghost buttons: pin colors against theme css --- */
.ny-app .ny-btn{
	background-color:var(--ny-primary)!important;
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
	color:#fff!important;
	border:none!important;
	text-shadow:none!important;
	line-height:1.7!important;
}
.ny-app .ny-btn.ny-btn-ghost{
	background-color:var(--ny-card)!important;
	background-image:none!important;
	color:var(--ny-primary)!important;
	border:2px solid var(--ny-primary)!important;
}
.ny-app .ny-btn.ny-btn-danger{
	background-color:#ef4444!important;
	background-image:linear-gradient(135deg,#ef4444,#f43f5e)!important;
	color:#fff!important;
}

/* --- steps scroller: smaller radius so pills can't poke out; ---
   --- pills sized to fit inside cleanly on every engine       --- */
.ny-app .ny-steps{
	border-radius:14px!important;
	padding:5px!important;
	gap:4px!important;
	align-items:stretch;
	background:var(--ny-soft)!important;
	border:1px solid var(--ny-border)!important;
	box-shadow:none!important;
}
.ny-app .ny-step{
	border-radius:10px!important;
	padding:8px 12px!important;
	margin:0!important;
	line-height:1.7!important;
	background:transparent;
	border:none!important;
	box-shadow:none!important;
	display:flex;align-items:center;justify-content:center;
	color:var(--ny-muted)!important;
}
.ny-app .ny-step.active{
	background:var(--ny-card)!important;
	color:var(--ny-primary)!important;
	box-shadow:0 1px 6px rgba(15,23,42,.14)!important;
}
.ny-app .ny-step.done{color:var(--ny-primary)!important;background:transparent!important}

/* --- tabs scroller: same corner fix --- */
.ny-app .ny-tabs,.ny-modal .ny-tabs{
	border-radius:14px!important;
	padding:5px!important;
	background:var(--ny-soft)!important;
	border:1px solid var(--ny-border)!important;
}
.ny-app .ny-tab,.ny-modal .ny-tab{
	border-radius:10px!important;
	border:none!important;
	box-shadow:none!important;
	background:transparent;
	color:var(--ny-muted)!important;
	line-height:1.7!important;
}
.ny-app .ny-tab.active,.ny-modal .ny-tab.active{
	background-color:var(--ny-primary)!important;
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
	color:#fff!important;
}

/* --- kill sticky touch-hover: hover effects only on real pointers --- */
@media (hover: none){
	.ny-app .ny-doctor-card:hover,
	.ny-app .ny-dep-card:hover,
	.ny-app .ny-service-row:hover,
	.ny-app .ny-slot:hover,
	.ny-app .ny-day:hover{
		border-color:var(--ny-border);
		box-shadow:0 2px 10px rgba(15,23,42,.06);
		transform:none;
	}
	.ny-app .ny-slot.selected{border-color:var(--ny-primary)}
	.ny-app .ny-day.selected,.ny-app .ny-dep-card.selected,
	.ny-app .ny-doctor-card.selected,.ny-app .ny-service-row.selected{border-color:var(--ny-primary)}
}

/* --- light-mode container: calm flat surface (no odd gradients) --- */
@media (max-width: 1024px){
	.ny-app{background:var(--ny-bg)!important;background-image:none!important}
}

/* ============================================================
   v3.4 — SKIN SYSTEM  (.ny-skin-glass | .ny-skin-minimal |
   .ny-skin-arva | .ny-skin-modern)  — admin picks in settings.
   Base layer stays untouched; skins only override tokens+accents.
   ============================================================ */

/* booking-note banner in auth popup */
.ny-booking-note{
	background:#ecfdf3;border:2px solid #34d399;border-radius:14px;
	padding:12px 16px;margin-bottom:14px;font-weight:800;font-size:14px;text-align:center;
}
.ny-booking-note{color:#067647!important}
.ny-app.ny-dark .ny-booking-note{background:#0f2b1d;border-color:#15803d;color:#4ade80!important}

/* ---------- SKIN: GLASS (شیشه‌ای) ---------- */
@media (min-width:1025px){
	.ny-skin-glass{background-image:linear-gradient(160deg,#dff3f5 0%,#e6e9fb 45%,#fbe7f0 100%)!important}
	.ny-skin-glass.ny-dark{background-image:linear-gradient(160deg,#0b1220,#131a2e 50%,#1c1430)!important}
	@supports ((backdrop-filter:blur(4px)) or (-webkit-backdrop-filter:blur(4px))){
		.ny-skin-glass .ny-card,.ny-skin-glass .ny-doctor-card,.ny-skin-glass .ny-dep-card,
		.ny-skin-glass .ny-service-row{
			background:rgba(255,255,255,.55);
			-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);
			border-color:rgba(255,255,255,.75);
		}
		.ny-skin-glass.ny-dark .ny-card,.ny-skin-glass.ny-dark .ny-doctor-card,
		.ny-skin-glass.ny-dark .ny-dep-card,.ny-skin-glass.ny-dark .ny-service-row{
			background:rgba(30,41,59,.5);border-color:rgba(255,255,255,.12);
		}
	}
}
.ny-skin-glass{--ny-radius:20px}
.ny-skin-glass .ny-card,.ny-skin-glass .ny-doctor-card,.ny-skin-glass .ny-dep-card{
	box-shadow:0 8px 28px rgba(31,45,80,.12);
}

/* ---------- SKIN: MINIMAL (مینیمال) ---------- */
.ny-skin-minimal{
	--ny-radius:10px;
	--ny-bg:#ffffff;--ny-card:#ffffff;--ny-border:#e5e7eb;--ny-soft:#f6f7f9;
	background:#fff!important;background-image:none!important;
}
.ny-skin-minimal.ny-dark{--ny-bg:#111418;--ny-card:#171b21;--ny-border:#2a3038;--ny-soft:#1d232b;background:#111418!important}
.ny-skin-minimal .ny-card,.ny-skin-minimal .ny-doctor-card,.ny-skin-minimal .ny-dep-card,
.ny-skin-minimal .ny-service-row,.ny-skin-minimal .ny-chain-item{box-shadow:none!important}
.ny-skin-minimal .ny-btn{
	background-image:none!important;background-color:var(--ny-primary)!important;
	box-shadow:none!important;border-radius:10px!important;
}
.ny-skin-minimal .ny-btn.ny-btn-ghost{background-color:transparent!important;border-width:1.5px!important;border-radius:10px!important}
.ny-skin-minimal .ny-steps,.ny-skin-minimal .ny-tabs{border-radius:10px!important;background:transparent!important;border:none!important;border-bottom:2px solid var(--ny-border)!important;padding:0!important}
.ny-skin-minimal .ny-step,.ny-skin-minimal .ny-tab{border-radius:0!important;background:transparent!important;box-shadow:none!important;border-bottom:2.5px solid transparent!important;margin-bottom:-2px!important}
.ny-skin-minimal .ny-step.active,.ny-skin-minimal .ny-tab.active{
	background:transparent!important;background-image:none!important;
	color:var(--ny-primary)!important;border-bottom-color:var(--ny-primary)!important;
}
.ny-skin-minimal .ny-slot,.ny-skin-minimal .ny-day{border-radius:8px!important}
.ny-skin-minimal .ny-avatar{border-width:2px}
.ny-skin-minimal .ny-wallet-box{background-image:none!important;background:var(--ny-primary)!important;border-radius:12px}

/* ---------- SKIN: ARVA (دارک-بنفش، مشابه تصویر مرجع) ---------- */
.ny-skin-arva{--ny-primary:#7c6cf6;--ny-secondary:#a78bfa;--ny-radius:18px}
.ny-skin-arva:not(.ny-dark){
	--ny-bg:#f3f1ff;--ny-card:#ffffff;--ny-text:#241f3f;--ny-muted:#6f6a92;
	--ny-border:#ddd8f3;--ny-soft:#ece8fb;--ny-input:#ffffff;
	background:#f3f1ff!important;
	background-image:radial-gradient(900px 450px at 85% -10%,rgba(124,108,246,.14),transparent 60%)!important;
}
.ny-skin-arva.ny-dark{
	--ny-bg:#0b0b18;--ny-card:#14142a;--ny-text:#eceafe;--ny-muted:#8f8bb3;
	--ny-border:#272747;--ny-soft:#1b1b33;--ny-input:#101021;
	background:#0b0b18!important;
	background-image:radial-gradient(1000px 500px at 85% -10%,rgba(124,108,246,.22),transparent 60%),
		radial-gradient(700px 400px at 0% 100%,rgba(167,139,250,.12),transparent 55%)!important;
	color:#eceafe;
}
/* arva now supports light mode too — toggle restored */
.ny-skin-arva.ny-dark .ny-card,.ny-skin-arva.ny-dark .ny-doctor-card,.ny-skin-arva.ny-dark .ny-dep-card,
.ny-skin-arva.ny-dark .ny-service-row,.ny-skin-arva.ny-dark .ny-chain-item{
	background:#14142a!important;border-color:#272747!important;
	box-shadow:0 10px 34px rgba(0,0,0,.45)!important;
}
.ny-skin-arva .ny-btn{
	background-color:#7c6cf6!important;
	background-image:linear-gradient(135deg,#7c6cf6,#a78bfa)!important;
	box-shadow:0 6px 22px rgba(124,108,246,.45)!important;
}
.ny-skin-arva .ny-btn.ny-btn-ghost{
	background-color:transparent!important;background-image:none!important;
	border-color:#7c6cf6!important;color:#a78bfa!important;
}
.ny-skin-arva .ny-steps,.ny-skin-arva .ny-tabs{background:#1b1b33!important;border-color:#272747!important}
.ny-skin-arva .ny-step.active{background:#14142a!important;color:#a78bfa!important}
.ny-skin-arva .ny-tab.active{background-image:linear-gradient(135deg,#7c6cf6,#a78bfa)!important}
.ny-skin-arva .ny-slot.selected{background-image:linear-gradient(135deg,#7c6cf6,#a78bfa)!important;border-color:#7c6cf6!important}
.ny-skin-arva .ny-day.selected,.ny-skin-arva .ny-dep-card.selected,
.ny-skin-arva .ny-doctor-card.selected,.ny-skin-arva .ny-service-row.selected{border-color:#7c6cf6!important}
.ny-skin-arva .ny-dep-icon{background:rgba(124,108,246,.16)!important;border-color:#272747!important}
.ny-skin-arva .ny-badge-teal{background:rgba(124,108,246,.18)!important;color:#a78bfa!important}
.ny-skin-arva .ny-price{color:#a78bfa!important}
.ny-skin-arva .ny-avatar{border-color:#7c6cf6}
.ny-skin-arva .ny-wallet-box{background-image:linear-gradient(135deg,#7c6cf6,#5b4bd5)!important}
.ny-skin-arva .ny-success-code{border-color:#7c6cf6;color:#a78bfa!important;background:rgba(124,108,246,.1)}
.ny-skin-arva input:focus,.ny-skin-arva select:focus,.ny-skin-arva textarea:focus{
	border-color:#7c6cf6!important;box-shadow:0 0 0 3px rgba(124,108,246,.25)!important;
}
.ny-skin-arva .ny-notice-soft{background:rgba(124,108,246,.12)!important;border-color:#7c6cf6!important}
.ny-skin-arva .ny-notice-soft,.ny-skin-arva .ny-notice-soft *{color:#a78bfa!important}

/* arva modal matches */
.ny-modal.ny-skin-arva,.ny-skin-arva .ny-modal{background:#0b0b18}

/* ---------- SKIN: MODERN (مدرن) ---------- */
.ny-skin-modern{
	--ny-radius:24px;
	--ny-bg:#f4f6fb;--ny-card:#ffffff;--ny-border:#e3e8f2;--ny-soft:#edf1f8;
}
.ny-skin-modern.ny-dark{--ny-bg:#10141f;--ny-card:#1a2030;--ny-border:#2c3550;--ny-soft:#232b40}
.ny-skin-modern .ny-card,.ny-skin-modern .ny-doctor-card,.ny-skin-modern .ny-dep-card{
	border:none!important;box-shadow:0 3px 6px rgba(23,43,99,.05),0 14px 34px rgba(23,43,99,.09)!important;
}
.ny-skin-modern .ny-btn{border-radius:16px!important}
.ny-skin-modern .ny-btn.ny-btn-ghost{border-radius:16px!important;border-width:2px!important}
.ny-skin-modern .ny-steps{background:var(--ny-card)!important;border:none!important;box-shadow:0 4px 16px rgba(23,43,99,.08)!important;border-radius:18px!important}
.ny-skin-modern .ny-step{border-radius:13px!important}
.ny-skin-modern .ny-step.active{
	background-color:var(--ny-primary)!important;
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
	color:#fff!important;
}
.ny-skin-modern .ny-tabs{background:var(--ny-card)!important;border:none!important;box-shadow:0 4px 16px rgba(23,43,99,.08)!important;border-radius:18px!important}
.ny-skin-modern .ny-slot{border-radius:14px!important;border:none!important;background:var(--ny-soft)!important}
.ny-skin-modern .ny-slot.selected{background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important}
.ny-skin-modern .ny-day{border:none!important;background:var(--ny-card)!important;box-shadow:0 3px 12px rgba(23,43,99,.08)}
.ny-skin-modern .ny-day.selected{box-shadow:inset 0 0 0 2px var(--ny-primary)}
.ny-skin-modern .ny-service-row,.ny-skin-modern .ny-chain-item{border:none!important;background:var(--ny-soft)!important}
.ny-skin-modern .ny-service-row.selected{box-shadow:inset 0 0 0 2px var(--ny-primary)!important}
.ny-skin-modern .ny-dep-icon{border:none!important}

/* ---- Visitor skin switcher ---- */
.ny-skin-switch{position:relative}
.ny-skin-btn{min-width:46px;text-align:center}
.ny-skin-menu{
	position:absolute;top:calc(100% + 6px);left:0;z-index:500;
	background:var(--ny-card);border:1.5px solid var(--ny-border);border-radius:14px;
	padding:6px;min-width:170px;box-shadow:0 10px 30px rgba(15,23,42,.2);
	display:flex;flex-direction:column;gap:3px;
}
.ny-skin-menu button{
	font-family:inherit;font-size:13px;font-weight:700;text-align:right;
	background:transparent;border:none;border-radius:10px;cursor:pointer;
	padding:9px 12px;color:var(--ny-text);
}
.ny-skin-menu button:active{background:var(--ny-soft)}
@media (hover:hover){.ny-skin-menu button:hover{background:var(--ny-soft)}}

/* ============================================================
   v3.5 — BLUE/GREEN/WHITE default identity (like reference art)
   Blue = primary surfaces & actions · Green = confirmations
   White = cards/backgrounds
   ============================================================ */

/* header strip of main sections gets the blue identity */
.ny-app .ny-wallet-box{
	background-color:var(--ny-primary)!important;
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
}

/* success / confirmation = GREEN everywhere */
.ny-app .ny-badge-green{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.35)}
.ny-app .ny-badge-green{color:#15803d!important}
.ny-app .ny-alert-ok{background:#f0fdf4;border-color:#86efac}
.ny-app .ny-alert-ok,.ny-app .ny-alert-ok *{color:#15803d!important}
.ny-app .ny-success-check{
	background:var(--ny-success)!important;
	background-image:linear-gradient(135deg,#4ade80,var(--ny-success))!important;
	box-shadow:0 8px 24px rgba(34,197,94,.4)!important;
}
.ny-app .ny-booking-note{border-color:var(--ny-success)}
.ny-app .ny-success-code{
	border-color:var(--ny-success);
	color:#15803d!important;
	background:#f0fdf4;
}
.ny-app .ny-do-book{
	background-color:var(--ny-success)!important;
	background-image:linear-gradient(135deg,#4ade80,#16a34a)!important;
	box-shadow:0 6px 20px rgba(34,197,94,.4)!important;
}
.ny-app .ny-subcat-continue,.ny-app .ny-goto-confirm{
	background-color:var(--ny-primary)!important;
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
}
/* selected day/slot chip: blue border + soft blue fill */
.ny-app .ny-day.selected{background:#eff6ff}
.ny-app.ny-dark .ny-day.selected{background:rgba(37,99,235,.18)}
/* stars stay gold; teal badge becomes soft blue */
.ny-app .ny-badge-teal{background:rgba(37,99,235,.12);color:var(--ny-primary)!important}
.ny-app .ny-dep-icon{background:rgba(37,99,235,.12)}
/* dark mode counterparts */
.ny-app.ny-dark{--ny-bg:#0d1526;--ny-card:#16203a;--ny-border:#2b3a5c;--ny-soft:#1d2a47;--ny-input:#101a30}
.ny-app.ny-dark .ny-alert-ok{background:#0f2b1d;border-color:#166534}
.ny-app.ny-dark .ny-alert-ok,.ny-app.ny-dark .ny-alert-ok *{color:#4ade80!important}
.ny-app.ny-dark .ny-success-code{background:rgba(34,197,94,.12);color:#4ade80!important}

/* ============================================================
   v3.5.2 — DARK MODE TEXT HARDENING
   Some texts stayed black in dark mode (inline colors, defaults).
   Force every text inside .ny-dark to its proper token color.
   ============================================================ */
.ny-app.ny-dark,
.ny-app.ny-dark h1,.ny-app.ny-dark h2,.ny-app.ny-dark h3,.ny-app.ny-dark h4,
.ny-app.ny-dark p,.ny-app.ny-dark label,.ny-app.ny-dark div,
.ny-app.ny-dark td,.ny-app.ny-dark th,.ny-app.ny-dark li,
.ny-app.ny-dark b,.ny-app.ny-dark strong,.ny-app.ny-dark small,
.ny-app.ny-dark span{color:var(--ny-text)}
/* keep intentional accent colors */
.ny-app.ny-dark .ny-muted,.ny-app.ny-dark .ny-doctor-meta,
.ny-app.ny-dark .ny-day small,.ny-app.ny-dark .ny-profile-item small{color:var(--ny-muted)!important}
.ny-app.ny-dark .ny-price,.ny-app.ny-dark .ny-refcode-badge{color:#93c5fd!important}
.ny-app.ny-dark .ny-btn,.ny-app.ny-dark .ny-btn *{color:#fff!important}
.ny-app.ny-dark .ny-btn-ghost,.ny-app.ny-dark .ny-btn-ghost *{color:#93c5fd!important}
.ny-app.ny-dark .ny-tab.active,.ny-app.ny-dark .ny-tab.active *{color:#fff!important}
.ny-app.ny-dark .ny-step.active{color:#93c5fd!important}
.ny-app.ny-dark .ny-slot.selected,.ny-app.ny-dark .ny-slot.selected *{color:#fff!important}
.ny-app.ny-dark .ny-wallet-box,.ny-app.ny-dark .ny-wallet-box *{color:#fff!important}
.ny-app.ny-dark .ny-wallet-box input{color:#111!important}
.ny-app.ny-dark .ny-stars-static{color:#f7c948!important}
.ny-app.ny-dark .ny-badge-teal{color:#93c5fd!important}
.ny-app.ny-dark .ny-success-check{color:#fff!important}
.ny-app.ny-dark .ny-star-ribbon{color:#5b4300!important}
/* inputs & placeholders */
.ny-app.ny-dark input,.ny-app.ny-dark select,.ny-app.ny-dark textarea{color:var(--ny-text)}
.ny-app.ny-dark input::placeholder,.ny-app.ny-dark textarea::placeholder{color:var(--ny-muted)}
.ny-app.ny-dark select option{background:var(--ny-card);color:var(--ny-text)}
/* skin menu inside dark */
.ny-app.ny-dark .ny-skin-menu{background:var(--ny-card);border-color:var(--ny-border)}
.ny-app.ny-dark .ny-skin-menu button{color:var(--ny-text)}
/* modal (its own .ny-app wrapper) inherits the same rules automatically */
/* theme toggle chip readable in dark */
.ny-app.ny-dark .ny-theme-toggle{background:var(--ny-card)!important;color:var(--ny-text)!important;border-color:var(--ny-border)!important}

/* ============================================================
   v3.5.3 — SKIN SWITCHER ALWAYS USABLE (fix: stuck on dark/آروا)
   ============================================================ */
.ny-skin-switch{position:relative;z-index:600}
.ny-skin-menu{z-index:99999!important;pointer-events:auto!important}
.ny-skin-btn{pointer-events:auto!important}
/* arva dark must not swallow the menu */
.ny-skin-arva .ny-skin-menu{background:var(--ny-card)!important;border-color:var(--ny-border)!important}
.ny-skin-arva .ny-skin-menu button{color:var(--ny-text)!important}
/* header controls always above ambient layers in all skins */
.ny-app .ny-header{position:relative;z-index:50}

/* make each skin clearly distinct even in DARK mode,
   so switching in dark is visibly different (not "still black") */
.ny-skin-glass.ny-dark{--ny-bg:#0d1526;--ny-card:#16203a;--ny-border:#2b3a5c}
.ny-skin-minimal.ny-dark{--ny-bg:#111418;--ny-card:#171b21;--ny-border:#2a3038;background:#111418!important}
.ny-skin-modern.ny-dark{--ny-bg:#10141f;--ny-card:#1a2030;--ny-border:#2c3550}
.ny-skin-arva.ny-dark{--ny-bg:#0b0b18;--ny-card:#14142a;--ny-border:#272747}

/* ============================================================
   v3.5.4 — VAZIRMATN ALWAYS + DARK-MODE READABILITY GUARANTEE
   (1) The plugin bundles its own 'Peyda' font and forces it
       on EVERY element — site theme fonts can never leak in.
   (2) Inputs: typed text is ALWAYS readable (light on dark) —
       kills the black-on-dark text in register/login boxes,
       browser autofill, and native select dropdowns.
   (3) Dark-mode text gets !important so theme CSS can't paint it
       black; آروا in LIGHT mode no longer shows dark surfaces
       (steps/tabs/modal) that made text hard to read.
   ============================================================ */

/* ---- 1) font: 'Peyda' everywhere, no site-font leakage ---- */
.ny-app,.ny-app *,
.ny-modal,.ny-modal *{
	font-family:'Peyda',Tahoma,sans-serif!important;
}

/* ---- 2) inputs: typed text always readable (light & dark) ---- */
.ny-app input,.ny-app select,.ny-app textarea,
.ny-modal input,.ny-modal select,.ny-modal textarea{
	color:var(--ny-text)!important;
	-webkit-text-fill-color:var(--ny-text)!important;
	background-color:var(--ny-input)!important;
	caret-color:var(--ny-text)!important;
}
.ny-app input::placeholder,.ny-app textarea::placeholder,
.ny-modal input::placeholder,.ny-modal textarea::placeholder{
	color:var(--ny-muted)!important;
	-webkit-text-fill-color:var(--ny-muted)!important;
	opacity:1;
}
/* browser autofill — never yellow bg / black text (dark mode too) */
.ny-app input:-webkit-autofill,
.ny-app input:-webkit-autofill:hover,
.ny-app input:-webkit-autofill:focus,
.ny-modal input:-webkit-autofill,
.ny-modal input:-webkit-autofill:hover,
.ny-modal input:-webkit-autofill:focus{
	-webkit-text-fill-color:var(--ny-text)!important;
	-webkit-box-shadow:0 0 0 1000px var(--ny-input) inset!important;
	box-shadow:0 0 0 1000px var(--ny-input) inset!important;
	caret-color:var(--ny-text)!important;
	transition:background-color 999999s ease-in-out 0s;
}
/* native select dropdown options (Samsung/Xiaomi render them) */
.ny-app select option,.ny-modal select option{
	background:var(--ny-card)!important;
	color:var(--ny-text)!important;
}

/* ---- 3) dark mode: every text forced to its token color ---- */
.ny-app.ny-dark,.ny-app.ny-dark h1,.ny-app.ny-dark h2,.ny-app.ny-dark h3,
.ny-app.ny-dark h4,.ny-app.ny-dark h5,.ny-app.ny-dark h6,.ny-app.ny-dark p,
.ny-app.ny-dark label,.ny-app.ny-dark div,.ny-app.ny-dark td,.ny-app.ny-dark th,
.ny-app.ny-dark li,.ny-app.ny-dark b,.ny-app.ny-dark strong,.ny-app.ny-dark small,
.ny-app.ny-dark span,.ny-app.ny-dark em,.ny-app.ny-dark i,
.ny-modal.ny-dark,.ny-modal.ny-dark h1,.ny-modal.ny-dark h2,.ny-modal.ny-dark h3,
.ny-modal.ny-dark h4,.ny-modal.ny-dark p,.ny-modal.ny-dark label,.ny-modal.ny-dark div,
.ny-modal.ny-dark td,.ny-modal.ny-dark th,.ny-modal.ny-dark li,.ny-modal.ny-dark b,
.ny-modal.ny-dark strong,.ny-modal.ny-dark small,.ny-modal.ny-dark span{
	color:var(--ny-text)!important;
}
/* links inside the widget stay visible (soft blue) in dark */
.ny-app.ny-dark a:not(.ny-btn),.ny-modal.ny-dark a:not(.ny-btn){
	color:#93c5fd!important;
}
/* accent colors that MUST keep their meaning — re-asserted AFTER
   the catch-all so they always win, in every skin */
.ny-app.ny-dark .ny-muted,.ny-app.ny-dark .ny-doctor-meta,
.ny-app.ny-dark .ny-day small,.ny-app.ny-dark .ny-profile-item small,
.ny-app.ny-dark .ny-rate-line,.ny-app.ny-dark .ny-review-item .ny-muted{
	color:var(--ny-muted)!important;
}
.ny-app.ny-dark .ny-price,.ny-app.ny-dark .ny-refcode-badge{color:#93c5fd!important}
.ny-app.ny-dark .ny-notice-box,.ny-app.ny-dark .ny-notice-box *{color:#fbbf24!important}
.ny-app.ny-dark .ny-notice-soft,.ny-app.ny-dark .ny-notice-soft *{color:#a78bfa!important}
.ny-app.ny-dark .ny-alert-ok,.ny-app.ny-dark .ny-alert-ok *{color:#4ade80!important}
.ny-app.ny-dark .ny-alert-err,.ny-app.ny-dark .ny-alert-err *{color:#f87171!important}
.ny-app.ny-dark .ny-badge-green,.ny-app.ny-dark .ny-badge-green *{color:#4ade80!important}
.ny-app.ny-dark .ny-badge-red,.ny-app.ny-dark .ny-badge-red *{color:#f87171!important}
.ny-app.ny-dark .ny-badge-amber,.ny-app.ny-dark .ny-badge-amber *{color:#fbbf24!important}
.ny-app.ny-dark .ny-badge-gold,.ny-app.ny-dark .ny-badge-gold *{color:#f7c948!important}
.ny-app.ny-dark .ny-badge-teal,.ny-app.ny-dark .ny-badge-teal *{color:#93c5fd!important}
.ny-app.ny-dark .ny-stars-static{color:#f7c948!important}
.ny-app.ny-dark .ny-star-ribbon,.ny-app.ny-dark .ny-star-ribbon *{color:#5b4300!important}
.ny-app.ny-dark .ny-booking-note,.ny-app.ny-dark .ny-booking-note *{color:#4ade80!important}
.ny-app.ny-dark .ny-btn,.ny-app.ny-dark .ny-btn *{color:#fff!important}
.ny-app.ny-dark .ny-btn-ghost,.ny-app.ny-dark .ny-btn-ghost *{color:#93c5fd!important}
.ny-app.ny-dark .ny-tab.active,.ny-app.ny-dark .ny-tab.active *{color:#fff!important}
.ny-app.ny-dark .ny-step.active{color:#93c5fd!important}
.ny-app.ny-dark .ny-slot.selected,.ny-app.ny-dark .ny-slot.selected *{color:#fff!important}
.ny-app.ny-dark .ny-wallet-box,.ny-app.ny-dark .ny-wallet-box *{color:#fff!important}
.ny-app.ny-dark .ny-wallet-box input{color:#111!important;-webkit-text-fill-color:#111!important}
.ny-app.ny-dark .ny-success-check,.ny-app.ny-dark .ny-success-check *{color:#fff!important}
.ny-app.ny-dark .ny-success-code,.ny-app.ny-dark .ny-success-code *{color:#4ade80!important}
.ny-app.ny-dark .ny-theme-toggle{color:var(--ny-text)!important}
.ny-app.ny-dark .ny-skin-menu{background:var(--ny-card)!important;border-color:var(--ny-border)!important}
.ny-app.ny-dark .ny-skin-menu button{color:var(--ny-text)!important}

/* ---- 4) آروا (arva) in LIGHT mode = light surfaces, no dark patches ---- */
.ny-skin-arva .ny-steps,.ny-skin-arva .ny-tabs{
	background:#ece8fb!important;border-color:#ddd8f3!important;
}
.ny-skin-arva .ny-step.active{background:#ffffff!important;color:#7c6cf6!important}
.ny-skin-arva .ny-dep-icon{border-color:#ddd8f3!important}
.ny-modal.ny-skin-arva{background:#f3f1ff!important;color:#241f3f!important}
.ny-skin-arva.ny-dark .ny-steps,.ny-skin-arva.ny-dark .ny-tabs{
	background:#1b1b33!important;border-color:#272747!important;
}
.ny-skin-arva.ny-dark .ny-step.active{background:#14142a!important;color:#a78bfa!important}
.ny-skin-arva.ny-dark .ny-dep-icon{border-color:#272747!important}
.ny-modal.ny-skin-arva.ny-dark,.ny-skin-arva.ny-dark .ny-modal{
	background:#0b0b18!important;color:#eceafe!important;
}

/* ============================================================
   v3.5.4 — SKIN MENU: full-width bottom sheet on phones.
   The old dropdown could hide behind dark skins / get clipped
   by theme wrappers on Android — as a fixed bottom sheet it is
   ALWAYS visible & tappable in every skin.
   ============================================================ */
@media (max-width: 600px){
	.ny-skin-menu{
		position:fixed!important;
		top:auto!important;
		bottom:14px!important;
		left:12px!important;
		right:12px!important;
		width:auto!important;
		max-width:none!important;
		min-width:0!important;
		z-index:2147483500!important;
		border-radius:18px!important;
		padding:10px!important;
		gap:4px!important;
		box-shadow:0 18px 50px rgba(0,0,0,.35)!important;
	}
	.ny-skin-menu button{
		padding:13px 14px!important;
		font-size:14px!important;
		border-radius:12px!important;
	}
}

/* ============================================================
   v3.5.5 — CIRCULAR DOCTOR PHOTOS + RESUME BUTTON
   (1) Doctor photos on the booking page are ALWAYS shown as a
       perfect circle — theme CSS can't square them anymore.
   (2) The «رزومه پزشک» button under each doctor card (links to
       the doctor profile page) — admin can disable it in settings.
   ============================================================ */

/* ---- doctor photo: circular, any size/ratio, any theme ---- */
.ny-app .ny-avatar,
.ny-modal .ny-avatar{
	border-radius:50%!important;
	object-fit:cover!important;
	aspect-ratio:1/1;
	width:70px!important;
	height:70px!important;
	min-width:70px!important;
	max-width:70px!important;
}
.ny-app .ny-avatar-lg,
.ny-modal .ny-avatar-lg{
	width:120px!important;
	height:120px!important;
	min-width:120px!important;
	max-width:120px!important;
}
.ny-app .ny-doctor-card .ny-avatar,
.ny-modal .ny-doctor-card .ny-avatar{display:block}

/* ---- resume button (full-width, ghost, readable in all skins) ---- */
.ny-app .ny-doctor-resume,
.ny-modal .ny-doctor-resume{
	width:100%!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:6px!important;
	padding:9px 12px!important;
	font-size:13px!important;
	border-radius:999px!important;
	margin-top:10px!important;
	min-height:0!important;
	height:auto!important;
}
.ny-app.ny-dark .ny-doctor-resume{color:#93c5fd!important}
.ny-skin-arva .ny-doctor-resume{color:#a78bfa!important;border-color:#7c6cf6!important}
.ny-skin-arva.ny-dark .ny-doctor-resume{color:#c4b5fd!important}

/* ============================================================
   v3.8 — UI/UX PRO POLISH + FONT LOCK
   (1) 'Peyda' is locked on EVERYTHING (incl. <option>, <button>,
       <label>) so no site theme font can ever leak into the plugin.
   (2) Register/login selects (جنسیت، نحوه آشنایی، تولد) are taller
       with safe line-height — no more half-clipped text.
   (3) Subtle pro polish: gradient step pills, nicer focus rings,
       softer shadows, animated press on buttons.
   ============================================================ */

/* ---- (1) 'Peyda' lock: belt & suspenders ---- */
.ny-app,.ny-app *,.ny-app *::before,.ny-app *::after,
.ny-modal,.ny-modal *,.ny-modal *::before,.ny-modal *::after,
.ny-app option,.ny-modal option,
.ny-app button,.ny-modal button,
.ny-app label,.ny-modal label,
.ny-app select,.ny-modal select{
	font-family:'Peyda',Tahoma,sans-serif!important;
}

/* ---- (2) select text always fully visible (register/login) ---- */
.ny-app .ny-field select,.ny-modal .ny-field select{
	min-height:48px;
	line-height:1.5!important;
	padding-top:0!important;
	padding-bottom:0!important;
}
.ny-app select option,.ny-modal select option{
	min-height:1.6em;
	line-height:1.6;
}

/* ---- (3) PRO polish ---- */
/* Gradient step pills */
.ny-app .ny-step.active{
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
	background-color:var(--ny-primary)!important;
	color:#fff!important;
	border:none!important;
	box-shadow:0 4px 14px rgba(37,99,235,.35)!important;
}
.ny-app .ny-step.done{color:var(--ny-primary)!important;font-weight:800}
.ny-app .ny-step.done::after{content:' ✓';font-weight:900}

/* Focus rings use the primary color everywhere */
.ny-app input:focus,.ny-app select:focus,.ny-app textarea:focus,
.ny-modal input:focus,.ny-modal select:focus,.ny-modal textarea:focus{
	border-color:var(--ny-primary)!important;
	box-shadow:0 0 0 3px rgba(37,99,235,.16)!important;
}

/* Softer card shadows, slightly rounder */
.ny-app .ny-card{box-shadow:0 2px 6px rgba(15,23,42,.05),0 12px 30px rgba(37,99,235,.06)}

/* Buttons: press feedback on every device */
.ny-app .ny-btn:active{transform:scale(.97)}
.ny-app .ny-btn{transition:transform .15s ease,opacity .15s ease,box-shadow .2s ease}

/* Section labels: small accent dot */
.ny-app .ny-field label,.ny-modal .ny-field label{
	display:flex;align-items:center;gap:6px;
}
.ny-app .ny-field label::before,.ny-modal .ny-field label::before{
	content:'';width:6px;height:6px;border-radius:50%;
	background:var(--ny-primary);flex-shrink:0;
}

/* Title: blue gradient text (only where supported — otherwise normal color) */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
	.ny-app .ny-title{
		background:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary));
		-webkit-background-clip:text;
		background-clip:text;
		-webkit-text-fill-color:transparent;
		color:transparent;
	}
	.ny-app.ny-dark .ny-title{-webkit-text-fill-color:transparent;color:transparent}
}

/* Theme toggle & skin button: friendlier chips */
.ny-app .ny-theme-toggle{
	font-weight:700!important;
	box-shadow:0 2px 8px rgba(15,23,42,.06)!important;
}
.ny-app .ny-skin-menu button{border-radius:12px!important}
.ny-app .ny-skin-menu button:hover{background:var(--ny-soft)!important}
.ny-app .ny-skin-menu button:active{background:var(--ny-soft)!important}

/* ============================================================
   v3.10 — PREMIUM GLASS (بازطراحی مطابق موکاپ مرجع)
   ظاهر پیش‌فرض (پوسته شیشه‌ای) به سبک موکاپ ارجاعی نزدیک شد:
   کارت‌های شیشه‌ای مات روی پس‌زمینه آبی-بنفش ملایم، حلقه
   گرادیانی اطراف عکس پزشک، چیپ‌های سبز انتخاب ساعت، سایه‌های
   نرم و فاصله‌گذاری جادارتر. در موبایل، دسکتاپ و وب‌اپ یکسان.
   ============================================================ */

/* ---- ambient gradient background (all viewports) ---- */
.ny-app{position:relative}
.ny-app::before{
	content:'';position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;
	background:
		radial-gradient(640px 340px at 92% -6%, rgba(37,99,235,.16), transparent 62%),
		radial-gradient(540px 320px at 2% 108%, rgba(34,197,94,.12), transparent 60%),
		radial-gradient(420px 280px at 55% 40%, rgba(79,70,229,.09), transparent 55%);
}
.ny-app.ny-dark::before{
	background:
		radial-gradient(640px 340px at 92% -6%, rgba(37,99,235,.22), transparent 62%),
		radial-gradient(540px 320px at 2% 108%, rgba(34,197,94,.13), transparent 60%),
		radial-gradient(420px 280px at 55% 40%, rgba(124,108,246,.14), transparent 55%);
}
.ny-app>*{position:relative;z-index:1}

/* ---- frosted glass cards on EVERY viewport (not just desktop) ---- */
@supports ((backdrop-filter:blur(6px)) or (-webkit-backdrop-filter:blur(6px))){
	.ny-skin-glass .ny-card,.ny-skin-glass .ny-doctor-card,.ny-skin-glass .ny-dep-card,
	.ny-skin-glass .ny-service-row,.ny-skin-glass .ny-chain-item,
	.ny-skin-glass .ny-day,.ny-skin-glass .ny-slot{
		background:rgba(255,255,255,.66)!important;
		-webkit-backdrop-filter:blur(16px) saturate(1.5);
		backdrop-filter:blur(16px) saturate(1.5);
		border-color:rgba(255,255,255,.75)!important;
	}
	.ny-skin-glass.ny-dark .ny-card,.ny-skin-glass.ny-dark .ny-doctor-card,
	.ny-skin-glass.ny-dark .ny-dep-card,.ny-skin-glass.ny-dark .ny-service-row,
	.ny-skin-glass.ny-dark .ny-chain-item,.ny-skin-glass.ny-dark .ny-day,
	.ny-skin-glass.ny-dark .ny-slot{
		background:rgba(30,41,59,.58)!important;
		border-color:rgba(255,255,255,.12)!important;
	}
}
@supports not ((backdrop-filter:blur(6px)) or (-webkit-backdrop-filter:blur(6px))){
	/* old Android engines: solid cards, still clean */
	.ny-skin-glass .ny-card,.ny-skin-glass .ny-doctor-card,.ny-skin-glass .ny-dep-card,
	.ny-skin-glass .ny-service-row,.ny-skin-glass .ny-chain-item{
		background:var(--ny-card)!important;
	}
}

/* ---- gradient title area (premium) ---- */
.ny-skin-glass .ny-title{
	background:linear-gradient(120deg,#2563eb,#4f46e5 55%,#7c3aed);
}

/* ---- brand row inside the GLASS skin: same clean layout ---- */
.ny-skin-glass .ny-brand{display:flex;align-items:center;gap:12px;width:100%}
.ny-skin-glass .ny-brand-logo{
	width:46px;height:46px;min-width:46px;max-width:46px;border-radius:14px;
	display:flex;align-items:center;justify-content:center;font-size:23px;
	background:linear-gradient(135deg,#2563eb,#4f46e5);
	box-shadow:0 8px 20px rgba(37,99,235,.32);
	flex-shrink:0;
}
.ny-skin-glass .ny-brand>div{min-width:0;flex:1}
.ny-skin-glass .ny-header .ny-title{
	text-align:right;font-size:21px;margin:0;line-height:1.35;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
	-webkit-text-fill-color:initial;
}
.ny-skin-glass .ny-app-sub{color:var(--ny-muted)!important;font-size:12.5px;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* in the glass skin the header is ROW on desktop — keep brand full-width there */
.ny-skin-glass .ny-header .ny-brand{width:100%}

/* ---- avatar: premium ring + soft glow ---- */
.ny-skin-glass .ny-avatar{
	box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ny-primary),0 10px 24px rgba(37,99,235,.30)!important;
}
.ny-skin-glass.ny-dark .ny-avatar{
	box-shadow:0 0 0 3px #16203a,0 0 0 5px #3b82f6,0 10px 24px rgba(0,0,0,.45)!important;
}
.ny-skin-glass .ny-doctor-star .ny-avatar{box-shadow:0 0 0 3px #fff,0 0 0 5px #d4a72c,0 10px 24px rgba(212,167,44,.35)!important}
.ny-skin-glass.ny-dark .ny-doctor-star .ny-avatar{box-shadow:0 0 0 3px #2a2517,0 0 0 5px #d4a72c,0 10px 24px rgba(0,0,0,.45)!important}

/* ---- cards: premium soft shadows ---- */
.ny-skin-glass .ny-card,.ny-skin-glass .ny-doctor-card,.ny-skin-glass .ny-dep-card{
	box-shadow:0 2px 6px rgba(31,45,80,.05),0 18px 44px rgba(37,99,235,.12)!important;
}

/* ---- selected day = blue gradient chip ---- */
.ny-skin-glass .ny-day.selected{
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
	background-color:var(--ny-primary)!important;
	border-color:transparent!important;
	color:#fff!important;
	box-shadow:0 10px 24px rgba(37,99,235,.38)!important;
}
.ny-skin-glass .ny-day.selected small{color:rgba(255,255,255,.9)!important}
.ny-skin-glass.ny-dark .ny-day.selected{color:#fff!important}

/* ---- selected slot = green gradient (مثل موکاپ) ---- */
.ny-skin-glass .ny-slot.selected{
	background-image:linear-gradient(135deg,#34d399,#16a34a)!important;
	background-color:var(--ny-success)!important;
	border-color:transparent!important;
	color:#fff!important;
	box-shadow:0 10px 22px rgba(34,197,94,.38)!important;
}
.ny-skin-glass.ny-dark .ny-slot.selected{color:#fff!important}

/* ---- soft section card for day/time step ---- */
.ny-skin-glass .ny-card h3{
	display:flex;align-items:center;gap:8px;font-size:15.5px;
}
.ny-skin-glass .ny-card h3::before{
	content:'';width:9px;height:9px;border-radius:50%;
	background:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary));
}

/* ---- mobile: premium gradient bg instead of flat ---- */
@media (max-width:1024px){
	.ny-skin-glass{background-image:linear-gradient(165deg,#eef4ff 0%,#eef1fb 45%,#fdf0f5 100%)!important}
	.ny-skin-glass.ny-dark{background-image:linear-gradient(165deg,#0b1220 0%,#101a2e 50%,#1a1430 100%)!important}
}

/* ---- hover lift on real pointers (already exists; strengthen for glass) ---- */
@media (hover:hover) and (min-width:1025px){
	.ny-skin-glass .ny-doctor-card:hover,.ny-skin-glass .ny-dep-card:hover{
		transform:translateY(-4px);
		box-shadow:0 4px 10px rgba(31,45,80,.06),0 26px 56px rgba(37,99,235,.20)!important;
	}
	.ny-skin-glass .ny-doctor-card,.ny-skin-glass .ny-dep-card{transition:transform .22s ease,box-shadow .22s ease}
}

/* ============================================================
   v3.13 — SKIN: NOBATYAR (نوبت یار) — تمام اجزا مطابق عکس مرجع
   پالت دقیق استخراج‌شده از عکس: پس‌زمینه #EBEFFB، کارت #F8F9FD،
   آبی اصلی #1659FD (انتخاب روز/دکمه‌ها)، سبز #16B75A (انتخاب ساعت)،
   ستاره طلایی #FAC933، حلقه عکس #538DFB، دکمه CTA گرادیان آبی.
   حالت تیره با همان هویت (نقطه‌های ناویم) — هر دو از تنظیمات.
   ============================================================ */
.ny-skin-app{
	--ny-primary:#1659fd;
	--ny-secondary:#4f46e5;
	--ny-success:#16b75a;
	--ny-gold:#fac933;
	--ny-radius:22px;
	--ny-bg:#ebeefb;
	--ny-card:#f8f9fd;
	--ny-text:#101a30;
	--ny-muted:#5f6b86;
	--ny-border:#e3e8f8;
	--ny-soft:#f1f4fd;
	--ny-input:#ffffff;
	background:#ebeefb!important;
	background-image:
		radial-gradient(760px 420px at 88% -12%, rgba(22,89,253,.10), transparent 60%),
		radial-gradient(660px 400px at 2% 114%, rgba(22,183,90,.08), transparent 58%),
		radial-gradient(520px 320px at 55% 45%, rgba(79,70,229,.05), transparent 55%)!important;
}
.ny-skin-app.ny-dark{
	--ny-primary:#5b8cff;
	--ny-secondary:#818cf8;
	--ny-success:#34d399;
	--ny-gold:#fbbf24;
	--ny-bg:#0c1124;
	--ny-card:#161d38;
	--ny-text:#eef1fb;
	--ny-muted:#97a2c2;
	--ny-border:#2a3354;
	--ny-soft:#1b2342;
	--ny-input:#111a34;
	background:#0c1124!important;
	background-image:
		radial-gradient(760px 420px at 88% -12%, rgba(91,140,255,.20), transparent 60%),
		radial-gradient(660px 400px at 2% 114%, rgba(52,211,153,.12), transparent 58%)!important;
}

/* ═══════════ HEADER (روشن، با برند — مثل عکس) ═══════════ */
.ny-skin-app .ny-header{
	display:flex;flex-direction:column;gap:12px;
	background:transparent!important;border:none!important;box-shadow:none!important;
	padding:4px 2px 6px;margin-bottom:10px;
}
.ny-skin-app .ny-brand{display:flex;align-items:center;gap:12px;width:100%}
.ny-skin-app .ny-brand-logo{
	width:46px;height:46px;min-width:46px;max-width:46px;border-radius:14px;
	display:flex;align-items:center;justify-content:center;font-size:23px;
	background:linear-gradient(135deg,#1659fd,#4f46e5);
	box-shadow:0 8px 20px rgba(22,89,253,.35);
	flex-shrink:0;
}
.ny-skin-app.ny-dark .ny-brand-logo{background:linear-gradient(135deg,#2563eb,#6366f1)}
.ny-skin-app .ny-brand>div{min-width:0;flex:1}
.ny-skin-app .ny-header .ny-title{
	background:linear-gradient(120deg,#1659fd,#4f46e5 60%,#7c3aed);
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;color:transparent!important;
	text-align:right;font-size:22px;margin:0;line-height:1.35;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ny-skin-app.ny-dark .ny-header .ny-title{
	background:linear-gradient(120deg,#60a5fa,#a5b4fc 60%,#c4b5fd);
	-webkit-background-clip:text;background-clip:text;
}
.ny-skin-app .ny-app-sub{color:var(--ny-muted)!important;font-size:12.5px;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ny-skin-app .ny-header>div{width:100%;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ny-skin-app .ny-header .ny-btn{
	background:#fff!important;background-image:none!important;
	border:1.5px solid #e3e8f8!important;color:#1659fd!important;
	box-shadow:0 2px 10px rgba(22,89,253,.08)!important;border-radius:999px!important;
}
.ny-skin-app.ny-dark .ny-header .ny-btn{background:#161d38!important;border-color:#2a3354!important;color:#93b4ff!important}
.ny-skin-app .ny-header .ny-theme-toggle{
	background:#fff!important;border-color:#e3e8f8!important;color:#101a30!important;
	box-shadow:0 2px 10px rgba(22,89,253,.08)!important;border-radius:999px!important;
}
.ny-skin-app.ny-dark .ny-header .ny-theme-toggle{background:#161d38!important;border-color:#2a3354!important;color:#eef1fb!important}

/* ═══════════ STEPPER (پیل‌های مثل عکس) ═══════════ */
.ny-skin-app .ny-steps{
	background:rgba(255,255,255,.85)!important;border:1px solid #e3e8f8!important;
	border-radius:999px!important;padding:5px!important;gap:4px!important;
}
.ny-skin-app.ny-dark .ny-steps{background:#161d38!important;border-color:#2a3354!important}
.ny-skin-app .ny-step{
	border-radius:999px!important;padding:8px 13px!important;font-size:11.5px!important;
	color:var(--ny-muted)!important;font-weight:700;
}
.ny-skin-app .ny-step.active{
	background-image:linear-gradient(135deg,#1659fd,#4f46e5)!important;
	background-color:#1659fd!important;color:#fff!important;
	box-shadow:0 6px 18px rgba(22,89,253,.35)!important;
}
.ny-skin-app.ny-dark .ny-step.active{background-image:linear-gradient(135deg,#2563eb,#6366f1)!important}
.ny-skin-app .ny-step.done{color:#1659fd!important}
.ny-skin-app.ny-dark .ny-step.done{color:#93b4ff!important}

/* ═══════════ SECTION TITLES ═══════════ */
.ny-skin-app .ny-step-title{font-size:17px;font-weight:800;margin:2px 2px 14px;text-align:right;color:var(--ny-text)}
.ny-skin-app .ny-step-title small{display:block;font-weight:600;color:var(--ny-muted);font-size:12.5px;margin-top:3px}

/* ═══════════ BUTTONS (آبی گرادیانی مثل CTA عکس) ═══════════ */
.ny-skin-app .ny-btn{
	background-color:#1659fd!important;
	background-image:linear-gradient(135deg,#1659fd,#4f46e5)!important;
	border-radius:999px!important;color:#fff!important;
	box-shadow:0 8px 22px rgba(22,89,253,.35)!important;
}
.ny-skin-app.ny-dark .ny-btn{background-image:linear-gradient(135deg,#2563eb,#6366f1)!important;box-shadow:0 8px 22px rgba(37,99,235,.4)!important}
.ny-skin-app .ny-btn.ny-btn-ghost{
	background:#fff!important;background-image:none!important;
	border:2px solid #1659fd!important;color:#1659fd!important;box-shadow:none!important;
}
.ny-skin-app.ny-dark .ny-btn.ny-btn-ghost{background:transparent!important;border-color:#5b8cff!important;color:#93b4ff!important}
.ny-skin-app .ny-btn.ny-btn-danger{background-image:linear-gradient(135deg,#ef4444,#f43f5e)!important}
.ny-skin-app .ny-btn:active{transform:scale(.97)}

/* ═══════════ CARDS ═══════════ */
.ny-skin-app .ny-card{
	background:#f8f9fd!important;border:1px solid #e3e8f8!important;
	border-radius:22px!important;
	box-shadow:0 10px 30px rgba(22,89,253,.08)!important;
}
.ny-skin-app.ny-dark .ny-card{background:#161d38!important;border-color:#2a3354!important;box-shadow:0 12px 34px rgba(0,0,0,.35)!important}

/* ═══════════ INPUTS (فوکوس آبی) ═══════════ */
.ny-skin-app input,.ny-skin-app select,.ny-skin-app textarea{
	border-radius:14px!important;border:1.5px solid #dbe2f5!important;
	background:#fff!important;color:var(--ny-text)!important;
}
.ny-skin-app.ny-dark input,.ny-skin-app.ny-dark select,.ny-skin-app.ny-dark textarea{
	background:#111a34!important;border-color:#2a3354!important;
}
.ny-skin-app input:focus,.ny-skin-app select:focus,.ny-skin-app textarea:focus{
	border-color:#1659fd!important;box-shadow:0 0 0 3px rgba(22,89,253,.15)!important;
}
.ny-skin-app.ny-dark input:focus,.ny-skin-app.ny-dark select:focus,.ny-skin-app.ny-dark textarea:focus{
	border-color:#5b8cff!important;box-shadow:0 0 0 3px rgba(91,140,255,.2)!important;
}
.ny-skin-app select option{background:#fff!important;color:#101a30!important}
.ny-skin-app.ny-dark select option{background:#161d38!important;color:#eef1fb!important}

/* ═══════════ DOCTOR CARDS (عین عکس) ═══════════ */
.ny-skin-app .ny-doctor-card{
	background:#f8f9fd!important;border:1px solid #e3e8f8!important;
	border-radius:22px!important;padding:22px 14px 18px!important;
	box-shadow:0 10px 30px rgba(22,89,253,.10)!important;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s;
}
.ny-skin-app.ny-dark .ny-doctor-card{background:#161d38!important;border-color:#2a3354!important;box-shadow:0 12px 34px rgba(0,0,0,.4)!important}
.ny-skin-app .ny-doctor-card.selected{
	border-color:#1659fd!important;
	box-shadow:0 0 0 2px rgba(22,89,253,.22),0 18px 40px rgba(22,89,253,.18)!important;
}
.ny-skin-app .ny-doctor-card .ny-avatar{
	border-radius:50%!important;object-fit:cover!important;
	width:88px!important;height:88px!important;
	border:3px solid #fff!important;
	box-shadow:0 0 0 3px #538dfb,0 0 0 7px rgba(83,141,251,.16),0 12px 26px rgba(83,141,251,.30)!important;
	margin:0 auto 12px!important;
}
.ny-skin-app.ny-dark .ny-doctor-card .ny-avatar{box-shadow:0 0 0 3px #161d38,0 0 0 7px rgba(91,140,255,.35),0 12px 26px rgba(0,0,0,.5)!important}
.ny-skin-app .ny-doctor-star .ny-avatar{box-shadow:0 0 0 3px #fff,0 0 0 7px rgba(250,201,51,.4),0 12px 26px rgba(250,201,51,.3)!important}
.ny-skin-app.ny-dark .ny-doctor-star .ny-avatar{box-shadow:0 0 0 3px #161d38,0 0 0 7px rgba(251,191,36,.5),0 12px 26px rgba(0,0,0,.5)!important}
.ny-skin-app .ny-doctor-name{font-size:15.5px!important;font-weight:800;margin:0 0 4px;color:var(--ny-text)}
.ny-skin-app .ny-doctor-meta{font-size:12.5px!important;color:var(--ny-muted)!important;margin-bottom:6px}

/* rating: چیپ با ستاره طلایی (عین عکس) */
.ny-skin-app .ny-rate-line{
	background:#f1f4fd!important;border-radius:999px!important;
	padding:5px 13px!important;margin:8px auto!important;
	width:fit-content;max-width:100%;gap:7px;
}
.ny-skin-app.ny-dark .ny-rate-line{background:#1b2342!important}
.ny-skin-app .ny-stars-static{color:#fac933!important;font-size:13.5px!important;letter-spacing:2px}
.ny-skin-app .ny-rate-line .ny-muted{font-size:11.5px!important}

/* دکمه رزومه: قرصی با حاشیه آبی (عین عکس) */
.ny-skin-app .ny-doctor-resume{
	background:#fff!important;background-image:none!important;
	border:1.5px solid #1659fd!important;color:#1659fd!important;
	border-radius:999px!important;font-size:12.5px!important;
	padding:9px 14px!important;width:100%!important;margin-top:12px!important;
	font-weight:800;
}
.ny-skin-app.ny-dark .ny-doctor-resume{background:transparent!important;border-color:#5b8cff!important;color:#93b4ff!important}

/* ═══════════ DAYS (انتخابی = آبی عین عکس) ═══════════ */
.ny-skin-app .ny-day{
	border-radius:18px!important;border:1.5px solid #dbe2f5!important;
	background:#fff!important;color:var(--ny-text);min-height:76px;
}
.ny-skin-app.ny-dark .ny-day{background:#111a34!important;border-color:#2a3354!important}
.ny-skin-app .ny-day small{color:var(--ny-muted)!important}
.ny-skin-app .ny-day.selected{
	background-image:linear-gradient(135deg,#1659fd,#3b5bff)!important;
	background-color:#1659fd!important;border-color:transparent!important;color:#fff!important;
	box-shadow:0 10px 24px rgba(22,89,253,.35)!important;
}
.ny-skin-app .ny-day.selected small{color:rgba(255,255,255,.92)!important}
.ny-skin-app.ny-dark .ny-day.selected{background-image:linear-gradient(135deg,#2563eb,#3b82f6)!important}

/* ═══════════ SLOTS (انتخابی = سبز عین عکس) ═══════════ */
.ny-skin-app .ny-slot{
	border-radius:14px!important;border:1.5px solid #dbe2f5!important;
	background:#fff!important;color:var(--ny-text);
}
.ny-skin-app.ny-dark .ny-slot{background:#111a34!important;border-color:#2a3354!important}
.ny-skin-app .ny-slot.selected{
	background-image:linear-gradient(135deg,#22c877,#16b75a)!important;
	background-color:#16b75a!important;border-color:transparent!important;color:#fff!important;
	box-shadow:0 10px 22px rgba(22,183,90,.35)!important;
}
.ny-skin-app.ny-dark .ny-slot.selected{background-image:linear-gradient(135deg,#34d399,#10b981)!important}

/* ═══════════ TABS / CHAIN / SERVICES ═══════════ */
.ny-skin-app .ny-tabs{background:#fff!important;border:1px solid #e3e8f8!important;border-radius:999px!important;padding:5px!important}
.ny-skin-app.ny-dark .ny-tabs{background:#161d38!important;border-color:#2a3354!important}
.ny-skin-app .ny-tab{border-radius:999px!important;color:var(--ny-muted)!important}
.ny-skin-app .ny-tab.active{background-image:linear-gradient(135deg,#1659fd,#4f46e5)!important;color:#fff!important;box-shadow:0 6px 16px rgba(22,89,253,.3)!important}
.ny-skin-app .ny-service-row,.ny-skin-app .ny-chain-item{
	background:#fff!important;border:1.5px solid #e3e8f8!important;border-radius:18px!important;
}
.ny-skin-app.ny-dark .ny-service-row,.ny-skin-app.ny-dark .ny-chain-item{background:#161d38!important;border-color:#2a3354!important}
.ny-skin-app .ny-service-row.selected{border-color:#1659fd!important;box-shadow:0 6px 18px rgba(22,89,253,.15)!important}
.ny-skin-app .ny-chain-item.checked{border-color:#16b75a!important;background:rgba(22,183,90,.08)!important}
.ny-skin-app .ny-price{color:#1659fd!important}

/* ═══════════ WALLET ═══════════ */
.ny-skin-app .ny-wallet-box{
	background-image:linear-gradient(135deg,#1659fd,#4f46e5)!important;
	border-radius:22px!important;box-shadow:0 12px 30px rgba(22,89,253,.3)!important;
}
.ny-skin-app.ny-dark .ny-wallet-box{background-image:linear-gradient(135deg,#2563eb,#6366f1)!important}

/* ═══════════ BADGES / ALERTS ═══════════ */
.ny-skin-app .ny-badge-teal{background:rgba(22,89,253,.1)!important;color:#1659fd!important}
.ny-skin-app.ny-dark .ny-badge-teal{background:rgba(91,140,255,.15)!important;color:#93b4ff!important}
.ny-skin-app .ny-badge-green{background:#dcfce7!important;color:#15803d!important}
.ny-skin-app.ny-dark .ny-badge-green{background:#123524!important;color:#4ade80!important}
.ny-skin-app .ny-badge-red{background:#fee2e2!important;color:#b91c1c!important}
.ny-skin-app.ny-dark .ny-badge-red{background:#3b1a1a!important;color:#f87171!important}
.ny-skin-app .ny-badge-amber{background:#fef3c7!important;color:#b45309!important}
.ny-skin-app.ny-dark .ny-badge-amber{background:#3a2c12!important;color:#fbbf24!important}
.ny-skin-app .ny-badge-gold{background:#fdf3d7!important;border:1px solid #e5c55f!important;color:#a87e12!important}
.ny-skin-app.ny-dark .ny-badge-gold{background:#3a2f10!important;color:#f7c948!important}

.ny-skin-app .ny-alert-ok{background:#dcfce7!important;border-color:#a7f3d0!important;color:#15803d!important}
.ny-skin-app.ny-dark .ny-alert-ok{background:#123524!important;color:#4ade80!important}
.ny-skin-app .ny-alert-err{background:#fee2e2!important;border-color:#fecaca!important;color:#b91c1c!important}
.ny-skin-app.ny-dark .ny-alert-err{background:#3b1a1a!important;color:#f87171!important}
.ny-skin-app .ny-notice-box{background:#fef3e2!important;border-color:#f5b455!important;color:#b45309!important}
.ny-skin-app.ny-dark .ny-notice-box{background:#3a2c12!important;color:#fbbf24!important}
.ny-skin-app .ny-notice-soft{background:rgba(22,89,253,.08)!important;border-color:#1659fd!important;color:#1659fd!important}
.ny-skin-app.ny-dark .ny-notice-soft{background:rgba(91,140,255,.12)!important;color:#93b4ff!important}

/* ═══════════ MODAL ═══════════ */
.ny-skin-app.ny-modal{background:#f8f9fd!important;color:var(--ny-text)!important}
.ny-skin-app.ny-modal.ny-dark,.ny-skin-app.ny-dark .ny-modal{background:#0f1530!important;color:#eef1fb!important}
.ny-modal.ny-skin-app .ny-profile-item{background:#fff!important;border-color:#e3e8f8!important;border-radius:14px!important}
.ny-modal.ny-skin-app.ny-dark .ny-profile-item{background:#161d38!important;border-color:#2a3354!important}

/* ═══════════ SUCCESS CARD (تیک سبز) ═══════════ */
.ny-skin-app .ny-success-check{
	background-image:linear-gradient(135deg,#34d399,#16b75a)!important;
	box-shadow:0 10px 26px rgba(22,183,90,.4)!important;
}
.ny-skin-app .ny-success-code{
	border-color:#16b75a!important;color:#15803d!important;background:#f0fdf4!important;
	border-radius:16px!important;
}
.ny-skin-app.ny-dark .ny-success-code{background:rgba(22,183,90,.12)!important;color:#4ade80!important}

/* ═══════════ TABLES ═══════════ */
.ny-skin-app .ny-table tbody tr{background:#fff!important;border-color:#e3e8f8!important;border-radius:16px!important}
.ny-skin-app.ny-dark .ny-table tbody tr{background:#161d38!important;border-color:#2a3354!important}
.ny-skin-app .ny-table-wrap{background:transparent!important}

/* ═══════════ REVIEWS / STARS ═══════════ */
.ny-skin-app .ny-star-picker span.on{color:#fac933!important}
.ny-skin-app .ny-review-item{background:#fff!important;border-color:#e3e8f8!important}
.ny-skin-app.ny-dark .ny-review-item{background:#161d38!important;border-color:#2a3354!important}

/* ═══════════ SKIN MENU / THEME TOGGLE ═══════════ */
.ny-skin-app .ny-skin-menu{background:#fff!important;border-color:#e3e8f8!important;border-radius:16px!important}
.ny-skin-app.ny-dark .ny-skin-menu{background:#161d38!important;border-color:#2a3354!important}
.ny-skin-app .ny-skin-menu button{color:var(--ny-text)!important;border-radius:12px!important}
.ny-skin-app .ny-skin-menu button:hover{background:#f1f4fd!important}
.ny-skin-app.ny-dark .ny-skin-menu button:hover{background:#1b2342!important}

/* ═══════════ TRUST FOOTER (عین عکس) ═══════════ */
.ny-trust-footer{
	display:flex;align-items:center;justify-content:center;gap:7px;
	margin-top:18px;padding:12px 14px;border-radius:14px;
	background:rgba(22,89,253,.06);
	border:1px dashed rgba(22,89,253,.28);
	color:var(--ny-muted);font-size:12.5px;font-weight:700;text-align:center;
}
.ny-skin-app.ny-dark .ny-trust-footer{background:rgba(91,140,255,.1);border-color:rgba(91,140,255,.3);color:#97a2c2}

/* ═══════════ HOVER (دسکتاپ) ═══════════ */
@media (hover:hover) and (min-width:1025px){
	.ny-skin-app .ny-doctor-card:hover{
		transform:translateY(-4px);
		box-shadow:0 14px 36px rgba(22,89,253,.16)!important;
		border-color:#bcd0ff!important;
	}
}


/* ============================================================
   v3.14 — PEYDA TYPOGRAPHY (وزن‌بندی کامل فونت پیدا)
   با ۹ وزنِ فونت پیدا یک سلسله‌مراتب تایپوگرافی زیبا می‌سازیم:
   تیترها Black/ExtraBold، دکمه‌ها Bold، لیبل‌ها SemiBold،
   متن بدنه Medium/Regular و متن‌های کم‌اهمیت Light.
   ============================================================ */
.ny-app,.ny-modal{
	/* base body: Medium برای خوانایی بهتر فارسی */
	font-weight:500;
	letter-spacing:-.1px;
}
/* تیترها: Black / ExtraBold */
.ny-app .ny-title{font-weight:900!important;letter-spacing:-.5px}
.ny-app .ny-step-title{font-weight:800!important;letter-spacing:-.3px}
.ny-app h3,.ny-modal h3{font-weight:800!important}
.ny-app h2,.ny-app h4{font-weight:800!important}

/* نام پزشک / کارت‌ها: Bold */
.ny-app .ny-doctor-name{font-weight:800!important}
.ny-app .ny-dep-name{font-weight:800!important}

/* دکمه‌ها: Bold */
.ny-app .ny-btn{font-weight:800!important;letter-spacing:-.2px}

/* لیبل‌ها: SemiBold */
.ny-app .ny-field label,.ny-modal .ny-field label{font-weight:700!important}

/* استپر و تب‌ها: SemiBold */
.ny-app .ny-step{font-weight:700!important}
.ny-app .ny-tab{font-weight:700!important}

/* قیمت‌ها و اعداد: ExtraBold */
.ny-app .ny-price,.ny-app .ny-balance{font-weight:900!important}
.ny-app .ny-success-code{font-weight:900!important}

/* متن کم‌اهمیت: Light (ظریف و تمیز) */
.ny-app .ny-muted,.ny-app .ny-doctor-meta,.ny-app .ny-day small{
	font-weight:400!important;
}

/* برچسب بج‌ها: SemiBold */
.ny-app .ny-badge{font-weight:700!important}

/* چیپ روز/ساعت: Bold */
.ny-app .ny-day{font-weight:700!important}
.ny-app .ny-slot{font-weight:800!important}

/* ورودی‌ها: Regular برای ورود راحت */
.ny-app input,.ny-app select,.ny-app textarea{font-weight:400!important}

/* دکمه رزومه: SemiBold */
.ny-app .ny-doctor-resume{font-weight:700!important}

/* ============================================================
   v3.14.2 — TITLE ALWAYS VISIBLE (fix: transparent-fill trick)
   The gradient-text (background-clip:text + transparent fill)
   made «نوبت یار» invisible on browsers that clip it — only the
   blue logo box remained. Now the brand title uses a SOLID color
   in every skin, so it can never disappear.
   ============================================================ */
.ny-skin-app .ny-header .ny-title,
.ny-skin-glass .ny-header .ny-title,
.ny-skin-minimal .ny-header .ny-title,
.ny-skin-modern .ny-header .ny-title,
.ny-skin-arva .ny-header .ny-title{
	background:none!important;
	-webkit-background-clip:initial!important;
	background-clip:initial!important;
	-webkit-text-fill-color:#1659fd!important;
	color:#1659fd!important;
}
.ny-skin-app.ny-dark .ny-header .ny-title,
.ny-skin-glass.ny-dark .ny-header .ny-title{
	-webkit-text-fill-color:#60a5fa!important;
	color:#60a5fa!important;
}
.ny-skin-arva .ny-header .ny-title{
	-webkit-text-fill-color:#a78bfa!important;
	color:#a78bfa!important;
}
.ny-skin-arva.ny-dark .ny-header .ny-title{
	-webkit-text-fill-color:#c4b5fd!important;
	color:#c4b5fd!important;
}

/* ============================================================
   v3.15 — DESKTOP MODAL FIX (پاپ‌آپ حساب کاربری)
   مشکلات رفع‌شده در دسکتاپ:
   1) متن‌ها وسط کلمه نمی‌شکنند (overflow-wrap ملایم + nowrap
      برای تیتر/لیبل‌ها) — دیگر «نصفه» دیده نمی‌شوند و به خط
      دوم نمی‌پرند.
   2) باکس مودال بزرگ‌تر و خوانا شد (عرض ۷۸۰px + پدینگ راحت).
   3) پدینگ مودال دیگر توسط .ny-app دسکتاپ بازنویسی نمی‌شود.
   ============================================================ */
@media (min-width: 601px){
	.ny-modal.ny-app{
		max-width:780px;
		padding:52px 30px 30px;
		line-height:1.9;
	}
	/* tیتر و لیبل‌های مودال: بدون شکستن بی‌مورد */
	.ny-modal .ny-tab,.ny-modal .ny-acc-tab,.ny-modal .ny-auth-tab{
		white-space:nowrap!important;
		flex:0 1 auto;
		min-width:max-content;
	}
	.ny-modal .ny-tabs{flex-wrap:wrap}
	.ny-modal .ny-field label,.ny-modal h3{white-space:normal}
	/* پروفایل: دو ستون راحت و جادار */
	.ny-modal .ny-profile-grid{
		grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
		gap:12px;
	}
	.ny-modal .ny-profile-item{padding:14px 16px;border-radius:14px}
	.ny-modal .ny-profile-item small{font-size:12px}
	.ny-modal .ny-profile-item b{font-size:14px;line-height:1.7;display:block;white-space:normal;word-break:break-word}
	/* ورودی‌های مودال: ارتفاع و فونت خوانا */
	.ny-modal input,.ny-modal select,.ny-modal textarea{font-size:15px;min-height:46px}
	/* جدول نوبت‌ها در مودال دسکتاپ: اسکرول افقی تمیز */
	.ny-modal .ny-table-wrap{max-width:100%}
}

/* ============================================================
   v3.15.1 — MODAL BOOKINGS TABLE: single-line cells on desktop
   ستون‌های جدول «رزروهای من» در دسکتاپ دیگر دوخطی نمی‌شوند:
   سلول‌ها nowrap و بدون شکستن وسط کلمه، فقط ستون عملیات
   (امتیاز/پرداخت/رسید/لغو) می‌تواند چند خط باشد.
   ============================================================ */
@media (min-width: 601px){
	.ny-modal .ny-table{min-width:680px;table-layout:auto}
	.ny-modal .ny-table th,
	.ny-modal .ny-table td{
		white-space:nowrap!important;
		overflow-wrap:normal!important;
		word-break:normal!important;
	}
	.ny-modal .ny-table td[data-label=""]{
		white-space:normal!important;
		min-width:200px;
	}
	.ny-modal .ny-table .ny-btn{white-space:nowrap!important}
	.ny-modal .ny-table-wrap{overflow-x:auto}
}

/* ============================================================
   v3.16 — WIDER ACCOUNT MODAL + FIT-ALL-COLUMNS TABLE (دسکتاپ)
   پاپ‌آپ حساب کاربری عریض‌تر شد (تا ~1040px) و جدول «رزروهای
   من» با چیدمان ثابت (table-layout:fixed) و عرض ستون‌های
   مشخص چیده می‌شود — همه ستون‌ها (کد، پزشک، تاریخ، ساعت،
   مبلغ، وضعیت، نظرسنجی/رسید) بدون اسکرول افقی دیده می‌شوند.
   ============================================================ */
@media (min-width: 601px){
	.ny-modal.ny-app{
		max-width:min(1040px, 96vw);
		padding:52px 26px 30px;
	}
	/* جدول نوبت‌ها: همیشه داخل مودال جا می‌شود — بدون اسکرول افقی */
	.ny-modal .ny-table-wrap{
		overflow-x:hidden!important;
		max-width:100%!important;
	}
	.ny-modal .ny-table{
		min-width:0!important;
		width:100%!important;
		table-layout:fixed!important;
	}
	/* عرض ستون‌ها (درصدی تا همیشه مجموع = ۱۰۰٪) */
	.ny-modal .ny-table th:nth-child(1),
	.ny-modal .ny-table td:nth-child(1){width:9%}
	.ny-modal .ny-table th:nth-child(2),
	.ny-modal .ny-table td:nth-child(2){width:19%}
	.ny-modal .ny-table th:nth-child(3),
	.ny-modal .ny-table td:nth-child(3){width:12%}
	.ny-modal .ny-table th:nth-child(4),
	.ny-modal .ny-table td:nth-child(4){width:8%}
	.ny-modal .ny-table th:nth-child(5),
	.ny-modal .ny-table td:nth-child(5){width:13%}
	.ny-modal .ny-table th:nth-child(6),
	.ny-modal .ny-table td:nth-child(6){width:11%}
	.ny-modal .ny-table th:nth-child(7),
	.ny-modal .ny-table td:nth-child(7){width:28%}
	/* نام پزشک یک خط؛ نوع ویزیت می‌تواند در همان ستون بپیچد */
	.ny-modal .ny-table td:nth-child(2){white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
	.ny-modal .ny-table td:nth-child(2) small{white-space:normal!important;display:block}
	/* ستون عملیات (نظرسنجی/رسید): دکمه‌ها داخل سلول می‌پیچند */
	.ny-modal .ny-table td:nth-child(7){white-space:normal!important}
	.ny-modal .ny-table td:nth-child(7) .ny-btn{
		margin:2px 1px;
		white-space:nowrap!important;
		padding:5px 10px!important;
		font-size:11.5px!important;
	}
	/* مبلغ: تخفیف زیر مبلغ داخل همان ستون */
	.ny-modal .ny-table td:nth-child(5) .ny-muted{white-space:normal!important}
	/* تب‌های مودال: همیشه در یک ردیف */
	.ny-modal .ny-tabs{flex-wrap:nowrap!important;overflow-x:auto}
}

/* حذف حداقل‌عرض قبلی ستون عملیات — چیدمان ثابت تعیین‌کننده است */
@media (min-width: 601px){
	.ny-modal .ny-table td[data-label=""]{min-width:0!important}
}

/* ============================================================
   v3.16.1 — NEXT-BOOKING CARD: text always readable
   کارت «نوبت بعدی» در پنل کاربری روی گرادیان آبی: همه متن‌ها
   (اسم پزشک، تاریخ، ساعت) با رنگ سفید ثابت — استایل قالب یا
   قاعده‌های !important دیگر نمی‌توانند آن‌ها را سیاه کنند.
   ============================================================ */
.ny-app .ny-stat-next,
.ny-app.ny-dark .ny-stat-next{
	background-image:linear-gradient(135deg,var(--ny-primary),var(--ny-secondary))!important;
	border:none!important;
}
.ny-app .ny-stat-next *,
.ny-app.ny-dark .ny-stat-next *{
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}
.ny-app .ny-stat-next small,
.ny-app.ny-dark .ny-stat-next small{
	color:rgba(255,255,255,.88)!important;
	-webkit-text-fill-color:rgba(255,255,255,.88)!important;
}

/* ============================================================
   v3.20 — NEW MODULES UI (پرسشنامه، پکیج، اعلان، امتیاز)
   ============================================================ */
/* notifications */
.ny-notif-badge{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:18px;height:18px;padding:0 5px;border-radius:999px;
	background:#ef4444;color:#fff!important;font-size:10.5px;font-weight:800;
	margin-inline-start:5px;
}
.ny-notif-item{
	background:var(--ny-card);border:1px solid var(--ny-border);border-radius:12px;
	padding:10px 14px;margin-bottom:8px;cursor:pointer;
}
.ny-notif-unread{border-right:4px solid var(--ny-primary)}
/* packages */
.ny-package-card{
	background:var(--ny-card);border:1.5px solid var(--ny-border);border-radius:16px;
	padding:14px;text-align:center;
}
.ny-package-title{font-weight:800;font-size:14px;margin-bottom:4px}
.ny-package-price{font-size:16px;margin-top:6px;color:var(--ny-primary)}
/* questionnaire */
#ny-questions-box{background:var(--ny-soft);border:1.5px dashed var(--ny-border);border-radius:16px;padding:12px 14px}

/* ============================================================
   v3.23 — SMART VISITOR NOTICES (فیلترشکن + نصب وب‌اپ)
   بنرهای چسبان پایین صفحه، مستقل از قالب سایت، با دکمه بستن.
   ============================================================ */
.ny-notice-banner{
	position:fixed;bottom:14px;right:14px;left:14px;z-index:2147483500;
	max-width:520px;margin-inline:auto;
	display:flex;align-items:center;gap:12px;
	background:#fff;color:#101a30;border:1.5px solid #dbe2f5;
	border-radius:16px;padding:12px 14px;
	box-shadow:0 14px 44px rgba(15,23,42,.22);
	font-family:'Peyda','Vazirmatn',Tahoma,sans-serif;
	animation:ny-nb-in .45s cubic-bezier(.22,1,.36,1);
}
@keyframes ny-nb-in{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.ny-notice-banner .ny-nb-icon{font-size:26px;flex-shrink:0}
.ny-notice-banner .ny-nb-text{flex:1;min-width:0}
.ny-notice-banner b{font-size:13.5px;display:block;line-height:1.7}
.ny-notice-banner small{color:#5b6679;font-size:12px;line-height:1.7}
.ny-notice-banner small a{color:#1659fd;font-weight:700;text-decoration:underline;cursor:pointer}
.ny-notice-banner .ny-nb-close{
	background:#f1f4fd;border:none;border-radius:50%;width:30px;height:30px;
	cursor:pointer;color:#5b6679;font-size:14px;flex-shrink:0;font-family:inherit;
}
.ny-notice-banner .ny-nb-close:hover{background:#e2e8f7}
.ny-notice-banner .ny-nb-install{
	background:linear-gradient(135deg,#1659fd,#4f46e5);border:none;color:#fff;
	border-radius:999px;padding:9px 16px;font-weight:800;font-size:12.5px;cursor:pointer;
	font-family:inherit;white-space:nowrap;flex-shrink:0;
}
.ny-vpn-banner{border-color:#fbbf24}
.ny-vpn-banner .ny-nb-icon{font-size:24px}
/* آموزش نصب */
.ny-nb-guide{
	position:fixed;bottom:86px;right:14px;left:14px;z-index:2147483501;
	max-width:520px;margin-inline:auto;
	background:#fff;border:1.5px solid #dbe2f5;border-radius:16px;
	padding:16px 18px;box-shadow:0 18px 54px rgba(15,23,42,.28);
	font-family:'Peyda','Vazirmatn',Tahoma,sans-serif;
}
.ny-nb-guide > b{font-size:14px;display:block;margin-bottom:10px}
.ny-nb-guide-steps{display:flex;flex-direction:column;gap:8px;font-size:12.5px;line-height:1.8;color:#334155}
.ny-nb-guide-steps div{background:#f6f8fc;border-radius:10px;padding:8px 12px}
.ny-nb-guide-steps span{font-size:15px}
.ny-nb-close-guide{
	position:absolute;top:10px;left:10px;background:#f1f4fd;border:none;border-radius:50%;
	width:28px;height:28px;cursor:pointer;font-size:13px;color:#5b6679;font-family:inherit;
}
@media (max-width:600px){
	.ny-notice-banner{flex-wrap:wrap}
	.ny-notice-banner .ny-nb-install{width:100%}
	.ny-nb-guide{bottom:150px}
}

/* ============================================================
   v3.24 — ADMIN NOTICE CENTER (مرکز مدیریت اعلان‌ها)
   نوتیف‌های تعریف‌شده توسط مدیر — روی سایت و داخل وب‌اپ.
   ============================================================ */
/* site banners variants */
.ny-notice-banner.ny-nb-info{border-color:#1659fd}
.ny-notice-banner.ny-nb-success{border-color:#22c55e}
.ny-notice-banner.ny-nb-warning{border-color:#f59e0b}
.ny-notice-banner.ny-nb-update{border-color:#8b5cf6}
/* app-shell notices */
.ny-app-notice{
	display:none;align-items:center;gap:10px;
	background:#fff;border:1.5px solid #dbe2f5;border-radius:14px;
	padding:10px 14px;box-shadow:0 8px 24px rgba(15,23,42,.12);
	margin-bottom:10px;
}
.ny-app-notice .ic{font-size:22px;flex-shrink:0}
.ny-app-notice .tx{flex:1;min-width:0}
.ny-app-notice b{font-size:13px;display:block}
.ny-app-notice small{color:#5b6679;font-size:12px;line-height:1.7;display:block}
.ny-app-notice .x{
	background:#f1f4fd;border:none;border-radius:50%;width:28px;height:28px;
	cursor:pointer;color:#5b6679;font-size:13px;flex-shrink:0;font-family:inherit;
}
.ny-app-notice.ny-app-nb-info{border-color:#1659fd}
.ny-app-notice.ny-app-nb-success{border-color:#22c55e}
.ny-app-notice.ny-app-nb-warning{border-color:#f59e0b}
.ny-app-notice.ny-app-nb-update{
	border-color:#8b5cf6;background:linear-gradient(135deg,#f5f3ff,#fff);
}

/* ============================================================
   v3.25 — BUSINESS INFO BAR (زیر هدر رزرو) + DEP ICON
   ============================================================ */
.ny-biz-info{
	display:flex;align-items:center;gap:8px;flex-wrap:wrap;
	background:var(--ny-card);border:1px solid var(--ny-border);border-radius:14px;
	padding:9px 14px;font-size:12.5px;color:var(--ny-text);line-height:1.8;
	width:100%;
}
.ny-biz-info b{font-size:13px}
.ny-biz-sep{opacity:.35}
.ny-app .ny-dep-icon{overflow:hidden}

/* ============================================================
   v3.26 — PROFILE EDIT (ویرایش مشخصات کاربر)
   ============================================================ */
.ny-profile-edit{
	background:var(--ny-soft);border:1.5px dashed var(--ny-border);border-radius:16px;
	padding:14px;margin-top:14px;
}
.ny-profile-edit .ny-field label{font-size:12.5px}
.ny-profile-edit input,.ny-profile-edit select{font-size:14px}

/* ============================================================
   v3.27 — WALLET CHARGE CONTROLS: همیشه خوانا (روشن و تیره)
   رفع: در حالت دارک، ورودی «مبلغ» و دکمه «شارژ» داخل کیف پول
   مشکی/ناروشن می‌شدند. این بلوک با بالاترین ویژگی (!important)
   در انتهای فایل قرار دارد تا روی همه اسکین‌ها و حالت‌ها بماند.
   ============================================================ */
.ny-wallet-box .ny-charge-row{
	display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;
}

/* دکمه شارژ — همیشه سفید با متن تیره، حتی در دارک مود */
.ny-wallet-box .ny-charge-wallet,
.ny-app .ny-wallet-box .ny-charge-wallet,
.ny-app.ny-dark .ny-wallet-box .ny-charge-wallet,
.ny-modal.ny-dark .ny-wallet-box .ny-charge-wallet,
.ny-skin-app .ny-wallet-box .ny-charge-wallet,
.ny-skin-app.ny-dark .ny-wallet-box .ny-charge-wallet,
.ny-skin-minimal .ny-wallet-box .ny-charge-wallet,
.ny-skin-minimal.ny-dark .ny-wallet-box .ny-charge-wallet,
.ny-skin-arva .ny-wallet-box .ny-charge-wallet,
.ny-skin-arva.ny-dark .ny-wallet-box .ny-charge-wallet{
	background:#ffffff!important;
	background-color:#ffffff!important;
	background-image:none!important;
	border:1px solid rgba(15,23,42,.14)!important;
	border-radius:999px!important;
	box-shadow:0 4px 14px rgba(15,23,42,.18)!important;
	color:#0f172a!important;
	-webkit-text-fill-color:#0f172a!important;
	width:auto;
}
.ny-wallet-box .ny-charge-wallet:hover,
.ny-app.ny-dark .ny-wallet-box .ny-charge-wallet:hover,
.ny-skin-app.ny-dark .ny-wallet-box .ny-charge-wallet:hover{
	background:#f1f5ff!important;
	background-color:#f1f5ff!important;
	color:#0f172a!important;
	-webkit-text-fill-color:#0f172a!important;
}

/* ورودی «مبلغ» — همیشه سفید با متن تیره و placeholder خوانا */
.ny-wallet-box .ny-charge-input,
.ny-app .ny-wallet-box .ny-charge-input,
.ny-app.ny-dark .ny-wallet-box .ny-charge-input,
.ny-modal.ny-dark .ny-wallet-box .ny-charge-input,
.ny-skin-app.ny-dark .ny-wallet-box .ny-charge-input{
	background:#ffffff!important;
	background-color:#ffffff!important;
	background-image:none!important;
	border:1px solid rgba(15,23,42,.16)!important;
	border-radius:12px!important;
	box-shadow:none!important;
	color:#0f172a!important;
	-webkit-text-fill-color:#0f172a!important;
	caret-color:#1659fd!important;
}
.ny-wallet-box .ny-charge-input::placeholder{
	color:#64748b!important;
	-webkit-text-fill-color:#64748b!important;
	opacity:1;
}
.ny-app.ny-dark .ny-wallet-box .ny-charge-input:focus,
.ny-skin-app.ny-dark .ny-wallet-box .ny-charge-input:focus{
	border-color:#1659fd!important;
	box-shadow:0 0 0 3px rgba(22,89,253,.18)!important;
}

/* موجودی کیف پول — همیشه سفید روی گرادیان */
.ny-wallet-box .ny-balance,
.ny-app.ny-dark .ny-wallet-box .ny-balance,
.ny-modal.ny-dark .ny-wallet-box .ny-balance{
	color:#ffffff!important;
	-webkit-text-fill-color:#ffffff!important;
	text-shadow:0 1px 10px rgba(0,0,0,.25)!important;
}

/* مبالغ تراکنش‌ها — سبز/قرمز خوانا در هر دو حالت */
.ny-tx-credit{color:#15803d!important;font-weight:700}
.ny-tx-debit{color:#b91c1c!important;font-weight:700}
.ny-app.ny-dark .ny-tx-credit,.ny-modal.ny-dark .ny-tx-credit{color:#4ade80!important}
.ny-app.ny-dark .ny-tx-debit,.ny-modal.ny-dark .ny-tx-debit{color:#f87171!important}

/* پشتیبان: گرادیان کارت کیف پول در دارک مود (تضمین آبی، نه سیاه/سبز) */
.ny-app.ny-dark .ny-wallet-box{
	background-color:#2563eb!important;
	background-image:linear-gradient(135deg,#2563eb,#6366f1)!important;
}
.ny-skin-app.ny-dark .ny-wallet-box{
	background-color:#2563eb!important;
	background-image:linear-gradient(135deg,#2563eb,#6366f1)!important;
}
.ny-skin-minimal.ny-dark .ny-wallet-box{
	background:#2563eb!important;
	background-image:none!important;
}
.ny-skin-arva.ny-dark .ny-wallet-box{
	background-color:#7c6cf6!important;
	background-image:linear-gradient(135deg,#7c6cf6,#5b4bd5)!important;
}

/* ============================================================
   v3.29 — QUESTIONNAIRE REQUIRED + MESSENGER CHAT FIELDS
   ============================================================ */
/* سوال اجباری پرسشنامه — خطای قرمز خوانا */
.ny-q-req label::after{content:' *';color:#ef4444;font-weight:800}
.ny-field-error .ny-q-input,
.ny-field-error .ny-q-input:focus{
	border-color:#ef4444!important;
	box-shadow:0 0 0 3px rgba(239,68,68,.16)!important;
}
.ny-field-error label{color:#ef4444!important}

/* فیلدهای آیدی چت پیام‌رسان‌ها در ویرایش مشخصات */
.ny-msg-chats{
	display:flex;flex-direction:column;gap:8px;
}
.ny-msg-chats .ny-field{margin:0}
.ny-msg-chats .ny-field input{direction:ltr;text-align:left}
.ny-msg-open{color:#1659fd!important;text-decoration:underline;font-size:12px}
