body{
    margin:0;
    background:#eef2ff;
    font-family:'Segoe UI',Arial,sans-serif;
}

.mobile-app{
    max-width:430px;
    margin:auto;
    min-height:100vh;
    background:#f8fafc;
    padding-bottom:90px;
}

/* HEADER */

.page-header{
    background:linear-gradient(
    135deg,
    #4f46e5,
    #6366f1
    );
    color:#fff;
    padding:22px 20px;
    box-shadow:0 4px 15px rgba(79,70,229,.20);
}

.user-name,
.page-title{
    font-size:24px;
    font-weight:700;
    line-height:1.2;
}

.user-kno{
    font-size:14px;
    opacity:.9;
    margin-top:6px;
}

/* CONTENT */

.page-content{
    padding:18px;
}

/* CARD */

.card-box{
    background:#fff;
    border-radius:18px;
    padding:18px;
    box-shadow: 0 4px 15px rgba(0,0,0,.06);
    border:1px solid #edf2f7;
    margin-bottom:15px;
}

/* HOME MENU */

.menu-card{
background:#fff;
padding:20px;
margin-bottom:15px;
border-radius:18px;
box-shadow:
0 4px 15px rgba(0,0,0,.06);
border:1px solid #edf2f7;
text-align:center;
font-size:16px;
font-weight:600;
cursor:pointer;
transition:.2s;
}

.menu-card:hover{
transform:translateY(-2px);
}

.menu-card i{
font-size:26px;
color:#4f46e5;
margin-bottom:10px;
display:block;
}

/* BILL / SETTINGS ROWS */

.row-item,
.setting-item{
display:flex;
justify-content:space-between;
align-items:center;
padding:16px 0;
border-bottom:1px solid #f1f5f9;
font-size:15px;
}

.row-item:last-child,
.setting-item:last-child{
border-bottom:none;
}

.row-item span:first-child

.row-item strong{
font-weight:600;
}

/* AMOUNT */

.amount-row{
font-size:20px;
font-weight:700;
color:#4f46e5;
}

/* LOGOUT */

.logout{
color:#dc2626;
font-weight:600;
}

/* BOTTOM NAV */

.bottom-nav{
position:fixed;
bottom:12px;
left:50%;
transform:translateX(-50%);
width:92%;
max-width:390px;
height:65px;
background:#fff;
border-radius:20px;
box-shadow:
0 10px 25px rgba(0,0,0,.12);
display:flex;
z-index:999;
}

.bottom-nav a{
flex:1;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-decoration:none;
color:#94a3b8;
font-size:11px;
font-weight:500;
}

.bottom-nav a i{
font-size:19px;
margin-bottom:4px;
}

.bottom-nav a.active{
color:#4f46e5;
font-weight:700;
}


.app-name{
	font-size:26px;
	font-weight:700;
	text-align:center;
}

.welcome-card{
	background:#fff;
	border-radius:20px;
	padding:25px;
	box-shadow:0 6px 20px rgba(0,0,0,.08);
	margin-bottom:15px;
}

.welcome-title{
	font-size:16px;
	color:#64748b;
}

.welcome-name{
	font-size:28px;
	font-weight:700;
	margin-top:5px;
	color:#111827;
}

.welcome-kno{
	margin-top:10px;
	font-size:15px;
	color:#4f46e5;
	font-weight:600;
}

.info-card{
	background:#fff;
	border-radius:20px;
	padding:20px;
	box-shadow:0 6px 20px rgba(0,0,0,.08);
}

.info-title{
	font-size:16px;
	font-weight:700;
	margin-bottom:10px;
}

.info-text{
	font-size:14px;
	line-height:1.6;
	color:#64748b;
}

.loading-card{
	background:#fff;
	border-radius:18px;
	padding:40px 20px;
	text-align:center;
	box-shadow:0 4px 15px rgba(0,0,0,.06);
}

.loading-text{
	margin-top:15px;
	font-size:14px;
	color:#64748b;
}

.bill-card{
	background:#fff;
	border-radius:18px;
	padding:20px;
	box-shadow:0 4px 15px rgba(0,0,0,.06);
}

