
:root{
	--kef-main:#105f60;
	--kef-main-dark:#0b4d4e;
	--kef-gold:#b09057;
	--kef-ink:#193738;
	--kef-muted:#6c7f80;
	--kef-soft:#f4f7f7;
	--kef-line:#dbe6e6;
}
html,body{margin:0;min-height:100%;background:#f4f7f7}
body.kefayah-standalone-page{
	font-family:Cairo,Tahoma,Arial,sans-serif;
	color:var(--kef-ink);
	-webkit-font-smoothing:antialiased;
}
body.kefayah-standalone-page *{box-sizing:border-box}
.kef-login-shell{
	min-height:100vh;
	display:grid;
	grid-template-columns:minmax(320px,44%) minmax(420px,56%);
	background:#f6f8f8;
}
.kef-login-side{
	position:relative;
	overflow:hidden;
	display:flex;
	align-items:flex-end;
	padding:70px;
	color:#fff;
	background:linear-gradient(145deg,var(--kef-main),#174b4c);
}
.kef-login-side:after{
	content:"";
	position:absolute;
	width:440px;height:440px;
	border:1px solid rgba(176,144,87,.38);
	border-radius:50%;
	top:-180px;left:-120px;
	box-shadow:0 0 0 55px rgba(176,144,87,.07),0 0 0 110px rgba(255,255,255,.035);
}
.kef-login-side-pattern{
	position:absolute;inset:0;
	background:
		linear-gradient(30deg,rgba(255,255,255,.035) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.035) 87.5%,rgba(255,255,255,.035)),
		linear-gradient(150deg,rgba(255,255,255,.035) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.035) 87.5%,rgba(255,255,255,.035));
	background-size:72px 126px;
	opacity:.55;
}
.kef-login-side-copy{position:relative;z-index:2;max-width:510px}
.kef-login-side-copy span{
	display:inline-block;color:#f2dfb9;font-size:15px;font-weight:800;
	margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--kef-gold)
}
.kef-login-side-copy h2{font-size:42px;line-height:1.35;margin:0 0 18px;font-weight:900}
.kef-login-side-copy p{font-size:18px;line-height:1.9;margin:0;color:rgba(255,255,255,.82)}
.kef-login-card{
	width:min(530px,calc(100% - 48px));
	align-self:center;
	justify-self:center;
	background:#fff;
	border:1px solid var(--kef-line);
	border-radius:26px;
	padding:42px;
	box-shadow:0 24px 65px rgba(16,95,96,.13);
}
.kef-login-brand{display:flex;align-items:center;gap:18px;margin-bottom:31px}
.kef-login-brand img{width:94px;height:82px;object-fit:contain}
.kef-brand-fallback{
	width:94px;height:82px;border-radius:18px;
	display:grid;place-items:center;
	background:linear-gradient(145deg,var(--kef-main),#174b4c);
	color:#fff;font-weight:900;font-size:20px;
	border-bottom:5px solid var(--kef-gold)
}
.kef-brand-fallback.small{width:72px;height:64px;font-size:16px}
.kef-login-brand span,.kef-portal-brand span,.kef-portal-intro span{
	color:var(--kef-gold);font-size:14px;font-weight:900
}
.kef-login-brand h1{font-size:25px;line-height:1.45;margin:4px 0 0;color:var(--kef-main);font-weight:900}
.kef-login-form label{display:block;font-size:14px;font-weight:800;margin:0 0 8px;color:#294646}
.kef-input-wrap{position:relative;margin-bottom:21px}
.kef-input-wrap input{
	width:100%;height:52px;border:1px solid #cbdada;border-radius:12px;
	padding:10px 49px 10px 14px;background:#fbfdfd;
	font-family:inherit;font-size:16px;color:var(--kef-ink);
	outline:none;transition:.2s
}
.kef-input-wrap input:focus{border-color:var(--kef-main);box-shadow:0 0 0 4px rgba(16,95,96,.09);background:#fff}
.kef-input-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--kef-main);width:22px;height:22px}
.kef-input-icon svg,.kef-system-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kef-login-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:1px 0 23px;font-size:14px}
.kef-login-options a{color:var(--kef-main);font-weight:800;text-decoration:none}
.kef-remember{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:700!important}
.kef-remember input{width:18px;height:18px;accent-color:var(--kef-main)}
.kef-login-button{
	width:100%;height:52px;border:0;border-radius:12px;
	background:var(--kef-main);color:#fff;font-family:inherit;
	font-size:17px;font-weight:900;cursor:pointer;
	box-shadow:0 9px 22px rgba(16,95,96,.22);transition:.2s
}
.kef-login-button:hover{background:var(--kef-main-dark);transform:translateY(-1px)}
.kef-login-help{text-align:center;color:var(--kef-muted);font-size:13px;margin:20px 0 0}
.kef-login-alert,.kef-login-success{
	padding:13px 15px;border-radius:11px;margin:0 0 20px;font-size:14px;font-weight:800
}
.kef-login-alert{background:#fff0f0;color:#9d2f2f;border:1px solid #f3cccc}
.kef-login-success{background:#edf8f2;color:#246d48;border:1px solid #cce8d8}
.kef-portal-notice{max-width:600px;margin:80px auto;padding:24px;background:#fff;border-radius:15px;text-align:center}
.kef-portal-notice a{color:var(--kef-main);font-weight:900}
.kef-portal-shell{min-height:100vh;background:linear-gradient(180deg,#eef4f4 0,#f8f9f9 300px);padding:28px}
.kef-portal-header{
	max-width:1180px;margin:0 auto;
	display:flex;align-items:center;justify-content:space-between;gap:22px;
	background:#fff;border:1px solid var(--kef-line);
	border-radius:22px;padding:20px 24px;
	box-shadow:0 14px 40px rgba(16,95,96,.09)
}
.kef-portal-brand{display:flex;align-items:center;gap:15px}
.kef-portal-brand img{width:72px;height:64px;object-fit:contain}
.kef-portal-brand h1{margin:3px 0 0;color:var(--kef-main);font-size:24px;font-weight:900}
.kef-portal-user{display:flex;align-items:center;gap:20px}
.kef-portal-user small{display:block;color:var(--kef-muted);font-size:12px;margin-bottom:2px}
.kef-portal-user strong{font-size:15px;color:var(--kef-ink)}
.kef-portal-user a{
	text-decoration:none;background:#f5f0e7;color:#79613b;
	border:1px solid #e4d7bd;border-radius:10px;padding:10px 14px;
	font-size:13px;font-weight:900
}
.kef-portal-main{max-width:1180px;margin:0 auto;padding:65px 0 45px}
.kef-portal-intro{text-align:center;margin-bottom:34px}
.kef-portal-intro h2{font-size:34px;color:var(--kef-main);margin:7px 0 10px;font-weight:900}
.kef-portal-intro p{color:var(--kef-muted);font-size:16px;margin:0}
.kef-system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kef-system-card{
	position:relative;display:flex;align-items:center;gap:17px;
	min-height:145px;padding:25px;background:#fff;
	border:1px solid var(--kef-line);border-radius:20px;
	text-decoration:none;color:var(--kef-ink);
	box-shadow:0 10px 28px rgba(16,95,96,.07);
	overflow:hidden;transition:.22s
}
.kef-system-card:before{
	content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--kef-gold)
}
.kef-system-card:hover{transform:translateY(-4px);box-shadow:0 17px 38px rgba(16,95,96,.13);border-color:#bfd4d4}
.kef-system-icon{
	flex:0 0 56px;width:56px;height:56px;border-radius:16px;
	display:grid;place-items:center;padding:15px;
	color:#fff;background:linear-gradient(145deg,var(--kef-main),#174b4c);
	box-shadow:0 7px 18px rgba(16,95,96,.2)
}
.kef-system-copy{min-width:0}
.kef-system-copy strong{display:block;color:var(--kef-main);font-size:19px;font-weight:900;margin-bottom:7px}
.kef-system-copy small{display:block;color:var(--kef-muted);font-size:13px;line-height:1.65}
.kef-system-arrow{margin-right:auto;color:var(--kef-gold);font-size:25px;font-weight:900}
.kef-empty-systems{max-width:650px;margin:0 auto;padding:40px;text-align:center;background:#fff;border:1px solid var(--kef-line);border-radius:20px}
.kef-empty-systems h3{color:var(--kef-main);margin:0 0 8px}
.kef-empty-systems p{color:var(--kef-muted);margin:0}
.kef-portal-footer{
	max-width:1180px;margin:0 auto;padding:18px 4px;
	display:flex;justify-content:space-between;gap:16px;
	border-top:1px solid var(--kef-line);color:var(--kef-muted);font-size:12px
}
@media(max-width:950px){
	.kef-login-shell{grid-template-columns:1fr}
	.kef-login-side{display:none}
	.kef-login-card{margin:40px auto}
	.kef-system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
	.kef-login-card{width:calc(100% - 28px);padding:27px 22px;border-radius:20px}
	.kef-login-brand{align-items:flex-start}
	.kef-login-brand img,.kef-brand-fallback{width:72px;height:64px}
	.kef-login-brand h1{font-size:20px}
	.kef-login-options{align-items:flex-start;flex-direction:column}
	.kef-portal-shell{padding:14px}
	.kef-portal-header{align-items:flex-start;flex-direction:column;padding:18px}
	.kef-portal-user{width:100%;justify-content:space-between;border-top:1px solid var(--kef-line);padding-top:15px}
	.kef-portal-main{padding:45px 0 35px}
	.kef-portal-intro h2{font-size:27px}
	.kef-system-grid{grid-template-columns:1fr}
	.kef-system-card{min-height:125px;padding:20px}
	.kef-portal-footer{flex-direction:column;text-align:center}
}
