.KPKC-center{--KPKC-border:#d7dde6;--KPKC-soft:#f5f7fa;--KPKC-muted:#667085;--KPKC-ink:#172033;font-family:inherit;color:var(--KPKC-ink)}
.KPKC-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:720px;border:1px solid var(--KPKC-border);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 10px 34px rgba(23,32,51,.08)}
.KPKC-folder-pane{background:#f7f9fc;border-right:1px solid var(--KPKC-border);padding:16px 12px}
.KPKC-folder-title{font-size:18px;font-weight:700;margin:2px 8px 14px}
.KPKC-folder-subtitle{margin:22px 8px 8px;color:var(--KPKC-muted);font-size:12px;font-weight:800;text-transform:uppercase}
.KPKC-folders,.KPKC-category-filter{display:grid;gap:4px}
.KPKC-folders a,.KPKC-category-filter a{display:flex;align-items:center;min-height:38px;padding:0 10px;border-radius:6px;text-decoration:none;color:#344054;font-weight:600}
.KPKC-folders a.is-active,.KPKC-folders a:hover,.KPKC-category-filter a.is-active,.KPKC-category-filter a:hover{background:#e9f1ff;color:var(--KPKC-primary)}
.KPKC-category-filter span{display:inline-flex;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}
.KPKC-main-pane{display:grid;grid-template-rows:260px minmax(0,1fr);min-width:0;background:#fff}
.KPKC-message-list{border-bottom:1px solid var(--KPKC-border);overflow:auto;background:#fff}
.KPKC-list-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 16px;border-bottom:1px solid var(--KPKC-border);background:#fff}
.KPKC-list-header span{color:var(--KPKC-muted);font-size:13px}
.KPKC-row{border-bottom:1px solid #edf0f4;background:#fff}
.KPKC-row a{display:grid;grid-template-columns:18px minmax(180px,1.4fr) minmax(130px,.8fr) auto 92px;gap:12px;align-items:center;min-height:44px;padding:8px 14px;text-decoration:none;color:inherit}
.KPKC-row:hover{background:#f8fbff}.KPKC-row.is-selected{background:#edf5ff}.KPKC-row.is-unread .KPKC-row-title{font-weight:800}
.KPKC-read-dot{width:8px;height:8px;border-radius:999px;background:transparent}.KPKC-row.is-unread .KPKC-read-dot{background:var(--KPKC-primary)}
.KPKC-row-title,.KPKC-row-sender{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.KPKC-row-sender,.KPKC-row-date{color:var(--KPKC-muted);font-size:13px}.KPKC-row-date{text-align:right}
.KPKC-reading-pane{min-width:0;background:#fff;overflow:auto}
.KPKC-message-detail{padding:26px 30px;max-width:920px}
.KPKC-message-detail h2{font-size:28px;line-height:1.2;margin:10px 0 4px}.KPKC-date{font-size:13px;color:var(--KPKC-muted);margin-bottom:22px}
.KPKC-detail-tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.KPKC-detail-image{width:100%;max-height:300px;object-fit:cover;display:block;border-radius:8px;margin:0 0 18px}
.KPKC-content{margin:20px 0;line-height:1.65;font-size:16px}
.KPKC-actions{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0;padding-top:18px;border-top:1px solid var(--KPKC-border)}
.KPKC-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:0;border-radius:6px;background:var(--KPKC-button);color:#fff;text-decoration:none;cursor:pointer;font-weight:700}
.KPKC-button-secondary{background:#eef2f8;color:#1f2a3d;border:1px solid var(--KPKC-border)}
.KPKC-priority,.KPKC-category-badge{display:inline-flex;width:max-content;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;text-transform:capitalize}
.KPKC-priority{background:#eef2f7;color:#344054}.KPKC-priority-important{background:#fff4d6;color:#8a5a00}.KPKC-priority-urgent{background:#ffe4e6;color:#be123c}
.KPKC-placeholder,.KPKC-empty{padding:28px;color:var(--KPKC-muted)}
.KPKC-reply-panel{margin-top:18px;border:1px solid var(--KPKC-border);border-radius:8px;overflow:hidden;background:#fff}
.KPKC-editor-toolbar{display:flex;gap:6px;padding:8px;border-bottom:1px solid var(--KPKC-border);background:#f8fafc}.KPKC-editor-toolbar button{width:34px;height:32px;border:1px solid var(--KPKC-border);border-radius:5px;background:#fff;cursor:pointer}
.KPKC-reply-editor{min-height:140px;padding:12px;outline:none}.KPKC-reply-panel .KPKC-button{margin:0 12px 12px}
.KPKC-sent-reply{margin:22px 0;padding:16px;border:1px solid var(--KPKC-border);border-radius:8px;background:#f8fafc}.KPKC-sent-reply h3{margin:0 0 6px}.KPKC-sent-reply-date{margin-bottom:10px;color:var(--KPKC-muted);font-size:13px}
.KPKC-units{margin-top:18px}.KPKC-units h2{font-size:20px}.KPKC-unit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.KPKC-unit{border:1px solid var(--KPKC-border);border-radius:8px;padding:14px;background:#fff}
.KPKC-modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(15,23,42,.55);z-index:99999;padding:16px}
.KPKC-modal-dialog{max-width:720px;width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;gap:14px;border-radius:8px;background:#fff;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.KPKC-modal-dialog h2{margin:0}
.KPKC-modal-meta{font-size:13px;color:var(--KPKC-muted)}
.KPKC-modal-content{overflow-y:auto;max-height:calc(100vh - 260px);padding-right:6px}
.KPKC-modal-content p:first-child{margin-top:0}
.KPKC-modal-content p:last-child{margin-bottom:0}
.KPKC-modal-actions{display:flex;gap:10px;flex-wrap:wrap}
.KPKC-popup-reply-panel{border-top:1px solid var(--KPKC-border);padding-top:12px;display:grid;gap:10px}
.KPKC-popup-reply-editor{min-height:130px;max-height:260px;overflow:auto;border:1px solid var(--KPKC-border);border-radius:6px;padding:10px;outline:none;background:#fff}
.KPKC-popup-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.KPKC-popup-upload input[type="file"]{max-width:100%}

.KPKC-confirm-overlay{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;padding:16px}
.KPKC-confirm-overlay.is-visible{display:flex}
.KPKC-confirm-dialog{width:100%;max-width:460px;background:#fff;border-radius:8px;box-shadow:0 24px 64px rgba(0,0,0,.24);padding:18px;display:grid;gap:12px}
.KPKC-confirm-title{margin:0;font-size:20px;line-height:1.25}
.KPKC-confirm-text{margin:0;color:var(--KPKC-muted)}
.KPKC-confirm-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.KPKC-count-badge{display:inline-flex;min-width:1.6em;min-height:1.6em;align-items:center;justify-content:center;border-radius:999px;background:var(--KPKC-primary,#1f6feb);color:#fff;font-size:.85em;font-weight:700}
@media (max-width:900px){.KPKC-shell{grid-template-columns:1fr}.KPKC-folder-pane{border-right:0;border-bottom:1px solid var(--KPKC-border)}.KPKC-folders,.KPKC-category-filter{display:flex;overflow:auto}.KPKC-folders a,.KPKC-category-filter a{white-space:nowrap}.KPKC-main-pane{grid-template-rows:auto auto}.KPKC-row a{grid-template-columns:14px minmax(0,1fr);gap:8px}.KPKC-row-sender,.KPKC-row-date,.KPKC-category-badge{grid-column:2}.KPKC-message-detail{padding:20px}.KPKC-modal-dialog{max-width:100%;padding:16px}}

.kpkc-login-widget{max-width:520px;border:1px solid #d7dde6;border-radius:4px;padding:20px;background:#fff;display:grid;gap:10px}
.kpkc-login-title{margin:0;font-size:30px;line-height:1.1}
.kpkc-login-subtitle{margin:0 0 8px;color:#667085}
.kpkc-login-form{display:grid;gap:10px}
.kpkc-login-form label{display:grid;gap:6px;font-weight:600}
.kpkc-login-input{min-height:42px;border:1px solid #c7cfdd;border-radius:4px;padding:0 12px}
.kpkc-login-check{display:flex !important;align-items:center;gap:8px;font-weight:500 !important}
.kpkc-login-submit{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:0 14px;background:#5a2dbf;color:#fff;border:1px solid #5a2dbf;border-radius:4px;font-weight:700;cursor:pointer;text-decoration:none}
.kpkc-login-link{background:none;border:0;padding:0;color:#5a2dbf;font-weight:600;cursor:pointer;text-align:left}
.kpkc-login-feedback{min-height:20px;font-size:14px;color:#1f2937}
.kpkc-forgot-modal{position:fixed;inset:0;background:rgba(15,23,42,.58);display:grid;place-items:center;z-index:100000;padding:16px}
.kpkc-forgot-modal[hidden]{display:none !important}
.kpkc-forgot-dialog{width:100%;max-width:520px;background:#fff;border:1px solid #d7dde6;border-radius:4px;padding:20px;position:relative;display:grid;gap:10px}
.kpkc-forgot-close{position:absolute;right:8px;top:8px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer}
.KPKC-frontend-toast{position:fixed;right:16px;bottom:16px;z-index:100002;min-width:260px;max-width:420px;background:#1f2b48;color:#fff;border:1px solid #2e3a59;border-radius:2px;padding:10px 12px;opacity:0;transform:translateY(10px);transition:all .22s ease}
.KPKC-frontend-toast.is-visible{opacity:1;transform:translateY(0)}
.KPKC-frontend-toast.is-error{background:#8f1d1d;border-color:#c24141}
.gateport-kc {
	--gateport-sidebar-width: 280px;
	--gateport-menu-bg: #121b44;
	--gateport-menu-text: #ffffff;
	--gateport-menu-active-bg: #5b3df2;
	--gateport-menu-active-text: #ffffff;
	--gateport-menu-hover-bg: #283471;
	--gateport-content-bg: #ffffff;
	--gateport-content-text: #0f172a;
	--gateport-titlebar-bg: #0f1a44;
	--gateport-titlebar-text: #e8edff;
	display: grid;
	grid-template-columns: var(--gateport-sidebar-width) 1fr;
	gap: 18px;
	padding: 12px;
	background: #f6f8fc;
	border: 1px solid #dbe2ee;
}
.gateport-kc.gateport-sidebar--collapsed,
.gateport-kc.gateport-sidebar--auto-collapsed {
	--gateport-sidebar-width: 72px;
}

.gateport-kc.gateport-sidebar--collapsed:not(.gateport-kc-layout-top):not(.gateport-kc-layout-compact),
.gateport-kc.gateport-sidebar--auto-collapsed:not(.gateport-kc-layout-top):not(.gateport-kc-layout-compact) {
	grid-template-columns: 72px minmax(0, 1fr) !important;
}

.gateport-kc.gateport-sidebar--collapsed.gateport-kc-layout-right,
.gateport-kc.gateport-sidebar--auto-collapsed.gateport-kc-layout-right {
	grid-template-columns: minmax(0, 1fr) 72px !important;
}

.gateport-kc.gateport-sidebar--collapsed .gateport-kc-menu,
.gateport-kc.gateport-sidebar--auto-collapsed .gateport-kc-menu {
	width: 72px;
	max-width: 72px;
}
.gateport-kc-wrap { display: grid; gap: 10px; }

.gateport-kc-titlebar {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: var(--gateport-titlebar-bg);
	color: var(--gateport-titlebar-text);
	padding: 10px 14px;
	border: 1px solid #1b2b63;
}
.gateport-kc-titlebar-left,
.gateport-kc-titlebar-right {
	display: flex;
	align-items: center;
	gap: 10px;
}
.gateport-kc-brand { font-weight: 700; color: #fff; }
.gateport-kc-logo { max-height: 30px; width: auto; display: block; }
.gateport-kc-username { color: #d6ddff; font-weight: 600; }
.gateport-kc-logout { color: #fff !important; text-decoration: underline; }

.gateport-kc-layout-right {
	grid-template-columns: 1fr var(--gateport-sidebar-width);
}

.gateport-kc-layout-right .gateport-kc-menu {
	order: 2;
}

.gateport-kc-layout-right .gateport-kc-content {
	order: 1;
}

.gateport-kc-layout-top,
.gateport-kc-layout-compact {
	grid-template-columns: 1fr;
}

.gateport-kc-layout-top .gateport-kc-menu {
	width: 100%;
}

.gateport-kc-layout-top .gateport-kc-menu-strip {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 10px;
}

.gateport-kc-layout-top .gateport-kc-menu-strip .gateport-kc-menu-item {
	border-bottom: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 10px 14px;
	line-height: 1.2;
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: auto !important;
	white-space: nowrap;
}

.gateport-kc-menu {
	background: var(--gateport-menu-bg);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.gateport-sidebar-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
	background: rgba(255, 255, 255, 0.05);
	color: var(--gateport-menu-text);
	cursor: pointer;
	font-weight: 700;
}

.gateport-sidebar-toggle:hover,
.gateport-sidebar-toggle:focus {
	background: var(--gateport-menu-hover-bg);
	outline: 2px solid rgba(255, 255, 255, 0.35);
	outline-offset: -2px;
}

.gateport-kc-menu-list,
.gateport-kc-menu-strip {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gateport-kc-menu-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	text-decoration: none;
	color: var(--gateport-menu-text) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 17px;
	font-weight: 700;
}

.gateport-kc-menu-icon {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	font-size: 22px;
	line-height: 24px;
	text-align: center;
}

.gateport-sidebar--collapsed .gateport-kc-menu-item,
.gateport-sidebar--auto-collapsed .gateport-kc-menu-item {
	justify-content: center;
	padding-left: 8px;
	padding-right: 8px;
	position: relative;
}

.gateport-sidebar--collapsed .gateport-kc-menu-item::after,
.gateport-sidebar--auto-collapsed .gateport-kc-menu-item::after {
	content: attr(data-menu-tooltip);
	position: absolute;
	left: calc(100% + 10px);
	top: 50%;
	z-index: 50;
	max-width: 240px;
	padding: 7px 10px;
	background: #111827;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.28);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	opacity: 0;
	pointer-events: none;
	transform: translate(4px, -50%);
	transition: opacity .14s ease, transform .14s ease;
	white-space: nowrap;
}

.gateport-sidebar--collapsed .gateport-kc-menu-item:hover::after,
.gateport-sidebar--collapsed .gateport-kc-menu-item:focus::after,
.gateport-sidebar--auto-collapsed .gateport-kc-menu-item:hover::after,
.gateport-sidebar--auto-collapsed .gateport-kc-menu-item:focus::after {
	opacity: 1;
	transform: translate(0, -50%);
}

.gateport-sidebar--collapsed .gateport-kc-menu-label,
.gateport-sidebar--collapsed .gateport-sidebar-toggle-label,
.gateport-sidebar--auto-collapsed .gateport-kc-menu-label,
.gateport-sidebar--auto-collapsed .gateport-sidebar-toggle-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.gateport-kc-menu-item:hover,
.gateport-kc-menu-item:focus {
	background: var(--gateport-menu-hover-bg);
	color: var(--gateport-menu-active-text) !important;
}

.gateport-kc-menu-item.is-active {
	background: var(--gateport-menu-active-bg);
	color: var(--gateport-menu-active-text) !important;
	font-weight: 700;
}

.gateport-kc-content {
	background: var(--gateport-content-bg);
	border: 1px solid #d9dee8;
	padding: 18px;
	min-height: 320px;
	color: var(--gateport-content-text);
}

.gateport-kc-preview-note {
	margin: 0 0 12px;
	padding: 10px 12px;
	background: #fff8e8;
	border: 1px solid #f7c56f;
	color: #5f3b00;
	font-size: 13px;
}

.gateport-confirm-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-top: 14px;
}

.gateport-kc-section h2 {
	margin-top: 0;
}

.gateport-kc-datasheet {
	display: grid;
	gap: 10px;
}

.gateport-kc-row {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 14px;
	align-items: start;
}

.gateport-kc-key {
	font-weight: 700;
	color: #223047;
}

.gateport-kc-val {
	color: #0f172a;
}

.gateport-kc-list {
	margin: 0;
	padding-left: 20px;
}

.gateport-kc-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}
.gateport-kc-overview-card {
	border: 1px solid #d9dee8;
	background: #f8faff;
	padding: 12px;
}
.gateport-kc-overview-card h3 {
	margin: 0 0 6px;
	font-size: 16px;
}
.gateport-kc-overview-card p {
	margin: 0;
}

.gateport-kc-empty,
.gateport-kc-logged-out {
	background: #fff;
	border: 1px solid #d9dee8;
	padding: 16px;
}

.gateport-kc-login-link {
	display: inline-block;
	background: #5c3cf5;
	color: #fff;
	padding: 8px 14px;
	text-decoration: none;
}

@media (max-width: 900px) {
	.gateport-kc,
	.gateport-kc-layout-right {
		grid-template-columns: 1fr;
	}
	.gateport-kc-layout-top .gateport-kc-menu-list {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0;
	}
	.gateport-kc-layout-top .gateport-kc-menu-strip {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0;
	}
	.gateport-kc-layout-top .gateport-kc-menu-item {
		border-left: 0;
		border-right: 0;
	}
	.gateport-kc-titlebar {
		flex-direction: column;
		align-items: flex-start;
	}
	.gateport-kc-row {
		grid-template-columns: 1fr;
		gap: 6px;
	}
}

.kpkc-register-widget {
	width: 100%;
	max-width: 680px;
	border: 1px solid #d7dde6;
	border-radius: 4px;
	padding: 20px;
	background: #ffffff;
	display: grid;
	gap: 12px;
}

.kpkc-register-widget-wrap {
	width: 100%;
	display: flex;
}

.kpkc-register-title {
	margin: 0;
	font-size: 30px;
	line-height: 1.1;
}

.kpkc-register-subtitle {
	margin: 0;
	color: #667085;
}

.kpkc-register-form {
	display: grid;
	gap: 10px;
}

.kpkc-register-form label {
	display: grid;
	gap: 6px;
	font-weight: 600;
}

.kpkc-register-input {
	min-height: 42px;
	border: 1px solid #c7cfdd;
	border-radius: 4px;
	padding: 0 12px;
	background: #ffffff;
	color: #172033;
}

.kpkc-register-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid #5a2dbf;
	border-radius: 4px;
	background: #5a2dbf;
	color: #ffffff;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
}

.kpkc-register-feedback {
	display: none;
	min-height: 0;
	font-size: 0;
}

.kpkc-register-feedback.is-success {
	color: #126944;
}

.kpkc-register-feedback.is-error {
	color: #b42318;
}

.kpkc-register-check {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-weight: 500;
}

.kpkc-privacy-modal,
.kpkc-optin-pending-modal,
.kpkc-register-popup {
	position: fixed;
	inset: 0;
	background: rgba(5, 10, 30, .56);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.kpkc-privacy-modal[hidden],
.kpkc-optin-pending-modal[hidden],
.kpkc-register-popup[hidden] {
	display: none !important;
}

.kpkc-privacy-dialog,
.kpkc-optin-pending-dialog,
.kpkc-register-popup-dialog {
	width: min(760px, 100%);
	max-height: 82vh;
	background: #fff;
	border-radius: 6px;
	padding: 20px;
	overflow: auto;
	position: relative;
}

.kpkc-privacy-close {
	position: absolute;
	top: 8px;
	right: 8px;
	border: 1px solid #c7cfdd;
	background: #fff;
	border-radius: 4px;
	width: 32px;
	height: 32px;
	cursor: pointer;
}

.kpkc-privacy-body {
	padding-top: 24px;
}

.gateport-kc-profile-form {
	display: grid;
	gap: 8px;
}

.gateport-kc-profile-form label {
	display: grid;
	gap: 4px;
}

.gateport-kc-profile-form input {
	min-height: 40px;
	border: 1px solid #c7cfdd;
	border-radius: 4px;
	padding: 0 10px;
}

.gateport-kc-btn {
	min-height: 40px;
	border: 1px solid #5a2dbf;
	background: #5a2dbf;
	color: #fff;
	border-radius: 4px;
	padding: 0 14px;
	cursor: pointer;
}

.gateport-kc-btn-secondary {
	background: #ffffff;
	color: #172033;
	border-color: #c7cfdd;
}

.gateport-kc-profile-edit-actions {
	margin-top: 16px;
}

.gateport-kc-modal {
	position: fixed;
	inset: 0;
	background: rgba(5, 10, 30, .56);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.gateport-kc-modal[hidden] {
	display: none !important;
}

.gateport-kc-modal-dialog {
	width: min(820px, 100%);
	max-height: 88vh;
	background: #fff;
	border-radius: 6px;
	padding: 18px;
	overflow: auto;
}

.gateport-kc-modal-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.gateport-kc-modal-close {
	border: 1px solid #c7cfdd;
	background: #fff;
	border-radius: 4px;
	width: 32px;
	height: 32px;
	cursor: pointer;
}

.gateport-kc-profile-form-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.gateport-kc-feedback.is-error {
	color: #b42318;
}

.gateport-kc-optin-modal.is-open {
	display: block;
}

.gateport-kc-downloads-wrap{display:grid;gap:12px}
.gateport-kc-downloads-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.gateport-kc-downloads-search,.gateport-kc-downloads-filter{min-height:40px;border:1px solid #c7cfdd;background:#fff;padding:0 10px}
.gateport-kc-downloads-search{min-width:260px;flex:1}
.gateport-kc-downloads{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.gateport-kc-download-card{border:1px solid #d5dced;background:#fff;padding:0}
.gateport-kc-download-card-inner{padding:14px;display:grid;gap:8px}
.gateport-kc-download-card-inner.is-disabled{opacity:.55;background:#f4f6fb}
.gateport-kc-download-card h3{margin:0;font-size:19px}
.gateport-kc-download-card p{margin:0;color:#334155}
.gateport-kc-download-category{display:inline-flex;width:max-content;border:1px solid #d7dff1;background:#eef3ff;color:#2f4478;padding:2px 8px;font-size:12px}
.gateport-kc-download-meta{display:flex;gap:10px;color:#5b6780;font-size:12px}
.gateport-kc-download-badge{display:inline-flex;width:max-content;background:#ebf7ee;color:#0f6b2a;border:1px solid #b8e4c4;padding:3px 8px;font-size:12px;font-weight:700}
.gateport-kc-download-badge.is-limit{background:#fff1f1;color:#9f1c1c;border-color:#f0bcbc}
.gateport-kc-btn-disabled{background:#a1a8bb;border-color:#a1a8bb;cursor:pointer}
.gateport-kc-download-card .gateport-kc-btn{
	display:inline-flex;
	width:auto;
	align-self:start;
	justify-self:start;
}

.gateport-kc-memberships{display:grid;gap:14px}
.gateport-kc-membership-card{border:1px solid #d5dced;background:#fff;padding:14px;display:grid;gap:8px}
.gateport-kc-membership-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.gateport-kc-membership-subtitle{color:#475569;font-size:14px}
.gateport-kc-membership-description{margin:0;color:#334155}
.gateport-kc-membership-meta{display:flex;gap:14px;flex-wrap:wrap;color:#5b6780;font-size:13px}
.gateport-kc-membership-status{display:inline-flex;padding:3px 8px;font-size:12px;font-weight:700;border:1px solid #c9d2e3}
.gateport-kc-membership-status.is-active{background:#e8f7ec;color:#136f32;border-color:#b7e2c3}
.gateport-kc-membership-status.is-past{background:#f4f6fb;color:#475569;border-color:#d5dced}
.gateport-kc-membership-cancel-btn{justify-self:start;align-self:start;width:auto;max-width:100%;min-width:0;background:#fff;color:#172033!important;border-color:#c7cfdd;padding:0 14px;line-height:1.2;white-space:normal;text-align:center}
.gateport-kc-membership-cancel-btn:hover,.gateport-kc-membership-cancel-btn:focus{background:#f8faff;color:#0f1a44!important;border-color:#8b98ad;outline:2px solid rgba(90,45,191,.16);outline-offset:2px}
.gateport-kc-membership-past-list{display:grid;gap:8px}
.gateport-kc-membership-past-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #d5dced;background:#fff;padding:10px 12px}
.gateport-kc-cancel-membership-form{display:grid;gap:10px}
.gateport-kc-cancel-membership-form label{display:grid;gap:4px}
.gateport-kc-cancel-membership-form input{min-height:40px;border:1px solid #c7cfdd;border-radius:4px;padding:0 10px}

.gateport-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.gateport-course-card,.gateport-module-panel,.gateport-lesson-detail{border:1px solid #d5dced;background:#fff;border-radius:10px;box-shadow:0 6px 18px rgba(23,32,51,.05);overflow:hidden}
.gateport-course-card-body,.gateport-course-detail,.gateport-lesson-detail{padding:18px}
.gateport-course-card h3,.gateport-course-detail h2,.gateport-course-detail h3,.gateport-lesson-detail h3{margin:6px 0;font-size:22px;color:#172033}
.gateport-course-card p,.gateport-module-panel p,.gateport-lesson-row p{margin:4px 0;color:#475569}
.gateport-course-cover{width:100%;max-height:260px;object-fit:cover;display:block;border-radius:8px}
.gateport-course-detail{display:grid;gap:18px;width:100%;max-width:none!important;box-sizing:border-box}
.gateport-course-back-btn{justify-self:start}
.gateport-course-detail .gateport-course-cover{width:100%;max-height:360px}
.gateport-course-detail-info{min-width:0;width:100%;max-width:none!important}
.gateport-course-detail-info h2{font-size:28px;line-height:1.18}
.gateport-course-description{display:grid;gap:12px;width:100%;max-width:none;color:#172033}
.gateport-course-description p{margin:0;max-width:none}
.gateport-course-short-description{font-size:17px;line-height:1.6}
.gateport-course-info-toggle{margin-top:2px}
.gateport-course-info-toggle summary{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid #cbd5e1;background:#f8faff;color:#3f24a8;border-radius:4px;font-weight:800;cursor:pointer;list-style:none}
.gateport-course-info-toggle summary::-webkit-details-marker{display:none}
.gateport-course-info-toggle summary:hover,.gateport-course-info-toggle summary:focus{border-color:#5b3df2;background:#f2efff;outline:none}
.gateport-course-long-description{font-size:16px;line-height:1.6}
.gateport-course-info-toggle .gateport-course-long-description{margin-top:12px;padding:14px 16px;border:1px solid #e1e6ef;background:#fff;border-radius:6px}
.gateport-course-long-description p{margin:0 0 10px}
.gateport-course-long-description p:last-child{margin-bottom:0}
.gateport-module-cover{width:150px;max-width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;flex:0 0 150px}
.gateport-lesson-thumb{width:78px;height:58px;object-fit:cover;border-radius:5px;flex:0 0 78px}
.gateport-lesson-row-main{min-width:0;flex:1}
.gateport-course-subtitle,.gateport-lesson-context{font-size:14px;color:#64748b}
.gateport-course-meta{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0;color:#64748b;font-size:13px}
.gateport-course-progress{display:grid;gap:9px;margin:14px 0 16px;width:100%;max-width:720px;padding:12px;border:1px solid #dbe2ee;background:#f8faff;border-radius:8px}
.gateport-course-progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#334155;font-size:13px;line-height:1.35}
.gateport-course-progress-head strong{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#5b3df2;color:#fff;font-size:14px;line-height:1.25;white-space:nowrap}
.gateport-course-progress-head span{display:block}
.gateport-course-progress-track{height:12px;background:#e5eaf3;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,23,42,.12)}
.gateport-course-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#5b3df2,#24b47e);border-radius:999px}
.gateport-course-progress--lesson{max-width:420px;margin:10px 0 0;padding:8px;border-radius:6px}
.gateport-course-progress--lesson .gateport-course-progress-head{justify-content:flex-start;align-items:center;gap:8px}
.gateport-course-progress--lesson .gateport-course-progress-head strong{min-height:24px;padding:0 8px;font-size:12px}
.gateport-course-progress--lesson .gateport-course-progress-head span{font-size:12px}
.gateport-course-progress--lesson .gateport-course-progress-track{height:8px}
.gateport-course-detail-head{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:22px;margin:0;width:100%;max-width:none!important;align-items:start}
.gateport-course-detail-head.is-no-cover{display:block;width:100%;max-width:none!important}
.gateport-course-detail-head.is-no-cover .gateport-course-detail-info{width:100%;max-width:none!important}
.gateport-module-panel{margin:0 0 14px;padding:15px}
.gateport-module-panel.is-locked,.gateport-lesson-row.is-locked{background:#f4f6fa;color:#64748b;opacity:.76}
.gateport-module-head{display:flex;gap:12px;justify-content:space-between;align-items:start}
.gateport-module-info{flex:1;min-width:0}
.gateport-lesson-list{display:grid;gap:8px;margin-top:12px}
.gateport-lesson-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:1px solid #e1e6ef;background:#fff;border-radius:6px}
.gateport-lesson-row h5{margin:0;color:#172033;font-size:16px}
.gateport-lesson-row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:max-content}
.gateport-kc-section-courses .gateport-course-detail,.gateport-kc-section-courses .gateport-course-detail-head,.gateport-kc-section-courses .gateport-course-detail-info{width:100%;max-width:none}
.gateport-description-toggle{margin:8px 0 10px}
.gateport-description-toggle summary{cursor:pointer;color:#5a2dbf;font-weight:700;list-style:none}
.gateport-description-toggle summary::-webkit-details-marker{display:none}
.gateport-description-toggle .when-open{display:none}
.gateport-description-toggle[open] .when-open{display:inline}
.gateport-description-toggle[open] .when-closed{display:none}
.gateport-description-toggle>div{padding-top:8px;color:#334155}
.gateport-kc-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}
.gateport-kc-btn--small{min-height:34px;padding:0 11px;font-size:13px}
.gateport-kc-badge{display:inline-flex;width:max-content;padding:3px 8px;border:1px solid #c9d2e3;background:#f4f6fb;color:#475569;font-size:12px;font-weight:700}
.gateport-kc-badge--ok{background:#e8f7ec;color:#136f32;border-color:#b7e2c3}
.gateport-lesson-content{margin:16px 0}
.gateport-lesson-video-wrap{display:grid;gap:8px;width:100%;margin:0 0 18px}
.gateport-lesson-video-wrap--small{max-width:420px}
.gateport-lesson-video-wrap--medium{max-width:640px}
.gateport-lesson-video-wrap--large{max-width:860px}
.gateport-lesson-video-wrap--full{max-width:100%}
.gateport-lesson-video{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#111827}
.gateport-lesson-video iframe,.gateport-lesson-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.gateport-lesson-video video{object-fit:contain;background:#000;cursor:pointer}
.gateport-video-play{position:absolute;left:50%;top:50%;z-index:3;width:62px;height:62px;border:0;border-radius:999px;background:#fff;color:#111827;box-shadow:0 14px 32px rgba(15,23,42,.32);transform:translate(-50%,-50%);cursor:pointer}
.gateport-video-play::before{content:"";position:absolute;left:25px;top:18px;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:19px solid currentColor}
.gateport-lesson-video--custom.is-playing>.gateport-video-play{opacity:0;pointer-events:none}
.gateport-video-controls{position:absolute;left:10px;right:10px;bottom:10px;z-index:4;display:flex;align-items:center;gap:8px;padding:8px;background:rgba(15,23,42,.78);color:#fff;border-radius:6px}
.gateport-video-control-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff;border-radius:4px;padding:0;cursor:pointer}
.gateport-video-control-btn:hover,.gateport-video-control-btn:focus{background:rgba(255,255,255,.22);outline:2px solid rgba(255,255,255,.32);outline-offset:1px}
.gateport-video-control-btn--play .gateport-video-control-icon::before{content:"";display:block;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor;margin-left:2px}
.gateport-lesson-video--custom.is-playing .gateport-video-control-btn--play .gateport-video-control-icon::before{width:4px;height:16px;border:0;border-left:5px solid currentColor;border-right:5px solid currentColor;margin-left:0}
.gateport-video-control-btn--fullscreen .gateport-video-control-icon::before{content:"";display:block;width:16px;height:16px;border:2px solid currentColor;box-sizing:border-box}
.gateport-video-progress{flex:1;min-width:80px}
.gateport-video-time{font-size:12px;font-weight:700;white-space:nowrap}
.gateport-video-poster,.gateport-video-popup-trigger{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:8px;background:#111827 center/cover no-repeat;cursor:pointer;overflow:hidden}
.gateport-video-poster::after,.gateport-video-popup-trigger::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.08),rgba(15,23,42,.42))}
.gateport-video-poster .gateport-video-play,.gateport-video-popup-trigger .gateport-video-play{pointer-events:none}
.gateport-video-modal[hidden]{display:none!important}
.gateport-video-modal{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;padding:0}
.gateport-video-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.78)}
.gateport-video-modal-dialog{position:relative;z-index:1;width:100vw;height:100vh;display:grid;place-items:center;background:#050816;padding:48px 24px 24px;box-sizing:border-box}
.gateport-video-modal-dialog .gateport-lesson-video{width:100%;max-width:1200px;max-height:calc(100vh - 86px);border-radius:0}
.gateport-video-modal-close{position:absolute;right:18px;top:14px;z-index:2;width:38px;height:38px;border:0;border-radius:999px;background:#fff;color:#111827;font-size:24px;line-height:1;cursor:pointer}
.gateport-lesson-video-download{margin:0}
.gateport-lesson-questionnaire-preview{padding:12px;border:1px dashed #b8c2d8;background:#f8faff}
.gateport-lesson-questionnaire-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid #d7deea;background:#f8faff;border-radius:8px;margin:14px 0}
.gateport-lesson-questionnaire-card h4{margin:0 0 6px;color:#172033}
.gateport-lesson-questionnaire-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#56657a}
.gateport-lesson-questionnaire-meta span{padding:3px 7px;background:#fff;border:1px solid #dfe6f1;border-radius:999px}
.gateport-lesson-questionnaire-questions{display:grid;gap:8px;margin:12px 0 0;padding-left:22px;color:#172033}
.gateport-lesson-questionnaire-questions li{padding-left:2px}
.gateport-lesson-questionnaire-questions strong{display:block;margin:0 0 2px;font-size:14px}
.gateport-lesson-questionnaire-questions span{display:block;color:#56657a;font-size:13px;line-height:1.35}
.gateport-lesson-questionnaire-questions span.is-answer{color:#172033;font-weight:700}
.gateport-lesson-questionnaire-note{margin:8px 0 0;color:#7f1d1d;font-size:13px}
.gateport-lesson-questionnaire-actions .gateport-kc-btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(1)}
.gateport-questionnaire-modal[hidden]{display:none!important}
.gateport-questionnaire-modal{position:fixed;inset:0;z-index:100002;display:grid;place-items:center;padding:18px}
.gateport-questionnaire-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.7)}
.gateport-questionnaire-modal-dialog{position:relative;z-index:1;width:min(920px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:#fff;border-radius:8px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.gateport-questionnaire-modal-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:999px;background:#111827;color:#fff;font-size:22px;cursor:pointer}
.gateport-lesson-complete-form{margin:18px 0}
.gateport-lesson-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.gateport-course-empty{padding:16px;border:1px solid #d5dced;background:#fff}
@media (max-width:680px){.gateport-course-detail-head{grid-template-columns:1fr}.gateport-lesson-row,.gateport-module-head{align-items:stretch;flex-direction:column}.gateport-module-cover,.gateport-lesson-thumb{width:100%;height:auto;flex-basis:auto}.gateport-lesson-row-actions{justify-content:flex-start}.gateport-lesson-nav{flex-direction:column}.gateport-lesson-nav .gateport-kc-btn{width:100%}}

.gateport-view-lesson .gateport-kc-content {
	padding: 26px;
}

.gateport-lesson-detail--focused {
	border: 0;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
	padding: 0;
	max-width: none;
}

.gateport-lesson-header {
	display: grid;
	gap: 14px;
}

.gateport-lesson-header-top {
	display: flex;
	align-items: center;
	gap: 18px;
	padding-bottom: 10px;
	border-bottom: 2px solid #172033;
}

.gateport-lesson-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 28px;
	background: #0f1a44;
	color: #ffffff !important;
	text-decoration: none;
	font-weight: 700;
}

.gateport-lesson-back:hover,
.gateport-lesson-back:focus {
	background: #1b2b63;
	outline: 2px solid #5b3df2;
	outline-offset: 2px;
}

.gateport-lesson-context {
	display: grid;
	gap: 2px;
	color: #172033;
	font-size: 17px;
	line-height: 1.3;
}

.gateport-lesson-context span {
	color: #334155;
}

.gateport-lesson-title {
	margin: 0;
	padding: 0 0 14px;
	border-bottom: 2px solid #172033;
	color: #050816;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: 0;
}

.gateport-lesson-short {
	margin: 0;
	color: #475569;
	font-size: 17px;
	line-height: 1.6;
}

.gateport-lesson-content {
	margin: 24px 0;
	font-size: 17px;
	line-height: 1.7;
	color: #172033;
}

.gateport-lesson-content h1,
.gateport-lesson-content h2,
.gateport-lesson-content h3,
.gateport-lesson-content h4 {
	color: #0f172a;
	line-height: 1.25;
}

.gateport-lesson-notice {
	margin: 16px 0;
	padding: 16px 18px;
	border: 1px solid #a78bfa;
	border-left: 4px solid #6d4aff;
	background: #f5f2ff;
	color: #172033;
}

.gateport-lesson-notice strong {
	display: block;
	margin-bottom: 6px;
}

.gateport-lesson-notice p {
	margin: 0 0 8px;
}

.gateport-lesson-notice p:last-child {
	margin-bottom: 0;
}

.gateport-lesson-page-nav,
.gateport-lesson-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 28px;
	padding-top: 18px;
	border-top: 1px solid #d9dee8;
}

.gateport-lesson-page-count {
	color: #64748b;
	font-size: 14px;
	font-weight: 700;
}

.gateport-lesson-complete-form {
	margin: 0;
}

.gateport-lesson-actions .gateport-lesson-nav {
	display: flex;
	gap: 10px;
	margin: 0;
}

.gateport-kc-section-courses > h2 + .gateport-lesson-detail--focused {
	margin-top: 0;
}

@media (max-width:900px) {
	.gateport-kc.gateport-sidebar--collapsed,
	.gateport-kc.gateport-sidebar--auto-collapsed {
		grid-template-columns: 1fr;
	}
	.gateport-sidebar--collapsed .gateport-kc-menu-list {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
	}
	.gateport-sidebar--collapsed .gateport-kc-menu-item::after,
	.gateport-sidebar--auto-collapsed .gateport-kc-menu-item::after {
		display: none;
	}
	.gateport-sidebar--collapsed .gateport-sidebar-toggle {
		justify-content: flex-start;
		padding-left: 14px;
	}
	.gateport-lesson-header-top,
	.gateport-lesson-page-nav,
	.gateport-lesson-actions {
		align-items: stretch;
		flex-direction: column;
	}
	.gateport-lesson-back,
	.gateport-lesson-page-nav .gateport-kc-btn,
	.gateport-lesson-actions .gateport-kc-btn {
		width: 100%;
	}
	.gateport-lesson-actions .gateport-lesson-nav {
		width: 100%;
		flex-direction: column;
	}
}
