/**
 * IMBS Portal Public Styles — scoped under .imbs-portal-wrapper
 */
.imbs-portal-wrapper {
	--imbs-primary: #2563eb;
	--imbs-secondary: #64748b;
	--imbs-button: #2563eb;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: #334155;
	box-sizing: border-box;
}

.imbs-portal-wrapper *,
.imbs-portal-wrapper *::before,
.imbs-portal-wrapper *::after {
	box-sizing: border-box;
}

.imbs-portal-wrapper .imbs-portal-layout {
	display: flex;
	min-height: 500px;
	background: #f8fafc;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0,0,0,.06);
}

.imbs-portal-wrapper .imbs-sidebar {
	width: 260px;
	background: #fff;
	border-right: 1px solid #e2e8f0;
	padding: 1.5rem;
	flex-shrink: 0;
}

.imbs-portal-wrapper .imbs-brand img {
	max-width: 160px;
	height: auto;
}

.imbs-portal-wrapper .imbs-brand-text {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--imbs-primary);
	margin-bottom: 1.5rem;
}

.imbs-portal-wrapper .imbs-nav {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.imbs-portal-wrapper .imbs-nav-item {
	display: block;
	padding: 0.65rem 1rem;
	border-radius: 8px;
	color: #475569;
	text-decoration: none;
	font-weight: 500;
	transition: background .15s;
}

.imbs-portal-wrapper .imbs-nav-item:hover,
.imbs-portal-wrapper .imbs-nav-item.active {
	background: #eff6ff;
	color: var(--imbs-primary);
}

.imbs-portal-wrapper .imbs-nav-logout {
	margin-top: 1rem;
	color: #ef4444;
}

.imbs-portal-wrapper .imbs-main {
	flex: 1;
	padding: 1.5rem 2rem;
	overflow-x: auto;
}

.imbs-portal-wrapper .imbs-main-full {
	padding: 2rem;
}

.imbs-portal-wrapper .imbs-header h1 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1e293b;
	margin: 0 0 1.5rem;
}

.imbs-portal-wrapper .imbs-card {
	background: #fff;
	border-radius: 12px;
	padding: 1.5rem;
	box-shadow: 0 1px 3px rgba(0,0,0,.06);
	border: 1px solid #e2e8f0;
	margin-bottom: 1.25rem;
}

.imbs-portal-wrapper .imbs-card h2 {
	font-size: 1.05rem;
	font-weight: 600;
	color: #334155;
	margin: 0 0 1rem;
}

.imbs-portal-wrapper .imbs-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
}

.imbs-portal-wrapper .imbs-stats-row {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.imbs-portal-wrapper .imbs-stat-card {
	background: #fff;
	border-radius: 12px;
	padding: 1.25rem;
	border: 1px solid #e2e8f0;
	text-align: center;
}

.imbs-portal-wrapper .imbs-stat-label {
	display: block;
	font-size: 0.75rem;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.imbs-portal-wrapper .imbs-stat-value {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--imbs-primary);
}

.imbs-portal-wrapper .imbs-stat-danger .imbs-stat-value { color: #ef4444; }

.imbs-portal-wrapper .imbs-btn {
	display: inline-block;
	padding: 0.55rem 1.25rem;
	border-radius: 8px;
	font-weight: 600;
	font-size: 0.9rem;
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: opacity .15s;
}

.imbs-portal-wrapper .imbs-btn-primary {
	background: var(--imbs-button);
	color: #fff;
}

.imbs-portal-wrapper .imbs-btn-primary:hover {
	opacity: 0.9;
	color: #fff;
}

.imbs-portal-wrapper .imbs-badge {
	display: inline-block;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	color: #fff;
}

.imbs-portal-wrapper .imbs-app-grid,
.imbs-portal-wrapper .imbs-task-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

.imbs-portal-wrapper .imbs-app-card,
.imbs-portal-wrapper .imbs-task-card {
	display: block;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.25rem;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .15s, border-color .15s;
}

.imbs-portal-wrapper .imbs-app-card:hover,
.imbs-portal-wrapper .imbs-task-card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,.08);
	border-color: var(--imbs-primary);
}

