/* NovaCare 1.7.0 — Client & Doctor spaces + account header control */

:root {
	--nc-portal-ink: #173b33;
	--nc-portal-ink-soft: #52645e;
	--nc-portal-gold: #c79046;
	--nc-portal-gold-soft: #e7c88f;
	--nc-portal-cream: #fbf7ef;
	--nc-portal-line: rgba(28, 55, 47, .13);
	--nc-portal-shadow: 0 20px 55px rgba(19, 47, 40, .08);
}

/* Header account button --------------------------------------------------- */
.site-header__account {
	position: relative;
	flex: 0 0 auto;
}

.site-header__account > summary {
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.site-header__account > summary::-webkit-details-marker {
	display: none;
}

.site-header__account-summary {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 2.6rem;
	padding: .48rem .76rem;
	border: 1px solid rgba(29, 49, 42, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .62);
	color: #1c302a;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
	backdrop-filter: blur(8px);
	transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.site-header__account-summary:hover,
.site-header__account-summary:focus-visible,
.site-header__account[open] .site-header__account-summary {
	background: rgba(255,255,255,.94);
	border-color: rgba(174,129,60,.46);
	box-shadow: 0 8px 22px rgba(18,47,40,.09);
	transform: translateY(-1px);
	outline: none;
}

.site-header__account-icon {
	display: inline-flex;
	width: 1.18rem;
	height: 1.18rem;
	flex: 0 0 auto;
}

.site-header__account-icon svg { width: 100%; height: 100%; }

.site-header__account-copy {
	display: grid;
	gap: 1px;
	text-align: start;
	line-height: 1.05;
}

.site-header__account-copy strong {
	font-size: 11.4px;
	font-weight: 700;
}

.site-header__account-copy small {
	font-size: 8.5px;
	font-weight: 500;
	opacity: .62;
	white-space: nowrap;
}

.site-header__account-chevron {
	display: inline-flex;
	width: .86rem;
	height: .86rem;
	transition: transform .2s ease;
}

.site-header__account-chevron svg { width: 100%; height: 100%; }
.site-header__account[open] .site-header__account-chevron { transform: rotate(180deg); }

.site-header__account-menu {
	position: absolute;
	z-index: 200;
	top: calc(100% + 10px);
	inset-inline-end: 0;
	width: 248px;
	padding: 8px;
	border: 1px solid rgba(28,55,47,.13);
	border-radius: 18px;
	background: rgba(255,255,255,.98);
	box-shadow: 0 20px 50px rgba(17,42,36,.16);
	backdrop-filter: blur(18px);
}

.site-header__account-menu::before {
	content: "";
	position: absolute;
	top: -6px;
	inset-inline-end: 28px;
	width: 12px;
	height: 12px;
	background: #fff;
	border-inline-start: 1px solid rgba(28,55,47,.1);
	border-top: 1px solid rgba(28,55,47,.1);
	transform: rotate(45deg);
}

.site-header__account-link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 13px;
	border-radius: 12px;
	color: #1d332c;
	text-decoration: none;
	font-size: 12px;
	font-weight: 650;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}

.site-header__account-link + .site-header__account-link { margin-top: 3px; }
.site-header__account-link:hover,
.site-header__account-link:focus-visible {
	background: #f8f3e9;
	color: #8d632a;
	transform: translateX(2px);
	outline: none;
}

.site-header__account-link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 10px;
	background: #f3eee4;
	color: #29443b;
}
.site-header__account-link-icon svg { width: 16px; height: 16px; }
.site-header__account-link--logout { border-top: 1px solid #eee8dc; margin-top: 6px !important; color: #8b3f36; }

.site-header--inner .site-header__account-summary {
	min-height: 2.45rem;
	padding: .44rem .7rem;
	background: rgba(255,255,255,.75);
}

@media (min-width: 992px) and (max-width: 1380px) {
	.site-header__account-summary { width: 2.45rem; min-width: 2.45rem; padding: .55rem; justify-content: center; }
	.site-header__account-copy,
	.site-header__account-chevron { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
}

@media (max-width: 991px) {
	.site-header__actions--mobile .site-header__account { width: 100%; }
	.site-header__actions--mobile .site-header__account-summary {
		width: 100%;
		min-height: 3rem;
		padding: .72rem 1rem;
		justify-content: flex-start;
		border-radius: 999px;
	}
	.site-header__actions--mobile .site-header__account-copy strong { font-size: 13px; }
	.site-header__actions--mobile .site-header__account-copy small { font-size: 10px; }
	.site-header__actions--mobile .site-header__account-chevron { margin-inline-start: auto; }
	.site-header__actions--mobile .site-header__account-menu {
		position: static;
		width: 100%;
		margin-top: 8px;
		box-shadow: none;
		border-radius: 16px;
		background: rgba(255,255,255,.72);
	}
	.site-header__actions--mobile .site-header__account-menu::before { display: none; }
}

/* Portal pages ----------------------------------------------------------- */
.nc-portal {
	background:
		radial-gradient(circle at 12% 4%, rgba(213,175,103,.13), transparent 24%),
		linear-gradient(180deg, #fdfbf6 0%, #fff 32%, #f8f7f3 100%);
	color: var(--nc-portal-ink);
	min-height: 70vh;
}

.nc-portal-hero {
	position: relative;
	padding: 66px 0 42px;
	overflow: hidden;
	border-bottom: 1px solid rgba(25,53,45,.08);
}

.nc-portal-hero::after {
	content: "";
	position: absolute;
	inset: auto -80px -150px auto;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201,145,70,.16), transparent 65%);
	pointer-events: none;
}

.nc-portal-hero--doctor {
	background: linear-gradient(135deg, rgba(18,59,50,.98), rgba(29,73,62,.92));
	color: #fff;
	border-bottom: 0;
}
.nc-portal-hero--doctor .nc-portal-eyebrow { color: #f1cc8f; }
.nc-portal-hero--doctor p { color: rgba(255,255,255,.76); }

.nc-portal-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.nc-portal-hero h1 {
	margin: 10px 0 12px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2.2rem, 4vw, 4rem);
	line-height: 1.03;
	letter-spacing: -.02em;
}

.nc-portal-hero p {
	max-width: 680px;
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--nc-portal-ink-soft);
}