.bill-status{
	display:inline-block;
	background:#dcfce7;
	color:#166534;
	padding:5px 12px;
	border-radius:20px;
	font-size:12px;
	font-weight:600;
	margin-bottom:20px;
}

.bill-amount{
	font-size:42px;
	font-weight:700;
	color:#4f46e5;
	margin-bottom:5px;
}

.bill-label{
	font-size:13px;
	color:#64748b;
	margin-bottom:20px;
}

.bill-row{
	display:flex;
	justify-content:space-between;
	padding:14px 0;
	border-bottom:1px solid #f1f5f9;
}

.bill-row:last-child{
	border-bottom:none;
}

.bill-row-title{
	color:#64748b;
}

.bill-btn{
	width:100%;
	height:52px;
	border:none;
	border-radius:14px;
	background:#4f46e5;
	color:#fff;
	font-weight:600;
	margin-top:20px;
}

.loading-card{
	background:#fff;
	border-radius:20px;
	padding:40px 25px;
	text-align:center;
	box-shadow:0 4px 20px rgba(0,0,0,.08);
}

.loading-icon{
	width:70px;
	height:70px;
	margin:auto;
	margin-bottom:20px;
	border-radius:20px;
	background:#eef2ff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:32px;
	animation:pulse 1.5s infinite;
}

.loading-title{
	font-size:18px;
	font-weight:700;
	color:#111827;
	margin-bottom:8px;
}

.loading-text{
	font-size:14px;
	color:#64748b;
	line-height:1.5;
}

.loading-dots{
	margin-top:20px;
}

.loading-dots span{
	width:10px;
	height:10px;
	background:#4f46e5;
	border-radius:50%;
	display:inline-block;
	margin:0 4px;
	animation:bounce 1.4s infinite ease-in-out;
}

.loading-dots span:nth-child(2){
	animation-delay:.2s;
}

.loading-dots span:nth-child(3){
	animation-delay:.4s;
}

@keyframes bounce{

	0%,80%,100%{
		transform:scale(.5);
		opacity:.4;
	}

	40%{
		transform:scale(1);
		opacity:1;
	}
}

@keyframes pulse{

	0%{
		transform:scale(1);
	}

	50%{
		transform:scale(1.08);
	}

	100%{
		transform:scale(1);
	}
}

.text-justify
{
    text-align: justify !important;
}

.app-tagline{
	font-size:13px;
	text-align:center;
	opacity:.85;
	margin-top:4px;
}

.quick-info-card{
	background:#ffffff;
	border-radius:20px;
	padding:20px;
	box-shadow:0 6px 20px rgba(0,0,0,.08);
	margin-bottom:15px;
}

.quick-info-title{
	font-size:16px;
	font-weight:700;
	margin-bottom:15px;
	color:#111827;
}

.quick-info-row{
	display:flex;
	justify-content:space-between;
	padding:12px 0;
	border-bottom:1px solid #eef2f7;
}

.quick-info-row:last-child{
	border-bottom:none;
}

.status-active{
	color:#16a34a;
	font-weight:600;
}


.bill-download-btn{
	width:100%;
	border:none;
	border-radius:14px;
	background:#fff;
	padding:14px 16px;
	margin-top:15px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	box-shadow:0 4px 15px rgba(0,0,0,.08);
	border:1px solid #eef2f7;
	cursor:pointer;
}

.pdf-icon{
	font-size:28px;
	color:#dc2626;
	flex-shrink:0;
}

.download-content{
	flex:1;
	text-align:left;
}

.download-title{
	font-size:15px;
	font-weight:600;
	color:#111827;
	margin-bottom:2px;
}

.download-subtitle{
	font-size:12px;
	color:#64748b;
}

.download-icon{
	font-size:20px;
	color:#4f46e5;
	flex-shrink:0;
}

.history-card{
	background:#fff;
	border-radius:18px;
	padding:16px;
	margin-bottom:15px;
	box-shadow:0 4px 15px rgba(0,0,0,.06);
	border:1px solid #edf2f7;
}

.history-top{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:12px;
}

.history-date{
	font-size:15px;
	font-weight:600;
	color:#111827;
}

.history-amount{
	font-size:20px;
	font-weight:700;
	color:#4f46e5;
}