.imbs-portal-wrapper .imbs-app-card h3,
.imbs-portal-wrapper .imbs-task-card h3 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	color: #1e293b;
}

.imbs-portal-wrapper .imbs-app-type {
	font-size: 0.85rem;
	color: #64748b;
	margin: 0 0 0.5rem;
}

.imbs-portal-wrapper .imbs-app-date {
	display: block;
	font-size: 0.8rem;
	color: #94a3b8;
	margin-top: 0.5rem;
}

.imbs-portal-wrapper .imbs-priority {
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.15rem 0.5rem;
	border-radius: 4px;
}

.imbs-portal-wrapper .imbs-priority-low { background: #dcfce7; color: #166534; }
.imbs-portal-wrapper .imbs-priority-medium { background: #fef9c3; color: #854d0e; }
.imbs-portal-wrapper .imbs-priority-high { background: #ffedd5; color: #9a3412; }
.imbs-portal-wrapper .imbs-priority-urgent { background: #fee2e2; color: #991b1b; }

.imbs-portal-wrapper .imbs-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
}

.imbs-portal-wrapper .imbs-timeline-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.65rem 0;
	position: relative;
	padding-left: 1.5rem;
}

.imbs-portal-wrapper .imbs-timeline-item::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #e2e8f0;
}

.imbs-portal-wrapper .imbs-timeline-item:last-child::before { display: none; }

.imbs-portal-wrapper .imbs-timeline-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	opacity: 0.4;
}

.imbs-portal-wrapper .imbs-timeline-item.completed .imbs-timeline-dot,
.imbs-portal-wrapper .imbs-timeline-item.current .imbs-timeline-dot {
	opacity: 1;
}

.imbs-portal-wrapper .imbs-timeline-item.current .imbs-timeline-label {
	font-weight: 700;
	color: var(--imbs-primary);
}

.imbs-portal-wrapper .imbs-detail-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.25rem;
}

.imbs-portal-wrapper .imbs-card-full {
	grid-column: 1 / -1;
}

.imbs-portal-wrapper .imbs-dropzone {
	border: 2px dashed #cbd5e1;
	border-radius: 12px;
	padding: 2rem;
	text-align: center;
	cursor: pointer;
	transition: border-color .15s, background .15s;
	position: relative;
}

.imbs-portal-wrapper .imbs-dropzone:hover,
.imbs-portal-wrapper .imbs-dropzone.imbs-dragover {
	border-color: var(--imbs-primary);
	background: #eff6ff;
}

.imbs-portal-wrapper .imbs-dropzone input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
	width: 100%;
	height: 100%;
}

.imbs-portal-wrapper .imbs-file-list {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.imbs-portal-wrapper .imbs-file-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid #f1f5f9;
}

.imbs-portal-wrapper .imbs-file-delete {
	background: none;
	border: none;
	color: #ef4444;
	font-size: 1.25rem;
	cursor: pointer;
	margin-left: auto;
}

.imbs-portal-wrapper .imbs-progress-bar {
	height: 4px;
	background: #e2e8f0;
	border-radius: 2px;
	overflow: hidden;
}

.imbs-portal-wrapper .imbs-progress-bar::after {
	content: '';
	display: block;
	height: 100%;
	width: 0;
	background: var(--imbs-primary);
	transition: width .3s;
	animation: imbs-progress 1.5s ease infinite;
}

@keyframes imbs-progress {
	0% { width: 0; }
	50% { width: 70%; }
	100% { width: 100%; }
}

.imbs-portal-wrapper .imbs-comment-list {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	max-height: 400px;
	overflow-y: auto;
}

.imbs-portal-wrapper .imbs-comment {
	padding: 0.75rem;
	background: #f8fafc;
	border-radius: 8px;
	margin-bottom: 0.5rem;
}