.nc-portal-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9a6b2b;
}

.nc-portal-eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 5px rgba(199,144,70,.11);
}

.nc-portal-hero__mark {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 104px;
	height: 104px;
	border: 1px solid rgba(199,144,70,.24);
	border-radius: 28px;
	background: rgba(255,255,255,.72);
	box-shadow: var(--nc-portal-shadow);
	color: #b47f3b;
	transform: rotate(3deg);
}
.nc-portal-hero--doctor .nc-portal-hero__mark { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); color: #e7c88f; }
.nc-portal-hero__mark svg { width: 56px; height: 56px; }

.nc-portal-wrap { padding: 34px 0 72px; }

.nc-portal-notice {
	margin: 0 0 20px;
	padding: 13px 16px;
	border-radius: 14px;
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.55;
}
.nc-portal-notice--success { background: #e9f7ef; border: 1px solid #bfe5cd; color: #1e6a3a; }
.nc-portal-notice--warning { background: #fff8e7; border: 1px solid #ead39a; color: #72510d; }
.nc-portal-notice--error { background: #fff1ef; border: 1px solid #efd0cb; color: #8c3d35; }

/* Auth */
.nc-auth-grid {
	display: grid;
	grid-template-columns: .88fr 1.12fr;
	gap: 24px;
	max-width: 1120px;
	margin: 0 auto;
	align-items: start;
}
.nc-auth-grid--doctor { grid-template-columns: minmax(0, 560px); justify-content: center; }

.nc-auth-card,
.nc-portal-card,
.nc-doctor-appointment {
	background: rgba(255,255,255,.94);
	border: 1px solid var(--nc-portal-line);
	border-radius: 24px;
	box-shadow: var(--nc-portal-shadow);
}

.nc-auth-card { padding: 30px; }
.nc-auth-card--signup { background: linear-gradient(155deg, #fff 0%, #fffaf0 100%); }
.nc-auth-card--doctor-login { border-top: 3px solid #c8944d; }

.nc-auth-card__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #f4eee3;
	color: #876029;
	margin-bottom: 20px;
}
.nc-auth-card__icon svg { width: 24px; height: 24px; }
.nc-auth-card h2 { margin: 0 0 8px; font-family: "Playfair Display", Georgia, serif; font-size: 1.8rem; }
.nc-auth-card > p { margin: 0 0 24px; color: var(--nc-portal-ink-soft); line-height: 1.65; }

.nc-auth-form,
.nc-profile-form,
.nc-doctor-update-form { display: grid; gap: 16px; }
.nc-auth-form label,
.nc-profile-form label,
.nc-doctor-update-form label { display: grid; gap: 7px; }
.nc-auth-form label > span,
.nc-profile-form label > span,
.nc-doctor-update-form label > span { font-size: .76rem; font-weight: 750; color: #314b43; }

.nc-auth-form input,
.nc-profile-form input,
.nc-doctor-update-form input,
.nc-doctor-update-form select,
.nc-doctor-update-form textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid rgba(29,57,49,.18);
	border-radius: 12px;
	background: #fff;
	color: #1c322b;
	font: inherit;
	box-sizing: border-box;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.nc-doctor-update-form textarea { min-height: 70px; resize: vertical; }
.nc-auth-form input:focus,
.nc-profile-form input:focus,
.nc-doctor-update-form input:focus,
.nc-doctor-update-form select:focus,
.nc-doctor-update-form textarea:focus {
	outline: none;
	border-color: rgba(188,130,55,.68);
	box-shadow: 0 0 0 3px rgba(199,144,70,.12);
}
.nc-profile-form input[readonly] { background: #f6f6f3; color: #76817d; }

.nc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.nc-checkbox { display: grid !important; grid-template-columns: auto 1fr; gap: 10px !important; align-items: start; font-size: .82rem; line-height: 1.5; color: #55665f; }
.nc-checkbox input { width: 17px; min-height: 17px; height: 17px; margin-top: 2px; }
.nc-checkbox a { color: #946a31; }
.nc-auth-help { color: #80602f; font-size: .82rem; font-weight: 650; text-decoration: none; width: fit-content; }
.nc-auth-help:hover { text-decoration: underline; }

.nc-portal-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: .84rem;
	font-weight: 750;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.nc-portal-button--primary { background: linear-gradient(135deg, #d6ac68, #bd7f37); color: #fff; box-shadow: 0 10px 24px rgba(177,118,49,.16); }
.nc-portal-button--primary:hover,
.nc-portal-button--primary:focus-visible { color:#fff; transform: translateY(-1px); box-shadow: 0 13px 27px rgba(177,118,49,.23); }
.nc-portal-button--ghost { background: #fff; color: #23463d; border-color: rgba(31,61,52,.18); }
.nc-portal-button--ghost:hover { border-color: rgba(199,144,70,.5); color: #8c622c; }
.nc-portal-button--small { min-height: 38px; padding: 8px 15px; font-size: .76rem; }

/* Logged-in shell */
.nc-portal-shell { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 24px; align-items: start; }
.nc-portal-nav {
	position: sticky;
	top: 108px;
	padding: 16px;
	border: 1px solid var(--nc-portal-line);
	border-radius: 20px;
	background: rgba(255,255,255,.94);
	box-shadow: 0 12px 35px rgba(19,47,40,.06);
}
.nc-portal-user { display: flex; align-items: center; gap: 11px; padding: 7px 7px 16px; border-bottom: 1px solid #eee9e0; margin-bottom: 10px; min-width: 0; }
.nc-portal-user > div:last-child { min-width: 0; }
.nc-portal-user strong { display:block; font-size: .86rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nc-portal-user span { display:block; margin-top:2px; font-size:.69rem; color:#75827d; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nc-portal-avatar { display:grid; place-items:center; width:38px; height:38px; flex:0 0 auto; border-radius:12px; background:linear-gradient(135deg,#294b41,#173b33); color:#fff; font-size:.88rem; font-weight:800; }
.nc-portal-avatar--doctor { background:linear-gradient(135deg,#c99a54,#9f692c); }
.nc-portal-nav nav { display:grid; gap:4px; }
.nc-portal-nav nav a { display:flex; align-items:center; min-height:42px; padding:9px 12px; border-radius:11px; color:#3b514a; font-size:.8rem; font-weight:650; text-decoration:none; }
.nc-portal-nav nav a:hover { background:#f8f5ef; color:#896029; }
.nc-portal-nav nav a.is-active { background:#f1ebdf; color:#6f4d22; }
.nc-portal-nav__logout { margin-top:7px; border-top:1px solid #eee9e0; border-radius:0 0 11px 11px !important; color:#934b42 !important; }

.nc-portal-content { min-width: 0; }
.nc-dashboard-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:20px; }
.nc-dashboard-heading h2 { margin:6px 0 0; font-family:"Playfair Display", Georgia, serif; font-size:clamp(1.75rem,3vw,2.6rem); line-height:1.08; }
.nc-dashboard-heading p { margin:8px 0 0; max-width:720px; color:#6a7873; line-height:1.55; }
.nc-dashboard-actions { display:flex; gap:8px; flex-wrap:wrap; }

.nc-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.nc-stat { position:relative; overflow:hidden; padding:20px; border:1px solid var(--nc-portal-line); border-radius:18px; background:#fff; box-shadow:0 8px 28px rgba(19,47,40,.04); }
.nc-stat::after { content:""; position:absolute; width:70px; height:70px; border-radius:50%; background:rgba(207,163,91,.1); inset:auto -24px -28px auto; }
.nc-stat span { display:block; font-size:.71rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; color:#78847f; }
.nc-stat strong { display:block; margin-top:5px; font-family:"Playfair Display", Georgia, serif; font-size:2rem; color:#173b33; }

.nc-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.nc-portal-card { padding:22px; }
.nc-portal-card--accent { background:linear-gradient(145deg,#fff 0%,#fff8eb 100%); border-color:rgba(190,133,59,.18); }
.nc-card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; color:#6e7c77; font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.nc-card-heading strong { font-size:1rem; color:#173b33; }
.nc-portal-card h3 { margin:0 0 6px; font-size:1.2rem; color:#173b33; }
.nc-portal-card p { color:#64736d; line-height:1.65; }
.nc-meta-line { margin:0 0 14px !important; font-size:.84rem; }
.nc-date-chip { display:inline-flex; padding:7px 10px; border-radius:999px; background:#f3ede3; color:#6e4d25; font-size:.76rem; font-weight:750; margin:0 8px 10px 0; }
.nc-text-link { color:#895f2d; font-size:.82rem; font-weight:750; text-decoration:none; }
.nc-text-link:hover { text-decoration:underline; }

.nc-status { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; font-size:.68rem; font-weight:800; white-space:nowrap; }
.nc-status--requested,
.nc-status--pending { background:#fff3d9; color:#895f0e; }
.nc-status--confirmed,
.nc-status--paid { background:#e5f6ed; color:#207044; }
.nc-status--completed { background:#e9effa; color:#315e9b; }
.nc-status--cancelled,
.nc-status--failed,
.nc-status--verification_failed { background:#fde9e7; color:#9f4037; }
.nc-status--refunded,
.nc-status--reversed { background:#efe8f6; color:#6f4b91; }

.nc-data-table-wrap { overflow:auto; border:1px solid var(--nc-portal-line); border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(19,47,40,.045); }
.nc-data-table { width:100%; min-width:760px; border-collapse:collapse; }
.nc-data-table th { padding:12px 14px; text-align:start; background:#f8f6f1; border-bottom:1px solid #ece7df; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#6d7975; }
.nc-data-table td { padding:14px; border-bottom:1px solid #f0ede8; font-size:.8rem; color:#324a42; vertical-align:middle; }
.nc-data-table tr:last-child td { border-bottom:0; }
.nc-mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; }
.nc-empty-state { padding:38px; border:1px dashed rgba(31,61,52,.2); border-radius:18px; text-align:center; background:rgba(255,255,255,.6); color:#6c7974; }

.nc-profile-form { max-width:780px; padding:24px; }
.nc-profile-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }

/* Doctor workspace */
.nc-doctor-appointments { display:grid; gap:16px; }
.nc-doctor-appointment { padding:20px; }
.nc-doctor-appointment__header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:15px; border-bottom:1px solid #efeae2; }
.nc-doctor-appointment__header h3 { margin:5px 0 0; font-size:1.15rem; }
.nc-doctor-appointment__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px; padding:18px 0; }
.nc-doctor-appointment__grid > div { display:grid; gap:4px; min-width:0; }
.nc-doctor-appointment__grid span,
.nc-patient-note > span { font-size:.67rem; font-weight:800; text-transform:uppercase; letter-spacing:.055em; color:#7b8782; }
.nc-doctor-appointment__grid strong,
.nc-doctor-appointment__grid a { color:#233f37; font-size:.82rem; text-decoration:none; overflow-wrap:anywhere; }
.nc-doctor-appointment__grid a:hover { color:#986a30; }
.nc-patient-note { padding:14px 16px; border-radius:13px; background:#f8f6f1; margin-bottom:16px; }
.nc-patient-note p { margin:6px 0 0; color:#4e625b; font-size:.82rem; line-height:1.55; }
.nc-doctor-update-form { padding-top:14px; border-top:1px solid #efeae2; }
.nc-doctor-note-field textarea { min-height:62px; }

/* Motion */
@media (prefers-reduced-motion: no-preference) {
	.nc-auth-card,
	.nc-portal-card,
	.nc-doctor-appointment,
	.nc-stat {
		animation: ncPortalRise .45s ease both;
	}
	.nc-auth-card:nth-child(2), .nc-stat:nth-child(2) { animation-delay:.06s; }
	.nc-stat:nth-child(3) { animation-delay:.1s; }
	@keyframes ncPortalRise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
}

/* RTL */
body.is-rtl .site-header__account-link:hover,
body.is-rtl .site-header__account-link:focus-visible { transform: translateX(-2px); }
body.is-rtl .nc-data-table th { text-align:right; }

/* Responsive */
@media (max-width: 1080px) {
	.nc-portal-shell { grid-template-columns: 210px minmax(0,1fr); }
	.nc-dashboard-heading { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 850px) {
	.nc-portal-hero { padding:50px 0 34px; }
	.nc-portal-hero__mark { width:82px; height:82px; border-radius:22px; }
	.nc-portal-hero__mark svg { width:44px; height:44px; }
	.nc-auth-grid { grid-template-columns:1fr; }
	.nc-portal-shell { grid-template-columns:1fr; }
	.nc-portal-nav { position:static; padding:10px; }
	.nc-portal-user { padding:6px 6px 10px; }
	.nc-portal-nav nav { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; overflow:auto; }
	.nc-portal-nav nav a { justify-content:center; text-align:center; white-space:nowrap; min-height:38px; padding:8px 10px; }
	.nc-portal-nav__logout { grid-column:1 / -1; border-top:0; justify-content:center; background:#fff5f3; }
	.nc-dashboard-grid { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
	.nc-portal-hero__inner { align-items:flex-start; }
	.nc-portal-hero__mark { display:none; }
	.nc-portal-wrap { padding:24px 0 52px; }
	.nc-auth-card { padding:22px 18px; border-radius:20px; }
	.nc-form-grid,
	.nc-stat-grid,
	.nc-doctor-appointment__grid { grid-template-columns:1fr; }
	.nc-stat-grid { gap:9px; }
	.nc-stat { padding:16px; }
	.nc-stat strong { font-size:1.65rem; }
	.nc-dashboard-actions { width:100%; }
	.nc-dashboard-actions .nc-portal-button { flex:1 1 auto; }
	.nc-portal-nav nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.nc-data-table-wrap { overflow:visible; border:0; background:transparent; box-shadow:none; }
	.nc-data-table { min-width:0; display:block; }
	.nc-data-table thead { display:none; }
	.nc-data-table tbody, .nc-data-table tr, .nc-data-table td { display:block; width:100%; box-sizing:border-box; }
	.nc-data-table tr { margin-bottom:12px; border:1px solid var(--nc-portal-line); border-radius:16px; background:#fff; box-shadow:0 7px 22px rgba(19,47,40,.04); overflow:hidden; }
	.nc-data-table td { display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; align-items:center; border-bottom:1px solid #f0ede8; }
	.nc-data-table td::before { content:attr(data-label); font-size:.64rem; font-weight:800; text-transform:uppercase; color:#7b8782; }
	.nc-data-table tr td:last-child { border-bottom:0; }
	.nc-doctor-appointment { padding:16px; }
	.nc-doctor-appointment__header { align-items:flex-start; }
}

/* With the new account control, compact utility buttons slightly earlier on laptops. */
@media (min-width: 992px) and (max-width: 1380px) {
	.site-header__actions--desktop .site-header__cta--secondary {
		width: 2.45rem;
		min-width: 2.45rem;
		padding: .55rem;
	}
	.site-header__actions--desktop .site-header__cta--secondary .site-header__cta-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0,0,0,0);
		white-space: nowrap;
		border: 0;
	}
}


/* v1.8.5 mobile workspace navigation + responsive polish */
.nc-portal-content{overflow:hidden}
.nc-dashboard-actions .nc-portal-button{white-space:nowrap}
@media (max-width: 850px){
	.nc-portal-wrap{padding-top:18px}
	.nc-portal-shell{gap:18px}
	.nc-portal-nav{position:sticky;top:68px;z-index:40;padding:10px 10px 8px;border-radius:16px;box-shadow:0 12px 32px rgba(19,47,40,.10);backdrop-filter:blur(14px);background:rgba(255,255,255,.97)}
	.nc-portal-user{margin-bottom:8px;padding:4px 5px 9px}
	.nc-portal-avatar{width:34px;height:34px;border-radius:10px}
	.nc-portal-nav nav{display:flex!important;grid-template-columns:none!important;gap:6px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 4px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.nc-portal-nav nav::-webkit-scrollbar{display:none}
	.nc-portal-nav nav a{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid #eee8df;background:#fff;scroll-snap-align:start}
	.nc-portal-nav nav a.is-active{border-color:rgba(190,133,59,.25);background:#f1ebdf}
	.nc-portal-nav__logout{grid-column:auto!important;margin-top:0;border-top:0!important;border-color:#f0d8d4!important;border-radius:11px!important;background:#fff5f3!important}
	.nc-dashboard-heading{margin-bottom:16px}
	.nc-dashboard-actions{gap:7px}
	.nc-portal-card,.nc-doctor-appointment{border-radius:18px}
}
@media (max-width: 640px){
	.nc-portal-hero{padding:38px 0 26px}
	.nc-portal-hero h1{font-size:clamp(2rem,10vw,2.65rem)}
	.nc-portal-hero p{font-size:.92rem;line-height:1.6}
	.nc-portal-wrap{padding:16px 0 42px}
	.nc-portal-nav{top:62px;margin-inline:-2px}
	.nc-portal-user span{max-width:68vw}
	.nc-dashboard-heading h2{font-size:1.75rem}
	.nc-dashboard-heading p{font-size:.9rem}
	.nc-dashboard-actions{display:grid;grid-template-columns:1fr;width:100%}
	.nc-dashboard-actions .nc-portal-button{width:100%}
	.nc-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
	.nc-stat{padding:14px 10px;text-align:center}
	.nc-stat span{font-size:.58rem;line-height:1.25}
	.nc-stat strong{font-size:1.45rem}
	.nc-portal-card{padding:17px}
	.nc-card-heading{align-items:flex-start;flex-direction:column;gap:5px}
	.nc-doctor-appointment__header{gap:9px}
	.nc-doctor-appointment__header .nc-status{flex:0 0 auto}
	.nc-doctor-update-form .nc-form-grid{grid-template-columns:1fr}
	.nc-profile-form{padding:18px}
	.nc-empty-state{padding:28px 18px}
	.nc-data-table td{grid-template-columns:minmax(86px,32%) minmax(0,1fr);padding:12px}
}
@media (max-width: 390px){
	.nc-stat-grid{grid-template-columns:1fr 1fr}
	.nc-stat:last-child{grid-column:1/-1}
	.nc-portal-nav nav a{padding:8px 10px;font-size:.74rem}
	.nc-portal-user strong{font-size:.8rem}
}
