/* =============================================================
 * ConnectPay App — Universal Stylesheet
 * Compatible : Android 4.2+ WebView
 * Rules      : No CSS vars, no grid, no gap, no dvh, no clamp
 *              -webkit- prefix for flex / transform / transition
 *              / animation / gradient everywhere required
 * ============================================================= */


/* ---- Fonts ---- */
@font-face{
	font-family:"DroidKufi-Regular";
	src:url("/res/fonts/DroidKufi-Regular.woff") format("woff"),
		url("/res/fonts/DroidKufi-Regular.ttf") format("truetype");
	font-style:normal;font-weight:400;font-display:swap;
}
@font-face{
	font-family:"DroidKufi-Bold";
	src:url("/res/fonts/DroidKufi-Bold.woff") format("woff"),
		url("/res/fonts/DroidKufi-Bold.ttf") format("truetype");
	font-style:normal;font-weight:700;font-display:swap;
}


/* =============================================================
 * RESET & BASE
 * ============================================================= */
*{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;}
html{min-height:100%;}
html,body{width:100%;overflow-x:hidden;}
body{
	min-height:100%;margin:0;padding:0;
	font-family:"DroidKufi-Regular",Tahoma,Arial,sans-serif;
	font-size:15px;line-height:1.65;
	color:#1a1a2e;
	background:#f0f4f8;
	direction:rtl;
}
#fullbody{min-height:100vh;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
input,button,select,textarea{font-family:inherit;}


/* =============================================================
 * TYPOGRAPHY HELPERS
 * Short utility classes — reuse everywhere, never duplicate
 * ============================================================= */
