/*
 * Shared UI primitives (v0.14.74).
 *
 * ONE location for `.sw-ui-tabs`, `.sw-ui-pill`, `.sw-ui-disclosure`.
 * Consumed by:
 *   - templates/console/referral.php   (tab bar, panel mode)
 *   - templates/practitioner-dashboard.php (tab bar filter mode, pill picker,
 *                                            disclosure drawer)
 * Delete duplicate inline definitions when adding a new consumer here.
 *
 * The tokens below fall back to the surface's own palette so this file drops
 * into both the warm-cream practitioner ground and the earth-toned admin
 * console without repainting either. Overriding a token at a higher scope
 * (e.g. .sw-dash-v70) re-skins the primitive.
 */

/* ------------------------------------------------------------------ */
/* Tab bar - .sw-ui-tabs                                              */
/* ------------------------------------------------------------------ */
.sw-ui-tabs{
	display:flex;
	gap:.25rem;
	flex-wrap:wrap;
	margin:0 0 1rem;
}
.sw-ui-tabs .sw-ui-tab{
	font-family: var(--sw-ui-tab-font, var(--sw-serif, "Spectral", "EB Garamond", Georgia, "Times New Roman", serif));
	font-size:.75rem;
	letter-spacing:.08em;
	text-transform:uppercase;
	color: var(--sw-ui-tab-ink, var(--sw-muted, #8c8068));
	padding:.4rem .85rem;
	border-radius: var(--sw-ui-tab-radius, 100px);
	border:1px solid transparent;
	background:none;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	font-weight:400;
	text-decoration:none;
	transition:.15s;
}
.sw-ui-tabs .sw-ui-tab:hover{ color: var(--sw-ui-tab-ink-hover, var(--sw-ink, #3a2f1f)); }
.sw-ui-tabs .sw-ui-tab.is-active{
	background: var(--sw-ui-tab-bg-active, var(--sw-card, #fbf8f1));
	border-color: var(--sw-ui-tab-border-active, var(--sw-line, #ddd2ba));
	color: var(--sw-ui-tab-ink-active, var(--sw-ink, #2c281f));
	font-weight:500;
}
.sw-ui-tabs .sw-ui-tab:focus-visible{
	outline:2px solid var(--sw-ui-focus, var(--sw-terracotta, #ab5c3c));
	outline-offset:2px;
}
.sw-ui-tabs .sw-ui-tab[disabled]{ opacity:.5; cursor:not-allowed; }
.sw-ui-tabs .sw-ui-tab__n{
	color: var(--sw-ui-tab-count, var(--sw-faint, #9a9081));
	font-variant-numeric:tabular-nums;
}
.sw-ui-tabs .sw-ui-tab.is-active .sw-ui-tab__n{
	color: var(--sw-ui-tab-count-active, var(--sw-terracotta, #ab5c3c));
}

/* Panel-mode: sibling panels use [data-tab-panel]; hidden attr rules apply. */
[data-tab-panel][hidden]{ display:none !important; }

/* Admin console variant - underline tabs on the referral drill-down keep the
   earth-toned Cormorant SC look established in v0.14.68. */
.sw-refdetail .sw-ui-tabs{
	border-bottom:1px solid #e4ddcc;
	gap:.25rem;
	margin:0 0 1.2rem;
	padding:0 .1rem;
}
.sw-refdetail .sw-ui-tabs .sw-ui-tab{
	font-family:'Cormorant SC', serif;
	letter-spacing:.1em;
	text-transform:uppercase;
	font-size:.72rem;
	color:#8c8068;
	background:none;
	border:none;
	border-bottom:2px solid transparent;
	border-radius:0;
	padding:.7rem .95rem;
	margin-bottom:-1px;
}
.sw-refdetail .sw-ui-tabs .sw-ui-tab:hover{ color:#3a2f1f; }
.sw-refdetail .sw-ui-tabs .sw-ui-tab.is-active{
	color:#2a2317;
	border-bottom-color: var(--sw-a-earth, #8b6f47);
	background:none;
	font-weight:600;
}
.sw-refdetail .sw-ui-tabs .sw-ui-tab:focus-visible{
	outline:2px solid var(--sw-a-earth, #8b6f47);
	outline-offset:2px;
	border-radius:2px;
}

/* ------------------------------------------------------------------ */
/* Pill picker - .sw-ui-pills / .sw-ui-pill                           */
/* ------------------------------------------------------------------ */
.sw-ui-pills{
	display:flex;
	flex-wrap:wrap;
	gap:.35rem;
	width:100%;
}
.sw-ui-pills .sw-ui-pill{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	padding:.35rem .75rem;
	border-radius:100px;
	border:1px solid var(--sw-ui-pill-border, var(--sw-line, #ddd2ba));
	background: var(--sw-ui-pill-bg, var(--sw-card-2, #f3ecdc));
	color: var(--sw-ui-pill-ink, var(--sw-muted, #6c6353));
	font-family: var(--sw-ui-pill-font, var(--sw-serif, "Spectral", Georgia, serif));
	font-size:.85rem;
	cursor:pointer;
	transition:.15s;
}
.sw-ui-pills .sw-ui-pill:hover{
	border-color: var(--sw-ui-pill-border-hover, var(--sw-terracotta, #ab5c3c));
}
.sw-ui-pills .sw-ui-pill.is-selected{
	background: var(--sw-ui-pill-bg-selected, var(--sw-terracotta, #ab5c3c));
	color: var(--sw-ui-pill-ink-selected, var(--sw-terracotta-ink, #f7efe6));
	border-color: var(--sw-ui-pill-border-selected, var(--sw-terracotta, #ab5c3c));
}
.sw-ui-pills .sw-ui-pill:focus-visible{
	outline:2px solid var(--sw-ui-focus, var(--sw-terracotta, #ab5c3c));
	outline-offset:2px;
}
.sw-ui-pills .sw-ui-pill[disabled]{ opacity:.5; cursor:not-allowed; }
.sw-ui-pills .sw-ui-pill__dot{
	width:8px; height:8px; border-radius:50%; flex:none;
	background: currentColor;
}

/* ------------------------------------------------------------------ */
/* Disclosure - .sw-ui-disclosure                                     */
/* ------------------------------------------------------------------ */
.sw-ui-disclosure{
	border-top:1px solid var(--sw-ui-disclosure-line, var(--sw-line, #ddd2ba));
	padding-top:.4rem;
	margin-top:1rem;
}
.sw-ui-disclosure>summary.sw-ui-disclosure__summary{
	list-style:none;
	cursor:pointer;
	display:flex;
	align-items:center;
	gap:.55rem;
	padding:.75rem .1rem;
	font-family: var(--sw-ui-disclosure-font, var(--sw-serif, "Spectral", Georgia, serif));
	font-size:.78rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	color: var(--sw-ui-disclosure-ink, var(--sw-muted, #6c6353));
}
.sw-ui-disclosure>summary.sw-ui-disclosure__summary::-webkit-details-marker{ display:none; }
.sw-ui-disclosure>summary.sw-ui-disclosure__summary:focus-visible{
	outline:2px solid var(--sw-ui-focus, var(--sw-terracotta, #ab5c3c));
	outline-offset:2px;
}
.sw-ui-disclosure__chev{
	width:16px; height:16px; flex:none;
	color: var(--sw-ui-disclosure-chev, var(--sw-faint, #9a9081));
	transition: transform .18s ease;
}
.sw-ui-disclosure[open] .sw-ui-disclosure__chev{ transform: rotate(180deg); }
.sw-ui-disclosure__hint{
	color: var(--sw-ui-disclosure-hint, var(--sw-faint, #9a9081));
	text-transform:none;
	letter-spacing:0;
	font-size:.85rem;
	margin-left:.4rem;
	font-weight:400;
}
.sw-ui-disclosure__body{ padding:.6rem 0 .3rem; }
