:root {
	--ep365-portal-bg: #f5f7fb;
	--ep365-portal-panel: #fff;
	--ep365-portal-ink: #172033;
	--ep365-portal-muted: #64748b;
	--ep365-portal-line: #dfe6f0;
	--ep365-portal-primary: #129fda;
	--ep365-portal-primary-dark: #087bb1;
	--ep365-portal-navy: #101828;
	--ep365-portal-shadow: 0 16px 40px rgba(15, 23, 42, .08);
}

body.ep365-portal-host-page {
	background: var(--ep365-portal-bg);
	margin: 0;
}

.ep365-portal,
.ep365-portal * { box-sizing: border-box; }

.ep365-portal {
	color: var(--ep365-portal-ink);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0 auto;
	max-width: 1120px;
	padding: 24px 16px;
	width: 100%;
}

.ep365-portal-hero {
	background: var(--ep365-portal-navy);
	border-radius: 18px;
	box-shadow: var(--ep365-portal-shadow);
	color: #fff;
	margin-bottom: 16px;
	padding: 28px;
}
.ep365-portal-hero span { color: #7dd3fc; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ep365-portal-hero h2 { color: #fff; font-size: 32px; line-height: 1.15; margin: 8px 0 10px; }
.ep365-portal-hero p { color: #dbeafe; margin: 0; }

.ep365-portal-shell { align-items: start; display: grid; gap: 18px; grid-template-columns: 220px minmax(0,1fr); }
.ep365-portal-nav { background: #fff; border: 1px solid var(--ep365-portal-line); border-radius: 16px; box-shadow: var(--ep365-portal-shadow); display: grid; gap: 6px; padding: 10px; position: sticky; top: 18px; }
.ep365-portal-nav form { margin: 0; }
.ep365-portal-nav-item { background: transparent; border: 0; border-radius: 10px; color: #334155; cursor: pointer; display: block; font-weight: 800; min-height: 46px; padding: 12px; text-align: left; width: 100%; }
.ep365-portal-nav-item:hover,.ep365-portal-nav-item.is-active { background: #e8f7ff; color: var(--ep365-portal-primary-dark); }
.ep365-portal-content { min-width: 0; }

.ep365-portal-overview { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 16px; }
.ep365-portal-stat,.ep365-portal-card,.ep365-portal-login,.ep365-portal-mini-row { background: #fff; border: 1px solid var(--ep365-portal-line); border-radius: 16px; box-shadow: var(--ep365-portal-shadow); }
.ep365-portal-stat,.ep365-portal-card,.ep365-portal-login { padding: 18px; }
.ep365-portal-action-card { color: var(--ep365-portal-ink); display: block; margin: 0; text-decoration: none; }
.ep365-portal-action-card button { background: transparent !important; border: 0; color: inherit !important; min-height: 0; padding: 0; text-align: left; width: 100%; }
.ep365-action-icon { align-items: center; background: #e8f7ff; border: 1px solid #c8ecfb; border-radius: 12px; color: var(--ep365-portal-primary-dark); display: inline-flex !important; font-size: 22px !important; height: 40px; justify-content: center; margin-bottom: 12px; width: 48px; }
.ep365-portal-action-card strong { display: block; font-size: 20px; margin-top: 4px; }
.ep365-portal-action-card small,.ep365-muted { color: var(--ep365-portal-muted); }
.ep365-portal-action-card small { display: block; font-size: 14px; line-height: 1.45; margin-top: 6px; }
.ep365-portal-action-card:hover { border-color: var(--ep365-portal-primary); }

.ep365-portal-welcome,.ep365-portal-projects,.ep365-next-steps { margin-bottom: 16px; }
.ep365-portal-welcome { background: #fff; border: 1px solid var(--ep365-portal-line); border-radius: 16px; padding: 18px; }
.ep365-portal-welcome h3,.ep365-portal-projects h3 { margin-top: 0; }
.ep365-portal-two-col { align-items: start; display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 16px; }

.ep365-next-steps ol { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ep365-next-steps li { align-items: start; background: #fff; border: 1px solid var(--ep365-portal-line); border-radius: 12px; display: grid; gap: 3px 10px; grid-template-columns: 28px 1fr; padding: 12px; }
.ep365-next-steps li > span { align-items: center; background: #e2e8f0; border-radius: 50%; display: flex; font-weight: 900; grid-row: 1/3; height: 28px; justify-content: center; width: 28px; }
.ep365-next-steps li.is-complete > span { background: #dcfce7; color: #166534; }
.ep365-next-steps li.is-current > span { background: #e0f2fe; color: #0369a1; }
.ep365-next-steps strong,.ep365-next-steps small { display: block; }
.ep365-next-steps small { color: var(--ep365-portal-muted); }

.ep365-portal-card { margin-bottom: 14px; }
.ep365-portal-card-head { align-items: start; display: flex; gap: 12px; justify-content: space-between; }
.ep365-portal-card-head h3 { font-size: 21px; margin: 4px 0 0; overflow-wrap: anywhere; }
.ep365-portal-card-head span { color: var(--ep365-portal-muted); }
.ep365-portal-card-head strong { background: #ecfeff; border: 1px solid #bae6fd; border-radius: 999px; color: #0369a1; padding: 6px 10px; }
.ep365-portal-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.ep365-portal-meta span,.ep365-portal-mini-row span { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; color: #475569; padding: 6px 10px; }

.ep365-portal button,.ep365-portal-proof,.ep365-portal-secondary { border: 0; border-radius: 10px; cursor: pointer; display: inline-block; font-weight: 800; min-height: 44px; padding: 11px 16px; text-align: center; text-decoration: none; }
.ep365-portal button,.ep365-portal-proof { background: var(--ep365-portal-primary); color: #fff; }
.ep365-portal button:hover,.ep365-portal-proof:hover { background: var(--ep365-portal-primary-dark); color: #fff; }
.ep365-portal-secondary { background: #eef2f7; color: #334155; }

.ep365-portal-login { margin-bottom: 16px; }
.ep365-portal-login-form { display: grid; gap: 12px; margin-top: 16px; max-width: 460px; }
.ep365-portal label { color: #475467; display: grid; font-size: 12px; font-weight: 800; gap: 6px; text-transform: uppercase; }
.ep365-portal input,.ep365-portal textarea { border: 1px solid #cbd5e1; border-radius: 10px; color: #111827; min-height: 44px; padding: 10px 11px; width: 100%; }
.ep365-portal textarea { min-height: 120px; text-transform: none; }
.ep365-remember { align-items: center; display: flex !important; gap: 8px !important; text-transform: none !important; }
.ep365-remember input { min-height: 0; width: auto; }
.ep365-login-help { color: var(--ep365-portal-primary-dark); font-weight: 700; }
.ep365-portal-error { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; color: #991b1b; margin: 10px 0; padding: 10px; }

.ep365-portal-notice,.ep365-portal-empty { background: #ecfdf5; border: 1px solid #bbf7d0; border-radius: 12px; color: #065f46; margin-bottom: 16px; padding: 12px; }
.ep365-portal-mini-row { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-bottom: 10px; padding: 14px; }
.ep365-portal-mini-row .is-good { background: #ecfdf5; border-color: #bbf7d0; color: #047857; }
.ep365-portal-mini-row .is-waiting { background: #fff7ed; border-color: #fed7aa; color: #c2410c; }

.ep365-message-thread { display: grid; gap: 10px; margin-top: 18px; }
.ep365-message { border-radius: 14px; max-width: 760px; overflow-wrap: anywhere; padding: 12px; width: fit-content; }
.ep365-message p { margin: 6px 0; }
.ep365-message span { color: var(--ep365-portal-muted); font-size: 12px; }
.ep365-message.is-client { background: #eff6ff; justify-self: start; }
.ep365-message.is-admin { background: #ecfdf5; justify-self: end; }
.ep365-portal-message-form { display: grid; gap: 10px; margin-top: 14px; }

@media (max-width: 760px) {
	.ep365-portal { padding: 12px 8px; }
	.ep365-portal-shell,.ep365-portal-overview,.ep365-portal-two-col { grid-template-columns: 1fr; }
	.ep365-portal-nav { grid-template-columns: repeat(2,minmax(0,1fr)); position: static; }
	.ep365-portal-nav-item { min-height: 52px; text-align: center; }
	.ep365-portal-hero,.ep365-portal-login,.ep365-portal-card,.ep365-portal-stat,.ep365-portal-welcome { border-radius: 12px; padding: 16px; }
	.ep365-portal-hero h2 { font-size: 27px; }
	.ep365-portal-card-head { display: grid; }
	.ep365-portal button,.ep365-portal-proof,.ep365-portal-secondary { width: 100%; }
	.ep365-portal-action-card { min-height: 150px; }
}

@media (max-width: 420px) {
	.ep365-portal-nav { grid-template-columns: 1fr; }
	.ep365-portal-hero h2 { font-size: 24px; }
}

/* 1.1 portal clarity and branding */
.ep365-portal-logo { display:block; max-height:54px; max-width:220px; margin:0 0 14px; object-fit:contain; }
.ep365-portal button,.ep365-portal-proof { background:var(--ep365-portal-button,var(--ep365-portal-primary)); }
.ep365-nav-badge { align-items:center; background:#dc2626; border-radius:999px; color:#fff; display:inline-flex; font-size:11px; justify-content:center; line-height:1; margin-left:7px; min-height:20px; min-width:20px; padding:4px 6px; }
.ep365-action-required { align-items:center; background:#fff7ed; border:2px solid #fb923c; border-radius:16px; display:grid; gap:8px 14px; grid-template-columns:1fr auto; margin-bottom:16px; padding:16px; }
.ep365-action-required strong { color:#9a3412; font-size:18px; }
.ep365-action-required span { color:#7c2d12; grid-column:1; }
.ep365-action-required .ep365-portal-proof { grid-column:2; grid-row:1/3; }
.ep365-project-search { align-items:end; background:#fff; border:1px solid var(--ep365-portal-line); border-radius:16px; display:grid; gap:10px; grid-template-columns:1fr auto; margin-bottom:16px; padding:14px; }
.ep365-project-search label { margin:0; }
@media (max-width:760px) {
  .ep365-action-required,.ep365-project-search { grid-template-columns:1fr; }
  .ep365-action-required .ep365-portal-proof { grid-column:1; grid-row:auto; }
}
.ep365-next-steps li.is-done > span { background:#dcfce7; color:#166534; }

/* 1.1.6 simplified card workspace */
.ep365-portal {
	max-width: 1180px;
	padding: 18px;
}

.ep365-portal-shell {
	background: #eaf7fc;
	border: 1px solid #cfe8f3;
	border-radius: 34px;
	box-shadow: 0 22px 55px rgba(15, 23, 42, .1);
	gap: 0;
	grid-template-columns: 190px minmax(0, 1fr);
	overflow: hidden;
}

.ep365-portal-nav {
	align-content: start;
	background: var(--ep365-portal-primary);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	gap: 10px;
	min-height: 540px;
	padding: 34px 22px;
	position: static;
}

.ep365-portal-nav-title {
	color: #fff;
	display: block;
	font-size: 21px;
	font-weight: 500;
	margin: 0 0 10px;
}

.ep365-portal-nav-item {
	background: transparent;
	border-radius: 14px;
	color: #eefaff;
	font-size: 20px;
	font-weight: 500;
	min-height: 48px;
	padding: 10px 6px;
}

.ep365-portal-nav-item:hover,
.ep365-portal-nav-item.is-active {
	background: rgba(255, 255, 255, .18);
	color: #fff;
}

.ep365-portal-content {
	padding: 28px clamp(20px, 5vw, 88px) 44px;
}

.ep365-portal-hero {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	color: #475569;
	margin: 0 0 32px;
	padding: 0;
}

.ep365-portal-hero span {
	color: var(--ep365-portal-primary-dark);
	font-size: 13px;
	text-transform: none;
}

.ep365-portal-hero h2 {
	color: #5b6470;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 750;
	margin: 6px 0 10px;
}

.ep365-portal-hero p {
	color: #64748b;
	font-size: clamp(17px, 2vw, 22px);
}

.ep365-portal-overview {
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 22px;
}

.ep365-portal-stat,
.ep365-portal-card,
.ep365-portal-login,
.ep365-portal-mini-row,
.ep365-portal-welcome,
.ep365-project-search {
	border-color: var(--ep365-portal-primary);
	border-radius: 24px;
	box-shadow: none;
}

.ep365-portal-action-card {
	align-items: center;
	display: grid;
	justify-items: center;
	min-height: 126px;
	padding: 18px;
	text-align: center;
}

.ep365-portal-action-card button {
	text-align: center;
}

.ep365-action-icon {
	background: transparent;
	border: 0;
	color: var(--ep365-portal-primary);
	height: 30px;
	margin: 0 0 8px;
	width: 30px;
}

.ep365-portal-action-card > span:not(.ep365-action-icon),
.ep365-portal-action-card button > span:not(.ep365-action-icon) {
	color: #5b6470;
	font-size: 20px;
	font-weight: 750;
}

.ep365-portal-action-card strong {
	color: #697386;
	font-size: 18px;
	font-weight: 500;
	margin-top: 0;
}

.ep365-portal-action-card small {
	font-size: 13px;
}

.ep365-portal-welcome {
	background: var(--ep365-portal-primary);
	color: #fff;
	margin-bottom: 24px;
	padding: 30px;
}

.ep365-portal-welcome h3 {
	color: #fff;
	font-size: 24px;
	margin: 0 0 14px;
}

.ep365-portal-welcome p {
	color: #f0fbff;
	font-size: 18px;
	margin: 0;
}

.ep365-portal-quiz-cta {
	align-items: center;
	display: grid;
	gap: 16px;
	grid-template-columns: 40px 1fr auto;
	margin-top: 24px;
}

.ep365-portal-quiz-cta > span {
	align-items: center;
	background: rgba(255, 255, 255, .18);
	border-radius: 14px;
	display: flex;
	font-size: 24px;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.ep365-portal-quiz-cta strong,
.ep365-portal-quiz-cta small {
	color: #fff;
	display: block;
}

.ep365-portal-quiz-cta small {
	color: #e8f8ff;
	font-size: 15px;
	line-height: 1.45;
	margin-top: 4px;
}

.ep365-portal-quiz-cta button,
.ep365-portal button,
.ep365-portal-proof {
	border-radius: 10px;
}

.ep365-portal-quiz-cta button {
	background: #fff;
	color: var(--ep365-portal-primary-dark);
	min-height: 40px;
	padding: 9px 18px;
}

.ep365-portal-quiz-cta button:hover {
	background: #eefaff;
	color: var(--ep365-portal-primary-dark);
}

@media (max-width: 860px) {
	.ep365-portal-shell {
		border-radius: 22px;
		grid-template-columns: 1fr;
	}

	.ep365-portal-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-height: 0;
		padding: 18px;
	}

	.ep365-portal-nav-title {
		grid-column: 1 / -1;
		margin: 0;
	}

	.ep365-portal-content {
		padding: 22px 16px 28px;
	}

	.ep365-portal-overview {
		grid-template-columns: 1fr;
	}

	.ep365-portal-quiz-cta {
		grid-template-columns: 1fr;
	}

	.ep365-portal-quiz-cta button {
		width: 100%;
	}
}

/* 1.1.9: homepage brand and simplified dashboard. */
.ep365-portal { font-family: Poppins, Roboto, sans-serif; }
.ep365-portal h2,.ep365-portal h3,.ep365-portal h4 { font-family: Oswald, sans-serif; line-height: 1.25; }
.ep365-portal .ep365-portal-shell { background:#fff; border:1px solid #dcecf4; border-radius:16px; overflow:hidden; }
.ep365-portal .ep365-portal-nav { background:#fff; border:0; border-right:1px solid #dcecf4; border-radius:0; padding:20px 14px; }
.ep365-portal-brand { display:block; background:#fff; padding:8px; margin-bottom:16px; }
.ep365-portal-brand img { display:block; width:100%; max-width:180px; height:auto; margin:auto; }
.ep365-portal .ep365-portal-nav-item { color:#243746; border-radius:8px; font-family:inherit; }
.ep365-portal .ep365-portal-nav-item:hover,.ep365-portal .ep365-portal-nav-item.is-active { background:#1c9dd9; color:#fff; }
.ep365-portal .ep365-portal-content { padding:24px; }
.ep365-portal .ep365-portal-welcome { background:linear-gradient(120deg,#127cab,#1c9dd9); color:#fff; padding:28px; border-radius:12px; margin:0 0 20px; }
.ep365-portal .ep365-portal-welcome h2 { color:#fff; font-size:clamp(28px,4vw,40px); margin:8px 0 12px; }
.ep365-portal .ep365-portal-welcome p { color:#fff; line-height:1.6; }
.ep365-welcome-eyebrow { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ep365-portal .ep365-portal-quiz-cta { border-top:1px solid #ffffff55; padding-top:18px; margin-top:18px; gap:16px; }
.ep365-portal .ep365-portal-quiz-cta small { color:#fff; line-height:1.6; }
.ep365-portal .ep365-portal-quiz-cta button { background:#e6077e; color:#fff; border:0; border-radius:8px; padding:12px 20px; }
.ep365-portal .ep365-next-steps { border:1px solid #dcecf4; border-radius:12px; margin-bottom:20px; }
.ep365-portal .ep365-next-steps h3 { font-size:28px; }
.ep365-portal .ep365-portal-overview { gap:14px; }
.ep365-portal .ep365-portal-action-card { border:1px solid #dcecf4; border-radius:12px; }
.ep365-portal .ep365-portal-action-card strong { font-size:16px; line-height:1.5; }
.ep365-portal a:focus-visible,.ep365-portal button:focus-visible { outline:3px solid #e6077e; outline-offset:3px; }
@media(max-width:700px) {
 .ep365-portal .ep365-portal-shell { display:block; }
 .ep365-portal .ep365-portal-nav { position:static; display:flex; flex-wrap:wrap; border-right:0; border-bottom:1px solid #dcecf4; gap:6px; }
 .ep365-portal-brand { flex:0 0 100%; margin-bottom:6px; }
 .ep365-portal-brand img { max-width:150px; }
 .ep365-portal .ep365-portal-nav form { flex:1 1 40%; }
 .ep365-portal .ep365-portal-content { padding:16px; }
 .ep365-portal .ep365-portal-welcome { padding:20px; }
 .ep365-portal .ep365-portal-quiz-cta { display:flex; flex-wrap:wrap; }
 .ep365-portal .ep365-portal-overview { grid-template-columns:1fr; }
}
/* 1.2.0 compact horizontal project path, scrollable on small screens. */
.ep365-portal .ep365-next-steps { padding:14px; }
.ep365-portal .ep365-next-steps h3 { font-size:22px; margin:2px 0 12px; }
.ep365-portal .ep365-next-steps ol { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:8px; overflow-x:auto; padding-bottom:4px; }
.ep365-portal .ep365-next-steps li { padding:10px; gap:6px; grid-template-columns:16px minmax(0,1fr); border-radius:8px; }
.ep365-portal .ep365-next-steps li > span { height:14px; width:14px; margin-top:3px; }
.ep365-portal .ep365-next-steps strong { display:block; font-size:13px; line-height:1.25; }
.ep365-portal .ep365-next-steps small { display:block; font-size:11px; line-height:1.35; margin-top:4px; }
/* 1.2.1: responsive portal refresh. */
.ep365-portal { max-width:1240px; padding:24px 16px; font-size:15px; line-height:1.55; }
.ep365-portal .ep365-portal-shell { grid-template-columns:190px minmax(0,1fr); gap:0; box-shadow:0 12px 40px #18384d0a; }
.ep365-portal .ep365-portal-nav { box-shadow:none; padding:24px 14px; gap:8px; }
.ep365-portal .ep365-portal-nav-item { background:transparent; color:#334155; font-size:15px; font-weight:600; min-height:46px; text-align:left; padding:12px; }
.ep365-portal .ep365-portal-nav-item.is-active { background:#e6f5fc; color:#09638e; box-shadow:inset 3px 0 #149ed6; }
.ep365-portal .ep365-portal-nav-item:hover { background:#edf7fc; color:#09638e; }
.ep365-portal .ep365-portal-content { padding:24px; }
.ep365-portal .ep365-portal-welcome { padding:20px 24px; margin-bottom:16px; box-shadow:none; }
.ep365-portal .ep365-portal-welcome h2 { font-size:clamp(26px,3vw,36px); line-height:1.2; margin:6px 0 8px; }
.ep365-portal .ep365-portal-welcome p { font-size:15px; margin:0; }
.ep365-portal .ep365-portal-quiz-cta { display:flex; align-items:center; margin-top:14px; padding-top:14px; gap:12px; }
.ep365-portal .ep365-portal-quiz-cta > div { flex:1; min-width:0; }
.ep365-portal .ep365-portal-quiz-cta strong { font-size:14px; }
.ep365-portal .ep365-portal-quiz-cta small { display:block; font-size:13px; }
.ep365-portal .ep365-portal-quiz-cta button { min-height:44px; white-space:nowrap; font-size:14px; }
.ep365-portal .ep365-portal-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.ep365-portal .ep365-portal-action-card { padding:16px; min-height:110px; text-align:left; box-shadow:none; transition:box-shadow .15s,border-color .15s; }
.ep365-portal .ep365-portal-action-card:hover { border-color:#149ed6; box-shadow:0 4px 16px #149ed612; }
.ep365-portal .ep365-portal-action-card button { font-family:inherit; text-align:left; height:100%; box-shadow:none; border-radius:0; }
.ep365-portal .ep365-portal-action-card span:not(.dashicons) { display:block; font-size:16px; font-weight:700; color:#243746; }
.ep365-portal .ep365-action-icon { display:inline-flex!important; margin:0 0 8px; width:28px; height:28px; font-size:22px!important; border:0; background:none; }
.ep365-portal .ep365-portal-action-card small { margin-top:4px; font-size:13px; line-height:1.4; }
.ep365-portal .ep365-next-steps { padding:16px; box-shadow:none; }
.ep365-portal .ep365-next-steps ol { grid-template-columns:repeat(5,minmax(0,1fr)); overflow:visible; gap:8px; }
.ep365-portal .ep365-next-steps li { display:flex; flex-direction:column; gap:8px; min-width:0; padding:12px 8px; border:0; background:#f4f8fb; }
.ep365-portal .ep365-next-steps small { font-size:12px; line-height:1.4; }
.ep365-portal .ep365-next-steps strong { font-size:13px; line-height:1.4; }
.ep365-print-note { border-top:1px solid #e3edf3; margin-top:12px; padding-top:8px; font-size:13px; color:#526577; }
.ep365-print-note summary { cursor:pointer; min-height:44px; display:list-item; padding:10px 0; }
.ep365-print-note p { margin:4px 0; }
.ep365-portal .ep365-action-required { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; padding:16px; margin:0 0 16px; border:1px solid #f3d4ac; border-radius:12px; }
.ep365-portal .ep365-action-required strong { font-size:14px; }
.ep365-portal .ep365-action-required span { flex:1 1 220px; font-size:14px; }
.ep365-portal .ep365-action-required a { margin:0; min-height:44px; display:inline-flex; align-items:center; padding:10px 16px; }
.ep365-portal .ep365-delivery-layout { display:block; }
.ep365-portal .ep365-delivery-layout > section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ep365-portal .ep365-delivery-layout > section > h3,.ep365-portal .ep365-delivery-layout > section > p { grid-column:1/-1; margin:0; }
.ep365-portal .ep365-delivery-layout .ep365-portal-card { margin:0; padding:18px; border-color:#dcecf4; border-radius:12px; box-shadow:none; }
.ep365-portal .ep365-delivery-layout p { font-size:14px; line-height:1.55; }
.ep365-portal .ep365-delivery-layout a { display:inline-flex; align-items:center; min-height:44px; margin:10px 0; padding:10px 16px; border-radius:8px; }
.ep365-portal .ep365-delivery-layout h3 { font-size:24px; }
.ep365-portal .ep365-delivery-layout .ep365-portal-card h3 { font-size:20px; }
.ep365-portal img { max-width:100%; }
.ep365-portal :is(h2,h3,p,small,a) { overflow-wrap:anywhere; }
@media(max-width:760px) {
 .ep365-portal { padding:12px 8px; }
 .ep365-portal .ep365-portal-shell { display:block; }
 .ep365-portal .ep365-portal-nav { position:static; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:12px; gap:4px; border-right:0; border-bottom:1px solid #dcecf4; }
 .ep365-portal .ep365-portal-brand { grid-column:1/-1; margin:0 0 8px; padding:0; }
 .ep365-portal .ep365-portal-brand img { max-width:130px; }
 .ep365-portal .ep365-portal-nav-item { font-size:12px; padding:10px 4px; text-align:center; }
 .ep365-portal .ep365-portal-content { padding:14px; }
 .ep365-portal .ep365-portal-welcome { padding:18px; }
 .ep365-portal .ep365-portal-quiz-cta { flex-wrap:wrap; }
 .ep365-portal .ep365-portal-quiz-cta > .dashicons { display:none; }
 .ep365-portal .ep365-portal-quiz-cta button { padding:10px 14px; }
 .ep365-portal .ep365-portal-overview { grid-template-columns:1fr; gap:8px; }
 .ep365-portal .ep365-portal-action-card { min-height:64px; padding:12px 14px; }
 .ep365-portal .ep365-action-icon { float:left; margin:8px 12px 8px 0; }
 .ep365-portal .ep365-next-steps ol { grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
 .ep365-portal .ep365-next-steps li { padding:8px 3px; align-items:center; text-align:center; }
 .ep365-portal .ep365-next-steps strong { font-size:11px; overflow-wrap:anywhere; }
 .ep365-portal .ep365-next-steps li small { display:none; }
 .ep365-portal .ep365-delivery-layout > section { grid-template-columns:1fr; }
}
.ep365-login-details { margin:16px 0 0; }
.ep365-login-details > div { padding:10px 0; border-top:1px solid #e3edf3; }
.ep365-login-details dt { font-size:12px; font-weight:700; color:#526577; }
.ep365-login-details dd { margin:4px 0 0; overflow-wrap:anywhere; }
.ep365-login-details summary { cursor:pointer; min-height:44px; padding:10px 0; }
.ep365-login-details code { white-space:pre-wrap; overflow-wrap:anywhere; }