.bold{font-weight:700;}            /* bold text */
.tac{text-align:center;}           /* center align */
.tar{text-align:right;}            /* right align */
.tal{text-align:left;}             /* left align */
.muted{color:#5d7a9a;font-size:.82rem;}/* secondary / hint text */
.mt-sm{margin-top:10px;}           /* small top margin */
.mb-sm{margin-bottom:10px;}        /* small bottom margin */


/* =============================================================
 * LAYOUT WRAPPERS
 * ============================================================= */

/* Full-screen wrapper — takes the entire viewport on login */
.pg{
	min-height:100vh;
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	padding:20px 16px;
	background:-webkit-linear-gradient(160deg,#060d1e 0%,#0d1f3c 55%,#081424 100%);
	background:linear-gradient(160deg,#060d1e 0%,#0d1f3c 55%,#081424 100%);
}

/* Main content area after login */
.home-wrap{min-height:100%;background:#f0f4f8;padding:0 0 30px;}


/* =============================================================
 * CARD
 * ============================================================= */

/* Outer card shell — navy body, white hero on top */
.card{
	width:100%;max-width:390px;
	background:-webkit-linear-gradient(155deg,#0a2463 0%,#1a4fa8 65%,#0a2463 100%);
	background:linear-gradient(155deg,#0a2463 0%,#1a4fa8 65%,#0a2463 100%);
	border-radius:22px;
	overflow:hidden;
	-webkit-box-shadow:0 24px 64px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.3);
	box-shadow:0 24px 64px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.3);
}

/* WHITE hero header — logo takes the whole stage */
.card-hd{
	background:#ffffff;
	padding:24px 20px 20px;
	text-align:center;
	position:relative;
}
/* Full-bleed logo — dominates the header */
.logo{
	display:block;
	width:100%;height:auto;
	max-width:280px;
	margin:0 auto;
}

/* Gold seam between white header and navy body */
.hd-rule{
	display:block;
	position:absolute;left:0;right:0;bottom:0;
	height:3px;
	background:-webkit-linear-gradient(to right,rgba(245,196,60,0) 0%,#f5c43c 50%,rgba(245,196,60,0) 100%);
	background:linear-gradient(to right,rgba(245,196,60,0) 0%,#f5c43c 50%,rgba(245,196,60,0) 100%);
}

/* Card content body — sits on the navy gradient */
.card-bd{padding:28px 22px 26px;}


/* =============================================================
 * STEP INDICATOR
 * ============================================================= */

/* Flex row holding circles + connectors */
.steps{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	margin-bottom:22px;
}

/* Step circle — sits on navy, translucent default */
.step{
	width:34px;height:34px;border-radius:50%;
	background:rgba(255,255,255,.12);
	color:rgba(255,255,255,.55);
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:.78rem;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	-webkit-transition:background .3s,color .3s,-webkit-box-shadow .3s;
	transition:background .3s,color .3s,box-shadow .3s;
	position:relative;z-index:1;
}
/* Active step — gold glow */
.step.act{
	background:-webkit-linear-gradient(135deg,#f5c43c,#e09d00);
	background:linear-gradient(135deg,#f5c43c,#e09d00);
	color:#0a2463;
	-webkit-box-shadow:0 4px 14px rgba(240,180,41,.55);
	box-shadow:0 4px 14px rgba(240,180,41,.55);
}
/* Completed step — white pill */
.step.done{background:#fff;color:#0a2463;}

/* Connector line between step circles */
.step-ln{
	-webkit-box-flex:1;-webkit-flex:1;flex:1;
	height:2px;background:rgba(255,255,255,.18);
	max-width:44px;
	-webkit-transition:background .3s;transition:background .3s;
}
.step-ln.done{background:#f5c43c;}


/* Step panels — active panel takes full width */
.stp{display:none;}
.stp.act{display:block;width:100%;}

/* Step heading — white on navy body */
.stp-ttl{
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:1rem;color:#fff;
	text-align:center;margin-bottom:18px;
	letter-spacing:.2px;
}

/* Anti-phishing identity banner — shown on step 2/3 to prove
   the real app knows the merchant's name + store name. A fake
   app cannot know these details before the user logs in. */
.id-banner{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(245,196,60,.35);
	border-radius:12px;
	padding:10px 12px;margin-bottom:16px;
	text-align:right;
}
.id-avatar{
	width:42px;height:42px;line-height:42px;
	border-radius:50%;
	background:rgba(245,196,60,.15);
	color:#f5c43c;font-size:26px;text-align:center;
	margin-left:10px;-webkit-flex-shrink:0;flex-shrink:0;
}
.id-meta{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;}
.id-name{
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	color:#fff;font-size:.95rem;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.id-store{
	color:#f5c43c;font-size:.78rem;margin-top:2px;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.id-store i{margin-left:4px;}


/* =============================================================
 * FORM ELEMENTS
 * ============================================================= */

/* Field group wrapper */
.fg{margin-bottom:16px;}
.fg label{
	display:block;font-size:.8rem;
	color:rgba(255,255,255,.7);font-weight:700;margin-bottom:6px;
}

/* Standard text / tel / password input — glassy on navy */
.fg input,.fg select{
	display:block;width:100%;
	padding:14px 16px;
	border:1px solid rgba(255,255,255,.18);
	border-radius:12px;
	font-size:.95rem;color:#fff;
	background:rgba(255,255,255,.08);
	outline:none;direction:ltr;text-align:right;
	-webkit-transition:border-color .2s,background .2s;
	transition:border-color .2s,background .2s;
	-webkit-appearance:none;appearance:none;
}
.fg input::-webkit-input-placeholder{color:rgba(255,255,255,.55);}
.fg input:-ms-input-placeholder{color:rgba(255,255,255,.55);}
.fg input::placeholder{color:rgba(255,255,255,.55);}
.fg input:focus,.fg select:focus{
	border-color:#f5c43c;
	background:rgba(255,255,255,.14);
	-webkit-box-shadow:0 0 0 3px rgba(245,196,60,.18);
	box-shadow:0 0 0 3px rgba(245,196,60,.18);
}

/* Input row — input + trailing icon, glassy on navy */
.inp-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	border:1px solid rgba(255,255,255,.18);border-radius:12px;
	background:rgba(255,255,255,.08);overflow:hidden;
	-webkit-transition:border-color .2s,background .2s,-webkit-box-shadow .2s;
	transition:border-color .2s,background .2s,box-shadow .2s;
}
.inp-row.foc,
.inp-row:focus-within{
	border-color:#f5c43c;
	background:rgba(255,255,255,.14);
	-webkit-box-shadow:0 0 0 3px rgba(245,196,60,.18);
	box-shadow:0 0 0 3px rgba(245,196,60,.18);
}
.inp-row input{
	-webkit-box-flex:1;-webkit-flex:1;flex:1;
	padding:14px 16px;border:none;background:transparent;
	font-size:.95rem;color:#fff;
	outline:none;direction:ltr;text-align:right;
	-webkit-appearance:none;appearance:none;
}
.inp-row input::-webkit-input-placeholder{color:rgba(255,255,255,.55);}
.inp-row input:-ms-input-placeholder{color:rgba(255,255,255,.55);}
.inp-row input::placeholder{color:rgba(255,255,255,.55);}

/* Small icon/action button inside inp-row */
.btn-ico{
	background:none;border:none;
	color:rgba(255,255,255,.55);padding:0 14px;
	cursor:pointer;font-size:.95rem;line-height:1;
	-webkit-transition:color .2s;transition:color .2s;
}
.btn-ico:active{color:#f5c43c;}


/* =============================================================
 * OTP INPUTS
 * Six individual single-digit input boxes
 * ============================================================= */
.otp-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	direction:ltr;margin-bottom:20px;
}
.otp-row input{
	width:44px;height:52px;
	border:1px solid rgba(255,255,255,.18);border-radius:10px;
	text-align:center;
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:1.3rem;font-weight:700;color:#fff;
	background:rgba(255,255,255,.08);margin:0 3px;padding:0;
	outline:none;
	-webkit-transition:border-color .2s,background .2s,-webkit-transform .15s;
	transition:border-color .2s,background .2s,transform .15s;
	-webkit-appearance:none;appearance:none;
	-moz-appearance:textfield;
}
.otp-row input:focus{
	border-color:#f5c43c;background:rgba(255,255,255,.16);
	-webkit-transform:scale(1.08);transform:scale(1.08);
	-webkit-box-shadow:0 2px 10px rgba(245,196,60,.45);
	box-shadow:0 2px 10px rgba(245,196,60,.45);
}
/* Hide browser number spinners */
.otp-row input::-webkit-outer-spin-button,
.otp-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* Anti-phishing screen code badge — dark, gold-ringed pill on navy body */
.sc-box{
	background:rgba(0,0,0,.25);border:2px solid #f5c43c;border-radius:12px;
	padding:10px 14px;margin-bottom:16px;text-align:center;
}
.sc-lbl{
	display:block;font-size:.7rem;color:#a9b4d0;letter-spacing:.05em;
	text-transform:uppercase;margin-bottom:4px;
}
.sc-num{
	display:block;
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:2rem;font-weight:700;color:#f5c43c;letter-spacing:.2em;
	line-height:1;margin-bottom:6px;
}
.sc-tip{
	display:block;font-size:.72rem;color:#7ec8e3;line-height:1.4;
}


/* =============================================================
 * BUTTONS
 * ============================================================= */

/* Base — block-level, full width, premium feel */
.btn{
	position:relative;
	display:block;width:100%;padding:15px 18px;
	border:none;border-radius:14px;
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:.98rem;font-weight:700;
	cursor:pointer;text-align:center;
	overflow:hidden;
	-webkit-transition:opacity .2s,-webkit-transform .12s,-webkit-box-shadow .2s;
	transition:opacity .2s,transform .12s,box-shadow .2s;
}
.btn:active{-webkit-transform:scale(.97);transform:scale(.97);}

/* Primary — deep gold gradient, layered glow, gold ring */
.btn-pri{
	background:-webkit-linear-gradient(135deg,#ffe27a 0%,#f5c43c 40%,#e09d00 100%);
	background:linear-gradient(135deg,#ffe27a 0%,#f5c43c 40%,#e09d00 100%);
	color:#0a2463;
	text-shadow:0 1px 0 rgba(255,255,255,.35);
	-webkit-box-shadow:
		0 10px 26px rgba(245,196,60,.45),
		0 0 0 1px rgba(245,196,60,.7),
		inset 0 1px 0 rgba(255,255,255,.55),
		inset 0 -2px 0 rgba(160,110,0,.35);
	box-shadow:
		0 10px 26px rgba(245,196,60,.45),
		0 0 0 1px rgba(245,196,60,.7),
		inset 0 1px 0 rgba(255,255,255,.55),
		inset 0 -2px 0 rgba(160,110,0,.35);
}
.btn-pri:active{
	-webkit-box-shadow:
		0 4px 12px rgba(245,196,60,.4),
		0 0 0 1px rgba(245,196,60,.7),
		inset 0 1px 0 rgba(255,255,255,.4),
		inset 0 -1px 0 rgba(160,110,0,.3);
	box-shadow:
		0 4px 12px rgba(245,196,60,.4),
		0 0 0 1px rgba(245,196,60,.7),
		inset 0 1px 0 rgba(255,255,255,.4),
		inset 0 -1px 0 rgba(160,110,0,.3);
}
.btn-pri:disabled{opacity:.5;cursor:default;}

/* Shimmer sweep — looped highlight pass for premium feel */
.btn-pri:before{
	content:'';position:absolute;top:0;bottom:0;left:-60%;
	width:50%;
	background:-webkit-linear-gradient(to right,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,.55) 50%,
		rgba(255,255,255,0) 100%);
	background:linear-gradient(to right,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,.55) 50%,
		rgba(255,255,255,0) 100%);
	-webkit-transform:skewX(-22deg);transform:skewX(-22deg);
	-webkit-animation:btnSheen 3.4s ease-in-out infinite;
	animation:btnSheen 3.4s ease-in-out infinite;
	pointer-events:none;
}
@-webkit-keyframes btnSheen{
	0%{left:-60%;}
	55%{left:120%;}
	100%{left:120%;}
}
@keyframes btnSheen{
	0%{left:-60%;}
	55%{left:120%;}
	100%{left:120%;}
}

/* Link-style inline button — light gold on navy */
.btn-lnk{
	background:none;border:none;
	color:#f5c43c;font-size:.82rem;
	cursor:pointer;padding:0;
	font-family:inherit;
	text-decoration:underline;
}
.btn-lnk:active{opacity:.65;}


/* =============================================================
 * ALERTS
 * ============================================================= */
.alrt{
	padding:11px 14px;border-radius:10px;
	font-size:.84rem;margin-bottom:14px;
	display:none;line-height:1.55;
}
.alrt.show{display:block;}
.alrt.err{background:rgba(192,57,43,.18);color:#ffd2cc;border:1px solid rgba(255,120,100,.4);}
.alrt.ok{background:rgba(34,197,94,.18);color:#cdfbe0;border:1px solid rgba(110,220,150,.4);}
.alrt.inf{background:rgba(30,64,175,.25);color:#cfe0ff;border:1px solid rgba(120,160,255,.4);}


/* =============================================================
 * SPINNER  (used inside buttons during async ops)
 * ============================================================= */
.spi{
	display:inline-block;
	width:15px;height:15px;
	border:2px solid rgba(10,36,99,.25);
	border-top-color:#0a2463;
	border-radius:50%;
	vertical-align:middle;
	margin-left:5px;
	-webkit-animation:spin .75s linear infinite;
	animation:spin .75s linear infinite;
}
@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}
@keyframes spin{to{transform:rotate(360deg);}}


/* =============================================================
 * PAGE FOOTER
 * ============================================================= */
.cp-footer{
	color:#fff;
	font-size:.78rem;text-align:center;
	margin-top:18px;letter-spacing:.6px;
	opacity:.85;
}


/* =============================================================
 * MOBILE APP SHELL
 *   #tnav (top, fixed)
 *   .cp-shell > .cp-page (panels — only .is-act visible)
 *   #fnav (bottom, fixed, 5 tabs)
 *   #drawer (right slide-in)
 *   #bodyloader (gold thin progress bar above tnav)
 *   #offlinebar (red banner above fnav)
 * Navy + gold palette. Light page bg. Android 4.2 safe.
 * ============================================================= */

/* When home shell is mounted, body bg flips from login navy → light */
body.has-shell{
	background:#f0f4f8;
}

/* Loader bar — gold sliver, 3px, fixed top */
#bodyloader{
	position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;
	background:transparent;overflow:hidden;
}
#bodyloader.bar-on{
	background:-webkit-linear-gradient(left,transparent 0%,#f5c43c 50%,transparent 100%);
	background:linear-gradient(to right,transparent 0%,#f5c43c 50%,transparent 100%);
	background-size:40% 100%;background-repeat:no-repeat;
	-webkit-animation:cpBar 1.1s linear infinite;animation:cpBar 1.1s linear infinite;
}
@-webkit-keyframes cpBar{0%{background-position:-40% 0;}100%{background-position:140% 0;}}
@keyframes cpBar{0%{background-position:-40% 0;}100%{background-position:140% 0;}}

/* Offline banner */
#offlinebar{
	position:fixed;left:8px;right:8px;bottom:78px;z-index:999;
	background:#b82d3c;color:#fff;font-size:13px;font-weight:700;text-align:center;
	padding:9px 14px;border-radius:12px;
	-webkit-box-shadow:0 6px 18px rgba(184,45,60,.35);box-shadow:0 6px 18px rgba(184,45,60,.35);
}
#offlinebar.on{display:block;}
#offlinebar .fas{margin-left:6px;}

/* ===== TOP NAV ===== */
.tnav{
	position:fixed;top:0;left:0;right:0;z-index:998;
	background:-webkit-linear-gradient(135deg,#0a2463 0%,#1a4fa8 60%,#0a2463 100%);
	background:linear-gradient(135deg,#0a2463 0%,#1a4fa8 60%,#0a2463 100%);
	-webkit-box-shadow:0 4px 14px rgba(10,16,40,.30);box-shadow:0 4px 14px rgba(10,16,40,.30);
	border-bottom:1px solid rgba(245,196,60,.18);
}
.tnav-inner{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;
	padding:0 10px;height:56px;max-width:640px;margin:0 auto;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.tnav-btn{
	width:42px;height:42px;border-radius:12px;border:0;cursor:pointer;
	background:rgba(255,255,255,.10);color:#fff;font-size:17px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	-webkit-transition:background .15s,-webkit-transform .15s;transition:background .15s,transform .15s;
}
.tnav-btn:active{background:rgba(245,196,60,.22);-webkit-transform:scale(.9);transform:scale(.9);}
.tnav-logo{
	border:0;background:none;cursor:pointer;padding:0 8px;-webkit-flex:1;flex:1;
	color:#fff;font-family:"DroidKufi-Bold",Tahoma,sans-serif;font-size:14px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
}
.tnav-logo .fas{color:#f5c43c;font-size:18px;}
.tnav-balance{
	border:0;border-radius:12px;cursor:pointer;
	background:rgba(255,255,255,.10);padding:5px 12px;text-align:center;
	-webkit-transition:background .15s;transition:background .15s;
	margin: 5px;
}
.tnav-balance:active{background:rgba(245,196,60,.22);-webkit-transform:scale(.94);transform:scale(.94);}
.tnav-store{
	display:block;font-size:10px;color:rgba(255,255,255,.78);font-weight:500;line-height:1.2;
	white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis;
}
.tnav-amount{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	font-size:14px;font-weight:700;color:#fff;white-space:nowrap;
}
.tnav-amount .fas{color:#f5c43c;margin-left:4px;}
#navVSA{color:#fde47a;font-weight:800;font-size:14px;}

/* ===== SHELL + PAGES ===== */
.cp-shell{
	max-width:760px;margin:0 auto;
	padding:64px 12px 90px;  /* top = tnav 56 + 8; bottom = fnav 70 + 20 */
	min-height:100vh;
}
.cp-page{display:none;}
.cp-page.is-act{
	display:block;
	-webkit-animation:cpFade .22s ease-out both;animation:cpFade .22s ease-out both;
}
@-webkit-keyframes cpFade{from{opacity:0;-webkit-transform:translateY(6px);}to{opacity:1;-webkit-transform:translateY(0);}}
@keyframes cpFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* ===== PAGE HEAD ===== */
.pg-head{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	padding:12px 4px 10px;margin-bottom:10px;
}
.pg-head .pg-icn{
	width:42px;height:42px;border-radius:12px;margin-left:12px;color:#fff;font-size:18px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	background:-webkit-linear-gradient(135deg,#0a2463,#1a4fa8);
	background:linear-gradient(135deg,#0a2463,#1a4fa8);
	-webkit-flex:0 0 auto;flex:0 0 auto;
	-webkit-box-shadow:0 4px 12px rgba(10,16,40,.18);box-shadow:0 4px 12px rgba(10,16,40,.18);
}
.pg-head .pg-icn.is-blue  {background:-webkit-linear-gradient(135deg,#0b6ecf,#0a4d8c);background:linear-gradient(135deg,#0b6ecf,#0a4d8c);}
.pg-head .pg-icn.is-green {background:-webkit-linear-gradient(135deg,#28a745,#1e8e3a);background:linear-gradient(135deg,#28a745,#1e8e3a);}
.pg-head .pg-icn.is-amber {background:-webkit-linear-gradient(135deg,#f5c43c,#b45309);background:linear-gradient(135deg,#f5c43c,#b45309);}
.pg-head .pg-icn.is-purple{background:-webkit-linear-gradient(135deg,#7e6cf5,#6c4cf5);background:linear-gradient(135deg,#7e6cf5,#6c4cf5);}
.pg-head .pg-icn.is-red   {background:-webkit-linear-gradient(135deg,#dc3545,#b82d3c);background:linear-gradient(135deg,#dc3545,#b82d3c);}
.pg-head .pg-body{-webkit-flex:1 1 auto;flex:1 1 auto;min-width:0;}
.pg-head .pg-title{font-family:"DroidKufi-Bold",Tahoma,sans-serif;font-size:17px;color:#0a2463;line-height:1.25;}
.pg-head .pg-sub{font-size:12px;color:#5d7a9a;margin-top:2px;line-height:1.4;}
.pg-head .pg-action{-webkit-flex:0 0 auto;flex:0 0 auto;}

/* ===== ICON BUTTON (header action) ===== */
.btn-icon{
	width:40px;height:40px;border:0;border-radius:50%;cursor:pointer;
	background:#fff;color:#0a2463;font-size:16px;
	-webkit-box-shadow:0 2px 8px rgba(10,16,40,.12);box-shadow:0 2px 8px rgba(10,16,40,.12);
	-webkit-transition:-webkit-transform .15s;transition:transform .15s;
}
.btn-icon:active{-webkit-transform:scale(.9);transform:scale(.9);}
.btn-icon.is-green{background:#1e8e3a;color:#fff;}

/* ===== CARD ===== */
.cp-card{
	background:#fff;border:1px solid #d6e2f0;border-radius:14px;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);box-shadow:0 1px 3px rgba(10,16,40,.08);
	padding:14px;margin:0 0 12px;
}
/* Filter / control card — visually distinct from result rows: soft
 * darker bg, thin solid border, rounded. Reused by every list page
 * filter form (res-filter, log-filter, dep-filter, hlp-filter …). */
.cp-card.is-flat{-webkit-box-shadow:none;box-shadow:none;background:#eef2f7;border:1px solid #d3dbe6;-webkit-border-radius:12px;border-radius:12px;padding:10px;margin-bottom:10px;}

/* ===== SECTION TITLE ===== */
.cp-section-ttl{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	font-size:12px;font-weight:700;color:#5d7a9a;
	text-transform:uppercase;letter-spacing:.06em;margin:18px 4px 8px;
}
.cp-section-ttl > .fas{margin-left:6px;color:#0a2463;}
.cp-section-ttl:after{content:"";-webkit-flex:1;flex:1;height:1px;background:#d6e2f0;margin-right:8px;}

/* ===== SERVICE GRID (الخدمات) ===== */
.cp-srv-grid{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0 -4px;
}
.cp-srv{
	-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;
	-webkit-flex:0 0 calc(50% - 8px);flex:0 0 calc(50% - 8px);max-width:calc(50% - 8px);
	min-height:96px;border:0;cursor:pointer;border-radius:16px;
	color:#fff;text-align:center;padding:14px 8px;
	background:-webkit-linear-gradient(160deg,#0a2463 0%,#1a4fa8 100%);
	background:linear-gradient(160deg,#0a2463 0%,#1a4fa8 100%);
	border-bottom:3px solid #f5c43c;
	-webkit-box-shadow:0 4px 12px rgba(10,16,40,.18);box-shadow:0 4px 12px rgba(10,16,40,.18);
	-webkit-transition:-webkit-transform .15s,box-shadow .15s;transition:transform .15s,box-shadow .15s;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
}
.cp-srv:active{-webkit-transform:scale(.96);transform:scale(.96);box-shadow:none;}
.cp-srv .fas{font-size:26px;color:#f5c43c;margin-bottom:6px;}
.cp-srv span{font-size:12px;font-weight:700;line-height:1.25;}
@media (min-width:520px){
	.cp-srv{-webkit-flex:0 0 calc(33.333% - 8px);flex:0 0 calc(33.333% - 8px);max-width:calc(33.333% - 8px);}
}

/* WHITE service tile (services inside a submenu) — image-1 style:
   white card, dark navy text, green underline, image icon centered */
.cp-srv.is-srv{
	background:#fff;color:#0a2463;
	border:1px solid #d6e2f0;border-bottom:3px solid #1e8e3a;
	min-height:130px;padding:10px 6px;
	-webkit-box-shadow:0 2px 6px rgba(10,16,40,.10);box-shadow:0 2px 6px rgba(10,16,40,.10);
}
.cp-srv.is-srv .fas{color:#0a2463;}
.cp-srv.is-srv img{width:64px;height:64px;margin-bottom:8px;-webkit-filter:none;filter:none;}
.cp-srv.is-srv span{color:#0a2463;font-size:13px;}

/* ===== SERVICE ENTRY FORM (image-2 style) ===== */
.cp-srv-form{
	background:#fff;border:1px solid #d6e2f0;border-radius:14px;
	padding:14px 12px;text-align:center;color:#0a2463;
	-webkit-box-shadow:0 2px 6px rgba(10,16,40,.10);box-shadow:0 2px 6px rgba(10,16,40,.10);
	margin-bottom:10px;
}
.cp-srv-form .istar{float:right;font-size:18px;color:#5d7a9a;cursor:pointer;}
.cp-srv-form .ico{width:120px;height:120px;margin:6px auto 4px;display:block;cursor:pointer;}
.cp-srv-form .ico .fas{font-size:78px;color:#0a2463;}
.cp-srv-form .ttl{font-size:14px;font-weight:700;margin:8px 0 12px;}
.cp-srv-form .row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;
	margin:0 0 10px;
}
.cp-srv-form .row > .ab{
	background:#0b6ecf;color:#fff;border:0;width:48px;cursor:pointer;
	border-top-left-radius:10px;border-bottom-left-radius:10px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	font-size:18px;margin-right:-8px;
}
.cp-srv-form .row > input,
.cp-srv-form .row > select{
	-webkit-box-flex:1;-webkit-flex:1;flex:1;
	border:1px solid #c9d6e6;background:#fff;color:#0a2463;
	border-radius:10px;padding:10px 12px;font-size:14px;text-align:right;
	-webkit-appearance:none;appearance:none;
}
.cp-srv-form .row > .ab + input,
.cp-srv-form .row > .ab + select{
	border-top-right-radius:0;border-bottom-right-radius:0;border-right:0;
}
/* Grouped service rows (JSON key r): add tiny spacing between controls. */
.cp-srv-form .row[data-srv-r]{margin:0 -3px 10px;}
.cp-srv-form .row[data-srv-r] > input,
.cp-srv-form .row[data-srv-r] > select{margin:0 3px;}
.cp-srv-form .col2{
	display:-webkit-box;display:-webkit-flex;display:flex;margin:0 -4px 8px;
}
.cp-srv-form .col2 > input{
	-webkit-box-flex:1;-webkit-flex:1;flex:1;margin:0 4px;
	border:1px solid #c9d6e6;background:#fff;color:#0a2463;
	border-radius:10px;padding:10px 12px;font-size:14px;text-align:center;
}
/* srv inp layout hints from JSON keys: r (row) + w (width percent). */
.cp-srv-form [data-srv-w]{
	-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;
}
.cp-srv-form [data-srv-w="1"]{width:1%;}
.cp-srv-form [data-srv-w="2"]{width:2%;}
.cp-srv-form [data-srv-w="3"]{width:3%;}
.cp-srv-form [data-srv-w="4"]{width:4%;}
.cp-srv-form [data-srv-w="5"]{width:5%;}
.cp-srv-form [data-srv-w="6"]{width:6%;}
.cp-srv-form [data-srv-w="7"]{width:7%;}
.cp-srv-form [data-srv-w="8"]{width:8%;}
.cp-srv-form [data-srv-w="9"]{width:9%;}
.cp-srv-form [data-srv-w="10"]{width:10%;}
.cp-srv-form [data-srv-w="11"]{width:11%;}
.cp-srv-form [data-srv-w="12"]{width:12%;}
.cp-srv-form [data-srv-w="13"]{width:13%;}
.cp-srv-form [data-srv-w="14"]{width:14%;}
.cp-srv-form [data-srv-w="15"]{width:15%;}
.cp-srv-form [data-srv-w="16"]{width:16%;}
.cp-srv-form [data-srv-w="17"]{width:17%;}
.cp-srv-form [data-srv-w="18"]{width:18%;}
.cp-srv-form [data-srv-w="19"]{width:19%;}
.cp-srv-form [data-srv-w="20"]{width:20%;}
.cp-srv-form [data-srv-w="21"]{width:21%;}
.cp-srv-form [data-srv-w="22"]{width:22%;}
.cp-srv-form [data-srv-w="23"]{width:23%;}
.cp-srv-form [data-srv-w="24"]{width:24%;}
.cp-srv-form [data-srv-w="25"]{width:25%;}
.cp-srv-form [data-srv-w="26"]{width:26%;}
.cp-srv-form [data-srv-w="27"]{width:27%;}
.cp-srv-form [data-srv-w="28"]{width:28%;}
.cp-srv-form [data-srv-w="29"]{width:29%;}
.cp-srv-form [data-srv-w="30"]{width:30%;}
.cp-srv-form [data-srv-w="31"]{width:31%;}
.cp-srv-form [data-srv-w="32"]{width:32%;}
.cp-srv-form [data-srv-w="33"]{width:33%;}
.cp-srv-form [data-srv-w="34"]{width:34%;}
.cp-srv-form [data-srv-w="35"]{width:35%;}
.cp-srv-form [data-srv-w="36"]{width:36%;}
.cp-srv-form [data-srv-w="37"]{width:37%;}
.cp-srv-form [data-srv-w="38"]{width:38%;}
.cp-srv-form [data-srv-w="39"]{width:39%;}
.cp-srv-form [data-srv-w="40"]{width:40%;}
.cp-srv-form [data-srv-w="41"]{width:41%;}
.cp-srv-form [data-srv-w="42"]{width:42%;}
.cp-srv-form [data-srv-w="43"]{width:43%;}
.cp-srv-form [data-srv-w="44"]{width:44%;}
.cp-srv-form [data-srv-w="45"]{width:45%;}
.cp-srv-form [data-srv-w="46"]{width:46%;}
.cp-srv-form [data-srv-w="47"]{width:47%;}
.cp-srv-form [data-srv-w="48"]{width:48%;}
.cp-srv-form [data-srv-w="49"]{width:49%;}
.cp-srv-form [data-srv-w="50"]{width:50%;}
.cp-srv-form [data-srv-w="51"]{width:51%;}
.cp-srv-form [data-srv-w="52"]{width:52%;}
.cp-srv-form [data-srv-w="53"]{width:53%;}
.cp-srv-form [data-srv-w="54"]{width:54%;}
.cp-srv-form [data-srv-w="55"]{width:55%;}
.cp-srv-form [data-srv-w="56"]{width:56%;}
.cp-srv-form [data-srv-w="57"]{width:57%;}
.cp-srv-form [data-srv-w="58"]{width:58%;}
.cp-srv-form [data-srv-w="59"]{width:59%;}
.cp-srv-form [data-srv-w="60"]{width:60%;}
.cp-srv-form [data-srv-w="61"]{width:61%;}
.cp-srv-form [data-srv-w="62"]{width:62%;}
.cp-srv-form [data-srv-w="63"]{width:63%;}
.cp-srv-form [data-srv-w="64"]{width:64%;}
.cp-srv-form [data-srv-w="65"]{width:65%;}
.cp-srv-form [data-srv-w="66"]{width:66%;}
.cp-srv-form [data-srv-w="67"]{width:67%;}
.cp-srv-form [data-srv-w="68"]{width:68%;}
.cp-srv-form [data-srv-w="69"]{width:69%;}
.cp-srv-form [data-srv-w="70"]{width:70%;}
.cp-srv-form [data-srv-w="71"]{width:71%;}
.cp-srv-form [data-srv-w="72"]{width:72%;}
.cp-srv-form [data-srv-w="73"]{width:73%;}
.cp-srv-form [data-srv-w="74"]{width:74%;}
.cp-srv-form [data-srv-w="75"]{width:75%;}
.cp-srv-form [data-srv-w="76"]{width:76%;}
.cp-srv-form [data-srv-w="77"]{width:77%;}
.cp-srv-form [data-srv-w="78"]{width:78%;}
.cp-srv-form [data-srv-w="79"]{width:79%;}
.cp-srv-form [data-srv-w="80"]{width:80%;}
.cp-srv-form [data-srv-w="81"]{width:81%;}
.cp-srv-form [data-srv-w="82"]{width:82%;}
.cp-srv-form [data-srv-w="83"]{width:83%;}
.cp-srv-form [data-srv-w="84"]{width:84%;}
.cp-srv-form [data-srv-w="85"]{width:85%;}
.cp-srv-form [data-srv-w="86"]{width:86%;}
.cp-srv-form [data-srv-w="87"]{width:87%;}
.cp-srv-form [data-srv-w="88"]{width:88%;}
.cp-srv-form [data-srv-w="89"]{width:89%;}
.cp-srv-form [data-srv-w="90"]{width:90%;}
.cp-srv-form [data-srv-w="91"]{width:91%;}
.cp-srv-form [data-srv-w="92"]{width:92%;}
.cp-srv-form [data-srv-w="93"]{width:93%;}
.cp-srv-form [data-srv-w="94"]{width:94%;}
.cp-srv-form [data-srv-w="95"]{width:95%;}
.cp-srv-form [data-srv-w="96"]{width:96%;}
.cp-srv-form [data-srv-w="97"]{width:97%;}
.cp-srv-form [data-srv-w="98"]{width:98%;}
.cp-srv-form [data-srv-w="99"]{width:99%;}
.cp-srv-form [data-srv-w="100"]{width:100%;}
.cp-srv-form .totbox{
	display:inline-block;background:#102a5b;color:#fff;
	border-radius:8px;padding:6px 22px;font-size:16px;font-weight:700;
	margin:6px 0 12px;
}
.cp-srv-form hr{border:0;border-top:1px solid #d6e2f0;margin:10px 0;}
.cp-srv-form .btn-q{
	background:#1e8e3a;color:#fff;border:0;border-radius:10px;
	padding:11px 30px;font-size:14px;font-weight:700;cursor:pointer;
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	-webkit-box-shadow:0 2px 6px rgba(30,142,58,.30);box-shadow:0 2px 6px rgba(30,142,58,.30);
}
.cp-srv-form .btn-q:active{-webkit-transform:scale(.97);transform:scale(.97);}

/* Preset value chips (lst / PAX) */
.cp-srv-form .chip{
	display:block;background:#eef4fc;color:#0a2463;border:1px solid #c9d6e6;
	border-radius:10px;padding:11px 12px;margin:6px 0;font-size:13px;
	font-weight:700;cursor:pointer;text-align:center;
}
.cp-srv-form .chip:active{background:#dde7f5;-webkit-transform:scale(.99);transform:scale(.99);}

/* Remembered number suggestions (per service input). */
.cp-srv-remember{
	position:fixed;
	z-index:1300;
	max-height:210px;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	background:#fff;
	border:1px solid #c9d6e6;
	border-radius:10px;
	-webkit-box-shadow:0 8px 20px rgba(10,16,40,.18);
	box-shadow:0 8px 20px rgba(10,16,40,.18);
	padding:4px;
	direction:ltr;
	text-align:left;
}
.cp-srv-remember-it{
	display:block;
	width:100%;
	border:0;
	background:#fff;
	color:#0a2463;
	font-size:14px;
	padding:9px 10px;
	border-radius:8px;
	text-align:left;
	cursor:pointer;
}
.cp-srv-remember-it:active{
	background:#eef4fc;
}

/* Inf note + dial-codes table (below the form, image 2) */
.cp-srv-inf{
	background:-webkit-linear-gradient(top,#f4f8fe 0%,#edf4fd 100%);
	background:linear-gradient(180deg,#f4f8fe 0%,#edf4fd 100%);
	border:1px solid #cfdef0;border-radius:14px;
	padding:10px 12px;color:#0a2463;font-size:13px;line-height:1.75;
	direction:rtl;text-align:right;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);
	box-shadow:0 1px 3px rgba(10,16,40,.08);
}
.cp-srv-inf hr{border:0;border-top:1px dashed #c9d6e6;margin:9px 0;}
.cp-srv-inf > :first-child{margin-top:0;}
.cp-srv-inf > :last-child{margin-bottom:0;}
.cp-srv-inf table{width:100%;border-collapse:collapse;table-layout:fixed;}
.cp-srv-inf table td{padding:8px 10px;border-bottom:1px dashed #c9d6e6;vertical-align:middle;}
.cp-srv-inf table td:first-child{text-align:right;color:#0a2463;font-weight:700;}
.cp-srv-inf table td:last-child{text-align:left;color:#19417f;font-weight:800;direction:ltr;white-space:nowrap;}
.cp-srv-inf table tr:last-child td{border-bottom:0;}

/* Legacy service result modal (shared cfg/srv envelopes). */
.cp-srv-legacy-form{display:block;margin:0;padding:8px 10px 10px;}
.cp-payby-check{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;
	-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	direction:rtl;text-align:right;unicode-bidi:plaintext;
	background:#eef4fc;border:1px solid #d6e2f0;border-radius:10px;
	padding:9px 10px;margin:10px 0 0;color:#0a2463;font-size:13px;font-weight:700;
	cursor:pointer;
}
.cp-payby-check input{
	width:18px;height:18px;margin:0 0 0 8px;flex:0 0 auto;
	accent-color:#1e8e3a;
}
.cp-payby-check span{line-height:1.5;}
.cp-srv-hero{
	text-align:center;direction:ltr;
	font-size:36px;font-weight:800;line-height:1.12;
	letter-spacing:.3px;color:#fff;background:#000;
	margin:-4px -6px 5px;padding:20px 0 15px 0;border-radius:15px;
}
.cp-srv-table{
	width:100%;border-collapse:separate;border-spacing:0;
	background:#fff;border:1px solid #d6e2f0;border-radius:12px;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);
	box-shadow:0 1px 3px rgba(10,16,40,.08);
	overflow:hidden;
}
.cp-srv-table th,
.cp-srv-table td{
	padding:9px 11px;font-size:13px;line-height:1.6;vertical-align:middle;
}
.cp-srv-table tr + tr th,
.cp-srv-table tr + tr td{border-top:1px dashed #d6e2f0;}
.cp-srv-table th{
	width:40%;text-align:right;white-space:normal;
	color:#0a2463;font-weight:700;
}
.cp-srv-table td{
	text-align:right;color:#163a72;font-weight:700;
	direction:auto;unicode-bidi:plaintext;
}
.cp-srv-table .cp-srv-table-full{
	text-align:center;color:#0a2463;font-weight:700;
	padding:10px 12px;
	direction:auto;unicode-bidi:plaintext;
}
.cp-srv-table td select,
.cp-srv-table td input{
	width:100%;max-width:100%;
	background:#fff;color:#0a2463;
	border:1px solid #c9d6e6;border-radius:8px;
	padding:8px 10px;font-size:13px;
	min-height:38px;font-weight:700;
}
.cp-choice-list{display:block;margin:2px 0;direction:rtl;text-align:right;}
.cp-choice-title{font-size:12px;font-weight:800;color:#5d7a9a;margin:0 0 8px;}
.cp-choice{display:block;position:relative;margin:8px 0;cursor:pointer;}
.cp-choice-input{position:absolute;right:0;top:0;left:0;bottom:0;width:100%;height:100%;min-height:100%;margin:0;padding:0;border:0;background:transparent;opacity:0;z-index:2;}
.cp-choice-box{
	position:relative;display:block;background:#fff;border:1px solid #d6e2f0;border-radius:12px;
	padding:10px;color:#0a2463;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);box-shadow:0 1px 3px rgba(10,16,40,.08);
}
.cp-choice-input:checked + .cp-choice-box{background:#eef5ff;border-color:#1a73e8;-webkit-box-shadow:0 0 0 1px #1a73e8 inset;box-shadow:0 0 0 1px #1a73e8 inset;}
.cp-choice-mark{display:inline-block;vertical-align:middle;width:20px;height:20px;border:2px solid #9aa4b2;border-radius:50%;background:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;}
.cp-choice-mark:after{content:"";display:block;width:8px;height:8px;margin:4px;border-radius:50%;background:transparent;}
.cp-choice-input:checked + .cp-choice-box .cp-choice-mark{border-color:#1683f2;background:#1683f2;}
.cp-choice-input:checked + .cp-choice-box .cp-choice-mark:after{background:#fff;}
.cp-choice-name{font-size:14px;font-weight:800;line-height:1.35;color:#0a2463;padding-left:6px;}
.cp-choice-sub{font-size:12px;line-height:1.45;color:#496b91;margin-top:2px;}
.cp-choice-meta{font-size:11px;line-height:1.6;color:#5d7a9a;margin-top:3px;}
.cp-choice-meta span{display:inline-block;margin:0 0 2px 8px;vertical-align:middle;}
.cp-choice-lines{margin-top:6px;padding-top:6px;border-top:1px dashed #d6e2f0;}
.cp-choice-line{font-size:11.5px;line-height:1.55;color:#3e5f84;}
.cp-choice-line + .cp-choice-line{margin-top:2px;}
.cp-choice-due{font-size:11.5px;line-height:1.55;color:#5d7a9a;margin-top:4px;}
.cp-choice-pill{background:#eaf2fc;color:#0b6ecf;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:800;}
.cp-choice-pill.is-ok{background:#eaf7ee;color:#1e8e3a;}
.cp-choice-pill.is-pend{background:#eaf2fc;color:#0b6ecf;}
.cp-choice-stats{display:-webkit-box;display:-webkit-flex;display:flex;margin:8px -3px 0;}
.cp-choice-stat{-webkit-box-flex:1;-webkit-flex:1 1 0;flex:1 1 0;margin:0 3px;background:#f7f9fc;border:1px solid #e1e8f2;border-radius:8px;padding:6px 4px;text-align:center;}
.cp-choice-stat b{display:block;font-size:10px;line-height:1.2;color:#5d7a9a;font-weight:700;margin-bottom:3px;}
.cp-choice-stat strong{display:block;font-size:12.5px;line-height:1.2;color:#0a2463;font-weight:800;}
.cp-choice-stat.is-total{background:#fff7e0;border-color:#f4dd9a;}
.cp-choice-stat.is-total strong{color:#b45309;}
.cp-choice-foot{margin-top:8px;padding-top:8px;border-top:1px dashed #d6e2f0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}
.cp-choice-foot-main{display:block;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;min-width:0;}
.cp-choice-foot-item{display:inline-block;font-size:11.5px;line-height:1.55;color:#496b91;margin-left:8px;vertical-align:middle;}
.cp-choice-pick{display:inline-block;white-space:nowrap;color:#5d7a9a;font-size:11px;font-weight:700;}
.cp-choice-pick em{display:inline-block;font-style:normal;vertical-align:middle;margin-right:5px;}
.cp-srv-actions{
	margin-top:12px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;
	-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;
}
.cp-srv-actions .btn{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;padding:11px 14px;margin:5px;}
.cp-model-state{text-align:center;font-size:44px;line-height:1;margin:4px 0 10px;}
.cp-model-state.is-ok{color:#1e8e3a;}
.cp-model-state.is-err{color:#b82d3c;}
.cp-model-msg{
	background:#eef4fc;border:1px solid #d6e2f0;border-radius:10px;
	padding:12px 14px;color:#0a2463;font-size:13px;line-height:1.7;text-align:right;
}
.cp-model-msg.is-err{background:#fbecee;border-color:#f1c5cb;color:#9d1d2f;}
.cp-model-loader-box{text-align:center;padding:24px 12px;color:#0a2463;}
.cp-model-loader-box i{display:block;font-size:30px;color:#1a4fa8;margin-bottom:8px;}
.cp-model-loader-txt{font-size:13px;font-weight:700;}

/* ===== QUICK GRID (cogs shortcuts) ===== */
.cp-quick{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0 -4px;
}
.cp-quick-btn{
	-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;
	-webkit-flex:0 0 calc(33.333% - 8px);flex:0 0 calc(33.333% - 8px);
	background:#fff;border:1px solid #d6e2f0;border-radius:14px;
	padding:14px 8px;font-size:12px;font-weight:700;color:#0a2463;cursor:pointer;
	min-height:84px;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.10);box-shadow:0 1px 3px rgba(10,16,40,.10);
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	-webkit-transition:-webkit-transform .15s;transition:transform .15s;
}
.cp-quick-btn:active{-webkit-transform:scale(.96);transform:scale(.96);}
.cp-quick-btn .fas{font-size:22px;margin-bottom:6px;color:#0a2463;}
.cp-quick-btn span{margin:0;}
.cp-quick-btn.is-green  .fas{color:#1e8e3a;}
.cp-quick-btn.is-amber  .fas{color:#b45309;}
.cp-quick-btn.is-purple .fas{color:#6c4cf5;}
.cp-quick-btn.is-red    .fas{color:#b82d3c;}

/* ===== LIST ROWS ===== */
.cp-list{list-style:none;padding:0;margin:0;}
.cp-list > * + *{margin-top:6px;}
.cp-listrow{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	background:#fff;border:1px solid #d6e2f0;border-radius:12px;
	padding:11px 12px;cursor:pointer;text-align:right;
	-webkit-transition:background .15s,-webkit-transform .15s;transition:background .15s,transform .15s;
}
.cp-listrow:active{background:#eef4fc;-webkit-transform:scale(.99);transform:scale(.99);}
.cp-listrow .ico{
	width:36px;height:36px;border-radius:10px;background:#eef4fc;color:#0a2463;font-size:15px;
	margin-left:12px;-webkit-flex:0 0 auto;flex:0 0 auto;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
}
.cp-listrow .ico.is-green{background:#ecf7ef;color:#1e8e3a;}
.cp-listrow .ico.is-red  {background:#fdecec;color:#b82d3c;}
.cp-listrow .ico.is-amber{background:#fff7e0;color:#b45309;}
.cp-listrow .ico img{width:22px;height:22px;display:block;}
.cp-listrow .body{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;min-width:0;}
.cp-listrow .ttl{font-size:14px;font-weight:700;color:#0a2463;line-height:1.3;}
.cp-listrow .sub{font-size:11.5px;color:#5d7a9a;margin-top:2px;line-height:1.3;}
.cp-listrow .chev{-webkit-flex:0 0 auto;flex:0 0 auto;color:#8aa5c0;font-size:12px;margin-right:8px;}
[dir="rtl"] .cp-listrow .chev{-webkit-transform:scaleX(-1);transform:scaleX(-1);}

/* Card variant — vertical layout with a top identity/meta row and a
 * bottom strip of 3 tinted balance stats (used by res-list).
 * Right zone (.body) = store + #id + mobile1 · ldate.
 * Left zone (.meta)  = status pill + group name, stacked. */
.cp-listrow.is-card{
	display:block;padding:10px 12px;
}
.cp-listrow.is-card .row-top{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;
}
.cp-listrow.is-card .body{-webkit-flex:1 1 auto;flex:1 1 auto;min-width:0;}
.cp-listrow.is-card .ttl .id-sm{
	font-size:11px;color:#8aa5c0;font-weight:500;margin-right:4px;letter-spacing:.3px;
}
.cp-listrow.is-card .meta{
	-webkit-flex:0 0 auto;flex:0 0 auto;
	text-align:left;margin-right:8px;min-width:78px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;
}
[dir="rtl"] .cp-listrow.is-card .meta{
	text-align:left;margin-right:0;margin-left:0;
	-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;
}
.cp-listrow.is-card .meta .meta-grp{
	font-size:11px;color:#5d7a9a;margin-top:4px;font-weight:600;
}
.cp-listrow.is-card .row-stats{margin:8px 0 0;}
.cp-listrow.is-card .row-stats .cp-stat{padding:8px 4px;}
.cp-listrow.is-card .row-stats .cp-stat .k{font-size:10.5px;margin-bottom:2px;}
.cp-listrow.is-card .row-stats .cp-stat .v{font-size:14px;}

/* ===== SKELETON ===== */
.cp-skel{
	list-style:none;display:block;height:48px;margin:6px 0;border-radius:12px;
	background:#eef2f7;
	background:-webkit-linear-gradient(left,#eef2f7 0%,#f7f9fc 50%,#eef2f7 100%);
	background:linear-gradient(to right,#eef2f7 0%,#f7f9fc 50%,#eef2f7 100%);
	background-size:200px 100%;
	-webkit-animation:cpSkel 1.4s linear infinite;animation:cpSkel 1.4s linear infinite;
}
@-webkit-keyframes cpSkel{0%{background-position:-200px 0;}100%{background-position:calc(200px + 100%) 0;}}
@keyframes cpSkel{0%{background-position:-200px 0;}100%{background-position:calc(200px + 100%) 0;}}

/* ===== EMPTY STATE ===== */
.cp-empty{text-align:center;padding:32px 16px;color:#5d7a9a;}
.cp-empty .fas{font-size:42px;color:#8aa5c0;margin-bottom:12px;display:block;}
.cp-empty .ttl{font-size:14px;font-weight:700;color:#0a2463;margin-bottom:4px;}
.cp-empty .sub{font-size:12px;}
.cp-empty p{margin-top:6px;}

/* ===== SERVICE LIST HOST (الخدمات — dynamic from sys_menu+sys_srvs) ===== */
.cp-srv-host{min-height:200px;}
.srv-back{
	display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	background:#fff;border:1px solid #d6e2f0;color:#0a2463;
	border-radius:10px;padding:6px 12px;margin:0 0 10px;
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;font-size:13px;cursor:pointer;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);box-shadow:0 1px 3px rgba(10,16,40,.08);
}
.srv-back .fas{margin-left:6px;color:#0b6ecf;}
.srv-back:active{-webkit-transform:scale(.97);transform:scale(.97);}

/* Service tile inner image (when sys_*.ico is a filename) */
.cp-srv img{width:32px;height:32px;margin-bottom:6px;-webkit-filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));}

/* Skeleton tile for the first paint while srv-list is loading */
.cp-skel-srv{
	pointer-events:none;color:transparent;
	background:-webkit-linear-gradient(120deg,#1a3266 0%,#244a8a 50%,#1a3266 100%);
	background:linear-gradient(120deg,#1a3266 0%,#244a8a 50%,#1a3266 100%);
	background-size:200% 100%;
	-webkit-animation:cpSkel 1.2s linear infinite;animation:cpSkel 1.2s linear infinite;
	border-bottom-color:#244a8a;
}

/* ===== STATS ===== */
.cp-stats{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0 -4px 12px;
}
.cp-stats .cp-stat{
	-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;
	-webkit-flex:1 1 calc(50% - 8px);flex:1 1 calc(50% - 8px);min-width:120px;
	background:#fff;border:1px solid #d6e2f0;border-radius:12px;
	padding:14px 10px;text-align:center;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);box-shadow:0 1px 3px rgba(10,16,40,.08);
}
.cp-stat .k{font-size:11px;color:#5d7a9a;font-weight:600;display:block;margin-bottom:4px;}
.cp-stat .v{font-size:18px;color:#0a2463;font-weight:800;line-height:1.1;display:block;}
.cp-stat.is-green  .v{color:#1e8e3a;}
.cp-stat.is-amber  .v{color:#b45309;}
.cp-stat.is-purple .v{color:#6c4cf5;}
.cp-stat.is-blue   .v{color:#0b6ecf;}
.cp-stat.is-red    .v{color:#b82d3c;}

/* 3-up variant for compact triplets (balance cards on res-detail). */
.cp-stats.is-3up .cp-stat{-webkit-flex:1 1 calc(33.333% - 8px);flex:1 1 calc(33.333% - 8px);min-width:90px;padding:12px 6px;}
.cp-stats.is-3up .cp-stat .v{font-size:16px;}

/* 4-up variant — used by res-list summary card (count + 3 totals). */
.cp-stats.is-4up .cp-stat{-webkit-flex:1 1 calc(25% - 8px);flex:1 1 calc(25% - 8px);min-width:70px;padding:10px 4px;}
.cp-stats.is-4up .cp-stat .k{font-size:10.5px;margin-bottom:2px;}
.cp-stats.is-4up .cp-stat .v{font-size:14px;}

/* Inline state icon — multi-use (debst flag, kyc flag, …). */
.cp-ic{display:inline-block;margin:0 4px;font-size:11px;line-height:1;vertical-align:middle;}
.cp-ic.is-ok{color:#16a34a;}
.cp-ic.is-err{color:#dc2626;}
.cp-ic.is-warn{color:#b45309;}

/* res-list summary row — totals card pinned below the result list.
 * Stronger separation: soft blue bg + solid top divider + bottom border
 * so it reads as its own "summary" segment, not a row. */
.cp-listrow.is-summary{display:block;background:#eaf1fb;border:1px solid #b9cce6;border-top:2px solid #2563eb;-webkit-border-radius:10px;border-radius:10px;padding:10px;margin-top:10px;cursor:default;-webkit-box-shadow:0 1px 0 rgba(15,23,42,.04) inset;box-shadow:0 1px 0 rgba(15,23,42,.04) inset;}
.cp-listrow.is-summary .row-stats{margin:0 0 8px;}
.cp-listrow.is-summary .row-stats:last-child{margin-bottom:0;}
.cp-listrow.is-summary .row-stats.is-count-row .cp-stat{-webkit-flex:1 1 100%;flex:1 1 100%;min-width:100%;}

/* List pager — prev / num / next, used by res-list when total > 100. */
/* List pager — single-row [prev] [page/total] [next], used by every
 * paginated list (res, log, dep …) via Pagination::renderApp(). */
.cp-pager{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;direction:rtl;margin:10px 0 4px;padding:6px 8px;list-style:none;background:#f3f6fb;border:1px solid #d3dbe6;-webkit-border-radius:10px;border-radius:10px;}
.cp-pager .btn{display:inline-block;width:auto;min-width:96px;-webkit-flex:0 1 auto;flex:0 1 auto;padding:8px 12px;white-space:nowrap;}
.cp-pager .btn[disabled]{opacity:.4;pointer-events:none;}
.cp-pager .cp-pager-num{-webkit-flex:1 1 auto;flex:1 1 auto;text-align:center;padding:0 8px;font-size:13px;color:#1f2937;font-weight:700;letter-spacing:.5px;direction:ltr;white-space:nowrap;}

/* Tinted balance cards — soft pastel bg + matching value color (image 2). */
.cp-stats.is-tinted .cp-stat{border-color:transparent;-webkit-box-shadow:none;box-shadow:none;}
.cp-stats.is-tinted .cp-stat.is-amber{background:#fff7e0;}
.cp-stats.is-tinted .cp-stat.is-amber .k{color:#b45309;}
.cp-stats.is-tinted .cp-stat.is-red  {background:#fdecec;}
.cp-stats.is-tinted .cp-stat.is-red   .k{color:#b82d3c;}
.cp-stats.is-tinted .cp-stat.is-red   .v{color:#b82d3c;}
.cp-stats.is-tinted .cp-stat.is-green{background:#ecf7ef;}
.cp-stats.is-tinted .cp-stat.is-green .k{color:#1e8e3a;}

/* ===== DETAIL HEADER (avatar + title + lead/trail action) ===== */
.cp-detail-hd{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	background:#fff;border:1px solid #d6e2f0;border-radius:14px;padding:12px;margin:0 0 12px;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);box-shadow:0 1px 3px rgba(10,16,40,.08);
}
.cp-detail-hd .cp-avatar{
	width:44px;height:44px;border-radius:50%;
	background:#fff7e0;color:#b45309;
	font-size:13px;font-weight:800;-webkit-flex:0 0 auto;flex:0 0 auto;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
}
.cp-detail-hd .cp-detail-bd{-webkit-flex:1 1 auto;flex:1 1 auto;min-width:0;margin:0 10px;text-align:center;}
.cp-detail-hd .cp-detail-ttl{font-family:"DroidKufi-Bold",Tahoma,sans-serif;font-size:16px;color:#0a2463;line-height:1.3;}
.cp-detail-hd .cp-detail-sub{font-size:11.5px;color:#5d7a9a;margin-top:2px;line-height:1.3;}
.cp-detail-hd .cp-detail-lead,
.cp-detail-hd .cp-detail-trail{-webkit-flex:0 0 auto;flex:0 0 auto;}

/* Star (favourite) circle — neutral grey to match screenshot. */
.btn-icon.is-fav{background:#f3f4f6;color:#5d7a9a;}
.btn-icon.is-fav.is-on{color:#f5c43c;}

/* Big merchant title block under the header (matches old app screenshot). */
.cp-detail-name{text-align:center;padding:6px 0 4px;}
.cp-detail-name .nm{font-family:"DroidKufi-Bold",Tahoma,sans-serif;font-size:22px;color:#0a2463;}
.cp-detail-name .meta{font-size:12px;color:#5d7a9a;margin-top:6px;}
.cp-detail-name .tels{font-size:14px;color:#0b6ecf;margin-top:8px;}
.cp-detail-name .tels .tel-btn{
	background:transparent;border:0;color:#0b6ecf;font-family:inherit;font-size:14px;
	padding:2px 4px;cursor:pointer;text-decoration:none;
}
.cp-detail-name .tels .tel-btn:active{opacity:.6;}
.cp-detail-name .tels .sep{color:#5d7a9a;margin:0 2px;}

/* WhatsApp pill button — green circle with white icon. */
.btn-icon.is-wa{background:#25d366;color:#fff;}

/* ===== ACTION GRID (3 cols x N rows; res-detail has 6 tiles) ===== */
.cp-action-grid{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0 -4px 12px;
}
.cp-action-grid .cp-action{
	-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;
	-webkit-flex:0 0 calc(50% - 8px);flex:0 0 calc(50% - 8px);max-width:calc(50% - 8px);
	background:#fff;border:1px solid #d6e2f0;border-radius:14px;
	padding:14px 8px;text-align:center;cursor:pointer;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.08);box-shadow:0 1px 3px rgba(10,16,40,.08);
	-webkit-transition:-webkit-transform .15s;transition:transform .15s;
	color:#0a2463;font-family:inherit;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
}
.cp-action-grid .cp-action:active{-webkit-transform:scale(.96);transform:scale(.96);background:#eef4fc;}
.cp-action-grid .cp-action .ico{
	width:48px;height:48px;border-radius:50%;
	background:#eef4fc;color:#0a2463;font-size:20px;margin-bottom:8px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
}
.cp-action-grid .cp-action.is-green  .ico{background:#ecf7ef;color:#1e8e3a;}
.cp-action-grid .cp-action.is-blue   .ico{background:#e8f1fb;color:#0b6ecf;}
.cp-action-grid .cp-action.is-red    .ico{background:#fdecec;color:#b82d3c;}
.cp-action-grid .cp-action.is-amber  .ico{background:#fff7e0;color:#b45309;}
.cp-action-grid .cp-action.is-purple .ico{background:#efedff;color:#6c4cf5;}
.cp-action-grid .cp-action span{font-size:13px;font-weight:700;}

/* Bold variant — saturated circle bg with white icon (image 2 layout). */
.cp-action-grid.is-bold .cp-action.is-green  .ico{background:#1ea954;color:#fff;}
.cp-action-grid.is-bold .cp-action.is-blue   .ico{background:#1faaf0;color:#fff;}
.cp-action-grid.is-bold .cp-action.is-red    .ico{background:#e85a6c;color:#fff;}
.cp-action-grid.is-bold .cp-action.is-amber  .ico{background:#f5a73a;color:#fff;}
.cp-action-grid.is-bold .cp-action.is-purple .ico{background:#7c5bf7;color:#fff;}

/* ===== SEGMENTED FILTER ===== */
.cp-seg{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-wrap:wrap;flex-wrap:wrap;
	background:#eef2f7;border:1px solid #d6e2f0;border-radius:999px;padding:3px;
	margin:0 0 10px;
}
.cp-seg button{
	border:0;background:transparent;color:#5d7a9a;font-family:inherit;
	padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;
	-webkit-flex:1 1 auto;flex:1 1 auto;
}
.cp-seg button.is-active{
	background:#fff;color:#0a2463;
	-webkit-box-shadow:0 1px 3px rgba(10,16,40,.10);box-shadow:0 1px 3px rgba(10,16,40,.10);
}
.cp-report-seg{margin-bottom:12px;}
.cp-report-seg button{min-width:132px;}

/* ===== FILTER FORM ROWS ===== */
.lf-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0 -4px 8px;
}
.lf-field{
	-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;
	-webkit-flex:1 1 calc(50% - 8px);flex:1 1 calc(50% - 8px);min-width:120px;
}
.lf-field > label{display:block;font-size:11px;color:#5d7a9a;font-weight:600;margin-bottom:4px;}
.lf-field > input,.lf-field > select{
	width:100%;padding:9px 10px;border:1px solid #d6e2f0;border-radius:10px;
	font-family:inherit;font-size:13px;color:#0a2463;background:#f8fbff;
}
.lf-field > input:focus,.lf-field > select:focus{
	outline:none;border-color:#f5c43c;
	-webkit-box-shadow:0 0 0 3px rgba(245,196,60,.18);box-shadow:0 0 0 3px rgba(245,196,60,.18);
}
.lf-field.is-mini{
	-webkit-flex:0 0 auto;flex:0 0 auto;min-width:56px;
}
.find-reset-btn{
	width:100%;margin-top:21px;
	border:1px solid #d6e2f0;border-radius:15px;
	background:#fff;color:#5d7a9a;
	font-size:11px;font-weight:700;
	padding:11px;cursor:pointer;
}
.find-reset-btn:active{background:#eef4fc;}
.cp-report-head{margin-bottom:10px;}
.cp-report-title{font-size:15px;font-weight:800;color:#0a2463;line-height:1.4;}
.cp-report-sub{font-size:11px;color:#5d7a9a;line-height:1.5;margin-top:2px;}
.cp-report-sub.is-gap{margin:12px 0 8px;}
.cp-report-table-wrap{
	overflow:auto;-webkit-overflow-scrolling:touch;
	border:1px solid #d6e2f0;border-radius:12px;background:#fff;
}
.cp-report-table{width:100%;min-width:640px;border-collapse:collapse;background:#fff;color:#0a2463;font-size:12px;}
.cp-report-table th,.cp-report-table td{padding:10px 8px;border-bottom:1px solid #e5edf6;text-align:center;vertical-align:middle;}
.cp-report-table th{background:#f4f8fc;font-size:11px;font-weight:800;white-space:nowrap;}
.cp-report-table td:first-child,.cp-report-table th:first-child{text-align:right;}
.cp-report-table tbody tr.is-total th,.cp-report-table tbody tr.is-total td{background:#eef4fc;font-weight:800;}
.cp-report-table tbody tr:last-child th,.cp-report-table tbody tr:last-child td{border-bottom:0;}

/* ===== BOTTOM NAV (5 fnav tabs) ===== */
.bnav{
	position:fixed;bottom:0;left:0;right:0;z-index:998;
	padding:0 10px 8px;pointer-events:none;
}
.bnav-inner{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;
	max-width:480px;margin:0 auto;
	background:-webkit-linear-gradient(135deg,#0a2463,#1a4fa8);
	background:linear-gradient(135deg,#0a2463,#1a4fa8);
	border-radius:20px;padding:4px;
	-webkit-box-shadow:0 8px 24px rgba(10,16,40,.30),0 0 0 1px rgba(245,196,60,.10) inset;
	        box-shadow:0 8px 24px rgba(10,16,40,.30),0 0 0 1px rgba(245,196,60,.10) inset;
	pointer-events:auto;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.bnav-tab{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	border:0;background:transparent;color:rgba(220,230,255,.55);
	padding:6px 0;width:20%;min-height:54px;border-radius:14px;cursor:pointer;
	font-family:inherit;
	-webkit-transition:color .22s,background .22s;transition:color .22s,background .22s;
}
.bnav-tab .fas{font-size:18px;-webkit-transition:-webkit-transform .22s;transition:transform .22s;}
.bnav-tab span{font-size:10px;font-weight:600;line-height:1;margin-top:3px;}
.bnav-tab:active{-webkit-transform:scale(.88);transform:scale(.88);}
.bnav-tab.is-active{color:#fff;background:rgba(245,196,60,.16);}
.bnav-tab.is-active .fas{color:#fde47a;-webkit-transform:translateY(-1px);transform:translateY(-1px);}
.bnav-tab.is-active span{color:#fff;font-weight:700;}

/* ===== DRAWER ===== */
.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;}
.drawer.is-hidden{display:none !important;}
.drawer-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(6,13,30,.55);
	-webkit-animation:cpFade .2s ease-out both;animation:cpFade .2s ease-out both;}
.drawer-pn{
	position:absolute;top:0;right:0;bottom:0;width:84%;max-width:340px;
	background:-webkit-linear-gradient(180deg,#1a4fa8 0%,#0a2463 60%,#06112e 100%);
	background:linear-gradient(180deg,#1a4fa8 0%,#0a2463 60%,#06112e 100%);
	overflow-y:auto;-webkit-overflow-scrolling:touch;
	-webkit-box-shadow:-8px 0 32px rgba(0,0,0,.45);box-shadow:-8px 0 32px rgba(0,0,0,.45);
	-webkit-animation:cpSlide .25s ease-out both;animation:cpSlide .25s ease-out both;
}
@-webkit-keyframes cpSlide{from{-webkit-transform:translateX(100%);}to{-webkit-transform:translateX(0);}}
@keyframes cpSlide{from{transform:translateX(100%);}to{transform:translateX(0);}}
.drawer-head{
	text-align:center;padding:32px 16px 18px;
	background:-webkit-linear-gradient(top,rgba(245,196,60,.10),transparent);
	background:linear-gradient(180deg,rgba(245,196,60,.10),transparent);
	border-bottom:1px solid rgba(245,196,60,.18);
}
.drawer-avatar{
	width:72px;height:72px;border-radius:50%;
	background:rgba(245,196,60,.14);color:#fde47a;font-size:32px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	margin:0 auto;border:3px solid rgba(245,196,60,.32);
}
.drawer-name{color:#fff;font-size:16px;font-weight:700;margin:10px 0 2px;line-height:1.3;}
.drawer-meta{color:rgba(255,255,255,.6);font-size:11px;font-weight:500;}
.drawer-body{padding:16px 14px 32px;}
.drawer-section-title{
	color:rgba(255,255,255,.65);font-size:11.5px;font-weight:700;
	margin:14px 0 8px;text-transform:uppercase;letter-spacing:.5px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
}
.drawer-section-title > .fas{margin-left:6px;color:#fde47a;}
.drawer-card{
	background:rgba(255,255,255,.06);border:1px solid rgba(245,196,60,.18);
	border-radius:14px;padding:4px 0;margin-bottom:12px;
}
.drawer-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;
	-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;
	padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.05);
}
.drawer-row:last-child{border-bottom:0;}
.drawer-label{color:rgba(255,255,255,.7);font-size:12px;font-weight:500;}
.drawer-value{font-weight:700;font-size:13px;color:#fde47a;}
.drawer-lst{list-style:none;margin:0 0 12px;padding:4px 0;
	background:rgba(255,255,255,.04);border:1px solid rgba(245,196,60,.14);border-radius:14px;}
.drawer-lst li{margin:0;}
.drawer-lst a{
	display:block;padding:11px 14px;color:rgba(255,255,255,.85);font-size:13px;cursor:pointer;
	-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s;
}
.drawer-lst a:active{background:rgba(245,196,60,.10);color:#fde47a;}
.drawer-lst a .fas{width:22px;color:#fde47a;margin-left:6px;}
.drawer-actions > * + *{margin-top:8px;}
.drawer-btn{
	width:100%;padding:12px;border:0;border-radius:12px;
	font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	-webkit-transition:-webkit-transform .15s;transition:transform .15s;
}
.drawer-btn .fas{margin-left:8px;}
.drawer-btn:active{-webkit-transform:scale(.97);transform:scale(.97);}
.drawer-btn-primary{background:#1e8e3a;color:#fff;}
.drawer-btn-danger {background:#b82d3c;color:#fff;}
.drawer-btn-outline{background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);border:1px solid rgba(245,196,60,.18);}


/* =============================================================
 * SUCCESS OVERLAY
 * Full-screen animated check shown after successful login.
 * ============================================================= */

/* Overlay backdrop — covers entire viewport */
.success-ov{
	position:fixed;top:0;left:0;right:0;bottom:0;
	background:rgba(6,13,30,.95);
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	z-index:999;
}

/* Animated check icon */
.success-ic{
	font-size:86px;color:#22c55e;
	-webkit-animation:cpop .45s cubic-bezier(.34,1.56,.64,1) both;
	animation:cpop .45s cubic-bezier(.34,1.56,.64,1) both;
}
.success-ov p{
	color:#fff;margin-top:20px;
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:1.05rem;text-align:center;
}

/* Inline success block — used inside .card-bd after step3 succeeds.
   Same icon/animation as fullscreen overlay but contained in flow. */
.lg-success{
	text-align:center;padding:24px 8px 12px;
}
.lg-success p{
	color:#fff;margin-top:14px;
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:1rem;
}

/* Pop-in keyframes — -webkit- for Android 4.2 */
@-webkit-keyframes cpop{
	0%{-webkit-transform:scale(0);transform:scale(0);}
	100%{-webkit-transform:scale(1);transform:scale(1);}
}
@keyframes cpop{
	0%{transform:scale(0);}
	100%{transform:scale(1);}
}


/* =============================================================
 * UTILITIES
 * ============================================================= */
.is-hidden{display:none !important;}

.cp-err-block{
	text-align:center;
	padding:16px 12px;
	color:#c0392b;
	font-size:13px;
	line-height:1.7;
	direction:rtl;
}
.cp-err-block .fas{
	font-size:28px;
	margin-bottom:6px;
	display:block;
}

/* ===== STATUS BANNER (sHTTP JSON envelope renderer) ===== */
.cp-msg{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;
	background:#fff;border:1px solid #d6e2f0;border-radius:12px;
	padding:14px 14px;margin:10px 0;font-size:14px;line-height:1.7;
	color:#0a2463;
	-webkit-box-shadow:0 2px 6px rgba(10,16,40,.08);box-shadow:0 2px 6px rgba(10,16,40,.08);
}
.cp-msg > .fas{font-size:24px;margin-left:12px;-webkit-flex:0 0 auto;flex:0 0 auto;}
.cp-msg .cp-msg-bd{-webkit-box-flex:1;-webkit-flex:1;flex:1;}
.cp-msg.is-ok  {border-color:#bfe5ca;background:#eaf7ee;}
.cp-msg.is-ok  > .fas{color:#1e8e3a;}
.cp-msg.is-err {border-color:#f1c4cb;background:#fbecee;color:#7a1525;}
.cp-msg.is-err > .fas{color:#b82d3c;}
.cp-msg.is-warn{border-color:#f5dca0;background:#fdf6e0;color:#6a4a00;}
.cp-msg.is-warn> .fas{color:#b45309;}
.cp-msg.is-info{border-color:#bcd6f3;background:#eaf2fc;}
.cp-msg.is-info> .fas{color:#0b6ecf;}

/* ===== LIST ROW VARIANTS used by log-list / dep-list / res-list ===== */
.cp-listrow .body .ttl{font-size:13px;font-weight:700;color:#0a2463;}
.cp-listrow .body .sub{font-size:11px;color:#5d7a9a;margin-top:2px;display:block;}
.cp-prewrap{
	white-space:pre-wrap;
	word-wrap:break-word;
	word-break:break-word;
	max-width:100%;
	overflow:auto;
}
.cp-listrow .amt{font-size:13px;font-weight:700;color:#0a2463;margin-right:8px;}
.cp-listrow .amt.is-pos{color:#1e8e3a;}
.cp-listrow .amt.is-neg{color:#b82d3c;}
.cp-listrow .pill{
	display:inline-block;font-size:10px;font-weight:700;
	padding:2px 8px;border-radius:10px;background:#eef4fc;color:#0a2463;
	margin-right:6px;
}
.cp-listrow .pill.is-ok  {background:#eaf7ee;color:#1e8e3a;}
.cp-listrow .pill.is-err {background:#fbecee;color:#b82d3c;}
.cp-listrow .pill.is-warn{background:#fdf6e0;color:#b45309;}
.cp-listrow .pill.is-pend{background:#eaf2fc;color:#0b6ecf;}

/* ===== TOAST (cpToast) ===== */
.cp-toast{
	position:fixed;left:50%;bottom:80px;
	-webkit-transform:translateX(-50%) translateY(20px);transform:translateX(-50%) translateY(20px);
	background:#0a2463;color:#fff;border-radius:24px;padding:10px 18px;
	font-size:13px;font-weight:700;font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	-webkit-box-shadow:0 4px 14px rgba(10,16,40,.30);box-shadow:0 4px 14px rgba(10,16,40,.30);
	opacity:0;visibility:hidden;pointer-events:none;z-index:9999;
	-webkit-transition:opacity .25s,-webkit-transform .25s;transition:opacity .25s,transform .25s;
	max-width:80%;text-align:center;
}
.cp-toast.is-show{opacity:1;visibility:visible;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0);}
.cp-toast.is-ok {background:#1e8e3a;}
.cp-toast.is-err{background:#b82d3c;}
.cp-toast.is-warn{background:#b45309;}

/* ===== ACTION SHEET (cpSheet) ===== */
.cp-sheet{
	position:fixed;top:0;left:0;right:0;bottom:0;
	visibility:hidden;pointer-events:none;z-index:9998;
}
.cp-sheet.is-open{visibility:visible;pointer-events:auto;}
.cp-sheet-mask{
	position:absolute;top:0;left:0;right:0;bottom:0;
	background:rgba(10,16,40,.45);opacity:0;
	-webkit-transition:opacity .25s;transition:opacity .25s;
}
.cp-sheet.is-open .cp-sheet-mask{opacity:1;}
.cp-sheet-pn{
	position:absolute;left:0;right:0;bottom:0;
	background:#fff;border-top-left-radius:18px;border-top-right-radius:18px;
	padding:10px 14px 18px;
	-webkit-box-shadow:0 -6px 18px rgba(10,16,40,.18);box-shadow:0 -6px 18px rgba(10,16,40,.18);
	-webkit-transform:translateY(100%);transform:translateY(100%);
	-webkit-transition:-webkit-transform .25s;transition:transform .25s;
	max-height:80%;overflow-y:auto;
}
.cp-sheet.is-open .cp-sheet-pn{-webkit-transform:translateY(0);transform:translateY(0);}
.cp-sheet-pn:before{
	content:"";display:block;width:42px;height:4px;background:#d6e2f0;
	border-radius:2px;margin:4px auto 12px;
}
.cp-sheet-ttl{text-align:center;color:#0a2463;font-weight:700;font-size:14px;margin-bottom:8px;}
.cp-sheet-lst{list-style:none;margin:0;padding:0;}
.cp-sheet-itm{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	padding:13px 14px;border-bottom:1px solid #eef2f8;
	color:#0a2463;font-size:14px;font-weight:700;cursor:pointer;
}
.cp-sheet-itm:active{background:#eef4fc;}
.cp-sheet-itm:last-child{border-bottom:0;}
.cp-sheet-itm > .fas{font-size:16px;margin-left:14px;color:#0b6ecf;width:20px;text-align:center;}
.cp-sheet-itm.is-red{color:#b82d3c;}
.cp-sheet-itm.is-red > .fas{color:#b82d3c;}
.cp-sheet-itm.is-green{color:#1e8e3a;}
.cp-sheet-itm.is-green > .fas{color:#1e8e3a;}

/* ===== TICKET / DEPOSIT DETAIL ===== */
.tk-thread{margin:10px 0;}

/* ===== LOG CARD (transaction history) ===== */
.lg-card{
	display:block;background:#fff;border:1px solid #e3edf6;border-radius:14px;
	padding:10px 12px;margin:0 0 10px 0;
	-webkit-box-shadow:0 1px 2px rgba(10,36,99,.04);box-shadow:0 1px 2px rgba(10,36,99,.04);
	cursor:pointer;list-style:none;
}
.lg-card:active{background:#f4f8fc;-webkit-transform:scale(.995);transform:scale(.995);}
.lg-card-hd{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;
	-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;
	margin-bottom:8px;
}
.lg-ttl{font-size:14px;font-weight:700;color:#0a2463;line-height:1.3;text-align:right;-webkit-flex:1 1 auto;flex:1 1 auto;margin-right:8px;}
.lg-code{background:#eee;color:#1e8e3a;font-weight:500;font-size:12px;direction:ltr;border-radius:10px;padding: 0 5px;}
.lg-pill{
	display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;
	-webkit-flex:0 0 auto;flex:0 0 auto;
}
.lg-pill > i{margin-left:4px;font-size:11px;}
.lg-pill.is-ok  {background:#eaf7ee;color:#1e8e3a;}
.lg-pill.is-err {background:#fbecee;color:#b82d3c;}
.lg-pill.is-warn{background:#fdf6e0;color:#b45309;}
.lg-pill.is-pend{background:#eef4fc;color:#0b6ecf;}
.lg-rows{border-top:1px dashed #e3edf6;border-bottom:1px dashed #e3edf6;padding:6px 0;margin-bottom:8px;}
.lg-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;
	padding:3px 0;font-size:13px;color:#0a2463;
}
.lg-row-l{color:#5d7a9a;}
.lg-row-v{font-weight:600;direction:ltr;}
.lg-cells{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;
	-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;
	margin:0 -3px;
}
.lg-cell{
	-webkit-box-flex:1;-webkit-flex:1 1 33%;flex:1 1 33%;
	margin:0 3px;background:#f4f8fc;border-radius:10px;padding:8px 6px;
	text-align:center;
}
.lg-cell.is-cut{background:#fbecee;}
.lg-cell.is-com{background:#e8f6ec;}
.lg-cell-l{display:block;font-size:11px;color:#5d7a9a;margin-bottom:2px;}
.lg-cell-v{display:block;font-size:14px;font-weight:700;color:#0a2463;direction:ltr;}
.lg-cell.is-cut .lg-cell-v{color:#b82d3c;}
.lg-cell.is-com .lg-cell-v{color:#15803d;}

/* ===== Modal generic (used by log-detail) ===== */
.lg-kv{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;
	direction:rtl;
	padding:7px 0;border-bottom:1px solid #f0f4f9;font-size:13px;
}
.lg-kv > span{color:#5d7a9a;text-align:right;}
.lg-kv > b{font-weight:700;color:#0a2463;direction:auto;unicode-bidi:plaintext;text-align:left;}
.lg-note{margin-top:10px;}
.lg-note > summary{cursor:pointer;color:#0b6ecf;font-size:13px;padding:6px 0;}
.lg-note > pre{
	background:#f4f8fc;border-radius:8px;padding:8px;
	margin-top:6px;font-size:11px;color:#0a2463;
	white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto;
	direction:auto;unicode-bidi:plaintext;text-align:right;
}

/* Modal detail body: keep info boxes lighter than list cards. */
.cp-modal-bd .lg-kv,
.cp-modal-bdy .lg-kv{
	background:#f8fbff;
	border:1px solid #e6eef8;
	border-radius:10px;
	padding:9px 10px;
	margin:0 0 6px;
}
.cp-modal-bd .lg-cells,
.cp-modal-bdy .lg-cells{margin:6px -2px 4px;}
.cp-modal-bd .lg-cell,
.cp-modal-bdy .lg-cell{
	background:#f8fbff;
	border:1px solid #e6eef8;
}
.cp-modal-bd .lg-cell.is-cut,
.cp-modal-bdy .lg-cell.is-cut{background:#fff5f7;border-color:#f4dde3;}
.cp-modal-bd .lg-cell.is-com,
.cp-modal-bdy .lg-cell.is-com{background:#f2fbf5;border-color:#d9efe1;}
.cp-modal-bd .lg-note > pre,
.cp-modal-bdy .lg-note > pre{background:#f8fbff;border:1px solid #e6eef8;}
.lg-card.is-readonly{cursor:default;}
.lg-card.is-readonly:active{background:#fff;-webkit-transform:none;transform:none;}

.cp-modal{position:fixed;left:0;right:0;top:0;bottom:0;visibility:hidden;pointer-events:none;z-index:1100;}
.cp-modal.is-open{visibility:visible;pointer-events:auto;}
.cp-modal-mask{
	position:absolute;left:0;right:0;top:0;bottom:0;
	background:rgba(10,36,99,.5);opacity:0;
	-webkit-transition:opacity .18s ease;transition:opacity .18s ease;
}
.cp-modal.is-open .cp-modal-mask{opacity:1;}
.cp-modal-pn{
	position:absolute;left:8px;right:8px;top:50%;
	-webkit-transform:translateY(-50%) scale(.96);transform:translateY(-50%) scale(.96);
	opacity:0;
	-webkit-transition:opacity .2s ease, -webkit-transform .2s ease;
	transition:opacity .2s ease, transform .2s ease;
	background:#fff;border-radius:14px;padding:0;max-height:98%;overflow:hidden;
	-webkit-box-shadow:0 6px 24px rgba(10,36,99,.18);box-shadow:0 6px 24px rgba(10,36,99,.18);
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;
}
.cp-modal.is-open .cp-modal-pn{
	-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1);opacity:1;
}
.cp-modal-x{
	position:absolute;left:8px;top:8px;background:rgba(255,255,255,.18);border:0;border-radius:50%;
	width:32px;height:32px;color:#fff;font-size:14px;cursor:pointer;line-height:32px;text-align:center;
	z-index:2;
}
.cp-modal-x:active{background:rgba(255,255,255,.28);}
.cp-modal-hd{
	background:-webkit-linear-gradient(135deg,#0a2463 0%,#1a4fa8 60%,#0a2463 100%);
	background:linear-gradient(135deg,#0a2463 0%,#1a4fa8 60%,#0a2463 100%);
	color:#fff;
	padding:16px 16px 16px 56px;
	border-radius:14px 14px 0 0;
	-webkit-flex:0 0 auto;flex:0 0 auto;
	position:relative;
	margin:0;
}
.cp-modal-ttl{
	font-family:"DroidKufi-Bold",Tahoma,sans-serif;
	font-size:15px;font-weight:700;color:#fff;
	text-align:right;line-height:1.3;
}
.cp-modal-bd,.cp-modal-bdy{
	padding:5px;
	-webkit-flex:1 1 auto;flex:1 1 auto;
	-webkit-overflow-scrolling:touch;overflow-y:auto;
	min-height:0;
}
.cp-modal-ft{
	background:#f4f6f8;border-top:1px solid #e3eaf3;
	padding:10px 12px;border-radius:0 0 14px 14px;
	-webkit-flex:0 0 auto;flex:0 0 auto;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	flex-direction: row;
}
.cp-modal-ft .btn{
	margin:0 3px;-webkit-flex:1 1 auto;flex:1 1 auto;
	padding:11px 14px;font-size:.92rem;border-radius:10px;
	-webkit-box-shadow:none;box-shadow:none;
}
.cp-modal-ft .mft-cancel{-webkit-flex:0 0 33%;flex:0 0 33%;max-width:33%;}
.cp-modal-ft .mft-submit{-webkit-flex:1 1 auto;flex:1 1 auto;}
/* Compact footer buttons — flatter than the gold .btn-pri so they fit
 * inline. Cancel is a quiet white pill, submit is the app primary. */
.cp-modal-ft .btn:before{display:none;}
.btn-sec{
	background:#fff;color:#0a2463;
	border:1px solid #d6e2f0;
	-webkit-box-shadow:0 1px 2px rgba(10,16,40,.06);box-shadow:0 1px 2px rgba(10,16,40,.06);
}
.btn-sec:active{background:#f4f8fc;}
/* Stacked footer — used by hlp-detail reply: form fields on top, then
 * the cancel/submit row at the bottom. */
.cp-modal-ft.is-stacked{
	-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;
}
.cp-modal-ft.is-stacked .btn{margin:0;}
.cp-modal-ft .mft-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	flex-direction: row;
	margin-top:8px;
	padding: 15px 0 10px 0;
	border-top: 1px dashed #ccc;
}
.cp-modal-ft .mft-row .btn{margin:0 3px;-webkit-flex:1 1 auto;flex:1 1 auto;}
.cp-modal-ft .mft-row .mft-cancel{-webkit-flex:0 0 33%;flex:0 0 33%;max-width:33%;}
.cp-modal-ft .mft-row .mft-submit{-webkit-flex:1 1 auto;flex:1 1 auto;}
/* Modal-without-chrome fallback — when neither header nor footer is
 * present (legacy / lightbox-style modals), restore the inner padding
 * so content isn't flush to the rounded corners. */
.cp-modal-pn > .cp-modal-bd:only-child,
.cp-modal-pn > .cp-modal-bdy:only-child{padding:14px;}

/* Bottom-sheet variant — slides up from the bottom with rounded top
 * corners and a drag-handle bar. Used by res-detail (image 2 layout). */
.cp-modal.is-sheet .cp-modal-pn{
	left:0;right:0;top:auto;bottom:0;margin:0;
	border-radius:18px 18px 0 0;padding:0;
	max-height:92%;
	-webkit-transform:translateY(100%);transform:translateY(100%);
	-webkit-transition:-webkit-transform .22s ease;transition:transform .22s ease;
	opacity:1;
}
.cp-modal.is-sheet .cp-modal-pn > .cp-modal-bdy,
.cp-modal.is-sheet .cp-modal-pn > .cp-modal-bd{padding:18px 14px 24px;}
.cp-modal.is-sheet .cp-modal-hd{border-radius:18px 18px 0 0;padding-top:20px;}
.cp-modal.is-sheet.is-open .cp-modal-pn{-webkit-transform:translateY(0);transform:translateY(0);}
.cp-modal.is-sheet .cp-modal-pn:before{
	content:"";position:absolute;left:50%;top:6px;
	width:42px;height:4px;border-radius:2px;background:rgba(0,0,0,.18);
	-webkit-transform:translateX(-50%);transform:translateX(-50%);
	z-index:3;
}
.cp-modal.is-sheet .cp-modal-x{display:none;}

/* While any modal is open, freeze body scroll so the underlying page
 * cannot pan, swipe-back, or trigger pull-to-refresh. */
body.is-locked{overflow:hidden;-webkit-overflow-scrolling:auto;-ms-touch-action:none;touch-action:none;}

/* ===== Pull-to-refresh indicator (Block 20) ===== */
#cp-ptr{
	position:fixed;top:56px;left:0;right:0;height:0;overflow:hidden;
	background:#eef4fb;color:#0a2463;font-size:12px;font-weight:600;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-box-direction:normal;
	-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	-webkit-transition:height .18s ease,opacity .18s ease;transition:height .18s ease,opacity .18s ease;
	z-index:997;opacity:0;
	border-bottom:1px solid rgba(10,36,99,.08);
}
#cp-ptr i{font-size:22px;line-height:1;margin:0 0 4px 0;color:#1a4fa8;}
#cp-ptr .cp-ptr-tx{font-size:12px;line-height:1.1;}
@-webkit-keyframes cp-ptr-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}
@keyframes cp-ptr-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
#cp-ptr .fa-spin{-webkit-animation:cp-ptr-spin .8s linear infinite;animation:cp-ptr-spin .8s linear infinite;}

/* ===== Deposit list row — amount + status stacked ===== */
.cp-listrow .amt-col{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:vertical;-webkit-box-direction:normal;
	-webkit-flex-direction:column;flex-direction:column;
	-webkit-box-align:end;-webkit-align-items:flex-end;align-items:center;
	-webkit-flex:0 0 auto;flex:0 0 auto;
	margin-right:8px;
}
.cp-listrow .amt-col .amt{margin-bottom:4px;}
/* Collection log variant: date + large amount + direction icon. */
.cp-listrow .log-mid{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	-webkit-flex:0 0 auto;flex:0 0 auto;
	margin:0 6px;
}
.cp-listrow .log-mid .ico{
	width:24px;height:24px;border-radius:8px;font-size:12px;margin:0;
}
.cp-listrow .amt-col.is-log{
	min-width:118px;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	text-align:center;
}
.cp-listrow .amt-col.is-log .amt-time{
	font-size:11px;color:#5d7a9a;line-height:1.2;margin-bottom:3px;
}
.cp-listrow .amt-col.is-log .amt.amt-lg{
	font-size:18px;font-weight:800;line-height:1.1;
}
.dep-pill{
	display:inline-block;font-size:11px;font-weight:700;
	padding:2px 8px;border-radius:999px;line-height:1.6;
	border:1px solid transparent;white-space:nowrap;
}
.dep-pill.is-st0{background:#fff7da;color:#8a6d1a;border-color:#f0e2a0;} /* yellow */
.dep-pill.is-st1{background:#ffe7cc;color:#a04b00;border-color:#f5c79a;} /* orange */
.dep-pill.is-st2{background:#e8f6ec;color:#15803d;border-color:#b9e2c4;} /* green */
.dep-pill.is-st5{background:#fbecee;color:#b82d3c;border-color:#f1c5cb;} /* red */

/* ===== Deposit detail modal ===== */
.dep-d-amtbox{background:#f8fbff;border:1px solid #dbe7f6;border-radius:12px;padding:10px 12px;margin:6px 2px 10px;text-align:center;}
.dep-d-amt{font-size:26px;font-weight:800;color:#0a2463;text-align:center;margin:0;direction:ltr;line-height:1.2;}
.dep-d-amt small{display:block;font-size:11px;font-weight:600;color:#5d7a9a;margin-top:2px;}
.dep-d-row{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:7px 4px;border-bottom:1px dashed #eef2f7;font-size:13px;}
.dep-d-row span{color:#5d7a9a;}
.dep-d-row b{color:#0a2463;font-weight:700;}
.dep-d-row b .dep-pill{vertical-align:middle;}

/* ===== App options switches ===== */
.app-opt-row{padding:11px 4px;}
.app-opt-row:last-child{border-bottom:0;}
.app-opt-meta{display:block;max-width:72%;}
.app-opt-ttl{
	display:block;color:#0a2463;font-weight:700;font-size:13px;line-height:1.45;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.app-opt-sub{
	display:block;color:#7a8fa8;font-size:11px;line-height:1.45;margin-top:1px;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.app-opt-switch{
	position:relative;width:94px;height:34px;border:0;border-radius:999px;
	background:#d7e4f4;color:#4f6886;cursor:pointer;direction:ltr;
	padding:0 8px 0 30px;-webkit-appearance:none;appearance:none;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;
	-webkit-transition:background .2s ease,color .2s ease,-webkit-transform .15s ease;
	transition:background .2s ease,color .2s ease,transform .15s ease;
}
.app-opt-switch:active{-webkit-transform:scale(.96);transform:scale(.96);}
.app-opt-switch:focus{outline:none;}
.app-opt-switch-knob{
	position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:50%;
	background:#fff;
	-webkit-box-shadow:0 1px 4px rgba(10,36,99,.24);box-shadow:0 1px 4px rgba(10,36,99,.24);
	-webkit-transition:-webkit-transform .2s ease;transition:transform .2s ease;
}
.app-opt-switch-txt{font-style:normal;font-size:11px;font-weight:700;line-height:1;}
.app-opt-switch.is-on{background:#0f8a57;color:#fff;padding:0 30px 0 8px;}
.app-opt-switch.is-on .app-opt-switch-knob{-webkit-transform:translateX(60px);transform:translateX(60px);}
.app-opt-switch.is-off{background:#d7e4f4;color:#4f6886;}
.app-opt-switch.is-disabled{background:#e9eff6;color:#92a2b8;cursor:default;}
.app-opt-switch.is-disabled .app-opt-switch-knob{
	background:#f7f9fc;
	-webkit-box-shadow:0 1px 2px rgba(10,36,99,.08);box-shadow:0 1px 2px rgba(10,36,99,.08);
}

.dep-d-section{font-size:12px;font-weight:700;color:#5d7a9a;margin:10px 4px 4px;}
.dep-att-list{list-style:none;margin:0;padding:0;}
.dep-att-name{font-size:12px;color:#0a2463;font-weight:600;margin:0 6px;-webkit-flex:1 1 auto;flex:1 1 auto;}
.dep-att-sz{font-size:11px;color:#5d7a9a;}
.dep-wf{list-style:none;margin:0;padding:0;}
.dep-wf li{padding:8px 9px;border:1px solid #e6edf8;border-radius:10px;font-size:12px;background:#f8fbff;margin:0 0 6px;}
.dep-wf li:last-child{margin-bottom:0;}
.dep-wf .dep-wf-top{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-bottom:4px;}
.dep-wf .dep-wf-meta{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;}
.dep-wf .wf-act{font-weight:700;color:#0a2463;}
.dep-wf .wf-by{color:#5d7a9a;margin:0 4px 0 0;}
.dep-wf .wf-dt{color:#8a99ad;font-size:11px;direction:ltr;}
.dep-wf .wf-note{display:block;color:#b82d3c;margin-top:2px;font-size:12px;}

/* ===== Universal form (in modal) — used by deposit, help-new, help-reply ===== */
.cp-form{display:block;}
.cp-form .dep-fld{margin-bottom:10px;}
.cp-form label{display:block;font-size:12px;color:#5d7a9a;margin-bottom:4px;font-weight:600;}
.cp-form .dep-inp,
.cp-form select,
.cp-form input[type="number"],
.cp-form input[type="tel"],
.cp-form input[type="email"],
.cp-form input[type="text"],
.cp-form input[type="date"],
.cp-form input[type="file"],
.cp-form textarea{
	width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;
	padding:8px 10px;border:1px solid #d6e2f0;border-radius:8px;background:#fff;
	font-size:14px;color:#0a2463;
}
.cp-form textarea{min-height:60px;resize:vertical;-webkit-appearance:none;appearance:none;}
.att-upload-box{
	background:#f0fdf4;border:1px dashed #22c55e;border-radius:12px;
	padding:12px;margin-bottom:10px;text-align:center;
}
.att-upload-box label{font-size:14px;color:#166534;font-weight:700;}
.att-upload-box input[type="file"]{
	width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;
	padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;
	background:#f8fafc;color:#334155;font-size:13px;direction:ltr;text-align:left;
}
.att-upload-box .dep-fld-hint,.att-upload-box small{
	display:block;margin-top:8px;color:#15803d;font-size:12px;line-height:1.7;
}

/* ===== Deposit attachment row (portal/crm parity) ===== */
.dep-att-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;
	padding:8px 12px;background:#fff;border:1px solid #d8e2ef;
	border-radius:999px;margin-bottom:8px;
	-webkit-box-shadow:0 2px 7px rgba(10,36,99,.05);box-shadow:0 2px 7px rgba(10,36,99,.05);
}
.dep-att-row > i.fas{font-size:16px;color:#1d8bd8;-webkit-flex:0 0 auto;flex:0 0 auto;}
.dep-att-row .dep-att-name{
	-webkit-flex:1 1 auto;flex:1 1 auto;
	margin:0 8px;font-size:13px;color:#334155;font-weight:600;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
.dep-att-row .dep-att-sz{font-size:11px;color:#5d7a9a;margin-left:6px;}
.dep-att-row .dep-att-acts{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex:0 0 auto;flex:0 0 auto;}
.dep-att-row .dep-att-acts .btn-icon{
	width:30px;height:30px;line-height:30px;text-align:center;
	background:transparent;color:#64748b;border:1px solid transparent;border-radius:6px;
	font-size:13px;cursor:pointer;padding:0;margin-right:3px;
	-webkit-box-shadow:none;box-shadow:none;
}
.dep-att-row .dep-att-acts .btn-icon:active{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;}

/* ===== Deposit submit progress + success states ===== */
.dep-progress, .dep-success{
	text-align:center;padding:32px 16px;
}
.dep-spinner{font-size:48px;color:#0a2463;margin-bottom:12px;}
.dep-progress-tx{font-size:15px;color:#0a2463;font-weight:700;line-height:1.7;}
.dep-check{
	font-size:84px;color:#15803d;margin-bottom:14px;
	-webkit-animation:depCheckIn 0.55s ease-out;
	animation:depCheckIn 0.55s ease-out;
}
.dep-success-tx{
	font-size:15px;color:#0a2463;font-weight:700;line-height:1.8;
	-webkit-animation:depFadeUp 0.45s ease-out 0.25s both;
	animation:depFadeUp 0.45s ease-out 0.25s both;
}
/* Rich success card (e.g. DBT auto-approve summary) — wider, left-aligned
   text inside a soft panel so the multi-line balance/days info stays
   readable on small WebView screens. */
.dep-success.is-rich{padding:22px 14px;}
.dep-success.is-rich .dep-check{font-size:64px;margin-bottom:10px;}
.dep-success.is-rich .dep-success-tx{
	font-size:14px;line-height:1.9;text-align:right;
	background:#eaf7ee;border:1px solid #b7dfc1;
	border-radius:10px;padding:12px 14px;
	max-width:520px;margin:0 auto;
}
/* Dismiss bar for important success cards — user must tap "إلغاء" to
   close the modal and refresh the list. */
.dep-success-act{
	margin-top:14px;text-align:center;
}
.dep-success-act .btn{min-width:120px;}
@-webkit-keyframes depCheckIn{
	0%  {-webkit-transform:scale(0);opacity:0;}
	60% {-webkit-transform:scale(1.18);opacity:1;}
	100%{-webkit-transform:scale(1);opacity:1;}
}
@keyframes depCheckIn{
	0%  {transform:scale(0);opacity:0;}
	60% {transform:scale(1.18);opacity:1;}
	100%{transform:scale(1);opacity:1;}
}
@-webkit-keyframes depFadeUp{
	0%  {-webkit-transform:translateY(8px);opacity:0;}
	100%{-webkit-transform:translateY(0);opacity:1;}
}
@keyframes depFadeUp{
	0%  {transform:translateY(8px);opacity:0;}
	100%{transform:translateY(0);opacity:1;}
}

/* ===== Attachment lightbox (over the deposit modal) ===== */
.dep-lb{
	position:fixed;top:0;left:0;right:0;bottom:0;
	background:rgba(10,36,99,0.92);z-index:10000;
	display:none;
}
.dep-lb.is-open{display:block;}
.dep-lb .dep-lb-bd{
	position:absolute;top:48px;left:8px;right:8px;bottom:44px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	overflow:auto;
}
.dep-lb .dep-lb-bd img{max-width:100%;max-height:100%;border-radius:6px;background:#fff;}
.dep-lb .dep-lb-bd iframe{width:100%;height:100%;border:0;background:#fff;border-radius:6px;}
.dep-lb .dep-lb-bd video{max-width:100%;max-height:100%;border-radius:8px;background:#000;}
.dep-lb .dep-lb-x{
	position:absolute;top:8px;right:8px;
	width:36px;height:36px;line-height:36px;text-align:center;
	background:#fff;color:#0a2463;border:0;border-radius:50%;
	font-size:14px;cursor:pointer;z-index:10001;
}
.dep-lb-tools{
	position:absolute;top:8px;left:8px;z-index:10001;
	display:-webkit-box;display:-webkit-flex;display:flex;
}
.dep-lb-tools button{
	width:36px;height:36px;line-height:36px;text-align:center;
	background:#fff;color:#0a2463;border:0;border-radius:50%;
	font-size:13px;cursor:pointer;margin-right:6px;padding:0;
}
.dep-lb-tools button:active{-webkit-transform:scale(.94);transform:scale(.94);}
.dep-lb-meta{
	position:absolute;left:10px;right:10px;bottom:10px;z-index:10001;
	color:#fff;font-size:12px;font-weight:700;pointer-events:none;
}
.dep-lb-size{float:left;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:ltr;}
.dep-lb-name{float:right;max-width:54%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;direction:ltr;}
/* ===== Universal attachment lightbox progress bar =====
 * Reused by attView(srv, params) for any attachment-streaming srv. */
.dep-lb-prg{
	position:absolute;top:48px;left:8px;right:8px;
	height:24px;background:rgba(255,255,255,0.18);border-radius:12px;
	overflow:hidden;z-index:10001;display:none;
}
.dep-lb-prg-bar{
	position:absolute;top:0;left:0;height:100%;width:0%;
	background:#15803d;
	-webkit-transition:width 0.18s ease-out;
	transition:width 0.18s ease-out;
}
.dep-lb-prg-tx{
	position:absolute;top:0;left:0;right:0;line-height:24px;
	text-align:center;color:#fff;font-size:12px;font-weight:700;
}

/* Lightbox image-mode tweaks: stack image + hint label vertically. */
.dep-lb .dep-lb-bd{-webkit-flex-direction:column;flex-direction:column;}
.dep-lb-hint{
	margin-top:10px;color:#fff;font-size:13px;font-weight:400;
	text-align:center;opacity:0.85;
}

/* ===== Universal upload progress bar =====
 * Used by dep-save (and any future upload flow) to show real-time
 * upload percentage. Markup:
 *   <div class="up-bar">
 *     <div class="up-bar-fill"></div>
 *     <div class="up-bar-pct">0%</div>
 *   </div>
 */
.up-bar{
	position:relative;width:90%;max-width:320px;margin:14px auto 0;
	height:22px;background:#e5e7eb;border-radius:11px;overflow:hidden;
	-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.08);
	        box-shadow:inset 0 1px 2px rgba(0,0,0,0.08);
}
.up-bar-fill{
	position:absolute;top:0;left:0;height:100%;width:0%;
	background:#15803d;
	-webkit-transition:width 0.18s ease-out;
	transition:width 0.18s ease-out;
}
.up-bar-pct{
	position:absolute;top:0;left:0;right:0;line-height:22px;
	text-align:center;color:#111;font-size:12px;font-weight:700;
}
.dep-fld-hint{display:block;margin-top:4px;color:#6b7280;font-size:11px;}

/* Debt snapshot card under the bank-account <select> — 4 stat cells
   in a single row: balance | debt | max | remaining. Reuses cp-card
   .is-flat for the soft outer panel. Android 4.2 WebView safe (no
   grid, no gap, no var()). */
.dep-debt{margin-bottom:10px;padding:8px;}
.dep-debt-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-orient:horizontal;-webkit-box-direction:normal;
	-webkit-flex-direction:row;flex-direction:row;
	-webkit-flex-wrap:nowrap;flex-wrap:nowrap;
	width:100%;
}
.dep-debt-cell{
	-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;
	width:25%;text-align:center;padding:6px 4px;
	border-left:1px solid #d3dbe6;
}
.dep-debt-cell:last-child{border-left:0;}
.dep-debt-lbl{
	display:block;font-size:11px;color:#6b7280;
	font-weight:600;margin-bottom:3px;
}
.dep-debt-val{
	display:block;font-size:13px;color:#0a2463;font-weight:700;
	direction:ltr;
}
.dep-debt-val.is-ok{color:#15803d;}
.dep-debt-val.is-warn{color:#b45309;}
.dep-debt-val.is-err{color:#b91c1c;}
/* Next-installment line under the 4-cell stats row. Sits inside the
   same .dep-debt card with a soft top divider. */
.dep-debt-next{
	margin-top:8px;padding:8px 6px 2px;
	border-top:1px dashed #d3dbe6;
	text-align:center;font-size:13px;line-height:1.6;
}
.dep-debt-next .dep-debt-lbl{display:inline;color:#374151;font-weight:600;margin-left:4px;}
.dep-debt-next .dep-debt-val{display:inline;font-size:13px;}

/* =====================================================================
 * Custom dropdown (.cp-sel) — Android 4.2 WebView safe.
 * ---------------------------------------------------------------------
 * Generic widget reused for any picker that needs an icon + 2-line
 * label. Currently consumed by the bank-account picker in dep-new.
 * Server emits a hidden <input> alongside, so the form submits the
 * chosen id without any client glue beyond syncing the value on pick.
 * No var(), no flex `gap`, no `:has()`, no `inset:` — webkit prefixed. */
.cp-sel{
	position:relative;display:block;width:100%;
	-webkit-user-select:none;-moz-user-select:none;user-select:none;
}
.cp-sel-trg{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;
	padding:8px 10px;
	background:#fff;border:1px solid #d6e2f0;border-radius:8px;
	font-size:14px;color:#0a2463;text-align:right;
	cursor:pointer;-webkit-tap-highlight-color:rgba(10,36,99,0.08);
	font-family:inherit;line-height:1.4;
}
.cp-sel-trg:active{background:#f3f6fb;}
.cp-sel.is-open .cp-sel-trg{
	border-color:#0a2463;
	-webkit-box-shadow:0 0 0 3px rgba(10,36,99,0.12);
	box-shadow:0 0 0 3px rgba(10,36,99,0.12);
}
.cp-sel-ico{
	-webkit-flex:0 0 36px;flex:0 0 36px;
	width:36px;height:36px;margin-left:10px;
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;
	background:#f3f6fb;border:1px solid #e5e9f0;border-radius:6px;
	overflow:hidden;
}
.cp-sel-ico img{max-width:30px;max-height:30px;display:block;}
.cp-sel-badge{
	font-size:10px;font-weight:800;color:#0a2463;letter-spacing:0.5px;
}
.cp-sel-info{
	-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;
	min-width:0;text-align:right;
}
.cp-sel-ttl{
	display:block;font-size:14px;font-weight:700;color:#0a2463;
	line-height:1.4;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cp-sel-sub{
	display:block;font-size:12px;color:#6b7280;font-weight:600;
	line-height:1.5;margin-top:2px;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* Middle line — used by 3-line variant. Sits between ttl and sub. */
.cp-sel-mid{
	display:block;font-size:13px;color:#0a2463;font-weight:600;
	line-height:1.4;margin-top:2px;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* 3-line variant — taller trigger row + larger icon to match 3 lines of text. */
.cp-sel.is-3line .cp-sel-trg,
.cp-sel.is-3line .cp-sel-it{
	min-height:64px;padding-top:8px;padding-bottom:8px;
}
.cp-sel.is-3line .cp-sel-ico{
	-webkit-flex:0 0 48px;flex:0 0 48px;width:48px;height:48px;
}
.cp-sel.is-3line .cp-sel-ico img{max-width:40px;max-height:40px;}
.cp-sel-caret{
	-webkit-flex:0 0 14px;flex:0 0 14px;width:14px;
	margin-right:8px;font-size:12px;color:#6b7280;
	-webkit-transition:-webkit-transform 0.18s ease;
	transition:transform 0.18s ease;
}
.cp-sel.is-open .cp-sel-caret{
	-webkit-transform:rotate(180deg);transform:rotate(180deg);
}
/* Menu — absolutely positioned panel just below the trigger. Hidden by
 * default; .is-open on the parent reveals it. */
.cp-sel-menu{
	position:absolute;top:100%;left:0;right:0;
	margin-top:4px;
	background:#fff;border:1px solid #d3dbe6;border-radius:10px;
	-webkit-box-shadow:0 6px 18px rgba(10,36,99,0.18);
	box-shadow:0 6px 18px rgba(10,36,99,0.18);
	max-height:280px;overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	z-index:1000;display:none;
}
.cp-sel.is-open .cp-sel-menu{display:block;}
.cp-sel-it{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;
	padding:10px 12px;border:0;background:transparent;
	border-top:1px solid #eef2f7;
	text-align:right;cursor:pointer;font-family:inherit;
	-webkit-tap-highlight-color:rgba(10,36,99,0.08);
}
.cp-sel-it:first-child{border-top:0;}
.cp-sel-it:active{background:#f3f6fb;}
.cp-sel-it.is-sel{background:#eaf7ee;}

/* Oversize-file visual hint (BLOCK 5b flags this on the input). */
input[type="file"].is-bad{outline:2px solid #dc2626;border-radius:6px;}

/* =====================================================================
 * HELP TICKETS — pill colours, thread bubbles, system log, attachments,
 * detail header card, reply form. Reuses dep-progress / dep-success /
 * up-bar / cp-modal classes; adds only the help-specific pieces.
 * Android 4.2 WebView safe — no var(), no grid, no gap-in-flex.
 * ===================================================================== */

/* ---- Status pill colour buckets (driven by help_statuses.color_class) ---- */
.hlp-pill{
	display:inline-block;font-size:11px;font-weight:700;
	padding:2px 8px;border-radius:999px;line-height:1.6;
	border:1px solid transparent;white-space:nowrap;
}
.hlp-pill.is-new   {background:#fff7da;color:#8a6d1a;border-color:#f0e2a0;}
.hlp-pill.is-warn  {background:#ffe7cc;color:#a04b00;border-color:#f5c79a;}
.hlp-pill.is-open  {background:#e0ecff;color:#1d4ed8;border-color:#bcd2f5;}
.hlp-pill.is-info  {background:#e0ecff;color:#1d4ed8;border-color:#bcd2f5;}
.hlp-pill.is-pos   {background:#e8f6ec;color:#15803d;border-color:#b9e2c4;}
.hlp-pill.is-bad   {background:#fbecee;color:#b82d3c;border-color:#f1c5cb;}
.hlp-pill.is-mute,
.hlp-pill.is-closed{background:#eef2f7;color:#5d7a9a;border-color:#d6dde6;}

/* ---- Hero card (title + 2-col info chip grid) ---- */
.hlp-hero{
	background:#f4f8fc;border:1px solid #e3eaf3;border-radius:12px;
	padding:10px;margin:0 0 12px;
}
.hlp-hero-ttl{
	font-size:16px;font-weight:800;color:#0a2463;line-height:1.5;
	margin-bottom:10px;
	word-wrap:break-word;word-break:break-word;
}
.hlp-info{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-flex-wrap:wrap;flex-wrap:wrap;
	margin:0 -4px;
}
.hlp-info-it{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	background:#fff;border:1px solid #e3eaf3;border-radius:10px;
	padding:8px 10px;margin:4px;
	-webkit-flex:1 1 45%;flex:1 1 45%;min-width:140px;
}
.hlp-info-it i{
	font-size:18px;width:32px;height:32px;line-height:32px;text-align:center;
	border-radius:8px;background:#eef4ff;color:#1d4ed8;
	-webkit-flex:0 0 32px;flex:0 0 32px;
}
.hlp-info-it i.is-blue  {background:#e0ecff;color:#1d4ed8;}
.hlp-info-it i.is-purple{background:#ece8ff;color:#5b3df0;}
.hlp-info-it i.is-green {background:#e6f5ec;color:#15803d;}
.hlp-info-it i.is-warn  {background:#ffe7cc;color:#a04b00;}
.hlp-info-it i.is-bad   {background:#fbecee;color:#b82d3c;}
.hlp-info-it i.is-mute  {background:#eef2f7;color:#5d7a9a;}
.hlp-info-it i.is-info  {background:#e0ecff;color:#1d4ed8;}
.hlp-info-tx{
	font-size:12px;color:#0a2463;line-height:1.45;
	margin-right:10px;-webkit-flex:1 1 auto;flex:1 1 auto;min-width:0;
}
.hlp-info-tx b{
	display:block;font-size:10px;font-weight:700;color:#7a8aa1;
	margin-bottom:1px;letter-spacing:.2px;
}

/* ---- Thread: row = avatar + bubble (proper RTL) ---- */
.tk-thread{padding:10px;border:1px dashed #acacac;border-radius:10px;background:#fff;}
.tk-row{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;
	margin:8px 0;
}
.tk-row.is-me   {
	-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;
	/* Customer (me) bubble sits on the LEFT in RTL with the avatar on
	   its outer (left) side — flip the row so DOM order avatar→bubble
	   renders bubble→avatar visually. */
	-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;
}
.tk-row.is-agent{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}
.tk-avatar{
	width:24px;height:24px;line-height:24px;text-align:center;
	border-radius:999px;font-size:13px;color:#fff;
	-webkit-flex:0 0 32px;flex:0 0 32px;
}
/* Avatar gutter — me on the LEFT outside its bubble, agent on the
   RIGHT outside its bubble. Both directions get a small gap on the
   bubble-facing side. */
.tk-row.is-me    .tk-avatar{background:#1d4ed8;margin:6px 4px 0 -4px;}
.tk-row.is-agent .tk-avatar{background:#5b3df0;margin:6px -4px 0 4px;}

.tk-bubble{
	display:block;max-width:90%;
	padding:8px 12px;
	border-radius:14px;
	-webkit-box-shadow:0 1px 2px rgba(10,36,99,0.06);
	        box-shadow:0 1px 2px rgba(10,36,99,0.06);
	word-wrap:break-word;word-break:break-word;
	background:#fff;border:1px solid #e3eaf3;
}
.tk-bubble.is-me{
	background:#dcecff;border-color:#bcd2f5;
	border-top-left-radius:4px;
}
.tk-bubble.is-agent{
	background:#f8f5ff;border-color:#dcd3f5;
	border-top-right-radius:4px;
}
.tk-bubble .tk-meta{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:baseline;-webkit-align-items:baseline;align-items:baseline;
	font-size:11px;color:#5d7a9a;margin-bottom:4px;
}
.tk-bubble .tk-meta b{font-weight:700;color:#0a2463;}
.tk-bubble .tk-meta span{margin-right:6px;color:#8a99ad;font-size:10px;}
.tk-bubble .tk-msg {font-size:13px;color:#0a2463;line-height:1.7;white-space:pre-wrap;}

/* System log: right-aligned timeline-style row. */
.tk-sys{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;
	margin:10px 0;font-size:11px;color:#5d7a9a;
}
.tk-sys i{
	font-size:11px;background:#eef2f7;color:#7a8aa1;
	width:20px;height:20px;line-height:20px;text-align:center;border-radius:999px;
	margin-left:6px;
}
.tk-sys span{
	background:#eef2f7;color:#5d7a9a;font-weight:600;
	padding:3px 10px;border-radius:999px;border:1px solid #d6dde6;
}
.tk-sys em{font-style:normal;color:#a3b1c2;font-size:10px;margin-right:6px;}

/* ---- Reply form (modal footer) ---- */
/* Reply form reuses .cp-form primitives (textarea/file/hint) for full
 * parity with the deposit modal. Only the close-ticket checkbox needs
 * a tiny inline-row helper. */
.hlp-rp-close{
	display:-webkit-box;display:-webkit-flex;display:flex;
	-webkit-box-align:center;-webkit-align-items:center;align-items:center;
	font-size:12px;color:#5d7a9a;
}
.hlp-rp-close input{margin-left:6px;}