.history-bottom{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding-top:12px;
	border-top:1px solid #f1f5f9;
}

.history-due{
	font-size:13px;
	color:#64748b;
}

.history-download{
	width:42px;
	height:42px;
	border:none;
	border-radius:12px;
	background:#fef2f2;
	color:#dc2626;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:18px;
}

.history-download:hover{
	background:#fee2e2;
}

.login-btn{
	width:100%;
	height:52px;
	margin-top:12px;
	border:1px solid #dbe3f0;
	border-radius:14px;
	background:#ffffff;
	color:#4f46e5;
	font-weight:600;
	box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.login-btn:hover{
	background:#f8fafc;
}

/* FORM LABEL */

.form-label{
	font-size:14px;
	font-weight:600;
	color:#374151;
	margin-bottom:8px;
	display:block;
}

/* INPUTS */

.form-control,
.form-select{
	height:54px;
	border:1px solid #e5e7eb;
	border-radius:14px;
	background:#f8fafc;
	padding:0 16px;
	font-size:15px;
	color:#111827;
	box-shadow:none !important;
	transition:.2s;
}

.form-control::placeholder{
	color:#9ca3af;
}

/* FOCUS */

.form-control:focus,
.form-select:focus{
	border-color:#4f46e5;
	background:#ffffff;
	box-shadow:0 0 0 4px rgba(79,70,229,.10) !important;
}

/* INPUT GROUP */

.input-group{
	border-radius:14px;
	overflow:hidden;
}

.input-group-text{
	background:#f1f5f9;
	border:1px solid #e5e7eb;
	border-right:none;
	color:#4f46e5;
	font-weight:600;
	padding:0 16px;
}

.input-group .form-control{
	border-left:none;
}

/* PASSWORD EYE BUTTON */

.input-group .btn{
	background:#f8fafc;
	border:1px solid #e5e7eb;
	border-left:none;
	color:#64748b;
	box-shadow:none !important;
}

.input-group .btn:hover{
	background:#eef2ff;
	color:#4f46e5;
}

/* SELECT */

select.form-control{
	cursor:pointer;
}

/* DISABLED */

.form-control:disabled{
	background:#f3f4f6;
	color:#9ca3af;
}

/* MOBILE FEEL */

.form-control,
.form-select,
.input-group-text{
	min-height:54px;
}

.form-control,
.form-select{
	background:#ffffff;
	border:1px solid #edf2f7;
	border-radius:16px;
	box-shadow:0 2px 8px rgba(0,0,0,.04);
}

.setting-link{
	text-decoration:none;
	color:inherit;
	display:block;
}

.setting-link:hover{
	color:inherit;
}

.page-content{
	padding:12px;
	height:calc(100vh - 170px);
	overflow:hidden;
}

html,
body{
	height:100%;
	margin:0;
	overflow:hidden;
}

.mobile-app{
	height:100vh;
	overflow:hidden;
	position:relative;
}

.page-content{
	height:calc(100vh - 180px);
	overflow-y:auto;

	-ms-overflow-style:none;
	scrollbar-width:none;
}

.page-content::-webkit-scrollbar{
	display:none;
}

.fetch-kno-btn{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:7px 12px;
	background:#eef2ff;
	color:#4f46e5;
	border-radius:20px;
	text-decoration:none;
	font-size:13px;
	font-weight:600;
	transition:.2s;
}

.fetch-kno-btn:hover{
	background:#4f46e5;
	color:#fff;
	text-decoration:none;
}

.kno-number{
	font-weight:700;
	color:#4f46e5;
	letter-spacing:.5px;
}

.info-title{
	font-size:18px;
	font-weight:700;
	color:#4f46e5;
	margin-bottom:15px;
	padding-left:12px;
	position:relative;
}

.info-title:before{
	content:'';
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:4px;
	height:18px;
	background:#4f46e5;
	border-radius:10px;
}

.kno-name-row{
	display:block !important;
}

.kno-label{
	font-size:14px;
	color:#64748b;
	margin-bottom:8px;
}

.kno-value{
	font-size:15px;
	font-weight:600;
	color:#111827;
	line-height:1.6;
	word-break:break-word;
	text-transform:uppercase;
}