.imbs-portal-wrapper .imbs-comment time {
	font-size: 0.75rem;
	color: #94a3b8;
	margin-left: 0.5rem;
}

.imbs-portal-wrapper .imbs-comment-form textarea {
	width: 100%;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 0.75rem;
	margin-bottom: 0.5rem;
	resize: vertical;
}

.imbs-portal-wrapper .imbs-field {
	margin-bottom: 1rem;
}

.imbs-portal-wrapper .imbs-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	font-size: 0.85rem;
}

.imbs-portal-wrapper .imbs-field input,
.imbs-portal-wrapper .imbs-field select,
.imbs-portal-wrapper .imbs-field textarea {
	width: 100%;
	padding: 0.55rem 0.75rem;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	font-size: 0.95rem;
}

.imbs-portal-wrapper .imbs-login-card {
	max-width: 420px;
	margin: 2rem auto;
	background: #fff;
	padding: 2rem;
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(0,0,0,.08);
	border: 1px solid #e2e8f0;
}

.imbs-portal-wrapper .imbs-login-title {
	text-align: center;
	margin: 0 0 0.5rem;
	color: var(--imbs-primary);
}

.imbs-portal-wrapper .imbs-login-subtitle {
	text-align: center;
	color: #64748b;
	margin-bottom: 1.5rem;
}

.imbs-portal-wrapper .imbs-alert {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	margin-bottom: 1rem;
}

.imbs-portal-wrapper .imbs-alert-error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

.imbs-portal-wrapper .imbs-empty {
	color: #94a3b8;
	text-align: center;
	padding: 2rem;
}

.imbs-portal-wrapper .imbs-breadcrumb {
	margin-bottom: 1rem;
}

.imbs-portal-wrapper .imbs-breadcrumb a {
	color: var(--imbs-primary);
	text-decoration: none;
}

