/*
 * PMB Front modern visual system.
 * Presentation-only styles: existing routes, forms, field names and actions
 * remain unchanged.
 */
:root {
	--pmb-green: #087f5b;
	--pmb-green-dark: #07563f;
	--pmb-green-soft: #eaf8f2;
	--pmb-blue: #1f6fb2;
	--pmb-ink: #19324a;
	--pmb-muted: #6b7d8e;
	--pmb-bg: #f4f7fa;
	--pmb-card: #ffffff;
	--pmb-border: #dfe8ef;
	--pmb-radius: 14px;
	--pmb-shadow: 0 8px 24px rgba(25, 55, 79, .08);
	--pmb-shadow-hover: 0 12px 30px rgba(25, 55, 79, .13);
}

.pmb-front-shell {
	background: var(--pmb-bg) !important;
	color: var(--pmb-ink) !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	font-size: 14px;
	-webkit-font-smoothing: antialiased;
}

.pmb-front-shell .header {
	position: relative;
	z-index: 1030;
	box-shadow: 0 3px 14px rgba(11, 47, 38, .14);
}

.pmb-front-shell .header .navbar {
	min-height: 94px;
	margin: 0;
	border: 0;
	border-bottom: 3px solid rgba(255, 255, 255, .22);
	background: linear-gradient(135deg, #075b43 0%, #087f5b 58%, #0b9569 100%) !important;
}

.pmb-front-shell .header .navbar .container {
	display: flex;
	align-items: center;
	min-height: 94px;
}

.pmb-front-shell .header .navbar .logo {
	display: flex !important;
	align-items: center;
	gap: 13px;
	width: auto;
	height: 94px !important;
	padding: 9px 0 !important;
	background: transparent !important;
	color: #fff !important;
	line-height: 1.2 !important;
	text-decoration: none;
}

/* Desktop and mobile use different logo anchors in the legacy header. Keep
 * the mobile anchor hidden by default and prevent the desktop anchor from
 * overriding Bootstrap's hidden-xs behavior. */
.pmb-front-shell .header > a.visible-xs.logo {
	display: none !important;
}

.pmb-front-shell .header .navbar .logo.hidden-xs {
	display: flex !important;
}

.pmb-front-shell .header .navbar .pmb-brand-logo {
	display: block;
	width: auto;
	height: 72px !important;
	max-width: 380px;
	object-fit: contain;
}

.pmb-front-shell .header .navbar .logo > div {
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -.02em;
}

.pmb-front-shell .header .navbar .logo > div span {
	display: block;
	margin-top: 3px;
	color: rgba(255, 255, 255, .82);
	font-size: 12px;
	font-weight: 500;
}

.pmb-front-shell .header .navbar .pmb-header-language {
	flex: 0 0 190px;
	width: 190px;
	margin-left: auto;
	text-align: right;
}

.pmb-front-shell .header .navbar .sidebar-toggle {
	margin-top: 20px;
	border-radius: 8px;
}

.pmb-front-shell .horizontal-menu,
.pmb-front-shell .pmb-step-menu {
	position: relative;
	background: #fff !important;
	border-bottom: 1px solid var(--pmb-border) !important;
	box-shadow: 0 2px 8px rgba(25, 55, 79, .04);
	padding: 6px 0;
}

.pmb-front-shell .pmb-step-menu > .container,
.pmb-front-shell .pmb-step-menu nav {
	background: transparent !important;
}

/* The legacy Bootstrap grid floats the navigation column. Reserve its row
 * explicitly so the language selector cannot rise underneath the logout
 * item when the account menu is rendered. */
.pmb-front-shell .pmb-step-menu > .container:first-child {
	min-height: 66px;
	overflow: hidden;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills {
	display: flex;
	align-items: stretch;
	gap: 3px;
	margin: 0;
	background: transparent !important;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li {
	margin: 0;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a div,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a small,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a b,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a i {
	color: var(--pmb-ink) !important;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 54px;
	padding: 8px 13px;
	border-radius: 9px;
	background: transparent !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	transition: all .18s ease;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a:hover,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a:focus {
	background: var(--pmb-green-soft) !important;
	color: var(--pmb-green) !important;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.active > a {
	background: linear-gradient(135deg, var(--pmb-green-dark), var(--pmb-green)) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(8, 127, 91, .2);
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.active > a div,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.active > a small,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.active > a b,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.active > a i {
	color: #fff !important;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.pull-right {
	margin-left: auto;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.pull-right > a.btn-danger {
	background: #fff4f3 !important;
	border: 1px solid #ffd4d0;
	box-shadow: none;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.pull-right > a.btn-danger,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.pull-right > a.btn-danger i,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li.pull-right > a.btn-danger div {
	color: #c64b42 !important;
}

.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a small,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a div,
.pmb-front-shell .pmb-step-menu .nav.nav-pills > li > a b {
	font-size: 13px !important;
}

.pmb-front-shell #google_translate_element {
	min-height: 0;
	margin-top: 3px;
	text-align: right;
}

.pmb-front-shell .header #google_translate_element {
	margin-top: 0;
}

.pmb-front-shell #google_translate_element .goog-te-gadget {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	font-size: 0 !important;
}

.pmb-front-shell #google_translate_element .goog-te-gadget > span {
	display: none !important;
}

.pmb-front-shell #google_translate_element select {
	height: 34px;
	min-width: 170px;
	border: 1px solid var(--pmb-border);
	border-radius: 7px;
	background: #fff;
	color: var(--pmb-ink);
	font-size: 13px !important;
}

.pmb-front-shell > .content {
	max-width: 1240px;
	margin: 0 auto;
	padding: 14px 20px 0;
}

.pmb-front-shell > .content > .alert {
	margin: 0 0 14px;
}

.pmb-front-shell > .container {
	width: 100%;
	max-width: 1240px;
	padding: 0 20px;
}

.pmb-front-shell .wrapper,
.pmb-front-shell .right-side,
.pmb-front-shell .content {
	background: transparent !important;
}

.pmb-front-shell .right-side > .content {
	padding: 16px 0 34px;
}

.pmb-front-shell .box,
.pmb-front-shell .nav-tabs-custom,
.pmb-front-shell .panel,
.pmb-front-shell .well {
	border: 1px solid var(--pmb-border);
	border-radius: var(--pmb-radius);
	background: var(--pmb-card);
	box-shadow: var(--pmb-shadow);
}

.pmb-front-shell .box {
	border-top: 3px solid var(--pmb-green);
}

.pmb-front-shell .box:hover,
.pmb-front-shell .panel:hover {
	box-shadow: var(--pmb-shadow-hover);
}

.pmb-front-shell .box-header,
.pmb-front-shell .panel-heading {
	min-height: 52px;
	padding: 15px 18px;
	border-bottom: 1px solid var(--pmb-border);
	border-radius: var(--pmb-radius) var(--pmb-radius) 0 0;
	background: #fff;
	color: var(--pmb-ink);
}

.pmb-front-shell .box-header .box-title {
	color: var(--pmb-ink);
	font-size: 17px;
	font-weight: 700;
}

.pmb-front-shell .box-body,
.pmb-front-shell .panel-body {
	padding: 18px;
}

.pmb-front-shell .alert {
	border: 1px solid var(--pmb-border);
	border-radius: 10px;
	box-shadow: 0 3px 10px rgba(25, 55, 79, .04);
}

.pmb-front-shell .alert-success {
	border-color: #b8e5d0;
	background: #f0fbf5;
	color: #226548;
}

.pmb-front-shell .alert-danger {
	border-color: #f0c5c1;
	background: #fff6f5;
	color: #8d3e38;
}

.pmb-front-shell .alert-warning {
	border-color: #f1d39b;
	background: #fffaf0;
	color: #77591e;
}

.pmb-front-shell .alert-info {
	border-color: #b9dced;
	background: #f2faff;
	color: #245a78;
}

.pmb-front-shell #infoPembayaran {
	margin: 0 auto 14px !important;
	max-width: 760px;
	border: 1px solid #b8e5d0 !important;
	border-radius: var(--pmb-radius) !important;
	background: linear-gradient(135deg, #f4fcf7, #eaf8f2) !important;
	box-shadow: var(--pmb-shadow);
	color: #226548 !important;
}

.pmb-front-shell #infoPembayaran table td {
	padding: 4px 8px !important;
}

.pmb-front-shell .btn {
	border-radius: 8px;
	font-weight: 600;
	font-size: 13px !important;
	transition: all .18s ease;
}

.pmb-front-shell .btn-sm,
.pmb-front-shell .btn-xs {
	font-size: 13px !important;
}

.pmb-front-shell .btn:hover,
.pmb-front-shell .btn:focus {
	transform: translateY(-1px);
	box-shadow: 0 5px 14px rgba(25, 55, 79, .14);
}

.pmb-front-shell .btn-primary {
	border-color: var(--pmb-blue);
	background: var(--pmb-blue);
}

.pmb-front-shell .btn-success {
	border-color: var(--pmb-green);
	background: var(--pmb-green);
}

.pmb-front-shell .btn-warning {
	border-color: #dd8a12;
	background: #e89a1a;
	color: #fff;
}

.pmb-front-shell .btn-danger {
	border-color: #d9655b;
	background: #d9655b;
}

.pmb-front-shell .form-control,
.pmb-front-shell select,
.pmb-front-shell input[type="text"],
.pmb-front-shell input[type="email"],
.pmb-front-shell input[type="password"],
.pmb-front-shell input[type="number"],
.pmb-front-shell input[type="file"],
.pmb-front-shell textarea {
	border: 1px solid #cddde8;
	border-radius: 8px;
	box-shadow: none;
	color: var(--pmb-ink);
}

.pmb-front-shell .form-control:focus,
.pmb-front-shell select:focus,
.pmb-front-shell input:focus,
.pmb-front-shell textarea:focus {
	border-color: var(--pmb-green);
	box-shadow: 0 0 0 3px rgba(8, 127, 91, .12);
}

.pmb-front-shell label {
	color: #36516a;
	font-weight: 600;
}

.pmb-front-shell .table {
	border: 1px solid var(--pmb-border);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.pmb-front-shell .table > thead > tr > th {
	border-bottom: 1px solid #cbdbe7;
	background: #edf5f9;
	color: #31516b;
	font-weight: 700;
}

.pmb-front-shell .table > tbody > tr > td,
.pmb-front-shell .table > thead > tr > th {
	padding: 11px 12px;
	vertical-align: middle;
}

.pmb-front-shell .table-striped > tbody > tr:nth-of-type(odd) {
	background: #fbfdfe;
}

.pmb-front-shell .pagination > li > a,
.pmb-front-shell .pagination > li > span {
	margin: 0 2px;
	border: 1px solid var(--pmb-border);
	border-radius: 7px !important;
	color: var(--pmb-blue);
}

.pmb-front-shell .pagination > .active > a,
.pmb-front-shell .pagination > .active > span {
	border-color: var(--pmb-blue);
	background: var(--pmb-blue);
	color: #fff;
}

.pmb-front-shell .timeline:before {
	background: #d9e5ec;
}

.pmb-front-shell .timeline > li > .timeline-item {
	border: 1px solid var(--pmb-border);
	border-radius: 12px;
	box-shadow: 0 5px 16px rgba(25, 55, 79, .05);
}

.pmb-front-shell .timeline > li > .timeline-item > .timeline-header {
	border-bottom-color: var(--pmb-border);
	color: var(--pmb-ink);
	font-weight: 700;
}

.pmb-front-shell .timeline > li > .timeline-item > .timeline-header a {
	color: var(--pmb-green);
}

.pmb-front-shell .timeline > li.time-label > span {
	border-radius: 999px;
	background: var(--pmb-blue) !important;
	box-shadow: 0 4px 12px rgba(31, 111, 178, .2);
	font-weight: 700;
}

.pmb-front-shell .timeline > li > .fa,
.pmb-front-shell .timeline > li > .glyphicon {
	box-shadow: 0 0 0 4px var(--pmb-bg);
}

.pmb-front-shell .nav-tabs-custom {
	overflow: hidden;
}

.pmb-front-shell .nav-tabs-custom > .nav-tabs {
	border-bottom: 1px solid var(--pmb-border);
	background: #fbfdfe;
}

.pmb-front-shell .nav-tabs-custom > .nav-tabs > li > a {
	border: 0;
	color: var(--pmb-ink);
	font-weight: 600;
}

.pmb-front-shell .nav-tabs-custom > .nav-tabs > li.active > a,
.pmb-front-shell .nav-tabs-custom > .nav-tabs > li.active > a:hover,
.pmb-front-shell .nav-tabs-custom > .nav-tabs > li.active > a:focus {
	border: 0;
	background: var(--pmb-blue);
	color: #fff;
	font-weight: 700;
}

.pmb-front-shell .pmb-field-help {
	display: block;
	margin-top: 4px;
	color: var(--pmb-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}

.pmb-front-shell .pmb-informasi-options label {
	color: var(--pmb-ink);
	font-weight: 400;
}

.pmb-front-shell .pmb-lower-fields {
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
}

.pmb-front-shell .pmb-lower-field {
	min-height: 1px;
}

@media (max-width: 767px) {
	.pmb-front-shell .pmb-lower-fields {
		display: block;
	}
}

.pmb-front-shell .modal-content {
	border: 0;
	border-radius: var(--pmb-radius);
	box-shadow: 0 18px 50px rgba(16, 48, 77, .22);
	overflow: hidden;
}

.pmb-front-shell .modal-header {
	border: 0;
	background: linear-gradient(135deg, var(--pmb-green-dark), var(--pmb-green));
	color: #fff;
}

.pmb-front-shell .modal-header .close {
	color: #fff;
	text-shadow: none;
	opacity: .85;
}

.pmb-front-shell .modal-footer {
	border-top: 1px solid var(--pmb-border);
	background: #fbfdfe;
}

/* The same visual language is used by the compact mobile menu so the
 * logged-in account remains consistent when the step navigation collapses. */
.pmb-front-shell .left-side {
	background: #fff;
	border-right: 1px solid var(--pmb-border);
	box-shadow: 8px 0 24px rgba(16, 48, 77, .06);
}

.pmb-front-shell .left-side .sidebar {
	background: #fff;
}

.pmb-front-shell .left-side .sidebar-menu > li > a {
	border-left: 3px solid transparent;
	color: var(--pmb-ink);
	padding: 13px 16px;
}

.pmb-front-shell .left-side .sidebar-menu > li > a:hover,
.pmb-front-shell .left-side .sidebar-menu > li.active > a {
	border-left-color: var(--pmb-green);
	background: #effaf5;
	color: var(--pmb-green-dark);
}

.pmb-front-shell .left-side .sidebar-menu > li > a i,
.pmb-front-shell .left-side .sidebar-menu > li > a small,
.pmb-front-shell .left-side .sidebar-menu > li > a b {
	color: inherit !important;
}

.pmb-front-shell .left-side .sidebar-menu .btn-danger {
	border: 0;
	border-radius: 8px;
	background: #fff1f0;
	color: #bd3d35 !important;
	font-weight: 700;
}

.pmb-front-shell .left-side .sidebar-menu .btn-danger:hover {
	background: #ffe3e0;
}

@media (max-width: 767px) {
	.pmb-front-shell .header .navbar,
	.pmb-front-shell .header .navbar .container {
		min-height: 78px;
	}
	.pmb-front-shell .header .navbar .logo {
		height: 78px !important;
		padding-left: 12px !important;
	}
	.pmb-front-shell .header > a.visible-xs.logo {
		display: flex !important;
		align-items: center;
		gap: 10px;
		width: 100%;
		height: 78px !important;
		padding: 9px 12px !important;
		background: linear-gradient(135deg, #075b43 0%, #087f5b 58%, #0b9569 100%) !important;
		color: #fff !important;
		line-height: 1.2 !important;
		text-decoration: none;
	}
	.pmb-front-shell .header > a.visible-xs.logo .pmb-brand-logo {
		height: 56px !important;
		max-width: 250px;
	}
	.pmb-front-shell .header > a.visible-xs.logo > div {
		font-size: 14px;
		font-weight: 700;
	}
	.pmb-front-shell .header > a.visible-xs.logo > div span {
		display: block;
		font-size: 10px;
	}
	.pmb-front-shell .header .navbar .logo.hidden-xs {
		display: none !important;
	}
	.pmb-front-shell .header .navbar .pmb-brand-logo {
		height: 56px !important;
		max-width: 250px;
	}
	.pmb-front-shell .header .navbar .pmb-header-language {
		flex-basis: 150px;
		width: 150px;
	}
	.pmb-front-shell .header .navbar .logo > div {
		font-size: 14px;
	}
	.pmb-front-shell .header .navbar .logo > div span {
		font-size: 10px;
	}
	.pmb-front-shell > .container,
	.pmb-front-shell > .content {
		padding-right: 12px;
		padding-left: 12px;
	}
	.pmb-front-shell .right-side > .content {
		padding-top: 10px;
	}
	.pmb-front-shell .box-body,
	.pmb-front-shell .panel-body {
		padding: 13px;
	}
}
