/*! پرشین پلتفرم - استایل صفحه ورود */
.pp-login-wrap{
	--pp-accent:#0f766e;
	--f:var(--pp-font,"Vazirmatn","Segoe UI",Tahoma,"Iranian Sans",Arial,sans-serif);
	font-family:var(--f);
	min-height:100vh;display:grid;place-items:center;padding:22px;position:relative;
	background:#0b3b46;color:#0f172a;line-height:1.85;direction:rtl;
}
.pp-login-wrap *{box-sizing:border-box}
.pp-login-bg{
	position:absolute;inset:0;
	background:
		radial-gradient(900px 500px at 12% 10%,rgba(45,212,191,.35),transparent 60%),
		radial-gradient(700px 500px at 90% 90%,rgba(14,116,144,.4),transparent 60%),
		linear-gradient(140deg,#062a33,#0b3b46 55%,#0f766e);
}
.pp-login-box{
	position:relative;width:min(940px,100%);background:#fff;border-radius:22px;overflow:hidden;
	display:grid;grid-template-columns:1.05fr 1fr;box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.pp-login-side{background:linear-gradient(160deg,#0b3b46,#0f766e);color:#eafaf7;padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.pp-login-brand{display:flex;gap:12px;align-items:center}
.pp-login-mark{width:46px;height:46px;border-radius:14px;background:#fff;color:#0b3b46;font-weight:900;display:grid;place-items:center;font-size:17px;flex:none}
.pp-login-brand strong{display:block;font-size:17px}
.pp-login-brand small{display:block;font-size:11px;opacity:.82}
.pp-login-feats{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.pp-login-feats li{display:flex;gap:11px;align-items:center;font-size:13px;background:rgba(255,255,255,.08);padding:11px 13px;border-radius:12px}
.pp-login-feats svg{opacity:.9}
.pp-login-form-wrap{padding:34px}
.pp-login-title{margin:0 0 6px;font-size:21px;font-weight:800}
.pp-login-sub{margin:0 0 22px;color:#64748b;font-size:13px}
.pp-login-opts{display:flex;justify-content:space-between;align-items:center;margin:4px 0 18px;font-size:12.4px}
.pp-linklike{background:none;border:0;color:var(--pp-accent);font-family:inherit;font-size:12.4px;font-weight:700;padding:0;cursor:pointer}
.pp-linklike:hover{text-decoration:underline}
.pp-login-foot{margin-top:24px;display:flex;gap:8px;justify-content:center;color:#94a3b8;font-size:11.4px}
.pp-login-foot a{color:var(--pp-accent);font-weight:700}
.pp-login-note{padding:11px 14px;border-radius:11px;font-size:12.6px;margin-bottom:16px}
.pp-note-info{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.pp-note-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.pp-hide{display:none}
.pp-ico{flex:none;vertical-align:-3px}

/* اجزای پایه مشترک با پنل */
.pp-login-wrap .pp-field{display:grid;gap:6px;margin-bottom:13px}
.pp-login-wrap .pp-field label{font-size:12.6px;font-weight:700;color:#334155}
.pp-login-wrap .pp-input{
	width:100%;border:1px solid #e6eaf1;border-radius:11px;padding:11px 13px;font-family:inherit;
	font-size:13.6px;outline:none;transition:.16s;background:#fff;
}
.pp-login-wrap .pp-input:focus{border-color:var(--pp-accent);box-shadow:0 0 0 3px rgba(15,118,110,.13)}
.pp-login-wrap .pp-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
	border-radius:11px;padding:11px 18px;font-size:13.6px;font-weight:800;font-family:inherit;cursor:pointer;transition:.16s;
	background:#f8fafc;color:#334155;
}
.pp-login-wrap .pp-btn-primary{background:var(--pp-accent);color:#fff}
.pp-login-wrap .pp-btn-primary:hover{background:#0d5f59}
.pp-login-wrap .pp-btn-ghost{background:#fff;border-color:#e6eaf1}
.pp-login-wrap .pp-btn-block{width:100%}
.pp-login-wrap .pp-row{display:flex;gap:9px;flex-wrap:wrap}
.pp-login-wrap .pp-check{display:flex;align-items:center;gap:7px;font-size:12.4px;cursor:pointer;color:#475569}
.pp-login-wrap .pp-check input{width:16px;height:16px;accent-color:var(--pp-accent)}
.pp-login-wrap .pp-toast{
	position:fixed;bottom:20px;inset-inline-start:20px;background:#0f172a;color:#fff;padding:12px 17px;
	border-radius:12px;font-size:13px;z-index:80;box-shadow:0 12px 30px rgba(0,0,0,.3);
}
.pp-login-wrap .pp-toast.ok{background:#065f46}
.pp-login-wrap .pp-toast.err{background:#991b1b}

@media (max-width:860px){
	.pp-login-box{grid-template-columns:1fr}
	.pp-login-side{display:none}
	.pp-login-form-wrap{padding:26px}
}

/* گوشی: فرم ورود تک‌ستونه با هدف‌های لمسی دست‌کم ۴۴px */
@media (max-width:640px){
	.pp-login-wrap{padding:14px 10px}
	.pp-login-box{border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.18)}
	.pp-login-form-wrap{padding:20px 16px 24px}
	.pp-login-head h1{font-size:19px}
	.pp-login-form .pp-input,.pp-login-form select,.pp-login-form textarea{min-height:46px;font-size:16px}
	.pp-login-form .pp-btn{min-height:48px;font-size:14.5px}
	.pp-login-form .pp-linklike{min-height:44px;display:inline-flex;align-items:center}
	.pp-login-form .pp-check{min-height:44px;display:inline-flex;align-items:center;gap:8px}
	/* خودِ چک‌باکس کوچک می‌ماند ولی برچسبش هدف لمسی بزرگ‌تری می‌سازد */
	.pp-login-form .pp-check input{width:19px;height:19px;flex:none}
	.pp-login-alert{font-size:12.8px;padding:10px 13px}
	.pp-login-foot{font-size:11.6px;text-align:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
	.pp-login-foot a{display:inline-flex;align-items:center;min-height:44px}
}

@media (max-width:380px){
	.pp-login-form-wrap{padding:18px 13px 22px}
}

/* -------------------------------------------------------------------------
 * پوسته مشترک (کارت شناسایی عمومی و صفحات پیام)
 * ---------------------------------------------------------------------- */
body.pp-login-page{
	margin:0;
	direction:rtl;
	font-family:var(--pp-font,"Vazirmatn","Segoe UI",Tahoma,"Iranian Sans",Arial,sans-serif);
	color:#0f172a;
	background:linear-gradient(160deg,#f8fafc,#eef2f7 40%,#e8edf4);
	line-height:1.9;
	font-size:14.5px;
}
body.pp-login-page *{box-sizing:border-box}
body.pp-login-page a{text-decoration:none;color:inherit}
.pp-shell{min-height:100vh;display:flex;align-items:flex-start;justify-content:center}
.pp-shell-inner{width:100%;max-width:1060px;margin:0 auto;padding:28px 18px 40px}
.pp-login-page .pp-card,
body:not(.pp-app) .pp-card{
	background:#fff;
	border:1px solid #e6eaf1;
	border-radius:14px;
	box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);
	overflow:hidden;
}
.pp-login-page .pp-card-body{padding:22px}
.pp-login-page .pp-muted{color:#64748b}
.pp-login-page .pp-empty-ico{
	width:58px;height:58px;border-radius:18px;background:#f1f5f9;color:#64748b;
	display:inline-grid;place-items:center;
}
.pp-login-page .pp-grid{display:grid;gap:16px}
.pp-login-page .pp-grid-2{grid-template-columns:1fr 1fr}
.pp-login-page .pp-list{display:grid;gap:11px}
.pp-org-ico{
	width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#0f766e);
	color:#04211f;display:grid;place-items:center;flex:none;
}
@media (max-width:820px){
	.pp-login-page .pp-grid-2{grid-template-columns:1fr}
}

/* ==========================================================================
 * لایه تجربه اپلیکیشنی ورود + کارت عمومی (نسخه 1.0.1)
 * ========================================================================== */
.pp-login-wrap,.pp-login-wrap button,.pp-login-wrap input{font-family:var(--pp-font,"Vazirmatn","Vazirmatn FD",Tahoma,"Segoe UI",Arial,sans-serif)}
@keyframes ppLoginIn{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ppBlobFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-20px) scale(1.06)}}
@keyframes ppToastUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.pp-login-box{animation:ppLoginIn .6s cubic-bezier(.22,.9,.28,1) both}
.pp-login-bg::before,.pp-login-bg::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;pointer-events:none}
.pp-login-bg::before{width:340px;height:340px;background:radial-gradient(circle,rgba(45,212,191,.5),transparent 65%);top:-90px;inset-inline-start:-80px;animation:ppBlobFloat 9s ease-in-out infinite}
.pp-login-bg::after{width:420px;height:420px;background:radial-gradient(circle,rgba(125,211,252,.35),transparent 65%);bottom:-140px;inset-inline-end:-110px;animation:ppBlobFloat 11s ease-in-out infinite reverse}
.pp-login-feats li{transition:transform .22s cubic-bezier(.22,.9,.28,1),background .22s}
.pp-login-feats li:hover{transform:translateX(-4px);background:rgba(255,255,255,.14)}
.pp-login-form .pp-input{transition:border-color .18s,box-shadow .18s,transform .18s}
.pp-login-form .pp-input:focus{transform:translateY(-1px)}
.pp-login-form .pp-btn-primary{position:relative;overflow:hidden;background:linear-gradient(135deg,#14b8a6,#0f766e);box-shadow:0 10px 26px rgba(15,118,110,.32);transition:transform .18s,box-shadow .18s}
.pp-login-form .pp-btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(15,118,110,.4)}
.pp-login-form .pp-btn-primary:active{transform:scale(.98)}
.pp-login-wrap .pp-toast{animation:ppToastUp .3s ease}
@keyframes ppShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.pp-shake{animation:ppShake .5s ease}
@media (prefers-reduced-motion:reduce){.pp-shake{animation:none}}
/* کارت عمومی */
body.pp-login-page{background:radial-gradient(1000px 480px at 80% -5%,rgba(45,212,191,.14),transparent 60%),linear-gradient(160deg,#f8fafc,#eef2f7 40%,#e8edf4)}
.pp-shell-inner{animation:ppLoginIn .55s cubic-bezier(.22,.9,.28,1) both}
.pp-login-page .pp-card{transition:transform .22s cubic-bezier(.22,.9,.28,1),box-shadow .22s}
.pp-login-page .pp-card:hover{box-shadow:0 2px 6px rgba(15,23,42,.05),0 18px 44px rgba(15,118,110,.1)}
@media (prefers-reduced-motion:reduce){.pp-login-box,.pp-shell-inner{animation:none}.pp-login-bg::before,.pp-login-bg::after{animation:none}}