.imbs-portal-wrapper .imbs-filters {
	display: flex;
	gap: 0.75rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

.imbs-portal-wrapper .imbs-filters select {
	padding: 0.5rem 0.75rem;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

.imbs-portal-wrapper .imbs-profile-dl {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 0.5rem 1rem;
}

.imbs-portal-wrapper .imbs-profile-dl dt {
	font-weight: 600;
	color: #64748b;
}

.imbs-portal-wrapper .imbs-toast {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	background: #1e293b;
	color: #fff;
	padding: 0.75rem 1.25rem;
	border-radius: 8px;
	z-index: 99999;
	box-shadow: 0 4px 12px rgba(0,0,0,.2);
}

.imbs-portal-wrapper .imbs-doc-checklist {
	list-style: disc;
	padding-left: 1.25rem;
	color: #475569;
}

.imbs-portal-wrapper .imbs-muted {
	color: #94a3b8;
	font-size: 0.9rem;
}

/* Mobile */
@media (max-width: 768px) {
	.imbs-portal-wrapper .imbs-portal-layout {
		flex-direction: column;
	}
	.imbs-portal-wrapper .imbs-sidebar {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #e2e8f0;
	}
	.imbs-portal-wrapper .imbs-nav {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.imbs-portal-wrapper .imbs-main {
		padding: 1rem;
	}
	.imbs-portal-wrapper .imbs-detail-grid {
		grid-template-columns: 1fr;
	}
}


/* IMBS production HCI enhancements */
.imbs-register-card p{margin:0 0 14px}
.imbs-register-card input[type=text],
.imbs-register-card input[type=email],
.imbs-register-card input[type=password],
.imbs-register-card input[type=tel]{
	width:100%;box-sizing:border-box;border:1px solid #dbe2ea;border-radius:12px;padding:12px;background:#fff;
}
.imbs-register-card label{display:block;font-weight:700;margin-bottom:6px;color:#0f172a}
.imbs-btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--imbs-button-color,#2563eb);color:#fff!important;border:0;border-radius:12px;padding:12px 18px;text-decoration:none!important;font-weight:800;cursor:pointer}
.imbs-alert-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.imbs-portal-wrapper .imbs-card,.imbs-login-card{box-shadow:0 14px 36px rgba(15,23,42,.08)}
@media(max-width:640px){.imbs-login-card{margin:12px;padding:18px}.imbs-btn-primary{width:100%}}


/* Select-heavy HCI update */
.imbs-smart-select-wrap{position:relative;width:100%}
.imbs-smart-select,
.imbs-other-input{
	width:100%;
	max-width:100%;
	box-sizing:border-box;
}
.imbs-smart-select{
	min-height:42px;
	border-radius:12px;
	border:1px solid #dbe3ef;
	background:#fff;
	padding:8px 10px;
}
.imbs-smart-select optgroup{
	font-weight:800;
	color:#0f172a;
}
.imbs-other-input{
	margin-top:8px!important;
	border:1px solid #f59e0b!important;
	background:#fffbeb!important;
	border-radius:12px!important;
	padding:10px!important;
}
.imbs-field label{
	font-weight:700;
}
.imbs-new-app-form .imbs-field,
.imbs-form-card .imbs-field{
	min-width:0;
}
.imbs-selection-help{
	background:#ecfdf5;
	border:1px solid #bbf7d0;
	color:#065f46;
	padding:10px 12px;
	border-radius:12px;
	margin:10px 0;
	font-size:13px;
}
@media(max-width:782px){
	.imbs-form-grid{grid-template-columns:1fr!important}
	.imbs-smart-select{font-size:14px}
}


/* Application number visibility */
.imbs-app-number,
.imbs-task-app-number,
.imbs-app-detail-number{
	display:inline-flex;
	align-items:center;
	gap:6px;
	background:#ecfdf5;
	color:#065f46;
	border:1px solid #bbf7d0;
	border-radius:999px;
	padding:5px 9px;
	font-size:12px;
	font-weight:800;
	line-height:1.2;
	margin:4px 0;
}
.imbs-app-number-box{
	background:#f8fafc;
	border:1px solid #e2e8f0;
	border-radius:12px;
	padding:10px 12px;
	margin:8px 0 14px;
}
.imbs-related-application-box{
	background:#f8fafc;
	border:1px solid #e2e8f0;
	border-radius:16px;
	padding:14px;
	margin:14px 0;
}
.imbs-related-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:8px;
	margin-top:10px;
	font-size:13px;
}
.imbs-task-related{
	display:block;
	color:#64748b;
	font-size:12px;
	margin:6px 0;
}


/* IMBS Mobile Responsive Pack */
@media (max-width:768px){
.imbs-form-grid,.imbs-reference-grid,.imbs-related-grid{grid-template-columns:1fr!important;}
.imbs-card,.imbs-form-card{padding:12px!important;}
.imbs-table-responsive{display:block;overflow-x:auto;}
input,select,textarea,button{width:100%;max-width:100%;}
.imbs-task-card,.imbs-app-card{width:100%!important;}
}


/* Modern responsive IMBS registration UI */
.imbs-portal-wrapper.imbs-auth-page{
	--imbs-auth-primary:#0f766e;
	--imbs-auth-bg:#f8fafc;
	--imbs-auth-text:#0f172a;
	--imbs-auth-muted:#64748b;
	--imbs-auth-border:#e5e7eb;
	width:100%;
	max-width:1180px;
	margin:0 auto;
	padding:clamp(16px,4vw,42px);
}
.imbs-auth-shell{
	display:grid;
	grid-template-columns:minmax(280px,.9fr) minmax(320px,1fr);
	gap:clamp(18px,4vw,42px);
	align-items:stretch;
	background:linear-gradient(135deg,#ffffff,#f0fdfa);
	border:1px solid var(--imbs-auth-border);
	border-radius:28px;
	padding:clamp(16px,3vw,30px);
	box-shadow:0 24px 70px rgba(15,23,42,.10);
	overflow:hidden;
}
.imbs-auth-hero{
	position:relative;
	border-radius:24px;
	background:linear-gradient(135deg,#0f766e,#115e59);
	color:#fff;
	padding:clamp(22px,4vw,38px);
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:420px;
	overflow:hidden;
}
.imbs-auth-hero:after{
	content:"";
	position:absolute;
	right:-60px;
	bottom:-60px;
	width:220px;
	height:220px;
	border-radius:50%;
	background:rgba(255,255,255,.10);
}
.imbs-auth-kicker{
	display:inline-flex;
	width:max-content;
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.22);
	border-radius:999px;
	padding:7px 12px;
	font-size:12px;
	font-weight:900;
	letter-spacing:.03em;
	margin-bottom:16px;
}
.imbs-auth-hero h2{
	color:#fff!important;
	font-size:clamp(28px,4vw,44px);
	line-height:1.06;
	margin:0 0 14px!important;
	font-weight:900;
}
.imbs-auth-hero p{
	color:rgba(255,255,255,.86);
	font-size:16px;
	margin:0 0 20px;
	max-width:460px;
}
.imbs-auth-hero ul{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:10px;
}
.imbs-auth-hero li{
	position:relative;
	padding-left:28px;
	color:#ecfdf5;
	font-weight:700;
}
.imbs-auth-hero li:before{
	content:"✓";
	position:absolute;
	left:0;
	top:0;
	width:20px;
	height:20px;
	border-radius:50%;
	background:rgba(255,255,255,.16);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:12px;
}
.imbs-portal-wrapper .imbs-login-card.imbs-register-card{
	width:100%;
	max-width:none;
	margin:0;
	background:#fff;
	border:1px solid var(--imbs-auth-border);
	border-radius:24px;
	padding:clamp(20px,4vw,34px);
	box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.imbs-login-title{
	color:var(--imbs-auth-text)!important;
	font-size:clamp(24px,3vw,32px)!important;
	line-height:1.1!important;
	margin:0 0 8px!important;
	font-weight:900!important;
}
.imbs-auth-subtitle{
	color:var(--imbs-auth-muted);
	margin:0 0 22px;
}
.imbs-registration-form{
	display:grid;
	gap:14px;
}
.imbs-registration-form p,
.imbs-auth-field{
	margin:0!important;
}
.imbs-auth-field label,
.imbs-registration-form label{
	display:block;
	color:var(--imbs-auth-text);
	font-weight:800;
	margin:0 0 7px;
	font-size:14px;
}
.imbs-auth-field input,
.imbs-registration-form input{
	width:100%!important;
	min-height:48px;
	border:1px solid #cbd5e1!important;
	border-radius:14px!important;
	background:#fff!important;
	padding:11px 13px!important;
	font-size:15px!important;
	color:#0f172a!important;
	box-shadow:none!important;
	outline:none!important;
	transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.imbs-auth-field input:focus,
.imbs-registration-form input:focus{
	border-color:var(--imbs-auth-primary)!important;
	box-shadow:0 0 0 4px rgba(15,118,110,.12)!important;
}
.imbs-auth-submit,
.imbs-registration-form .imbs-btn-primary{
	width:100%;
	min-height:50px;
	border-radius:14px!important;
	background:var(--imbs-auth-primary)!important;
	color:#fff!important;
	font-weight:900!important;
	font-size:15px!important;
	margin-top:6px;
	display:flex!important;
	align-items:center;
	justify-content:center;
}
.imbs-auth-footer{
	text-align:center;
	margin:16px 0 0;
	color:var(--imbs-auth-muted);
}
.imbs-auth-footer a{
	color:var(--imbs-auth-primary)!important;
	font-weight:900;
	text-decoration:none;
}
.imbs-alert.imbs-alert-error{
	background:#fef2f2!important;
	color:#991b1b!important;
	border:1px solid #fecaca!important;
	border-radius:14px!important;
	padding:12px 14px!important;
	font-weight:700;
	margin-bottom:16px!important;
}
@media(max-width:900px){
	.imbs-auth-shell{
		grid-template-columns:1fr;
	}
	.imbs-auth-hero{
		min-height:auto;
		padding:24px;
	}
}
@media(max-width:560px){
	.imbs-portal-wrapper.imbs-auth-page{
		padding:10px;
	}
	.imbs-auth-shell{
		border-radius:0;
		border-left:0;
		border-right:0;
		margin-left:-10px;
		margin-right:-10px;
		padding:12px;
		box-shadow:none;
	}
	.imbs-auth-hero{
		border-radius:18px;
		padding:20px;
	}
	.imbs-auth-hero ul{
		gap:7px;
	}
	.imbs-portal-wrapper .imbs-login-card.imbs-register-card{
		border-radius:18px;
		padding:18px;
	}
	.imbs-auth-field input,
	.imbs-registration-form input{
		min-height:46px;
		font-size:16px!important;
	}
}


/* IMBS Premium Registration Override - v1.2.2 */
body .imbs-portal-wrapper.imbs-auth-page{width:100%!important;max-width:1180px!important;margin:0 auto!important;padding:clamp(14px,3vw,40px)!important;box-sizing:border-box!important}
body .imbs-auth-page *{box-sizing:border-box!important}
body .imbs-auth-shell{display:grid!important;grid-template-columns:minmax(280px,.95fr) minmax(330px,1.05fr)!important;gap:clamp(18px,3vw,36px)!important;align-items:stretch!important;background:linear-gradient(135deg,#fff,#f0fdfa)!important;border:1px solid #e2e8f0!important;border-radius:30px!important;padding:clamp(14px,2.5vw,28px)!important;box-shadow:0 28px 80px rgba(15,23,42,.12)!important;overflow:hidden!important}
body .imbs-auth-hero{border-radius:24px!important;background:radial-gradient(circle at top right,rgba(20,184,166,.32),transparent 34%),linear-gradient(135deg,#0f766e,#0b3f3a)!important;color:#fff!important;padding:clamp(24px,4vw,42px)!important;min-height:440px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
body .imbs-auth-hero h2{color:#fff!important;font-size:clamp(31px,4vw,50px)!important;line-height:1.04!important;margin:0 0 14px!important;font-weight:950!important;letter-spacing:-.04em!important}
body .imbs-auth-hero p{color:rgba(255,255,255,.88)!important;line-height:1.65!important}
body .imbs-auth-hero li{color:#ecfdf5!important;font-weight:750!important}
body .imbs-portal-wrapper .imbs-login-card.imbs-register-card{width:100%!important;max-width:none!important;margin:0!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:24px!important;padding:clamp(22px,4vw,38px)!important;box-shadow:0 14px 34px rgba(15,23,42,.07)!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
body .imbs-auth-field,body .imbs-registration-form p{margin:0!important;width:100%!important}
body .imbs-auth-field label{display:block!important;font-weight:850!important;margin:0 0 7px!important;color:#0f172a!important;font-size:14px!important}
body .imbs-auth-field input,body .imbs-registration-form input{display:block!important;width:100%!important;max-width:100%!important;min-height:50px!important;border:1px solid #cbd5e1!important;border-radius:15px!important;background:#fff!important;padding:12px 14px!important;font-size:16px!important;color:#0f172a!important;box-shadow:none!important}
body .imbs-auth-field input:focus{border-color:#0f766e!important;box-shadow:0 0 0 4px rgba(15,118,110,.13)!important;outline:none!important}
body .imbs-auth-submit,body .imbs-registration-form .imbs-btn-primary{width:100%!important;min-height:52px!important;border-radius:15px!important;background:linear-gradient(135deg,#0f766e,#115e59)!important;color:#fff!important;border:0!important;font-weight:950!important;font-size:16px!important;box-shadow:0 14px 30px rgba(15,118,110,.25)!important}
@media(max-width:920px){body .imbs-auth-shell{grid-template-columns:1fr!important}body .imbs-auth-hero{min-height:auto!important}}
@media(max-width:600px){body .imbs-portal-wrapper.imbs-auth-page{padding:10px!important}body .imbs-auth-shell{border-radius:22px!important;padding:10px!important;gap:10px!important}body .imbs-auth-hero{border-radius:18px!important;padding:20px!important}body .imbs-portal-wrapper .imbs-login-card.imbs-register-card{border-radius:18px!important;padding:20px!important}}


/* IMBS Portal Lock + Easy Design Controls */
.imbs-portal-wrapper,
.imbs-auth-page{
	font-family:var(--imbs-font, Inter, system-ui, sans-serif)!important;
	font-size:var(--imbs-text-size, 15px)!important;
	max-width:var(--imbs-max-width, 1180px)!important;
	margin-left:auto!important;
	margin-right:auto!important;
	box-sizing:border-box!important;
}
.imbs-portal-wrapper *,
.imbs-auth-page *{box-sizing:border-box}
.imbs-portal-wrapper h1,
.imbs-portal-wrapper h2,
.imbs-portal-wrapper h3,
.imbs-auth-page h1,
.imbs-auth-page h2,
.imbs-auth-page h3{
	line-height:1.14!important;
	letter-spacing:-.025em!important;
}
.imbs-portal-wrapper h1,.imbs-auth-page h1{font-size:calc(2.1rem * (var(--imbs-heading-scale,100) / 100))!important}
.imbs-portal-wrapper h2,.imbs-auth-page h2{font-size:calc(1.65rem * (var(--imbs-heading-scale,100) / 100))!important}
.imbs-portal-wrapper h3,.imbs-auth-page h3{font-size:calc(1.16rem * (var(--imbs-heading-scale,100) / 100))!important}
.imbs-card,
.imbs-login-card,
.imbs-app-card,
.imbs-task-card,
.imbs-form-card,
.imbs-client-card,
.imbs-auth-shell{
	border-radius:var(--imbs-radius,18px)!important;
}
.imbs-card,
.imbs-login-card,
.imbs-form-card,
.imbs-client-card{
	padding:var(--imbs-card-padding,20px)!important;
}
.imbs-btn,
.imbs-btn-primary,
.imbs-auth-submit,
button.imbs-btn{
	background:var(--imbs-button,#0f766e)!important;
	border-color:var(--imbs-button,#0f766e)!important;
	color:#fff!important;
	border-radius:calc(var(--imbs-radius,18px) * .7)!important;
}
.imbs-portal-style-compact .imbs-card,
.imbs-portal-style-compact .imbs-login-card,
.imbs-portal-style-compact .imbs-form-card{padding:12px!important}
.imbs-portal-style-compact .imbs-portal-wrapper{font-size:14px!important}
.imbs-portal-style-wide .imbs-portal-wrapper{max-width:1500px!important}
body.imbs-portal-user #wpadminbar{display:none!important}
body.imbs-portal-user{margin-top:0!important}
@media(max-width:900px){
	.imbs-portal-wrapper,
	.imbs-auth-page{
		width:100%!important;
		max-width:100%!important;
		padding-left:12px!important;
		padding-right:12px!important;
	}
	.imbs-portal-wrapper h1,.imbs-auth-page h1{font-size:calc(1.72rem * (var(--imbs-heading-scale,100) / 100))!important}
	.imbs-portal-wrapper h2,.imbs-auth-page h2{font-size:calc(1.42rem * (var(--imbs-heading-scale,100) / 100))!important}
}
@media(max-width:560px){
	.imbs-portal-wrapper,
	.imbs-auth-page{font-size:14px!important;padding:8px!important}
	.imbs-card,
	.imbs-login-card,
	.imbs-form-card,
	.imbs-client-card{padding:14px!important;border-radius:16px!important}
	input,select,textarea,button,.imbs-btn{max-width:100%!important}
}
