/* ==========================================================================
   Persian PM — Design System
   فونت: وزیرمتن | جهت: راست‌به‌چپ
   ========================================================================== */

#pm-app, .pm-app-root {
	--pm-bg: #F6F7FB;
	--pm-surface: #FFFFFF;
	--pm-sidebar: #16182E;
	--pm-sidebar-active: #232748;
	--pm-border: #E7E9F3;
	--pm-text: #1B1D2A;
	--pm-text-muted: #8A8FA3;
	--pm-text-soft: #545872;
	--pm-primary: #6C5CE7;
	--pm-primary-dark: #5A4BD6;
	--pm-primary-soft: #EFECFD;
	--pm-accent: #17C3B2;
	--pm-success: #17B26A;
	--pm-warning: #F5A524;
	--pm-danger: #F0466B;
	--pm-info: #3B82F6;
	--pm-radius-sm: 10px;
	--pm-radius: 14px;
	--pm-radius-lg: 20px;
	--pm-shadow-sm: 0 1px 2px rgba(20,20,50,.05);
	--pm-shadow: 0 6px 24px rgba(30,30,80,.07);
	--pm-shadow-lg: 0 16px 48px rgba(30,30,80,.14);
	--pm-font: 'Vazirmatn', Tahoma, sans-serif;

	font-family: var(--pm-font);
	color: var(--pm-text);
	direction: rtl;
	text-align: right;
	-webkit-font-smoothing: antialiased;
}

#pm-app *, .pm-app-root *{ box-sizing: border-box; }
#pm-app, .pm-app-root { font-size: 14.5px; line-height: 1.7; }

.pm-app-fullscreen, body.pm-fullscreen-body {
	margin: 0; background: var(--pm-bg); min-height: 100vh;
}
body.pm-fullscreen-body #wpadminbar{ display:none; }

.pm-guest-box {
	background: var(--pm-surface); border: 1px solid var(--pm-border); border-radius: var(--pm-radius);
	padding: 28px; text-align: center; font-family: var(--pm-font);
}

/* ---------- Layout ---------- */
.pm-shell { display: flex; min-height: 100vh; background: var(--pm-bg); }

