body {
	background-image: url("../img/bg.login.jpg");
	/* background-repeat:   no-repeat;
		background-attachment: fixed; */
	background-size: cover;
	background-position: center;
	background-color: #ffffff;
	width: 100%;
	height: 100vh;
	font-family: Lexend;
}
.login {
	width: 100%;
	height: 100%;
}
.login-form {
	width: 100%;
	margin-top: 20%;
	background: rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(25px);
	border-radius: 15px;
	padding: 50px 50px 50px 50px;
	color: #fff;
	margin-bottom: 100px;
	/*margin-right: 2vw;
		margin-left: 2vw;*/
}

.login-form .row {
	margin-right: -15px;
	margin-left: -15px;
}
.login .form-control {
	border: 1px solid rgba(255, 255, 255, 0.75);
	box-sizing: border-box;
	border-radius: 5px;
	background-color: rgba(255, 255, 255, 0);
	color: #fff;
}
.login .btn-success {
	background: #04c35c;
	border-style: none;
	font-size: 14px;
}
.login .btn-dark {
	background: #2d3748;
	border-style: none;
	font-size: 14px;
}
.login-title {
	margin-bottom: 30px;
}

.login-title h2 {
	font-weight: bold;
	color: #fff;
	font-family: Lexend;
}

.login-logo img {
	display: none;
}

.logo-ak {
	float: left;
	width: 400px;
	margin-top: 30px;
}
.logo-ak img {
	width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.logo-ak h4 {
	color: #fff;
}
.logo-ak .title-ak {
	padding-top: 8px;
}
.footer-bk {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 400px;
	padding-bottom: 10px;
	padding-left: 10px;
	color: #fff;
}
.iconic-img {
	width: 100%;
	min-height: 800px;
	/*background-color: #fff; */
	background: url("../img/iconic-img.png");
	background-size: auto;
	background-repeat: no-repeat;
	background-position: center;
}

@media (max-width: 576px) {
	body {
		background-image: url("../img/bg.login.hp.jpg");
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: 100%;
		width: 100%;
		height: 100%;
	}
	.login {
		background-image: url("../img/bg.login.hp.jpg");
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: 100%;
		width: 100%;
	}
	.login-form {
		margin-top: 10%;
		margin-right: auto;
		margin-left: auto;
	}
	.login-title {
		text-align: center;
	}
	.login-title h2 {
		font-weight: bold;
		color: #fff;
	}

	.login-logo img {
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: 30%;
	}

	.logo-ak {
		display: none;
	}
	.footer-bk {
		display: none;
	}
	.iconic-img {
		display: none;
	}
}

@media (max-width: 576px) {
	body {
		background-image: url("../img/bg.login.hp.jpg");
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: 100%;
		width: 100%;
		height: 100%;
	}
	.login {
		background-image: url("../img/bg.login.hp.jpg");
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: 100%;
		width: 100%;
	}
	.login-form {
		margin-top: 10%;
		margin-right: auto;
		margin-left: auto;
	}
	.login-title {
		text-align: center;
	}

	.login-logo img {
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: 30%;
	}

	.login .form-control {
		border: 1px solid rgba(255, 255, 255, 0.75);
		box-sizing: border-box;
		border-radius: 5px;
		background-color: rgba(255, 255, 255, 0);
		color: #fff;
	}
	.logo-ak {
		display: none;
	}
	.footer-bk {
		display: none;
	}
	.iconic-img {
		display: none;
	}
}

@media (max-width: 768px) {
	body {
		background-image: url("../img/bg.login.hp.jpg");
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: 100%;
		width: 100%;
		height: 100%;
	}
	.login {
		background-image: url("../img/bg.login.hp.jpg");
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: 100%;
		width: 100%;
	}
	.login-form {
		margin-top: 10%;
		margin-right: auto;
		margin-left: auto;
	}
	.login-title {
		text-align: center;
	}
	.login-title h2 {
		font-weight: bold;
		color: #fff;
	}

	.login-logo img {
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: 30%;
	}

	.login .form-control {
		border: 1px solid rgba(255, 255, 255, 0.75);
		box-sizing: border-box;
		border-radius: 5px;
		background-color: rgba(255, 255, 255, 0);
		color: #fff;
	}

	.logo-ak {
		display: none;
	}
	.footer-bk {
		display: none;
	}
	.iconic-img {
		display: none;
	}
}

@media (max-width: 992px) {
	.login-form {
		margin-right: 2vw;
	}
	.iconic-img {
		background-size: 100%;
	}
}

@media (max-width: 1200px) {
	.login-form {
		margin-right: 2vw;
	}
	.iconic-img {
		background-size: 100%;
	}
}

/* PWA/TWA Specific Styles */

/* Standalone app styling */
.standalone-app {
	/* Remove any default margins/padding */
	margin: 0;
	padding: 0;

	/* Adjust for status bar on mobile */
	padding-top: env(safe-area-inset-top);
	padding-bottom: env(safe-area-inset-bottom);
	padding-left: env(safe-area-inset-left);
	padding-right: env(safe-area-inset-right);
}

/* Prevent text selection in standalone mode */
.standalone-app * {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Allow text selection for input fields */
.standalone-app input,
.standalone-app textarea {
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}

/* Offline indicator */
.offline-notification {
	animation: slideInUp 0.3s ease-out;
}

@keyframes slideInUp {
	from {
		transform: translateY(100%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes slideOutDown {
	from {
		transform: translateY(0);
		opacity: 1;
	}
	to {
		transform: translateY(100%);
		opacity: 0;
	}
}

@keyframes slideDown {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}

@keyframes slideUp {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-100%);
	}
}

/* PWA Install Banner Styling */
.pwa-install-banner {
	font-family: "Lexend", sans-serif;
}

.pwa-install-banner button:hover {
	transform: translateY(-1px);
	transition: transform 0.2s ease;
}

/* Offline state styling */
body.offline {
	position: relative;
}

body.offline::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, #f44336, #ff9800);
	z-index: 9998;
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0%,
	100% {
		opacity: 0.6;
	}
	50% {
		opacity: 1;
	}
}

/* Dark mode support untuk PWA */
@media (prefers-color-scheme: dark) {
	.standalone-app .login-form {
		background: rgba(45, 55, 72, 0.85);
		backdrop-filter: blur(25px);
	}

	.standalone-app .login .form-control {
		border-color: rgba(255, 255, 255, 0.3);
		background-color: rgba(255, 255, 255, 0.1);
	}
}

/* Touch improvements untuk mobile */
button,
.btn {
	touch-action: manipulation;
	-webkit-touch-callout: none;
}

/* Prevent zoom pada double tap */
.standalone-app input,
.standalone-app button,
.standalone-app select,
.standalone-app textarea {
	touch-action: manipulation;
}

/* Loading state untuk PWA */
.pwa-loading {
	pointer-events: none;
	opacity: 0.7;
}

.pwa-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid #ffffff;
	border-top-color: transparent;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Viewport height fix untuk mobile browsers */
@supports (-webkit-touch-callout: none) {
	.login {
		height: -webkit-fill-available;
	}
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.login-form {
		backdrop-filter: blur(30px);
	}
}
