/**
 * Stillwater referral console + branded sign-in.
 *
 * Loaded on top of admin.css so all .sw-admin__* utilities from Phase B still
 * render. This file owns the front-end shell (topbar, wrap, sign-in card, page
 * background) that was previously the wp-admin chrome.
 */

body.sw-console,
body.sw-signin {
	margin: 0;
	background: var(--sw-a-bg);
	color: var(--sw-a-ink);
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.sw-console__wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.3rem 3rem;
}

/* Top bar */
.sw-console__topbar {
	background: var(--sw-a-night);
	color: #f3e9d2;
}
.sw-console__topbar-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: .7rem 1.3rem;
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem;
}
.sw-console__brand {
	font-family: 'Spectral', Georgia, serif;
	font-size: 1.05rem;
	color: #f3e9d2;
	text-decoration: none;
}
.sw-console__brand em { font-style: italic; }
.sw-console__brand .sub {
	display: block;
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .2em;
	text-transform: uppercase;
	font-size: .52rem;
	color: var(--sw-a-earth);
	margin-top: .05rem;
}
.sw-console__nav {
	display: flex; gap: 1.1rem;
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .1em; text-transform: uppercase;
	font-size: .62rem;
}
.sw-console__nav a {
	color: #c3b596;
	padding: .3rem 0;
	border-bottom: 1px solid transparent;
	text-decoration: none;
}
.sw-console__nav a.is-on,
.sw-console__nav a:hover {
	color: #f3e9d2;
	border-color: var(--sw-a-earth);
}
.sw-console__who {
	display: flex; align-items: center; gap: .8rem;
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .1em; text-transform: uppercase;
	font-size: .6rem;
	color: #b3a78c;
}
.sw-console__who a { color: #c3b596; text-decoration: none; }
.sw-console__who a:hover { color: #f3e9d2; }

/* Site content bridge */
.sw-console__bridge {
	position: relative;
	display: inline-block;
}
.sw-console__bridge-btn {
	background: none; border: 1px solid #4a4234;
	color: #c3b596;
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .1em; text-transform: uppercase;
	font-size: .6rem; padding: .3rem .55rem; border-radius: 4px;
	cursor: pointer;
}
.sw-console__bridge-btn:hover { color: #f3e9d2; border-color: var(--sw-a-earth); }
.sw-console__bridge-menu {
	position: absolute; top: 100%; right: 0; margin-top: .3rem;
	background: #fff; border: 1px solid var(--sw-a-line);
	border-radius: 6px; box-shadow: 0 2px 12px rgba(42,38,32,.15);
	padding: .3rem 0; min-width: 200px; display: none; z-index: 100;
}
.sw-console__bridge:hover .sw-console__bridge-menu,
.sw-console__bridge:focus-within .sw-console__bridge-menu { display: block; }
.sw-console__bridge-menu a {
	display: block; padding: .4rem .8rem;
	color: var(--sw-a-ink); font-size: .82rem; text-decoration: none;
	font-family: 'EB Garamond', Georgia, serif;
}
.sw-console__bridge-menu a:hover { background: #faf7ef; color: var(--sw-a-earth-deep); }

/* Console-specific overrides to keep the mockup layout without wp-admin chrome */
.sw-console .sw-admin,
.sw-console .wrap.sw-admin { max-width: none; margin: 0; padding: 0; }

/* Footer */
.sw-console__foot {
	color: var(--sw-a-muted);
	font-size: .78rem;
	text-align: center;
	padding: 2rem 0 2.5rem;
}

/* Sign-in / reset / set-password page family (v0.14.1-launch-hardening.29).
   Composed auth layout: minimal masthead + centered card in generous but
   not-viewport-void vertical space. Inputs match the site standard form
   inputs (>=44px, 16px text, --sw-a-line rest, --sw-a-earth focus). */
.sw-signin__page {
	min-height: calc(100vh - 200px);
	display: flex; flex-direction: column;
	align-items: center;
	padding: 3.5rem 1rem 4rem;
	gap: 0;
}
.sw-signin__card {
	width: 100%; max-width: 420px; box-sizing: border-box;
	background: var(--sw-a-card);
	border: 1px solid var(--sw-a-line);
	border-radius: 10px;
	padding: 2.6rem 2rem 2rem;
	box-shadow: 0 2px 14px rgba(42,38,32,.06);
}
.sw-signin__brand {
	font-family: 'Spectral', Georgia, serif;
	font-weight: 500;
	font-size: 1.55rem;
	color: var(--sw-a-earth-deep);
	text-align: center;
	margin: 0 0 .2rem;
}
.sw-signin__brand em { font-style: italic; }
.sw-signin__eyebrow {
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .22em; text-transform: uppercase;
	font-size: .66rem; color: var(--sw-a-muted);
	text-align: center;
	margin: .1rem 0 1.6rem;
	display: block;
}
.sw-signin__msg {
	background: var(--sw-a-bad-bg);
	border: 1px solid #e6c3b7;
	color: var(--sw-a-bad);
	border-radius: 6px;
	padding: .7rem .85rem;
	font-size: .9rem;
	margin-bottom: 1.1rem;
}
.sw-signin__msg--ok {
	background: var(--sw-a-ok-bg);
	border-color: #cfdcbf;
	color: var(--sw-a-ok);
}
.sw-signin__field { margin-bottom: 1.1rem; }
.sw-signin__field label {
	display: block;
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .12em; text-transform: uppercase;
	font-size: .64rem; color: var(--sw-a-muted);
	margin-bottom: .45rem;
}
.sw-signin__field input[type="text"],
.sw-signin__field input[type="email"],
.sw-signin__field input[type="password"] {
	width: 100%; box-sizing: border-box;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 16px; line-height: 1.4;
	min-height: 48px;
	padding: .85rem 1rem;
	border: 1px solid var(--sw-a-line);
	border-radius: 7px;
	background: #fff;
	color: var(--sw-a-ink);
	transition: border-color .15s, box-shadow .15s;
}
.sw-signin__field input:focus,
.sw-signin__field input:focus-visible {
	outline: none;
	border-color: var(--sw-a-earth);
	box-shadow: 0 0 0 3px rgba(173,113,82,.15);
}
.sw-signin__field .sw-password-field { position: relative; }
.sw-signin__field .sw-password-field input { padding-right: 3rem; }
.sw-signin__field .sw-password-toggle {
	position: absolute; right: .55rem; top: 50%; transform: translateY(-50%);
	background: none; border: 0; padding: .4rem; cursor: pointer;
	color: var(--sw-a-muted); line-height: 0;
}
.sw-signin__field .sw-password-toggle:hover { color: var(--sw-a-earth-deep); }
.sw-signin__field .sw-password-toggle:focus-visible {
	outline: 2px solid var(--sw-a-earth); outline-offset: 2px; border-radius: 4px;
}
.sw-signin__remember {
	display: flex; align-items: center; gap: .55rem;
	font-size: .92rem; color: var(--sw-a-muted);
	margin: .3rem 0 1.3rem;
}
.sw-signin__submit {
	width: 100%;
	background: var(--sw-a-earth-deep); color: #fff;
	border: 1px solid var(--sw-a-earth-deep);
	font-family: 'Cormorant SC', Georgia, serif;
	font-weight: 500;
	letter-spacing: .16em; text-transform: uppercase;
	font-size: .78rem;
	min-height: 48px;
	padding: .85rem 1rem;
	border-radius: 7px; cursor: pointer;
	transition: background .18s ease, border-color .18s ease;
}
.sw-signin__submit:hover { background: var(--sw-a-earth); border-color: var(--sw-a-earth); }
.sw-signin__submit:focus-visible {
	outline: 2px solid var(--sw-a-earth); outline-offset: 3px;
}
.sw-signin__foot {
	text-align: center; margin-top: 1.4rem;
	font-size: .92rem;
}
.sw-signin__foot a { color: var(--sw-a-earth-deep); text-decoration: none; }
.sw-signin__foot a:hover { text-decoration: underline; }
@media (max-width:560px){
	.sw-signin__page { padding: 2.4rem .9rem 3rem; min-height: calc(100vh - 160px); }
	.sw-signin__card { padding: 2rem 1.4rem 1.6rem; }
	.sw-signin__brand { font-size: 1.4rem; }
}


/* Phase 3C: reason modal (Stillwater-native) */
.sw-console__modal-backdrop {
	position: fixed; inset: 0; background: rgba(28,35,48,.85);
	display: flex; align-items: center; justify-content: center;
	z-index: 10000; padding: 1rem;
}
.sw-console__modal-card {
	background: var(--sw-a-card); border: 2px solid var(--sw-a-earth-deep);
	border-radius: 10px; max-width: 480px; width: 100%;
	padding: 1.6rem 1.7rem; box-shadow: 0 10px 40px rgba(0,0,0,.35);
}
.sw-console__modal-eyebrow {
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .18em; text-transform: uppercase;
	font-size: .58rem; color: var(--sw-a-muted);
	margin-bottom: .3rem;
}
.sw-console__modal-title {
	font-family: 'Spectral', Georgia, serif; font-weight: 400;
	color: var(--sw-a-earth-deep); font-size: 1.25rem; margin: 0 0 .3rem;
}
.sw-console__modal-target {
	color: var(--sw-a-muted); font-size: .88rem;
	font-family: 'EB Garamond', Georgia, serif; margin: 0 0 1rem;
}
.sw-console__modal-err {
	background: var(--sw-a-bad-bg); border: 1px solid #e6c3b7;
	color: var(--sw-a-bad); border-radius: 6px;
	padding: .5rem .7rem; font-size: .85rem; margin-bottom: .8rem;
}
.sw-console__modal-field { margin-bottom: .9rem; }
.sw-console__modal-field label {
	display: block;
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .08em; text-transform: uppercase;
	font-size: .58rem; color: var(--sw-a-muted);
	margin-bottom: .3rem;
}
.sw-console__modal-field input,
.sw-console__modal-field textarea {
	width: 100%; box-sizing: border-box;
	font-family: 'EB Garamond', Georgia, serif; font-size: .95rem;
	border: 1px solid var(--sw-a-line); border-radius: 6px;
	background: #fff; color: var(--sw-a-ink);
	padding: .5rem .7rem;
}
.sw-console__modal-field textarea { resize: vertical; min-height: 5rem; }
.sw-console__modal-field input:focus,
.sw-console__modal-field textarea:focus {
	border-color: var(--sw-a-earth);
	outline: 2px solid rgba(173,113,82,.15);
}
.sw-console__modal-actions {
	display: flex; justify-content: flex-end; gap: .6rem;
	margin-top: 1.1rem; padding-top: .9rem;
	border-top: 1px solid var(--sw-a-line);
}

/* v0.14.7-outreach-shell: regrouped nav — highlight active group button. */
.sw-console__nav .sw-console__group.is-on .sw-console__bridge-btn {
	color: #f3e9d2;
	border-color: var(--sw-a-earth);
	background: rgba(173, 113, 82, 0.14);
}
.sw-console__nav .sw-console__bridge-btn {
	line-height: 1;
}

/* Link-only nav group (e.g. Outreach): the topbar label is a direct link
   to the section landing page; the persistent submenu bar lives below. */
.sw-console__nav .sw-nav-group--link .sw-console__bridge-menu { display: none !important; }
.sw-console__nav .sw-nav-group--link:hover .sw-console__bridge-menu,
.sw-console__nav .sw-nav-group--link:focus-within .sw-console__bridge-menu { display: none !important; }
.sw-console__nav a.sw-console__group-link {
	display: inline-block;
	text-decoration: none;
	background: none;
	border: 1px solid #4a4234;
	color: #c3b596;
	font-family: 'Cormorant SC', Georgia, serif;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-size: .6rem;
	padding: .3rem .55rem;
	border-radius: 4px;
	line-height: 1;
}
.sw-console__nav a.sw-console__group-link:hover {
	color: #f3e9d2;
	border-color: var(--sw-a-earth);
}
.sw-console__nav .sw-nav-group--link.is-on a.sw-console__group-link {
	color: #f3e9d2;
	border-color: var(--sw-a-earth);
	background: rgba(173, 113, 82, 0.14);
}

/* -------- Persistent section submenu bar (shared) -------- *
 * v0.14.19-console-submenu-unify: previously outreach-scoped
 * `.sw-outreach-submenu*` rules, generalized. Rendered by
 * SW\Referral\Frontend\ConsoleSubmenus for every section (Referrals,
 * Practitioners, Reporting, Settings, Outreach, plus any plugin-registered
 * external section). Pins directly under the primary topbar; real anchors;
 * one active state; phase-2/3 items rendered as disabled spans with a
 * phase tag.
 */
.sw-console-submenu {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--sw-a-night, #1b1610);
	border-bottom: 1px solid #3a3428;
}
.sw-console-submenu__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: .25rem 1rem;
	display: flex;
	align-items: center;
	gap: .9rem;
	flex-wrap: wrap;
}
.sw-console-submenu__lbl {
	font-family: 'Cormorant SC', Georgia, serif;
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: .62rem;
	color: #a49a80;
	padding-right: .55rem;
	border-right: 1px solid #3a3428;
}
.sw-console-submenu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .15rem;
}
.sw-console-submenu__item { margin: 0; padding: 0; }
.sw-console-submenu__sep {
	width: 1px;
	align-self: stretch;
	background: #3a3428;
	margin: .2rem .35rem;
}
.sw-console-submenu__link {
	display: inline-block;
	padding: .5rem .8rem;
	font-family: 'Cormorant SC', Georgia, serif;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .68rem;
	color: #c3b596;
	text-decoration: none;
	border-radius: 3px;
	line-height: 1;
}
.sw-console-submenu__link:hover {
	color: #f3e9d2;
	background: rgba(173, 113, 82, 0.14);
}
.sw-console-submenu__link.on,
.sw-console-submenu__item.is-on .sw-console-submenu__link {
	background: rgba(173, 113, 82, 0.22);
	color: #f3e9d2;
}
.sw-console-submenu__link.is-disabled {
	color: #746a54;
	cursor: not-allowed;
}
.sw-console-submenu__link.is-disabled:hover {
	background: transparent;
	color: #746a54;
}
.sw-console-submenu__phase {
	display: inline-block;
	margin-left: .4rem;
	padding: .05rem .35rem;
	border: 1px solid #4a4234;
	border-radius: 3px;
	font-family: 'Cormorant SC', Georgia, serif;
	font-style: normal;
	font-size: .55rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #8a7f66;
	background: rgba(255,255,255,0.02);
}
@media (max-width: 640px) {
	.sw-console-submenu__inner { gap: .5rem; padding: .25rem .6rem; }
	.sw-console-submenu__lbl { padding-right: .4rem; }
	.sw-console-submenu__link { padding: .45rem .6rem; font-size: .62rem; }
}