.pm-sidebar {
	width: 248px; flex-shrink: 0; background: var(--pm-sidebar); color: #fff;
	display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; z-index: 40;
	transition: transform .25s ease;
}
.pm-sidebar-brand {
	display: flex; align-items: center; gap: 10px; padding: 22px 20px 18px;
	font-weight: 800; font-size: 17px; letter-spacing: -.2px;
}
.pm-sidebar-brand .pm-logo-dot {
	width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
	background: linear-gradient(135deg, var(--pm-primary), var(--pm-accent));
	display:flex; align-items:center; justify-content:center; font-size: 16px;
}
.pm-nav { flex: 1; padding: 10px 14px; display: flex; flex-direction: column; gap: 3px; overflow-y: auto; }
.pm-nav-item {
	display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 12px;
	color: rgba(255,255,255,.65); cursor: pointer; font-size: 14px; font-weight: 500;
	transition: background .15s, color .15s; user-select: none; position: relative;
}
.pm-nav-item svg { width: 19px; height: 19px; flex-shrink: 0; opacity: .9; }
.pm-nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.pm-nav-item.active { background: var(--pm-sidebar-active); color: #fff; }
.pm-nav-item.active::before {
	content: ''; position: absolute; right: -14px; top: 8px; bottom: 8px; width: 3px;
	background: var(--pm-primary); border-radius: 3px 0 0 3px;
}
.pm-nav-badge {
	margin-inline-start: auto; background: var(--pm-danger); color: #fff; font-size: 11px;
	min-width: 18px; height: 18px; border-radius: 9px; display:flex; align-items:center; justify-content:center; padding: 0 5px;
}
.pm-sidebar-footer { padding: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.pm-user-chip { display:flex; align-items:center; gap: 10px; padding: 8px; border-radius: 12px; cursor:pointer; }
.pm-user-chip:hover { background: rgba(255,255,255,.06); }
.pm-user-chip img { width: 34px; height: 34px; border-radius: 50%; }
.pm-user-chip .name { font-size: 13px; font-weight: 600; color: #fff; }
.pm-user-chip .role { font-size: 11px; color: rgba(255,255,255,.5); }

.pm-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pm-topbar {
	display:flex; align-items:center; gap: 14px; padding: 16px 28px; background: var(--pm-surface);
	border-bottom: 1px solid var(--pm-border); position: sticky; top: 0; z-index: 30;
}
.pm-topbar h1 { font-size: 19px; font-weight: 800; margin: 0; }
.pm-topbar-spacer{ flex: 1; }
.pm-search {
	display:flex; align-items:center; gap:8px; background: var(--pm-bg); border: 1px solid var(--pm-border);
	border-radius: 11px; padding: 9px 14px; min-width: 240px;
}
.pm-search input { border:0; background: transparent; outline: none; font-family: var(--pm-font); flex:1; font-size: 13px; }
.pm-hamburger { display:none; background:none; border:0; cursor:pointer; padding: 6px; }
.pm-hamburger svg{ width:22px; height:22px; }

.pm-content { padding: 26px 28px 60px; max-width: 1360px; width: 100%; margin: 0 auto; }

/* ---------- Buttons ---------- */
.pm-btn {
	display: inline-flex; align-items: center; justify-content:center; gap: 7px; border: none; cursor: pointer;
	border-radius: 11px; padding: 10px 18px; font-family: var(--pm-font); font-size: 13.5px; font-weight: 600;
	transition: all .15s ease; white-space: nowrap;
}
.pm-btn svg { width: 16px; height: 16px; }
.pm-btn-primary { background: var(--pm-primary); color: #fff; box-shadow: 0 4px 14px rgba(108,92,231,.3); }
.pm-btn-primary:hover { background: var(--pm-primary-dark); transform: translateY(-1px); }
.pm-btn-ghost { background: var(--pm-bg); color: var(--pm-text); }
.pm-btn-ghost:hover { background: var(--pm-border); }
.pm-btn-soft { background: var(--pm-primary-soft); color: var(--pm-primary-dark); }
.pm-btn-danger { background: #FDECEF; color: var(--pm-danger); }
.pm-btn-danger:hover { background: var(--pm-danger); color:#fff; }
.pm-btn-sm { padding: 6px 12px; font-size: 12.5px; border-radius: 9px;}
.pm-btn-icon { padding: 8px; border-radius: 9px; background: transparent; }
.pm-btn-icon:hover { background: var(--pm-bg); }
.pm-btn:disabled { opacity:.5; cursor:not-allowed; transform:none; }

/* ---------- Cards ---------- */
.pm-card {
	background: var(--pm-surface); border: 1px solid var(--pm-border); border-radius: var(--pm-radius);
	box-shadow: var(--pm-shadow-sm);
}
.pm-card-pad { padding: 20px; }

.pm-kpi-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 22px; }
.pm-kpi {
	background: var(--pm-surface); border: 1px solid var(--pm-border); border-radius: var(--pm-radius);
	padding: 18px 18px 16px; position: relative; overflow: hidden;
}
.pm-kpi::before {
	content:''; position:absolute; top:0; right:0; left:0; height: 3px;
	background: linear-gradient(90deg, var(--pm-primary), var(--pm-accent));
}
.pm-kpi .pm-kpi-icon {
	width: 38px; height: 38px; border-radius: 10px; display:flex; align-items:center; justify-content:center;
	margin-bottom: 12px;
}
.pm-kpi .pm-kpi-icon svg{ width:19px; height:19px; }
.pm-kpi .val { font-size: 25px; font-weight: 800; letter-spacing: -.5px; }
.pm-kpi .label { font-size: 12.5px; color: var(--pm-text-muted); margin-top: 2px; }

.pm-section-title { display:flex; align-items:center; margin: 28px 0 14px; }
.pm-section-title h2 { font-size: 16px; font-weight: 800; margin:0; }
.pm-section-title .pm-spacer{ flex:1; }

.pm-grid-2 { display:grid; grid-template-columns: 1.4fr 1fr; gap: 18px; }

/* ---------- Tables ---------- */
.pm-table-wrap { overflow-x: auto; }
table.pm-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
table.pm-table th {
	text-align: right; padding: 11px 14px; color: var(--pm-text-muted); font-weight: 600; font-size: 12.5px;
	border-bottom: 1px solid var(--pm-border); white-space: nowrap;
}
table.pm-table td { padding: 13px 14px; border-bottom: 1px solid var(--pm-border); vertical-align: middle; }
table.pm-table tr:last-child td { border-bottom: none; }
table.pm-table tr:hover td { background: var(--pm-bg); cursor: pointer; }

/* ---------- Badges ---------- */
.pm-badge { display:inline-flex; align-items:center; gap:5px; padding: 4px 10px; border-radius: 8px; font-size: 11.5px; font-weight: 700; }
.pm-badge::before { content:''; width:6px; height:6px; border-radius:50%; background: currentColor; }
.pm-badge-todo { background:#EEF0F7; color:#6B7086; }
.pm-badge-in_progress { background:#E9F1FF; color:#2E75F0; }
.pm-badge-done { background:#E6F8EF; color:#17B26A; }
.pm-badge-cancelled { background:#FDECEF; color:#F0466B; }

.pm-priority { display:inline-flex; align-items:center; gap:5px; font-size: 11.5px; font-weight: 700; }
.pm-priority::before { content:''; width:7px; height:7px; border-radius:2px; }
.pm-priority-low::before { background:#9AA0B4; }
.pm-priority-medium::before { background:#3B82F6; }
.pm-priority-high::before { background:#F5A524; }
.pm-priority-urgent::before { background:#F0466B; }
.pm-priority-low{color:#6B7086;} .pm-priority-medium{color:#2E75F0;} .pm-priority-high{color:#B9790C;} .pm-priority-urgent{color:#D02852;}

/* ---------- Progress ---------- */
.pm-progress { height: 7px; border-radius: 6px; background: var(--pm-bg); overflow: hidden; }
.pm-progress > div { height: 100%; background: linear-gradient(90deg, var(--pm-primary), var(--pm-accent)); border-radius: 6px; transition: width .4s ease; }

/* ---------- Avatars ---------- */
.pm-avatar { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex-shrink:0; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--pm-border); }
.pm-avatar-stack { display:flex; }
.pm-avatar-stack img { margin-inline-start: -8px; }
.pm-avatar-sm { width:22px; height:22px; }

/* ---------- Empty state ---------- */
.pm-empty { text-align:center; padding: 50px 20px; color: var(--pm-text-muted); }
.pm-empty svg { width: 54px; height:54px; opacity:.35; margin-bottom: 12px; }
.pm-empty .t { font-weight: 700; color: var(--pm-text); margin-bottom: 4px; font-size: 14.5px; }

/* ---------- Forms ---------- */
.pm-field { margin-bottom: 16px; }
.pm-field label { display:block; font-size: 12.5px; font-weight: 700; color: var(--pm-text-soft); margin-bottom: 6px; }
.pm-input, .pm-select, textarea.pm-input {
	width: 100%; border: 1px solid var(--pm-border); border-radius: 10px; padding: 10px 13px;
	font-family: var(--pm-font); font-size: 13.5px; background: var(--pm-bg); outline: none; transition: border-color .15s;
	color: var(--pm-text);
}
.pm-input:focus, .pm-select:focus, textarea.pm-input:focus { border-color: var(--pm-primary); background: #fff; }
textarea.pm-input { resize: vertical; min-height: 80px; }
.pm-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pm-help { font-size: 11.5px; color: var(--pm-text-muted); margin-top: 4px; }

/* ---------- Modal ---------- */
.pm-modal-overlay {
	position: fixed; inset: 0; background: rgba(15,16,35,.5); backdrop-filter: blur(2px);
	display:flex; align-items:center; justify-content:center; z-index: 200; padding: 20px; animation: pmFadeIn .15s ease;
}
.pm-modal {
	background: var(--pm-surface); border-radius: var(--pm-radius-lg); width: 100%; max-width: 560px;
	max-height: 88vh; display:flex; flex-direction:column; box-shadow: var(--pm-shadow-lg); animation: pmSlideUp .18s ease;
}
.pm-modal.pm-modal-lg { max-width: 780px; }
.pm-modal-head { display:flex; align-items:center; padding: 18px 22px; border-bottom: 1px solid var(--pm-border); }
.pm-modal-head h3 { font-size: 15.5px; font-weight: 800; margin:0; }
.pm-modal-body { padding: 20px 22px; overflow-y: auto; }
.pm-modal-foot { display:flex; gap: 10px; padding: 16px 22px; border-top: 1px solid var(--pm-border); justify-content: flex-start; }
@keyframes pmFadeIn { from{opacity:0} to{opacity:1} }
@keyframes pmSlideUp { from{opacity:0; transform: translateY(14px)} to{opacity:1; transform:translateY(0)} }

/* ---------- Toast ---------- */
.pm-toasts { position: fixed; bottom: 22px; left: 22px; z-index: 300; display:flex; flex-direction:column; gap: 10px; }
.pm-toast {
	background: #1B1D2A; color: #fff; padding: 12px 18px; border-radius: 11px; font-size: 13px;
	box-shadow: var(--pm-shadow-lg); display:flex; align-items:center; gap:10px; animation: pmSlideUp .2s ease; min-width: 220px;
}
.pm-toast-success { background: #14352A; }
.pm-toast-error { background: #3A1420; }

/* ---------- Task Detail ---------- */
.pm-task-detail-head { display:flex; align-items:flex-start; gap:12px; }
.pm-task-detail-head h3 { font-size: 17px; font-weight: 800; margin: 0; flex:1; }
.pm-checklist-item { display:flex; align-items:center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--pm-border); }
.pm-checklist-item input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--pm-primary); cursor:pointer; }
.pm-checklist-item.done span { text-decoration: line-through; color: var(--pm-text-muted); }
.pm-comment { display:flex; gap:10px; padding: 12px 0; border-bottom: 1px solid var(--pm-border); }
.pm-comment .bubble { flex:1; }
.pm-comment .meta { font-size: 11.5px; color: var(--pm-text-muted); margin-bottom: 3px; }
.pm-comment .meta b { color: var(--pm-text); font-weight: 700; }
.pm-tabs { display:flex; gap: 4px; border-bottom: 1px solid var(--pm-border); margin-bottom: 16px; }
.pm-tab { padding: 9px 4px; margin-inline-end: 18px; font-size: 13px; font-weight: 700; color: var(--pm-text-muted); cursor:pointer; border-bottom: 2px solid transparent; }
.pm-tab.active { color: var(--pm-primary); border-color: var(--pm-primary); }
.pm-file-chip { display:flex; align-items:center; gap:10px; padding: 9px 12px; border:1px solid var(--pm-border); border-radius: 10px; margin-bottom: 8px; }
.pm-file-chip .ic { width:32px; height:32px; border-radius:8px; background: var(--pm-primary-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pm-file-chip .meta{ flex:1; min-width:0; }
.pm-file-chip .fname{ font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pm-file-chip .fsize{ font-size:11px; color:var(--pm-text-muted); }

/* ---------- Kanban / Task list ---------- */
.pm-filters-bar { display:flex; align-items:center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.pm-task-row-title { display:flex; align-items:center; gap:10px; font-weight: 600; }
.pm-task-row-title .dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.pm-checklist-mini { font-size: 11.5px; color: var(--pm-text-muted); }

/* ---------- Calendar ---------- */
.pm-cal-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.pm-cal-daylabel { text-align:center; font-size:11.5px; font-weight:700; color: var(--pm-text-muted); padding-bottom: 6px; }
.pm-cal-cell {
	background: var(--pm-surface); border: 1px solid var(--pm-border); border-radius: 12px; min-height: 108px;
	padding: 8px; display:flex; flex-direction:column; gap:5px; transition: background .15s;
}
.pm-cal-cell.today { border-color: var(--pm-primary); box-shadow: 0 0 0 1px var(--pm-primary) inset; }
.pm-cal-cell.dragover { background: var(--pm-primary-soft); }
.pm-cal-daynum { font-size: 12px; font-weight: 700; color: var(--pm-text-muted); }
.pm-cal-cell.today .pm-cal-daynum { color: var(--pm-primary); }
.pm-cal-task {
	font-size: 11px; padding: 4px 7px; border-radius: 7px; background: var(--pm-primary-soft); color: var(--pm-primary-dark);
	cursor: grab; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight:600;
}

/* ---------- Chat ---------- */
.pm-chat-layout { display:grid; grid-template-columns: 280px 1fr; gap: 0; height: calc(100vh - 150px); border:1px solid var(--pm-border); border-radius: var(--pm-radius); overflow:hidden; background:#fff; }
.pm-chat-list { border-inline-start: 1px solid var(--pm-border); overflow-y:auto; }
.pm-chat-thread { display:flex; align-items:center; gap:10px; padding: 12px 14px; cursor:pointer; border-bottom: 1px solid var(--pm-border); }
.pm-chat-thread:hover, .pm-chat-thread.active { background: var(--pm-bg); }
.pm-chat-thread .info { flex:1; min-width:0; }
.pm-chat-thread .name { font-size: 13px; font-weight:700; }
.pm-chat-thread .preview { font-size: 11.5px; color: var(--pm-text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pm-chat-main { display:flex; flex-direction:column; min-width:0; }
.pm-chat-head { padding: 14px 18px; border-bottom: 1px solid var(--pm-border); font-weight:800; display:flex; align-items:center; gap:10px; }
.pm-chat-messages { flex:1; overflow-y:auto; padding: 18px; display:flex; flex-direction:column; gap: 10px; }
.pm-msg { max-width: 62%; padding: 9px 13px; border-radius: 14px; font-size: 13.5px; position:relative; }
.pm-msg.mine { align-self: flex-start; background: var(--pm-primary); color:#fff; border-bottom-left-radius: 4px; }
.pm-msg.theirs { align-self: flex-end; background: var(--pm-bg); border-bottom-right-radius: 4px; }
.pm-msg .who { font-size: 11px; opacity:.7; margin-bottom:2px; font-weight:700; }
.pm-msg .time { font-size: 10px; opacity:.6; margin-top: 4px; }
.pm-chat-input { display:flex; gap:8px; padding: 12px 14px; border-top: 1px solid var(--pm-border); align-items:center; }
.pm-chat-input textarea { flex:1; border:1px solid var(--pm-border); border-radius: 12px; padding: 10px 14px; font-family: var(--pm-font); resize:none; max-height: 100px; outline:none; font-size:13.5px; }
.pm-chat-input textarea:focus{ border-color: var(--pm-primary); }

/* ---------- Reports charts (simple CSS bars) ---------- */
.pm-bar-row { display:flex; align-items:center; gap: 10px; margin-bottom: 10px; }
.pm-bar-row .label { width: 100px; font-size: 12px; color: var(--pm-text-soft); flex-shrink:0; }
.pm-bar-track { flex:1; height: 10px; border-radius: 6px; background: var(--pm-bg); overflow:hidden; }
.pm-bar-fill { height:100%; border-radius:6px; }
.pm-bar-row .count { width: 30px; text-align: left; font-size: 12px; font-weight:700; flex-shrink:0; }
.pm-donut-legend { display:flex; flex-direction:column; gap:8px; margin-top: 14px;}
.pm-donut-legend .item{ display:flex; align-items:center; gap:8px; font-size:12.5px; }
.pm-donut-legend .sw{ width:10px; height:10px; border-radius:3px; }

/* ---------- Users ---------- */
.pm-status-dot { width:8px; height:8px; border-radius:50%; display:inline-block; }
.pm-status-dot.on { background: var(--pm-success); }
.pm-status-dot.off { background: var(--pm-text-muted); }

/* ---------- Loading ---------- */
.pm-spin { width: 22px; height: 22px; border: 3px solid var(--pm-border); border-top-color: var(--pm-primary); border-radius: 50%; animation: pmSpin .7s linear infinite; margin: 40px auto; }
@keyframes pmSpin { to { transform: rotate(360deg); } }
.pm-skel { background: linear-gradient(90deg, var(--pm-border) 25%, #f1f2f8 37%, var(--pm-border) 63%); background-size: 400% 100%; animation: pmSkel 1.4s ease infinite; border-radius: 8px; }
@keyframes pmSkel { 0%{background-position:100% 50%} 100%{background-position:0 50%} }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.pm-kpi-grid { grid-template-columns: repeat(3,1fr); }
	.pm-grid-2 { grid-template-columns: 1fr; }
	.pm-chat-layout{ grid-template-columns: 240px 1fr; }
}
@media (max-width: 820px) {
	.pm-sidebar { position: fixed; right: 0; top:0; bottom:0; transform: translateX(100%); box-shadow: var(--pm-shadow-lg); }
	.pm-sidebar.open { transform: translateX(0); }
	.pm-hamburger { display:inline-flex; }
	.pm-content{ padding: 18px 14px 60px; }
	.pm-kpi-grid { grid-template-columns: repeat(2,1fr); }
	.pm-search{ display:none; }
	.pm-field-row{ grid-template-columns: 1fr; }
	.pm-chat-layout{ grid-template-columns: 1fr; height: calc(100vh - 130px); }
	.pm-chat-list.hide-mobile{ display:none; }
	.pm-cal-grid{ grid-template-columns: repeat(7, minmax(70px,1fr)); overflow-x:auto; }
	.pm-topbar{ padding: 12px 14px; }
	.pm-sidebar-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:39; }
}
@media (max-width: 480px) {
	.pm-kpi-grid { grid-template-columns: 1fr 1fr; }
	.pm-msg{ max-width: 82%; }
}

/* ==========================================================================
   v1.7.0 — Dedicated Login
   ========================================================================== */
html, body.pm-login-body {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100% !important;
	background: #f5f7fb !important;
}
body.pm-login-body { font-family: 'Vazirmatn', Tahoma, sans-serif; }
body.pm-login-body #wpadminbar { display:none !important; }
body.pm-login-body #page,
body.pm-login-body #content,
body.pm-login-body .site,
body.pm-login-body .site-content,
body.pm-login-body .entry-content { margin:0 !important; padding:0 !important; }

.pm-login-page {
	min-height: 100vh;
	min-height: 100dvh;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px 18px;
	background:
		radial-gradient(circle at 15% 15%, rgba(108,92,231,.13), transparent 30%),
		radial-gradient(circle at 85% 80%, rgba(23,195,178,.12), transparent 28%),
		#f6f7fb;
	box-sizing: border-box;
}
.pm-login-bg-shape { position:absolute; border-radius:50%; filter:blur(1px); pointer-events:none; }
.pm-login-shape-1 { width:420px;height:420px;top:-220px;right:-150px;background:rgba(108,92,231,.10); }
.pm-login-shape-2 { width:360px;height:360px;bottom:-210px;left:-130px;background:rgba(23,195,178,.09); }

.pm-login-card {
	width:100%; max-width:440px; position:relative; z-index:2;
	background:rgba(255,255,255,.94);
	border:1px solid rgba(231,233,243,.9);
	border-radius:26px;
	padding:32px;
	box-shadow:0 24px 70px rgba(30,30,80,.12);
	backdrop-filter:blur(16px);
	box-sizing:border-box;
}
.pm-login-brand { display:flex; align-items:center; gap:12px; margin-bottom:30px; }
.pm-login-logo {
	width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
	color:#fff;font-weight:900;font-size:20px;
	background:linear-gradient(135deg,#6c5ce7,#17c3b2);
	box-shadow:0 10px 24px rgba(108,92,231,.25);
}
.pm-login-brand-name { font-size:15px;font-weight:850;color:#1b1d2a; }
.pm-login-brand-sub { color:#8a8fa3;font-size:11.5px;margin-top:2px; }
.pm-login-heading { margin-bottom:24px; }
.pm-login-heading h1 { margin:0 0 7px;font-size:25px;line-height:1.35;color:#1b1d2a;font-weight:900;letter-spacing:-.5px; }
.pm-login-heading p { margin:0;color:#73788d;font-size:13px;line-height:1.9; }

.pm-login-error {
	display:flex;align-items:center;gap:9px;padding:11px 13px;margin-bottom:18px;
	background:#fff0f3;color:#c9284f;border:1px solid #ffd4df;border-radius:12px;font-size:12.5px;
}
.pm-login-error-icon {
	width:20px;height:20px;display:flex;align-items:center;justify-content:center;
	background:#f0466b;color:#fff;border-radius:50%;font-weight:900;font-size:12px;flex-shrink:0;
}
.pm-login-field { display:block;margin-bottom:17px; }
.pm-login-field > span { display:block;margin-bottom:7px;font-size:12.5px;font-weight:750;color:#44485d; }
.pm-login-input-wrap { position:relative; }
.pm-login-input-wrap > svg {
	position:absolute;right:14px;top:50%;transform:translateY(-50%);
	width:19px;height:19px;color:#9aa0b4;pointer-events:none;
}
.pm-login-input-wrap input {
	width:100%;height:50px;border:1px solid #e2e5ef;border-radius:13px;background:#f8f9fc;
	padding:0 45px 0 45px;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:13px;color:#1b1d2a;
	outline:none;box-sizing:border-box;transition:.18s;
}
.pm-login-input-wrap input::placeholder { color:#a3a7b6; }
.pm-login-input-wrap input:focus {
	background:#fff;border-color:#6c5ce7;box-shadow:0 0 0 4px rgba(108,92,231,.10);
}
.pm-password-toggle {
	position:absolute;left:10px;top:50%;transform:translateY(-50%);
	border:0;background:transparent;color:#9aa0b4;padding:7px;cursor:pointer;border-radius:8px;
}
.pm-password-toggle:hover,.pm-password-toggle.is-visible { color:#6c5ce7;background:#efecfd; }
.pm-password-toggle svg { width:18px;height:18px;display:block; }
.pm-login-remember { display:flex;align-items:center;gap:8px;color:#777c90;font-size:12px;margin:2px 0 20px;cursor:pointer; }
.pm-login-remember input { width:16px;height:16px;accent-color:#6c5ce7; }
.pm-login-submit {
	width:100%;height:52px;border:0;border-radius:13px;cursor:pointer;
	display:flex;align-items:center;justify-content:center;gap:9px;
	color:#fff;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:14px;font-weight:800;
	background:linear-gradient(135deg,#6c5ce7,#5a4bd6);
	box-shadow:0 10px 24px rgba(108,92,231,.24);transition:.18s;
}
.pm-login-submit:hover { transform:translateY(-1px);box-shadow:0 13px 28px rgba(108,92,231,.30); }
.pm-login-submit svg { width:18px;height:18px; }
.pm-login-footer {
	display:flex;justify-content:center;gap:7px;align-items:center;margin-top:23px;
	color:#9a9eae;font-size:10.5px;
}
.pm-login-dot { color:#6c5ce7; }

@media (max-width:600px) {
	.pm-login-page { padding:18px 14px; align-items:center; }
	.pm-login-card { padding:25px 20px 21px;border-radius:22px;box-shadow:0 18px 50px rgba(30,30,80,.10); }
	.pm-login-brand { margin-bottom:25px; }
	.pm-login-heading h1 { font-size:22px; }
	.pm-login-input-wrap input { height:52px; }
	.pm-login-submit { height:52px; }
	.pm-login-footer { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
	.pm-login-submit { transition:none; }
}

/* v2.3 Project Workspace */
.pm-project-workspace{margin:-4px}
.pm-project-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 2px 18px;border-bottom:1px solid var(--pm-border)}
.pm-project-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.pm-project-title-wrap h3{margin:0 0 4px;font-size:18px}
.pm-project-title-wrap p{margin:0;color:var(--pm-text-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:540px}
.pm-project-color{width:14px;height:14px;border-radius:5px;flex:0 0 auto}
.pm-project-head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.pm-btn-sm{padding:7px 10px!important;font-size:11px!important}
.pm-project-tabs{display:flex;gap:4px;overflow:auto;padding:10px 0;border-bottom:1px solid var(--pm-border)}
.pm-project-tab{border:0;background:transparent;color:var(--pm-text-muted);padding:8px 11px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:11px;white-space:nowrap}
.pm-project-tab:hover{background:var(--pm-bg)}
.pm-project-tab.active{background:var(--pm-primary-soft);color:var(--pm-primary);font-weight:700}
.pm-project-tab-content{padding-top:16px}
.pm-project-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.pm-project-summary-card{padding:14px;border:1px solid var(--pm-border);border-radius:12px;background:var(--pm-bg)}
.pm-project-summary-card span,.pm-project-summary-card small{display:block;color:var(--pm-text-muted);font-size:10px}
.pm-project-summary-card strong{display:block;font-size:23px;margin:6px 0}
.pm-project-summary-card .pm-progress{margin-top:10px}
.pm-project-section{border:1px solid var(--pm-border);border-radius:12px;background:#fff;padding:15px}
.pm-project-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.pm-project-section-head h4{margin:0;font-size:13px}
.pm-project-section-head small{color:var(--pm-text-muted);font-size:10px}
.pm-link-btn{border:0;background:transparent;color:var(--pm-primary);font-family:inherit;font-size:11px;cursor:pointer}
.pm-project-task-row{display:flex;align-items:center;gap:9px;padding:10px 5px;border-bottom:1px solid var(--pm-border);cursor:pointer}
.pm-project-task-row:last-child{border-bottom:0}
.pm-project-task-row:hover{background:var(--pm-bg);border-radius:8px}
.pm-project-task-dot{width:8px;height:8px;border-radius:50%;background:#b7becb;flex:0 0 auto}
.pm-project-task-dot.pm-badge-done{background:var(--pm-success)}
.pm-project-task-dot.pm-badge-in_progress{background:var(--pm-info)}
.pm-project-task-dot.pm-badge-cancelled{background:var(--pm-danger)}
.pm-project-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pm-project-member{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--pm-border);border-radius:10px}
.pm-project-member strong,.pm-project-member small{display:block}
.pm-project-member strong{font-size:11px}
.pm-project-member small{font-size:9px;color:var(--pm-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.pm-project-file{display:flex;align-items:center;gap:10px;padding:10px 5px;border-bottom:1px solid var(--pm-border);text-decoration:none!important;color:inherit}
.pm-project-file:last-child{border-bottom:0}
.pm-project-file-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--pm-primary-soft);color:var(--pm-primary);flex:0 0 auto}
.pm-project-file-icon svg{width:16px;height:16px}
.pm-project-file strong,.pm-project-file small{display:block}
.pm-project-file strong{font-size:11px}
.pm-project-file small{font-size:9px;color:var(--pm-text-muted);margin-top:2px}
.pm-project-activity{display:flex;gap:9px;padding:10px 5px;border-bottom:1px solid var(--pm-border)}
.pm-project-activity:last-child{border-bottom:0}
.pm-project-activity strong,.pm-project-activity span,.pm-project-activity small{display:block}
.pm-project-activity strong{font-size:11px}
.pm-project-activity span{font-size:11px;color:var(--pm-text-soft);margin-top:2px}
.pm-project-activity small{font-size:9px;color:var(--pm-text-muted);margin-top:3px}
.pm-project-chat-row{display:flex;gap:9px;padding:10px 5px;border-bottom:1px solid var(--pm-border)}
.pm-project-chat-row:last-child{border-bottom:0}
.pm-project-chat-row strong{font-size:11px}
.pm-project-chat-row p{margin:3px 0 0;font-size:11px;color:var(--pm-text-soft);white-space:pre-wrap}
.pm-project-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pm-project-settings-grid>div{padding:12px;border:1px solid var(--pm-border);border-radius:10px}
.pm-project-settings-grid span,.pm-project-settings-grid strong{display:block}
.pm-project-settings-grid span{font-size:9px;color:var(--pm-text-muted)}
.pm-project-settings-grid strong{font-size:11px;margin-top:5px}
.pm-project-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding:14px;border:1px solid #f2d7dc;background:#fff8f9;border-radius:10px}
.pm-project-danger-zone strong,.pm-project-danger-zone small{display:block}
.pm-project-danger-zone strong{font-size:11px}
.pm-project-danger-zone small{font-size:9px;color:var(--pm-text-muted);margin-top:3px}
@media(max-width:760px){
	.pm-project-workspace-head{align-items:flex-start;flex-direction:column}
	.pm-project-title-wrap p{max-width:calc(100vw - 90px)}
	.pm-project-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pm-project-members,.pm-project-settings-grid{grid-template-columns:1fr}
	.pm-project-task-row{flex-wrap:wrap}
	.pm-project-task-row .pm-row-main{flex-basis:calc(100% - 25px)}
}

/* v2.4 Tasks & Activity */
.pm-task-detail-workspace{margin:-4px}
.pm-task-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--pm-border)}
.pm-task-detail-head h3{margin:4px 0;font-size:18px}
.pm-task-detail-head p{margin:0;color:var(--pm-text-muted);font-size:11px;max-width:720px;line-height:1.8}
.pm-task-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);gap:14px;padding-top:14px}
.pm-task-detail-main,.pm-task-detail-side{display:flex;flex-direction:column;gap:14px}
.pm-task-detail-card{border:1px solid var(--pm-border);border-radius:12px;background:#fff;padding:15px}
.pm-task-detail-card h4{margin:0 0 12px;font-size:13px}
.pm-task-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pm-task-meta-grid>div{padding:10px;border-radius:9px;background:var(--pm-bg)}
.pm-task-meta-grid span,.pm-task-meta-grid strong{display:block}
.pm-task-meta-grid span{font-size:9px;color:var(--pm-text-muted)}
.pm-task-meta-grid strong{font-size:11px;margin-top:4px}
.pm-task-activity-list{display:flex;flex-direction:column}
.pm-task-activity-row{display:flex;gap:9px;padding:10px 4px;border-bottom:1px solid var(--pm-border)}
.pm-task-activity-row:last-child{border-bottom:0}
.pm-task-activity-row strong,.pm-task-activity-row span,.pm-task-activity-row small{display:block}
.pm-task-activity-row strong{font-size:11px}
.pm-task-activity-row span{font-size:10px;color:var(--pm-text-soft);margin-top:2px}
.pm-task-activity-row small{font-size:9px;color:var(--pm-text-muted);margin-top:3px}
.pm-task-actions-stack{display:flex;flex-direction:column;gap:8px}
.pm-task-actions-stack .pm-btn{width:100%;justify-content:center}
@media(max-width:800px){
	.pm-task-detail-grid{grid-template-columns:1fr}
	.pm-task-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pm-task-detail-head{flex-direction:column}
}

/* v2.5 Organization */
.pm-org-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px}
.pm-org-department,.pm-org-employee{display:flex;align-items:center;gap:10px;padding:11px 5px;border-bottom:1px solid var(--pm-border)}
.pm-org-employee{width:100%;background:transparent;border-top:0;border-left:0;border-right:0;font-family:inherit;text-align:right;cursor:pointer}
.pm-org-employee:hover{background:var(--pm-bg)}
.pm-org-dept-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--pm-primary-soft);color:var(--pm-primary)}
.pm-org-dept-icon svg{width:16px;height:16px}
.pm-org-department small,.pm-org-employee small{display:block;font-size:9px;color:var(--pm-text-muted);margin-top:3px}
.pm-count-pill{font-size:9px;color:var(--pm-text-muted);background:var(--pm-bg);border-radius:99px;padding:5px 8px;white-space:nowrap}
.pm-org-employee-stats{min-width:42px;text-align:center}.pm-org-employee-stats b,.pm-org-employee-stats small{display:block}
.pm-org-profile-head{display:flex;align-items:center;gap:12px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--pm-border)}
.pm-org-profile-head h3{margin:0 0 3px;font-size:16px}.pm-org-profile-head p{margin:0;color:var(--pm-text-muted);font-size:10px}
@media(max-width:850px){.pm-org-grid{grid-template-columns:1fr}}

/* v2.6 Employee Performance */
.pm-performance-hero{display:flex;align-items:center;gap:12px;padding:4px 0 16px;border-bottom:1px solid var(--pm-border)}
.pm-performance-person{flex:1}.pm-performance-person h3{margin:3px 0;font-size:18px}.pm-performance-person p{margin:0;color:var(--pm-text-muted);font-size:10px}
.pm-performance-score{text-align:center;min-width:100px;padding:10px 12px;border-radius:12px;background:var(--pm-bg)}
.pm-performance-score strong{display:block;font-size:24px;line-height:1.1}.pm-performance-score span{font-size:8px;color:var(--pm-text-muted)}
.pm-performance-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin:14px 0}
.pm-performance-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:14px}
.pm-performance-bar-row{display:grid;grid-template-columns:38px 1fr 38px;gap:8px;align-items:center;padding:8px 0}
.pm-performance-bar-row span,.pm-performance-bar-row b{font-size:9px}.pm-performance-bar-row b{text-align:left}
.pm-performance-bar{height:7px;background:var(--pm-bg);border-radius:99px;overflow:hidden}.pm-performance-bar i{display:block;height:100%;background:var(--pm-primary);border-radius:99px}
.pm-performance-summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--pm-border);font-size:10px}
.pm-performance-summary-row:last-of-type{border-bottom:0}
.pm-performance-note{margin-top:12px;padding:10px;border-radius:9px;background:var(--pm-bg);color:var(--pm-text-muted);font-size:9px;line-height:1.8}
@media(max-width:900px){.pm-performance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-performance-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pm-performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-performance-hero{align-items:flex-start}.pm-performance-score{min-width:80px}}

/* v2.7 Reporting Engine */
.pm-report-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}
.pm-report-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px}
.pm-report-dept{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--pm-border)}
.pm-report-dept:last-child,.pm-report-person:last-child{border-bottom:0}
.pm-report-rate{width:110px}.pm-report-rate b{font-size:10px;display:block;margin-bottom:4px}.pm-report-rate .pm-performance-bar{height:5px}
.pm-report-person{display:flex;align-items:center;gap:9px;width:100%;padding:10px 4px;border:0;border-bottom:1px solid var(--pm-border);background:transparent;text-align:right;font-family:inherit;cursor:pointer}
.pm-report-person:hover{background:var(--pm-bg)}
.pm-rank{width:20px;text-align:center;font-size:9px;color:var(--pm-text-muted)}
.pm-report-score{font-weight:800;font-size:12px;margin-right:auto}
@media(max-width:950px){.pm-report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-report-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pm-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-report-dept{flex-wrap:wrap}.pm-report-rate{width:100%}}

.pm-kpi-engine-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.pm-kpi-person{display:flex;align-items:center;gap:9px;width:100%;padding:11px 4px;border:0;border-bottom:1px solid var(--pm-border);background:transparent;font-family:inherit;text-align:right;cursor:pointer}.pm-kpi-person:hover{background:var(--pm-bg)}.pm-kpi-person>b{margin-right:auto}.pm-kpi-detail-row{display:flex;justify-content:space-between;padding:13px 4px;border-bottom:1px solid var(--pm-border)}.pm-kpi-detail-row small{display:block;color:var(--pm-text-muted);font-size:9px;margin-top:3px}@media(max-width:600px){.pm-kpi-engine-cards{grid-template-columns:1fr}}

/* v2.8.2 KPI UI */
.pm-kpi-engine-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.pm-kpi-engine-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.pm-kpi-definition,.pm-kpi-person{display:flex;align-items:center;gap:9px;width:100%;padding:11px 4px;border:0;border-bottom:1px solid var(--pm-border);background:transparent;font-family:inherit;text-align:right}
.pm-kpi-person{cursor:pointer}.pm-kpi-person:hover{background:var(--pm-bg)}.pm-kpi-person>b{margin-right:auto;font-size:13px}
.pm-kpi-type{font-size:8px;padding:4px 6px;border-radius:99px;background:var(--pm-bg);color:var(--pm-text-muted)}
.pm-kpi-detail-list{margin-top:4px}.pm-kpi-detail-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 4px;border-bottom:1px solid var(--pm-border)}.pm-kpi-detail-row>span:last-child{text-align:left}.pm-kpi-detail-row small{display:block;color:var(--pm-text-muted);font-size:9px;margin-top:3px}.pm-kpi-detail-row b{font-size:11px}
@media(max-width:850px){.pm-kpi-engine-grid{grid-template-columns:1fr}}@media(max-width:600px){.pm-kpi-engine-cards{grid-template-columns:1fr}}
/* v2.8.3 KPI Management FIX */
.pm-kpi-management-row{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--pm-border)}.pm-kpi-management-row .pm-row-main{flex:1}.pm-kpi-status{width:8px;height:8px;border-radius:50%;background:#aaa}.pm-kpi-status.is-active{background:#22a06b}.pm-kpi-direction{font-size:9px;color:var(--pm-text-muted);white-space:nowrap}.pm-kpi-edit,.pm-kpi-delete{font-size:10px;padding:6px 9px}.pm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.pm-form-grid-3{grid-template-columns:repeat(3,1fr)}.pm-form-grid-2{grid-template-columns:1fr 1fr}.pm-kpi-form label{display:block;font-size:11px;color:var(--pm-text-muted)}.pm-kpi-form input,.pm-kpi-form select,.pm-kpi-form textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:9px;border:1px solid var(--pm-border);border-radius:8px;background:var(--pm-card);color:var(--pm-text);font-family:inherit}.pm-kpi-form textarea{min-height:72px}.pm-checkbox-label{display:flex!important;align-items:center;gap:8px;padding-top:24px}.pm-checkbox-label input{width:auto!important}.pm-form-error{margin-top:10px;padding:9px;border-radius:8px;background:rgba(220,70,70,.1);color:#b33;font-size:11px}@media(max-width:700px){.pm-form-grid,.pm-form-grid-3,.pm-form-grid-2{grid-template-columns:1fr}.pm-kpi-direction{display:none}}

/* =========================================================
   v2.8.4 Visual Design System
   SaaS / modern performance-management visual language
   ========================================================= */
:root{
  --pm-v84-bg:#f6f7fb;
  --pm-v84-surface:rgba(255,255,255,.88);
  --pm-v84-surface-solid:#fff;
  --pm-v84-text:#171827;
  --pm-v84-muted:#74778a;
  --pm-v84-border:rgba(27,31,62,.07);
  --pm-v84-primary:#6657e8;
  --pm-v84-primary-2:#8b7cf6;
  --pm-v84-cyan:#22c7d6;
  --pm-v84-green:#28b982;
  --pm-v84-orange:#f4a340;
  --pm-v84-pink:#ee6fa8;
  --pm-v84-shadow:0 18px 50px rgba(35,31,88,.08);
  --pm-v84-shadow-sm:0 8px 24px rgba(35,31,88,.07);
  --pm-v84-radius:18px;
}
body.pm-app-body,.pm-app{
  background:
    radial-gradient(circle at 8% 0%,rgba(102,87,232,.075),transparent 28%),
    radial-gradient(circle at 92% 8%,rgba(34,199,214,.055),transparent 25%),
    var(--pm-v84-bg);
}
.pm-app *{box-sizing:border-box}
.pm-app .pm-card,
.pm-app .pm-kpi-card,
.pm-app .pm-stat-card,
.pm-app .pm-dashboard-card,
.pm-app .pm-panel{
  border:1px solid var(--pm-v84-border)!important;
  border-radius:var(--pm-v84-radius)!important;
  background:var(--pm-v84-surface)!important;
  box-shadow:var(--pm-v84-shadow-sm)!important;
  backdrop-filter:blur(14px);
}
.pm-app .pm-card:hover,
.pm-app .pm-kpi-card:hover,
.pm-app .pm-stat-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--pm-v84-shadow)!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.pm-app .pm-btn{
  border-radius:12px!important;
  font-weight:700!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.pm-app .pm-btn-primary{
  background:linear-gradient(135deg,var(--pm-v84-primary),var(--pm-v84-primary-2))!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(102,87,232,.24)!important;
}
.pm-app .pm-btn-primary:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 14px 30px rgba(102,87,232,.3)!important}
.pm-app input,.pm-app select,.pm-app textarea{
  border-radius:12px!important;
  border-color:var(--pm-v84-border)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:inset 0 1px 1px rgba(20,20,40,.02);
}
.pm-app input:focus,.pm-app select:focus,.pm-app textarea:focus{
  outline:none!important;
  border-color:rgba(102,87,232,.38)!important;
  box-shadow:0 0 0 4px rgba(102,87,232,.09)!important;
}
.pm-app .pm-page-head{
  padding-bottom:20px!important;
}
.pm-app .pm-page-head h2{
  font-size:28px!important;
  letter-spacing:-.5px;
  font-weight:850!important;
}
.pm-app .pm-page-head p{color:var(--pm-v84-muted)!important}
.pm-app .pm-kpi-grid{
  gap:16px!important;
}
.pm-app .pm-kpi-card{
  min-height:118px;
  position:relative;
  overflow:hidden;
  padding:20px!important;
}
.pm-app .pm-kpi-card:before{
  content:"";
  position:absolute;
  width:90px;height:90px;
  border-radius:50%;
  right:-34px;top:-34px;
  background:linear-gradient(135deg,rgba(102,87,232,.18),rgba(139,124,246,.02));
}
.pm-app .pm-kpi-card strong{
  display:block;
  margin-top:9px;
  font-size:27px!important;
  font-weight:850!important;
  color:var(--pm-v84-text)!important;
}
.pm-app .pm-kpi-card:nth-child(2):before{background:linear-gradient(135deg,rgba(34,199,214,.2),transparent)}
.pm-app .pm-kpi-card:nth-child(3):before{background:linear-gradient(135deg,rgba(40,185,130,.2),transparent)}
.pm-app .pm-card-head{
  padding-bottom:14px!important;
}
.pm-app .pm-card-head h3{
  font-weight:800!important;
  letter-spacing:-.2px;
}
.pm-app .pm-kpi-management-row{
  margin:0 -8px;
  padding:14px 10px!important;
  border-bottom:1px solid rgba(27,31,62,.055)!important;
  border-radius:12px;
}
.pm-app .pm-kpi-management-row:hover{
  background:rgba(102,87,232,.035);
}
.pm-app .pm-kpi-status{
  box-shadow:0 0 0 5px rgba(40,185,130,.08);
}
.pm-app .pm-kpi-status.is-off{box-shadow:0 0 0 5px rgba(150,150,160,.07)}
.pm-app .pm-kpi-edit,.pm-app .pm-kpi-delete{
  border-radius:10px!important;
}
.pm-app .pm-modal,
.pm-app .pm-modal-content{
  border-radius:20px!important;
  border:1px solid var(--pm-v84-border)!important;
  box-shadow:0 28px 80px rgba(22,20,58,.18)!important;
}
.pm-app .pm-toast{
  border-radius:14px!important;
  box-shadow:0 16px 38px rgba(22,20,58,.16)!important;
}
.pm-app .pm-sidebar{
  box-shadow:inset -1px 0 rgba(255,255,255,.035);
}
.pm-app .pm-sidebar .active,
.pm-app .pm-sidebar a.active{
  background:linear-gradient(135deg,rgba(102,87,232,.25),rgba(139,124,246,.13))!important;
  box-shadow:inset 0 0 0 1px rgba(139,124,246,.1),0 8px 20px rgba(10,8,40,.12);
  border-radius:13px!important;
}
.pm-app .pm-empty-state{
  padding:34px 20px!important;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(102,87,232,.035),rgba(34,199,214,.025));
}
.pm-app .pm-page{
  animation:pm84PageIn .32s ease both;
}
@keyframes pm84PageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .pm-app .pm-page-head h2{font-size:24px!important}
  .pm-app .pm-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .pm-app .pm-kpi-grid{grid-template-columns:1fr!important}
  .pm-app .pm-card{border-radius:15px!important}
}

/* v2.8.5 UI Unification */
.pm-app .pm-page>section,.pm-app .pm-page>.pm-card,.pm-app .pm-page>.pm-panel,.pm-app .pm-page>.pm-table-wrap{animation:pm85in .3s ease both}
@keyframes pm85in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.pm-app .pm-stat-card,.pm-app .pm-metric-card,.pm-app .pm-summary-card{position:relative;overflow:hidden;border:1px solid var(--pm-v84-border)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,247,255,.9))!important;box-shadow:var(--pm-v84-shadow-sm)!important}
.pm-app .pm-stat-card:after,.pm-app .pm-metric-card:after,.pm-app .pm-summary-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-50px;top:-50px;background:radial-gradient(circle,rgba(102,87,232,.13),transparent 68%);pointer-events:none}
.pm-app table{border-collapse:separate!important;border-spacing:0 5px!important}
.pm-app thead th{border:0!important;color:var(--pm-v84-muted)!important;font-size:11px!important;font-weight:750!important}
.pm-app tbody tr{background:rgba(255,255,255,.72);box-shadow:0 3px 12px rgba(35,31,88,.035);transition:.18s ease}
.pm-app tbody td{border-top:1px solid rgba(27,31,62,.045)!important;border-bottom:1px solid rgba(27,31,62,.045)!important}
.pm-app tbody td:first-child{border-left:1px solid rgba(27,31,62,.045)!important;border-radius:12px 0 0 12px}
.pm-app tbody td:last-child{border-right:1px solid rgba(27,31,62,.045)!important;border-radius:0 12px 12px 0}
.pm-app tbody tr:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(35,31,88,.07)}
.pm-app .pm-badge,.pm-app .pm-status,.pm-app .pm-tag,.pm-app .badge{border-radius:999px!important;font-weight:750!important;padding:5px 9px!important}
.pm-app .pm-progress,.pm-app .progress{overflow:hidden!important;border-radius:999px!important;background:#ececf5!important}
.pm-app .pm-progress-bar,.pm-app .progress-bar{border-radius:999px!important;background:linear-gradient(90deg,var(--pm-v84-primary),var(--pm-v84-cyan))!important}
.pm-app .pm-project-card,.pm-app .pm-task-card{position:relative;overflow:hidden}
.pm-app .pm-project-card:before,.pm-app .pm-task-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pm-v84-primary),var(--pm-v84-cyan));opacity:.8}
.pm-app .pm-project-card:hover,.pm-app .pm-task-card:hover{box-shadow:var(--pm-v84-shadow)!important}
.pm-app .pm-avatar,.pm-app .pm-avatar-sm,.pm-app .avatar{box-shadow:0 5px 15px rgba(35,31,88,.12);border:2px solid rgba(255,255,255,.85)}
.pm-app .pm-toolbar{border-radius:14px!important;background:rgba(255,255,255,.56);border:1px solid var(--pm-v84-border);padding:9px}
.pm-app .pm-hero,.pm-app .pm-dashboard-hero{position:relative;overflow:hidden;border-radius:22px!important;background:radial-gradient(circle at 90% 15%,rgba(34,199,214,.25),transparent 25%),radial-gradient(circle at 10% 90%,rgba(238,111,168,.18),transparent 28%),linear-gradient(135deg,#5e50d9,#7c6df0 55%,#27bdc9)!important;color:#fff!important;box-shadow:0 22px 55px rgba(78,66,190,.22)!important}
.pm-app .pm-hero h1,.pm-app .pm-hero h2,.pm-app .pm-hero p,.pm-app .pm-dashboard-hero h1,.pm-app .pm-dashboard-hero h2,.pm-app .pm-dashboard-hero p{color:#fff!important}
.pm-app .pm-sidebar .pm-nav-item,.pm-app .pm-sidebar a{transition:background .18s ease,transform .18s ease,color .18s ease}
.pm-app .pm-sidebar .pm-nav-item:hover,.pm-app .pm-sidebar a:hover{transform:translateX(-2px)}
@media(max-width:760px){.pm-app .pm-card,.pm-app .pm-panel{border-radius:15px!important}.pm-app .pm-toolbar{padding:7px}}

/* v2.9 Organization / Department Engine */
.pm-org-employee-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border-bottom:1px solid var(--pm-border)}
.pm-org-employee-row:last-child{border-bottom:0}
.pm-dept-member-select{min-width:145px;border:1px solid var(--pm-border);border-radius:10px;background:var(--pm-surface);color:var(--pm-text);padding:8px 10px;font:inherit}
.pm-dept-edit{margin-inline-start:8px;padding:7px 10px;font-size:12px}
.pm-org-department{cursor:pointer}
.pm-org-department .pm-btn{cursor:pointer}
.pm-btn-danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}
.pm-form{display:flex;flex-direction:column;gap:14px}
.pm-form-row{display:flex;flex-direction:column;gap:6px}
.pm-form-row label{font-size:12px;font-weight:700;color:var(--pm-text-muted)}
.pm-form-row input,.pm-form-row textarea,.pm-form-row select{width:100%;box-sizing:border-box;border:1px solid var(--pm-border);border-radius:10px;background:var(--pm-surface);color:var(--pm-text);padding:10px 12px;font:inherit}

/* v2.9.2 — Department Dashboard */
.pm-department-dashboard{display:flex;flex-direction:column;gap:16px}
.pm-dept-dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;border:1px solid var(--pm-border);border-radius:16px;background:linear-gradient(135deg,#fff,rgba(247,248,252,.92))}
.pm-dept-dashboard-hero h2{margin:4px 0 5px;font-size:23px}
.pm-dept-dashboard-hero p{margin:0;color:var(--pm-muted);font-size:11px}
.pm-dept-manager{display:flex;align-items:center;gap:9px;min-width:150px}
.pm-dept-manager span{display:flex;flex-direction:column;gap:2px}
.pm-dept-manager small{color:var(--pm-muted);font-size:9px}.pm-dept-manager strong{font-size:11px}
.pm-dept-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pm-dept-stat{padding:15px;border:1px solid var(--pm-border);border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:3px}
.pm-dept-stat span{font-size:10px;color:var(--pm-muted)}.pm-dept-stat strong{font-size:24px;line-height:1.1}.pm-dept-stat small{font-size:9px;color:var(--pm-muted)}
.pm-dept-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pm-dept-panel{padding:16px}
.pm-dept-kpi-row,.pm-dept-member-row,.pm-dept-project-row,.pm-dept-task-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f0f2f6}
.pm-dept-kpi-row:last-child,.pm-dept-member-row:last-child,.pm-dept-project-row:last-child,.pm-dept-task-row:last-child{border-bottom:0}
.pm-dept-kpi-row>b,.pm-dept-member-row>b,.pm-dept-project-row>b{font-size:12px;white-space:nowrap}
.pm-dept-progress{height:5px;background:#edf0f5;border-radius:9px;overflow:hidden;margin-top:7px}
.pm-dept-progress i{display:block;height:100%;background:currentColor;border-radius:9px}
.pm-dept-score{display:flex;flex-direction:column;text-align:center;font-weight:800;font-size:12px;white-space:nowrap}.pm-dept-score small{font-size:8px;color:var(--pm-muted);font-weight:400}
.pm-dept-project-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--pm-primary-soft);color:var(--pm-primary);flex:0 0 auto}
.pm-dept-task-dot{width:9px;height:9px;border-radius:50%;background:#cbd1dc;flex:0 0 auto}.pm-dept-task-dot.in_progress{background:var(--pm-primary)}.pm-dept-task-dot.done{background:#4caf78}
.pm-dept-risk{font-size:9px;color:#b42318;white-space:nowrap}
@media(max-width:850px){.pm-dept-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-dept-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pm-dept-dashboard-hero{align-items:flex-start;flex-direction:column}.pm-dept-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.0 — OKR Engine */
.pm-okr-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.pm-okr-tabs button{border:1px solid var(--pm-border);background:var(--pm-card);color:var(--pm-text-soft);border-radius:10px;padding:8px 15px;cursor:pointer;font-family:inherit}.pm-okr-tabs button.is-active{background:var(--pm-primary);color:#fff;border-color:var(--pm-primary)}
.pm-okr-card{background:var(--pm-card);border:1px solid var(--pm-border);border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 4px 18px rgba(30,30,60,.04)}.pm-okr-card-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pm-okr-badges{display:flex;gap:7px;margin-bottom:8px}.pm-okr-card h3{margin:0 0 6px;font-size:17px}.pm-okr-card p{margin:0;color:var(--pm-text-muted);font-size:12.5px}.pm-okr-progress{min-width:70px;text-align:center}.pm-okr-progress strong{display:block;font-size:22px;color:var(--pm-primary)}.pm-okr-progress small{color:var(--pm-text-muted)}.pm-okr-card .pm-progress{margin:14px 0}.pm-okr-krs{border-top:1px solid var(--pm-border);margin-top:15px;padding-top:8px}.pm-okr-kr{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--pm-border)}.pm-okr-kr:last-child{border-bottom:0}.pm-okr-kr-main{flex:1;min-width:0}.pm-okr-kr-main strong{display:block}.pm-okr-kr-main small{display:block;color:var(--pm-text-muted);margin-top:4px}.pm-okr-kr>b{min-width:48px;text-align:center}.pm-okr-actions{display:flex;gap:7px;justify-content:flex-start;margin-top:13px}.pm-okr-form label{display:block;margin-bottom:12px}.pm-okr-form input,.pm-okr-form textarea,.pm-okr-form select{width:100%;box-sizing:border-box}.pm-okr-kr-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.pm-okr-kr-form{display:grid;grid-template-columns:2fr 1.3fr .7fr .8fr .8fr .8fr .7fr 1fr 1fr auto;gap:7px;padding:10px;background:var(--pm-bg);border:1px solid var(--pm-border);border-radius:10px;margin-bottom:8px}.pm-okr-kr-form input,.pm-okr-kr-form select{min-width:0}.pm-okr-alignment{padding:10px 4px}.pm-okr-align-node{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--pm-border);border-radius:12px}.pm-okr-align-node>span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--pm-primary);color:#fff}.pm-okr-align-node strong{display:block}.pm-okr-align-node small{display:block;color:var(--pm-text-muted);margin-top:4px}.pm-okr-align-line{text-align:center;color:var(--pm-text-muted);padding:5px}.pm-okr-card .pm-progress-bar{height:7px}
@media(max-width:1100px){.pm-okr-kr-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.pm-okr-card-top{flex-direction:column}.pm-okr-kr{flex-wrap:wrap}.pm-okr-kr>b{margin-right:auto}.pm-okr-actions{flex-wrap:wrap}}


/* v3.1 — Recurring daily tasks */
.pm-recurring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.pm-recurring-card{border:1px solid var(--pm-border,#e7e9f0);border-radius:16px;padding:18px;background:var(--pm-card,#fff)}.pm-recurring-card-head,.pm-recurring-card-foot,.pm-recurring-meta,.pm-recurring-instance,.pm-recurring-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pm-recurring-card-head h3{margin:4px 0 0}.pm-recurring-card p{color:var(--pm-text-muted);min-height:24px}.pm-recurring-meta{flex-wrap:wrap;color:var(--pm-text-muted);font-size:12px;padding:12px 0;border-top:1px solid var(--pm-border,#e7e9f0);border-bottom:1px solid var(--pm-border,#e7e9f0)}.pm-recurring-card-foot{margin-top:12px;font-size:12px;color:var(--pm-text-muted)}.pm-recurring-card-foot>div{display:flex;gap:6px}.pm-recurring-today-list,.pm-recurring-history{display:flex;flex-direction:column}.pm-recurring-instance,.pm-recurring-history-row{padding:13px 4px;border-bottom:1px solid var(--pm-border,#e7e9f0)}.pm-recurring-instance:last-child,.pm-recurring-history-row:last-child{border-bottom:0}.pm-recurring-instance.is-today{background:rgba(73,102,255,.035);padding-left:10px;padding-right:10px;border-radius:10px}.pm-recurring-instance strong,.pm-recurring-history-row strong{display:block}.pm-recurring-instance small,.pm-recurring-history-row small{display:block;color:var(--pm-text-muted);margin-top:4px}.pm-recurring-performance-form{display:grid;grid-template-columns:1fr 160px;gap:16px;align-items:center;margin-top:14px}.pm-recurring-performance-form label:first-child{display:flex;align-items:center;gap:8px}.pm-recurring-performance-form input[type=checkbox]{width:18px;height:18px}.pm-form-error{margin-top:12px;color:#b42318;background:#fff1f0;border-radius:10px;padding:10px}.pm-badge-urgent{background:#fff1f0;color:#b42318}.pm-badge-done{background:#eaf8ef;color:#18794e}.pm-badge-todo{background:#f3f5f8;color:#68707d}.pm-badge-in_progress{background:#eef2ff;color:#4055b5}@media(max-width:700px){.pm-recurring-performance-form{grid-template-columns:1fr}.pm-recurring-card-foot{align-items:flex-start;flex-direction:column}}


/* v3.2 — Performance Dashboard */
.pm-performance-dashboard-page .pm-performance-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pm-performance-dashboard-stats .pm-kpi-card small{display:block;margin-top:5px;color:var(--pm-text-muted)}
.pm-performance-dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px}
.pm-performance-dashboard-trend{min-height:220px;display:flex;align-items:flex-end}
.pm-performance-trend-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;width:100%;height:210px;padding:15px 5px 5px}
.pm-performance-trend-item{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
.pm-performance-trend-item b{font-size:12px}.pm-performance-trend-item small{color:var(--pm-text-muted);font-size:11px}
.pm-performance-trend-bar{height:150px;width:100%;max-width:34px;display:flex;align-items:flex-end;background:var(--pm-surface-soft,#f3f4f6);border-radius:8px;overflow:hidden}
.pm-performance-trend-bar i{display:block;width:100%;background:var(--pm-primary);border-radius:8px 8px 0 0}
.pm-performance-person-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--pm-border,#eee);cursor:pointer}
.pm-performance-person-row:last-child{border-bottom:0}.pm-performance-person-main{min-width:0}.pm-performance-person-main strong,.pm-performance-person-main small{display:block}.pm-performance-person-main small{color:var(--pm-text-muted);margin-top:3px}.pm-performance-person-components{display:flex;gap:8px;flex-wrap:wrap;color:var(--pm-text-muted);font-size:11px}.pm-performance-person-score{font-weight:800;font-size:17px;min-width:58px;text-align:left}
.pm-performance-dept-row{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--pm-border,#eee)}
.pm-performance-dept-row:last-child{border-bottom:0}.pm-performance-dept-row strong,.pm-performance-dept-row small{display:block}.pm-performance-dept-row small{color:var(--pm-text-muted);margin-top:3px}.pm-performance-dept-score{display:flex;align-items:center;gap:10px}.pm-performance-dept-score b{min-width:55px}.pm-performance-mini-bar{height:7px;flex:1;background:var(--pm-surface-soft,#f3f4f6);border-radius:99px;overflow:hidden}.pm-performance-mini-bar i{display:block;height:100%;background:var(--pm-primary);border-radius:99px}
@media(max-width:900px){.pm-performance-dashboard-grid{grid-template-columns:1fr}.pm-performance-person-components{display:none}}

.pm-api-loading{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:99999;pointer-events:none;opacity:0;transition:opacity .2s}.pm-api-loading.is-active{opacity:1}.pm-api-loading span{display:block;width:35%;height:100%;background:var(--pm-primary,#6c5ce7);animation:pm-api-progress 1.1s ease-in-out infinite}@keyframes pm-api-progress{0%{transform:translateX(280%)}100%{transform:translateX(-120%)}}

/* =========================================================
   Ravand 2.3 — Neumorphic UI + Mobile Organization Fix
   ========================================================= */
#pm-app,.pm-app-root,.pm-app{
  --pm-neu-bg:#eef1f6;
  --pm-neu-light:#ffffff;
  --pm-neu-dark:#c9ced8;
  --pm-neu-shadow:9px 9px 20px rgba(163,169,181,.42),-8px -8px 18px rgba(255,255,255,.9);
  --pm-neu-shadow-sm:5px 5px 12px rgba(163,169,181,.34),-5px -5px 12px rgba(255,255,255,.82);
  --pm-neu-shadow-inset:inset 3px 3px 7px rgba(163,169,181,.28),inset -3px -3px 7px rgba(255,255,255,.9);
}

body.pm-app-body,.pm-app,.pm-shell,.pm-main,.pm-content{
  background:var(--pm-neu-bg)!important;
}

/* Core surfaces: replace the previous glass-heavy treatment with a restrained neumorphic system. */
.pm-app .pm-card,
.pm-app .pm-kpi-card,
.pm-app .pm-stat-card,
.pm-app .pm-metric-card,
.pm-app .pm-summary-card,
.pm-app .pm-dashboard-card,
.pm-app .pm-panel,
.pm-app .pm-table-wrap,
.pm-app .pm-page>section,
.pm-app .pm-page>.pm-card,
.pm-app .pm-page>.pm-panel{
  background:var(--pm-neu-bg)!important;
  border:0!important;
  box-shadow:var(--pm-neu-shadow)!important;
  border-radius:20px!important;
  backdrop-filter:none!important;
}

.pm-app .pm-card,
.pm-app .pm-kpi-card,
.pm-app .pm-stat-card,
.pm-app .pm-metric-card,
.pm-app .pm-summary-card,
.pm-app .pm-dashboard-card,
.pm-app .pm-panel{
  padding:18px;
}

.pm-app .pm-card:hover,
.pm-app .pm-kpi-card:hover,
.pm-app .pm-stat-card:hover,
.pm-app .pm-metric-card:hover,
.pm-app .pm-summary-card:hover{
  transform:translateY(-1px);
  box-shadow:var(--pm-neu-shadow)!important;
}

/* Elements that previously floated directly on the page now receive a clear surface. */
.pm-app .pm-page>.pm-grid-2,
.pm-app .pm-page>.pm-org-grid,
.pm-app .pm-page>.pm-performance-grid,
.pm-app .pm-page>.pm-report-grid,
.pm-app .pm-page>.pm-dept-grid,
.pm-app .pm-page>.pm-kpi-engine-grid{
  background:var(--pm-neu-bg);
}

.pm-app .pm-org-grid>section,
.pm-app .pm-report-grid>section,
.pm-app .pm-performance-grid>section,
.pm-app .pm-dept-grid>section{
  background:var(--pm-neu-bg)!important;
  border:0!important;
  border-radius:20px!important;
  box-shadow:var(--pm-neu-shadow)!important;
  padding:18px;
}

/* Typography and spacing inside surfaces. */
.pm-app .pm-card-head{margin-bottom:14px!important;min-height:34px}
.pm-app .pm-card-head h3{line-height:1.8!important}
.pm-app .pm-row-main{min-width:0}
.pm-app .pm-row-main strong{display:block;line-height:1.9!important}
.pm-app .pm-row-main small{display:block;line-height:1.8!important;margin-top:5px!important}
.pm-app .pm-card p,
.pm-app .pm-page-head p{line-height:1.95!important}

/* Inputs and controls: tactile inset neumorphism. */
.pm-app input,.pm-app select,.pm-app textarea{
  background:var(--pm-neu-bg)!important;
  border:0!important;
  box-shadow:var(--pm-neu-shadow-inset)!important;
  min-height:42px;
}
.pm-app textarea{min-height:90px}
.pm-app input:focus,.pm-app select:focus,.pm-app textarea:focus{
  border:0!important;
  box-shadow:inset 2px 2px 5px rgba(163,169,181,.24),inset -2px -2px 5px rgba(255,255,255,.86),0 0 0 3px rgba(102,87,232,.08)!important;
}
.pm-app .pm-btn-ghost,.pm-app .pm-btn-soft{
  background:var(--pm-neu-bg)!important;
  color:var(--pm-text)!important;
  border:0!important;
  box-shadow:var(--pm-neu-shadow-sm)!important;
}
.pm-app .pm-btn-ghost:active,.pm-app .pm-btn-soft:active{box-shadow:var(--pm-neu-shadow-inset)!important;transform:translateY(1px)}
.pm-app .pm-btn-primary{box-shadow:6px 6px 14px rgba(163,169,181,.38),-4px -4px 10px rgba(255,255,255,.65),0 8px 20px rgba(102,87,232,.18)!important}

/* Organization — desktop */
.pm-app .pm-organization-kpis{gap:18px;margin-bottom:24px}
.pm-app .pm-organization-kpis .pm-kpi-card{padding:20px!important;min-height:105px;display:flex;flex-direction:column;justify-content:center}
.pm-app .pm-organization-kpis .pm-kpi-card strong{margin-top:5px;line-height:1.2}
.pm-app .pm-org-grid{gap:20px!important}
.pm-app .pm-org-grid>section{min-width:0}
.pm-app .pm-org-department,
.pm-app .pm-org-employee-row{
  background:var(--pm-neu-bg)!important;
  border:0!important;
  border-radius:14px!important;
  margin-bottom:10px;
  padding:13px!important;
  box-shadow:var(--pm-neu-shadow-sm)!important;
}
.pm-app .pm-org-department:last-child,
.pm-app .pm-org-employee-row:last-child{margin-bottom:0}
.pm-app .pm-org-department:hover,
.pm-app .pm-org-employee-row:hover{transform:translateY(-1px);box-shadow:var(--pm-neu-shadow)!important}
.pm-app .pm-org-dept-icon{flex:0 0 38px;width:38px;height:38px;border-radius:12px;box-shadow:var(--pm-neu-shadow-sm)!important;background:var(--pm-neu-bg)!important}
.pm-app .pm-dept-member-select{min-width:145px!important;box-shadow:var(--pm-neu-shadow-inset)!important}
.pm-app .pm-org-employee-stats{padding:6px 9px;border-radius:11px;box-shadow:var(--pm-neu-shadow-inset);min-width:48px}

/* Mobile organization: eliminate horizontal compression/overflow. */
@media(max-width:850px){
  .pm-app .pm-org-grid{grid-template-columns:1fr!important;gap:18px!important}
  .pm-app .pm-org-grid>section{padding:15px!important}
}
@media(max-width:600px){
  .pm-app .pm-content{padding:18px 14px 45px!important}
  .pm-app .pm-page-head{gap:12px;align-items:flex-start;flex-direction:column}
  .pm-app .pm-page-head h2{font-size:21px!important}
  .pm-app .pm-page-head .pm-btn{width:100%;justify-content:center}
  .pm-app .pm-organization-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .pm-app .pm-organization-kpis .pm-kpi-card{min-height:88px;padding:15px!important}
  .pm-app .pm-org-department{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px!important}
  .pm-app .pm-org-department .pm-count-pill{grid-column:2/-1;justify-self:start}
  .pm-app .pm-org-department .pm-dept-edit{grid-column:2/-1;justify-self:stretch;margin:0!important}
  .pm-app .pm-org-employee-row{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px!important;align-items:center}
  .pm-app .pm-org-employee-row .pm-row-main{min-width:0}
  .pm-app .pm-org-employee-row .pm-row-main strong{white-space:normal;overflow-wrap:anywhere}
  .pm-app .pm-org-employee-row .pm-row-main small{white-space:normal;overflow-wrap:anywhere}
  .pm-app .pm-org-employee-stats{min-width:0;width:100%;text-align:center}
  .pm-app .pm-org-employee-row .pm-org-employee-stats{grid-row:2;}
  .pm-app .pm-org-employee-row .pm-dept-member-select,
  .pm-app .pm-org-employee-row .pm-count-pill{grid-column:1/-1;width:100%;min-width:0!important}
  .pm-app .pm-org-employee-stats+ .pm-org-employee-stats{margin-top:0}
  .pm-app .pm-org-profile-head{align-items:flex-start;padding:4px 0 16px}
}

/* Generic mobile card rhythm: give content breathing room instead of tight text blocks. */
@media(max-width:600px){
  .pm-app .pm-card,.pm-app .pm-panel,.pm-app .pm-org-grid>section,.pm-app .pm-page>section{padding:15px!important}
  .pm-app .pm-card-head{padding-bottom:3px!important;margin-bottom:10px!important}
  .pm-app .pm-card-head h3{font-size:14px!important}
  .pm-app .pm-btn{min-height:40px}
  .pm-app .pm-badge,.pm-app .pm-count-pill{line-height:1.7!important}
}


/* =========================================================
   Ravand 2.4 — Product UI System
   Neumorphic / Spacious / RTL / Mobile-first
   Reference: Ravand product visual language
   ========================================================= */
#pm-app,.pm-app-root,.pm-app{
  --rv-bg:#eef1f7;
  --rv-surface:#f7f8fc;
  --rv-white:#ffffff;
  --rv-text:#202235;
  --rv-muted:#858ba0;
  --rv-line:rgba(53,58,86,.065);
  --rv-primary:#725eea;
  --rv-primary-2:#8b79f4;
  --rv-primary-soft:#eeeaff;
  --rv-cyan:#2fc6d0;
  --rv-success:#3ab77a;
  --rv-danger:#df5870;
  --rv-shadow:10px 12px 28px rgba(150,156,172,.24),-9px -9px 22px rgba(255,255,255,.95);
  --rv-shadow-sm:6px 7px 16px rgba(150,156,172,.22),-6px -6px 15px rgba(255,255,255,.94);
  --rv-inset:inset 3px 3px 8px rgba(154,160,176,.20),inset -3px -3px 8px rgba(255,255,255,.96);
  --rv-radius:22px;
  --rv-radius-sm:14px;
  color:var(--rv-text);
}

/* App canvas */
body.pm-app-body,#pm-app,.pm-app,.pm-shell,.pm-main,.pm-content{
  background:var(--rv-bg)!important;
}
.pm-shell{direction:rtl!important;min-height:100vh;}
.pm-main{direction:rtl;order:1;text-align:right;}
.pm-content{padding:30px 34px 70px!important;max-width:1480px!important;}

/* Sidebar: light, premium, right aligned */
.pm-app .pm-sidebar{
  order:0;
  width:274px!important;
  flex:0 0 274px!important;
  background:var(--rv-bg)!important;
  color:var(--rv-text)!important;
  border:0!important;
  box-shadow:-12px 0 30px rgba(135,141,158,.10)!important;
  padding:22px 18px 18px!important;
  position:sticky;
  top:0;
  height:100vh;
}
.pm-app .pm-sidebar-brand{
  color:var(--rv-text)!important;
  padding:6px 8px 26px!important;
  font-size:17px!important;
  gap:11px!important;
}
.pm-app .pm-sidebar-brand .pm-logo-dot{
  width:42px!important;height:42px!important;border-radius:13px!important;
  background:linear-gradient(135deg,var(--rv-primary),var(--rv-cyan))!important;
  box-shadow:7px 8px 16px rgba(115,94,234,.20),-4px -4px 10px rgba(255,255,255,.9)!important;
}
.pm-app .pm-nav{padding:0 2px!important;gap:6px!important;}
.pm-app .pm-nav-item{
  min-height:48px!important;
  padding:0 15px!important;
  border-radius:14px!important;
  color:#73798e!important;
  font-size:13px!important;
  font-weight:650!important;
  gap:12px!important;
  transition:all .18s ease!important;
}
.pm-app .pm-nav-item>span:first-child{color:currentColor;}
.pm-app .pm-nav-item:hover{
  color:var(--rv-primary)!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:var(--rv-shadow-sm)!important;
  transform:none!important;
}
.pm-app .pm-nav-item.active{
  color:#fff!important;
  background:linear-gradient(135deg,#705ce9,#8b78f2)!important;
  box-shadow:7px 9px 18px rgba(109,91,224,.24),-4px -4px 9px rgba(255,255,255,.55)!important;
}
.pm-app .pm-nav-item.active::before{display:none!important;}
.pm-app .pm-nav-badge{background:var(--rv-danger)!important;}
.pm-app .pm-sidebar-footer{
  padding:14px 0 0!important;
  border-top:0!important;
}
.pm-app .pm-user-chip{
  background:rgba(255,255,255,.52)!important;
  border-radius:18px!important;
  padding:11px!important;
  color:var(--rv-text)!important;
  box-shadow:var(--rv-shadow-sm)!important;
}
.pm-app .pm-user-chip:hover{background:rgba(255,255,255,.7)!important;}
.pm-app .pm-user-chip .name{color:var(--rv-text)!important;font-size:12px!important;}
.pm-app .pm-user-chip .role{color:var(--rv-muted)!important;}
.pm-app .pm-user-chip img,.pm-app .pm-user-chip .pm-avatar{
  width:38px!important;height:38px!important;border-radius:12px!important;
  box-shadow:3px 4px 9px rgba(130,135,150,.18),-3px -3px 7px #fff!important;
}

/* RTL navigation + profile refinement */
.pm-app .pm-shell{
  direction:rtl!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  width:100%!important;
  min-height:100vh!important;
}
.pm-app .pm-sidebar{
  order:0!important;
  margin-right:0!important;
  margin-left:0!important;
  text-align:right!important;
}
.pm-app .pm-sidebar-brand{
  justify-content:flex-start!important;
  text-align:right!important;
}
.pm-app .pm-sidebar-brand>span:last-child{
  flex:1!important;
  text-align:right!important;
}
.pm-app .pm-nav-item{
  justify-content:flex-start!important;
  flex-direction:row!important;
  text-align:right!important;
}
.pm-app .pm-nav-item>span:last-child{
  flex:1!important;
  text-align:right!important;
}
.pm-app .pm-sidebar-footer{
  text-align:right!important;
}
.pm-app .pm-user-chip{
  width:100%!important;
  min-height:76px!important;
  padding:13px 14px!important;
  border-radius:20px!important;
  gap:13px!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
  cursor:pointer!important;
}
.pm-app .pm-user-chip img,.pm-app .pm-user-chip .pm-avatar{
  width:50px!important;height:50px!important;min-width:50px!important;
  border-radius:15px!important;
}
.pm-app .pm-user-chip>div{
  min-width:0!important;
  flex:1!important;
  text-align:right!important;
}
.pm-app .pm-user-chip .name{
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.8!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pm-app .pm-user-chip .role{
  font-size:11px!important;
  line-height:1.8!important;
}
.pm-app .pm-sidebar-logout{
  width:100%!important;
  min-height:52px!important;
  margin-top:12px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:linear-gradient(135deg,#fff,#f3f1ff)!important;
  color:#705ce9!important;
  box-shadow:var(--rv-shadow-sm)!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.pm-app .pm-sidebar-logout svg{width:20px!important;height:20px!important;flex:0 0 20px!important;}
.pm-app .pm-sidebar-logout:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--rv-shadow)!important;
}
.pm-app .pm-sidebar-logout:active{transform:translateY(0)!important;box-shadow:var(--rv-inset)!important;}

/* Topbar */
.pm-app .pm-topbar{
  min-height:82px!important;height:auto!important;
  padding:16px 34px!important;
  background:rgba(238,241,247,.84)!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px)!important;
}
.pm-app .pm-topbar h1{font-size:21px!important;font-weight:850!important;color:var(--rv-text)!important;}
.pm-app .pm-search{
  min-width:270px!important;
  background:var(--rv-bg)!important;
  border:0!important;
  border-radius:16px!important;
  box-shadow:var(--rv-inset)!important;
  padding:10px 15px!important;
}
.pm-app .pm-search input{color:var(--rv-text)!important;}
.pm-app .pm-hamburger{color:var(--rv-text)!important;}

/* Page header */
.pm-app .pm-page-head{
  padding:0 4px 24px!important;
  margin-bottom:0!important;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
}
.pm-app .pm-page-head h2{
  margin:0 0 5px!important;
  font-size:31px!important;
  line-height:1.45!important;
  font-weight:900!important;
  letter-spacing:-.8px!important;
  color:var(--rv-text)!important;
}
.pm-app .pm-page-head p{margin:0!important;color:var(--rv-muted)!important;font-size:12.5px!important;line-height:2!important;}

/* Filters / toolbars become tactile surfaces */
.pm-app .pm-filters-bar,.pm-app .pm-performance-filters,.pm-app .pm-toolbar{
  background:var(--rv-surface)!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:var(--rv-shadow-sm)!important;
  padding:12px!important;
  margin-bottom:20px!important;
}
.pm-app .pm-filters-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}

/* Universal surfaces */
.pm-app .pm-card,
.pm-app .pm-kpi-card,
.pm-app .pm-stat-card,
.pm-app .pm-metric-card,
.pm-app .pm-summary-card,
.pm-app .pm-panel,
.pm-app .pm-dashboard-card,
.pm-app .pm-table-wrap,
.pm-app .pm-page>section,
.pm-app .pm-page>.pm-card,
.pm-app .pm-page>.pm-panel,
.pm-app .pm-page>.pm-grid-2>*,
.pm-app .pm-page>.pm-org-grid>*,
.pm-app .pm-page>.pm-performance-grid>*,
.pm-app .pm-page>.pm-report-grid>*,
.pm-app .pm-page>.pm-dept-grid>*{
  background:var(--rv-surface)!important;
  border:0!important;
  border-radius:var(--rv-radius)!important;
  box-shadow:var(--rv-shadow)!important;
  backdrop-filter:none!important;
}
.pm-app .pm-card,.pm-app .pm-panel{padding:24px!important;}
.pm-app .pm-card:hover,.pm-app .pm-kpi-card:hover,.pm-app .pm-stat-card:hover{transform:none!important;box-shadow:var(--rv-shadow)!important;}

/* Explicit white inner surfaces — fixes previously floating/unstyled sections */
.pm-app .pm-card .pm-card,
.pm-app .pm-card .pm-panel,
.pm-app .pm-panel .pm-card,
.pm-app .pm-page .pm-empty-state,
.pm-app .pm-page .pm-report-person,
.pm-app .pm-page .pm-kpi-person{
  background:var(--rv-white)!important;
  border-radius:16px!important;
}
.pm-app .pm-page .pm-empty-state{box-shadow:var(--rv-shadow-sm)!important;}

/* KPI cards inspired by the reference */
.pm-app .pm-kpi-grid{gap:18px!important;margin-bottom:24px!important;}
.pm-app .pm-kpi-card{
  min-height:126px!important;
  padding:22px!important;
  overflow:hidden!important;
  position:relative!important;
}
.pm-app .pm-kpi-card:before{display:none!important;}
.pm-app .pm-kpi-card:after{
  content:"";position:absolute;width:72px;height:72px;border-radius:20px;
  right:20px;top:50%;transform:translateY(-50%);
  background:var(--rv-surface);box-shadow:var(--rv-shadow-sm);
  opacity:.95;pointer-events:none;
}
.pm-app .pm-kpi-card span,.pm-app .pm-kpi-card strong,.pm-app .pm-kpi-card small{position:relative;z-index:1;}
.pm-app .pm-kpi-card span{font-size:11px!important;color:var(--rv-muted)!important;display:block!important;}
.pm-app .pm-kpi-card strong{font-size:28px!important;line-height:1.25!important;margin-top:10px!important;color:var(--rv-text)!important;}
.pm-app .pm-kpi-card small{font-size:10px!important;color:var(--rv-muted)!important;margin-top:4px!important;display:block!important;}

/* Performance dashboard: match the reference composition */
.pm-app .pm-performance-dashboard-page .pm-performance-filters{margin-bottom:22px!important;}
.pm-app .pm-performance-dashboard-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
.pm-app .pm-performance-dashboard-stats .pm-kpi-card:last-child{grid-column:span 1;}
.pm-app .pm-performance-dashboard-grid{gap:20px!important;margin-top:20px!important;}
.pm-app .pm-performance-dashboard-grid>.pm-card{min-height:300px!important;}
.pm-app .pm-performance-trend-bars{height:230px!important;padding:18px 8px 8px!important;gap:18px!important;}
.pm-app .pm-performance-trend-bar{max-width:36px!important;width:36px!important;height:160px!important;background:#e8ebf2!important;box-shadow:var(--rv-inset)!important;border-radius:11px!important;}
.pm-app .pm-performance-trend-bar i{background:linear-gradient(180deg,var(--rv-primary-2),var(--rv-primary))!important;border-radius:11px!important;}
.pm-app .pm-performance-person-row{padding:15px 8px!important;border-bottom:1px solid var(--rv-line)!important;gap:13px!important;}
.pm-app .pm-performance-person-score{font-size:18px!important;color:var(--rv-primary)!important;}
.pm-app .pm-performance-person-row:hover{background:var(--rv-white)!important;border-radius:14px!important;box-shadow:var(--rv-shadow-sm)!important;}

/* Organization: cards, spacing, no cramped rows */
.pm-app .pm-organization-kpis{gap:18px!important;margin-bottom:26px!important;}
.pm-app .pm-organization-kpis .pm-kpi-card{padding:22px!important;min-height:116px!important;}
.pm-app .pm-org-grid{gap:22px!important;}
.pm-app .pm-org-grid>section{padding:24px!important;min-width:0!important;}
.pm-app .pm-org-department,
.pm-app .pm-org-employee-row{
  background:var(--rv-white)!important;
  border:0!important;
  border-radius:16px!important;
  margin-bottom:12px!important;
  padding:15px!important;
  box-shadow:var(--rv-shadow-sm)!important;
}
.pm-app .pm-org-department:hover,.pm-app .pm-org-employee-row:hover{transform:none!important;box-shadow:var(--rv-shadow)!important;}
.pm-app .pm-org-employee-row .pm-row-main strong{font-size:13px!important;line-height:1.8!important;}
.pm-app .pm-org-employee-row .pm-row-main small{font-size:11px!important;line-height:1.9!important;color:var(--rv-muted)!important;margin-top:4px!important;}
.pm-app .pm-org-employee-stats{background:var(--rv-surface)!important;box-shadow:var(--rv-inset)!important;border-radius:12px!important;padding:7px 10px!important;}
.pm-app .pm-dept-member-select{background:var(--rv-surface)!important;}

/* Generic lists / rows */
.pm-app .pm-project-row,.pm-app .pm-task-row,.pm-app .pm-kpi-management-row,.pm-app .pm-kpi-definition,.pm-app .pm-kpi-person{
  padding:15px 10px!important;
  border-bottom:1px solid var(--rv-line)!important;
}
.pm-app .pm-row-main strong{line-height:1.9!important;}
.pm-app .pm-row-main small{line-height:1.9!important;margin-top:5px!important;}

/* Buttons: soft tactile controls */
.pm-app .pm-btn{min-height:42px!important;border-radius:14px!important;padding:9px 17px!important;font-weight:750!important;}
.pm-app .pm-btn-primary{
  background:linear-gradient(135deg,var(--rv-primary),var(--rv-primary-2))!important;
  box-shadow:7px 8px 16px rgba(112,91,224,.22),-4px -4px 9px rgba(255,255,255,.6)!important;
}
.pm-app .pm-btn-ghost,.pm-app .pm-btn-soft{
  background:var(--rv-surface)!important;color:var(--rv-text)!important;
  border:0!important;box-shadow:var(--rv-shadow-sm)!important;
}
.pm-app .pm-btn-ghost:hover,.pm-app .pm-btn-soft:hover{color:var(--rv-primary)!important;}
.pm-app .pm-btn-danger{background:#f8e9ed!important;color:#c44962!important;box-shadow:var(--rv-shadow-sm)!important;}

/* Inputs */
.pm-app input,.pm-app select,.pm-app textarea,.pm-app .pm-select,.pm-app .pm-input{
  background:var(--rv-surface)!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:var(--rv-inset)!important;
  color:var(--rv-text)!important;
  min-height:44px!important;
  padding:10px 14px!important;
}
.pm-app textarea{min-height:100px!important;}
.pm-app input:focus,.pm-app select:focus,.pm-app textarea:focus{box-shadow:var(--rv-inset),0 0 0 3px rgba(114,94,234,.10)!important;}

/* Modals */
.pm-app .pm-modal,.pm-app .pm-modal-content{
  background:var(--rv-surface)!important;border:0!important;border-radius:24px!important;
  box-shadow:16px 18px 45px rgba(112,118,138,.26),-10px -10px 28px rgba(255,255,255,.92)!important;
}
.pm-app .pm-modal-head,.pm-app .pm-modal-foot{border-color:var(--rv-line)!important;}

/* Reports: visually obvious sections */
.pm-app .pm-report-grid{gap:20px!important;}
.pm-app .pm-report-grid>section{padding:24px!important;}
.pm-app .pm-report-person{padding:13px!important;margin:5px 0!important;box-shadow:var(--rv-shadow-sm)!important;}
.pm-app .pm-report-person:hover{background:var(--rv-white)!important;}

/* Mobile: spacious, single-column, touch-friendly */
@media(max-width:900px){
  .pm-app .pm-sidebar{order:0!important;position:fixed!important;right:0!important;left:auto!important;top:0!important;bottom:0!important;transform:translateX(105%)!important;z-index:99992!important;box-shadow:-18px 0 38px rgba(80,85,105,.18)!important;}
  .pm-app .pm-sidebar.open{transform:translateX(0)!important;}
  .pm-app .pm-content{padding:22px 18px 55px!important;}
  .pm-app .pm-topbar{padding:14px 18px!important;min-height:74px!important;}
  .pm-app .pm-search{min-width:190px!important;}
  .pm-app .pm-performance-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .pm-app .pm-performance-dashboard-grid{grid-template-columns:1fr!important;}
}
@media(max-width:600px){
  .pm-app .pm-content{padding:18px 14px 50px!important;}
  .pm-app .pm-topbar{min-height:66px!important;padding:12px 14px!important;gap:8px!important;}
  .pm-app .pm-topbar h1{font-size:17px!important;}
  .pm-app .pm-search{min-width:0!important;flex:1!important;max-width:210px!important;}
  .pm-app .pm-page-head{padding:0 2px 18px!important;gap:12px!important;align-items:flex-start!important;}
  .pm-app .pm-page-head h2{font-size:23px!important;line-height:1.55!important;}
  .pm-app .pm-page-head p{font-size:11px!important;line-height:2!important;}
  .pm-app .pm-page-head .pm-btn{width:100%!important;justify-content:center!important;}
  .pm-app .pm-card,.pm-app .pm-panel,.pm-app .pm-org-grid>section,.pm-app .pm-page>section{padding:18px!important;border-radius:19px!important;}
  .pm-app .pm-card-head{margin-bottom:15px!important;padding-bottom:4px!important;}
  .pm-app .pm-card-head h3{font-size:15px!important;line-height:1.8!important;}
  .pm-app .pm-kpi-grid,.pm-app .pm-organization-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important;}
  .pm-app .pm-kpi-card,.pm-app .pm-organization-kpis .pm-kpi-card{min-height:110px!important;padding:17px!important;}
  .pm-app .pm-kpi-card strong{font-size:24px!important;}
  .pm-app .pm-kpi-card:after{width:54px;height:54px;right:14px;}
  .pm-app .pm-performance-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .pm-app .pm-performance-dashboard-grid>.pm-card{min-height:0!important;}
  .pm-app .pm-performance-trend-bars{gap:9px!important;height:205px!important;}
  .pm-app .pm-performance-trend-bar{width:25px!important;height:130px!important;}
  .pm-app .pm-org-grid{grid-template-columns:1fr!important;gap:16px!important;}
  .pm-app .pm-org-grid>section{width:100%!important;overflow:hidden!important;}
  .pm-app .pm-org-department{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;padding:15px!important;}
  .pm-app .pm-org-department .pm-count-pill{grid-column:2!important;justify-self:start!important;}
  .pm-app .pm-org-department .pm-dept-edit{grid-column:1/-1!important;width:100%!important;margin:0!important;}
  .pm-app .pm-org-employee-row{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;padding:15px!important;}
  .pm-app .pm-org-employee-row .pm-row-main{min-width:0!important;}
  .pm-app .pm-org-employee-row .pm-row-main strong,.pm-app .pm-org-employee-row .pm-row-main small{white-space:normal!important;overflow-wrap:anywhere!important;}
  .pm-app .pm-org-employee-row .pm-dept-member-select,.pm-app .pm-org-employee-row .pm-count-pill{grid-column:1/-1!important;width:100%!important;min-width:0!important;}
  .pm-app .pm-org-employee-stats{width:100%!important;text-align:center!important;}
  .pm-app .pm-filters-bar,.pm-app .pm-performance-filters,.pm-app .pm-toolbar{padding:10px!important;gap:9px!important;}
  .pm-app .pm-filters-bar>* ,.pm-app .pm-performance-filters>*{width:100%!important;max-width:none!important;}
  .pm-app .pm-btn{min-height:44px!important;}
}

/* ========================================================================
   Ravand 2.4.3 — Final UI polish
   RTL / Neumorphism / Navigation / Profile / Mobile
   ======================================================================== */
#pm-app.pm-app,
#pm-app .pm-shell,
.pm-app-root.pm-app,
.pm-app-root .pm-shell{
  direction:rtl!important;
  text-align:right!important;
}

/* Hard guarantee: sidebar is the first visual column on the RIGHT in RTL. */
.pm-app .pm-shell{
  display:flex!important;
  flex-direction:row!important;
  direction:rtl!important;
}
.pm-app .pm-shell > .pm-sidebar{
  order:0!important;
  flex:0 0 292px!important;
  width:292px!important;
  margin:0!important;
  align-self:stretch!important;
  text-align:right!important;
}
.pm-app .pm-shell > .pm-main{
  order:1!important;
  min-width:0!important;
  direction:rtl!important;
}

/* Sidebar spacing and hierarchy */
.pm-app .pm-sidebar{
  padding:24px 20px 20px!important;
  background:var(--rv-bg)!important;
  box-shadow:-16px 0 34px rgba(120,126,146,.10)!important;
}
.pm-app .pm-sidebar-brand{
  min-height:58px!important;
  padding:4px 4px 26px!important;
  gap:13px!important;
  justify-content:flex-start!important;
  border-bottom:1px solid rgba(123,128,150,.08)!important;
  margin-bottom:16px!important;
}
.pm-app .pm-sidebar-brand .pm-logo-dot{
  width:46px!important;height:46px!important;
  min-width:46px!important;
  border-radius:15px!important;
}
.pm-app .pm-sidebar-brand>span:last-child{
  font-size:17px!important;
  font-weight:900!important;
  line-height:1.8!important;
}

/* Navigation: generous touch targets, right aligned icon/text */
.pm-app .pm-nav{
  padding:0!important;
  gap:7px!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
}
.pm-app .pm-nav-item{
  width:100%!important;
  min-height:52px!important;
  padding:0 17px!important;
  border-radius:16px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:13px!important;
  text-align:right!important;
  font-size:13.5px!important;
  font-weight:700!important;
  line-height:1.8!important;
}
.pm-app .pm-nav-item > span:first-child{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 24px!important;
}
.pm-app .pm-nav-item > span:first-child svg{
  width:21px!important;
  height:21px!important;
}
.pm-app .pm-nav-item > span:last-child:not(.pm-nav-badge){
  flex:1 1 auto!important;
  text-align:right!important;
}
.pm-app .pm-nav-item.active{
  background:linear-gradient(135deg,#705ce9 0%,#8b78f2 100%)!important;
  box-shadow:8px 10px 20px rgba(108,88,225,.22),-4px -4px 9px rgba(255,255,255,.75)!important;
}
.pm-app .pm-nav-item.active:hover{
  transform:translateY(-1px)!important;
}
.pm-app .pm-nav-item:focus-visible,
.pm-app .pm-user-chip:focus-visible,
.pm-app .pm-sidebar-logout:focus-visible{
  outline:3px solid rgba(112,92,233,.20)!important;
  outline-offset:3px!important;
}

/* Profile block: deliberately larger and more prominent */
.pm-app .pm-sidebar-footer{
  padding:18px 0 0!important;
  margin-top:14px!important;
}
.pm-app .pm-user-chip{
  min-height:92px!important;
  padding:15px 16px!important;
  border-radius:22px!important;
  gap:14px!important;
  background:linear-gradient(145deg,#ffffff,#f0f2f8)!important;
  box-shadow:9px 10px 20px rgba(126,132,150,.14),-6px -6px 14px rgba(255,255,255,.95)!important;
  border:1px solid rgba(255,255,255,.72)!important;
}
.pm-app .pm-user-chip:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(145deg,#ffffff,#f2f3f8)!important;
  box-shadow:11px 12px 24px rgba(126,132,150,.17),-6px -6px 15px rgba(255,255,255,.98)!important;
}
.pm-app .pm-user-chip img,
.pm-app .pm-user-chip .pm-avatar{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  border-radius:18px!important;
  object-fit:cover!important;
  box-shadow:4px 5px 11px rgba(120,125,145,.18),-4px -4px 9px #fff!important;
}
.pm-app .pm-user-chip>div{
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:right!important;
}
.pm-app .pm-user-chip .name{
  display:block!important;
  font-size:13.5px!important;
  font-weight:850!important;
  line-height:1.9!important;
  color:var(--rv-text)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pm-app .pm-user-chip .role{
  display:block!important;
  margin-top:1px!important;
  font-size:11px!important;
  line-height:1.9!important;
  color:var(--rv-muted)!important;
}

/* Logout: premium, obvious but not visually aggressive */
.pm-app .pm-sidebar-logout{
  min-height:56px!important;
  margin-top:14px!important;
  border-radius:18px!important;
  justify-content:center!important;
  gap:11px!important;
  background:linear-gradient(145deg,#ffffff,#f0f1f7)!important;
  color:#6b5be7!important;
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:8px 9px 18px rgba(126,132,150,.13),-5px -5px 11px rgba(255,255,255,.96)!important;
  font-size:12.5px!important;
  font-weight:850!important;
}
.pm-app .pm-sidebar-logout svg{
  width:21px!important;height:21px!important;
}
.pm-app .pm-sidebar-logout:hover{
  color:#5a4bd6!important;
  transform:translateY(-2px)!important;
  box-shadow:10px 12px 23px rgba(126,132,150,.17),-6px -6px 13px rgba(255,255,255,1)!important;
}
.pm-app .pm-sidebar-logout:active{
  transform:translateY(0)!important;
  box-shadow:var(--rv-inset)!important;
}

/* Main content: more breathing room */
.pm-app .pm-content{
  padding:34px 38px 76px!important;
  max-width:1500px!important;
}
.pm-app .pm-page-head{
  padding:0 4px 28px!important;
}
.pm-app .pm-page-head h2{
  line-height:1.65!important;
}
.pm-app .pm-page-head p{
  line-height:2.15!important;
}
.pm-app .pm-card,
.pm-app .pm-panel,
.pm-app .pm-page>section{
  border-radius:22px!important;
}

/* Consistent Persian typography and internal spacing */
.pm-app .pm-card-head,
.pm-app .pm-panel-head{
  min-height:38px!important;
  margin-bottom:20px!important;
  gap:18px!important;
}
.pm-app .pm-card-head h3,
.pm-app .pm-panel-head h3{
  line-height:1.9!important;
}
.pm-app .pm-row-main strong,
.pm-app .pm-row-main small{
  line-height:2!important;
}
.pm-app .pm-row-main small{
  margin-top:6px!important;
}

/* Mobile: the sidebar remains on the RIGHT and gets comfortable spacing */
@media(max-width:900px){
  .pm-app .pm-shell > .pm-sidebar{
    position:fixed!important;
    right:0!important;
    left:auto!important;
    top:0!important;
    bottom:0!important;
    width:min(88vw,320px)!important;
    flex:0 0 min(88vw,320px)!important;
    transform:translateX(105%)!important;
    z-index:99992!important;
  }
  .pm-app .pm-sidebar.open{
    transform:translateX(0)!important;
  }
  .pm-app .pm-sidebar-footer{
    padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;
  }
  .pm-app .pm-content{
    padding:24px 18px 58px!important;
  }
}
@media(max-width:600px){
  .pm-app .pm-sidebar{
    padding:20px 16px 14px!important;
  }
  .pm-app .pm-sidebar-brand{
    padding-bottom:21px!important;
    margin-bottom:12px!important;
  }
  .pm-app .pm-nav{
    gap:6px!important;
  }
  .pm-app .pm-nav-item{
    min-height:50px!important;
    padding:0 15px!important;
    border-radius:15px!important;
  }
  .pm-app .pm-user-chip{
    min-height:88px!important;
    padding:14px!important;
  }
  .pm-app .pm-user-chip img,
  .pm-app .pm-user-chip .pm-avatar{
    width:54px!important;height:54px!important;min-width:54px!important;
  }
  .pm-app .pm-sidebar-logout{
    min-height:54px!important;
  }
  .pm-app .pm-content{
    padding:20px 14px 54px!important;
  }
  .pm-app .pm-page-head{
    padding-bottom:22px!important;
  }
  .pm-app .pm-page-head h2{
    font-size:22px!important;
    line-height:1.7!important;
  }
  .pm-app .pm-page-head p{
    font-size:11.5px!important;
    line-height:2.15!important;
  }
  .pm-app .pm-card,
  .pm-app .pm-panel,
  .pm-app .pm-page>section{
    padding:19px!important;
    border-radius:20px!important;
  }
}
