@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700&display=swap');

.pt-wrap, .pt-wrap * { box-sizing: border-box; }

.pt-wrap {
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	direction: rtl;
	color: var(--pt-text);
	border-radius: var(--pt-radius-card);
	padding: 26px;
	max-width: 900px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background:
		radial-gradient(circle at 12% 15%, color-mix(in srgb, var(--pt-primary) 30%, transparent), transparent 42%),
		radial-gradient(circle at 88% 12%, #38bdf855, transparent 45%),
		radial-gradient(circle at 60% 100%, #ec489922, transparent 55%),
		var(--pt-bg);
}
.pt-wrap::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	backdrop-filter: blur(60px);
	-webkit-backdrop-filter: blur(60px);
}

.pt-login-notice {
	padding: 30px; text-align:center;
	background: color-mix(in srgb, #fff 45%, transparent);
	backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
	border: 1px solid rgba(255,255,255,.5);
	border-radius:16px;
}

.pt-list-header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap: wrap; }
.pt-page-title { font-size: 22px; font-weight:700; margin:0; text-shadow: 0 1px 0 rgba(255,255,255,.4); }

.pt-divider { height:1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.6), transparent); margin: 14px 0 20px; }

.pt-btn-primary {
	background: linear-gradient(135deg, color-mix(in srgb, var(--pt-primary) 92%, #fff 8%), var(--pt-primary-dark));
	color:#fff; border: 1px solid rgba(255,255,255,.35); border-radius: var(--pt-radius-button);
	padding: 11px 20px; font-weight:600; font-size:14px; cursor:pointer;
	display:inline-flex; align-items:center; gap:6px;
	box-shadow: 0 8px 22px -6px color-mix(in srgb, var(--pt-primary) 60%, transparent), inset 0 1px 0 rgba(255,255,255,.5);
	backdrop-filter: blur(6px);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pt-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -6px color-mix(in srgb, var(--pt-primary) 65%, transparent), inset 0 1px 0 rgba(255,255,255,.5); }
.pt-btn-size-small { padding: 7px 14px; font-size:12.5px; }
.pt-btn-size-large { padding: 15px 28px; font-size:16px; }

.pt-btn-back {
	background: color-mix(in srgb, #fff 35%, transparent);
	border: 1px solid rgba(255,255,255,.4); color: var(--pt-text-light); cursor:pointer;
	display:flex; align-items:center; gap:6px; font-size:13px; margin-bottom:6px;
	padding: 6px 14px; border-radius: 999px;
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	transition: background .15s ease;
}
.pt-btn-back:hover { background: color-mix(in srgb, #fff 55%, transparent); }

.pt-status-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.pt-status-tab {
	background: color-mix(in srgb, var(--pt-card-bg) 45%, transparent);
	border:1px solid rgba(255,255,255,.4); color: var(--pt-text-light);
	padding: 8px 16px; border-radius: 999px; font-size:12.5px; cursor:pointer; font-weight:500;
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	transition: all .15s ease;
}
.pt-status-tab.is-active {
	background: linear-gradient(135deg, var(--pt-primary), var(--pt-primary-dark));
	color:#fff; border-color: transparent;
	box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--pt-primary) 55%, transparent);
}

.pt-search-box {
	display:flex; align-items:center; gap:8px;
	background: color-mix(in srgb, var(--pt-card-bg) 40%, transparent);
	border: 1px solid rgba(255,255,255,.45); border-radius: var(--pt-radius-input);
	padding: 10px 14px; max-width: 360px; margin-bottom: 18px;
	backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.pt-search-box input { border:none; outline:none; flex:1; background:transparent; font-family:inherit; font-size:13.5px; color: var(--pt-text); }
.pt-search-box .dashicons { color: var(--pt-text-light); }

.pt-tickets-list { display:flex; flex-direction:column; }
.pt-ticket-card {
	display:grid; grid-template-columns: 90px 1fr 1.4fr 170px 110px;
	align-items:center; gap:10px; padding: 14px 12px; cursor:pointer;
	border-bottom: 1px solid rgba(255,255,255,.4);
	border-radius: 12px;
	transition: background .15s ease, transform .15s ease;
}
.pt-ticket-card:hover { background: color-mix(in srgb, #fff 30%, transparent); transform: translateX(-2px); }
.pt-ticket-number { font-weight:700; color: var(--pt-text-light); font-size:13px; }
.pt-ticket-dept { font-size:12.5px; color: var(--pt-text-light); }
.pt-ticket-subject { font-weight:600; font-size:14px; }
.pt-ticket-time { font-size:12px; color: var(--pt-text-light); text-align:left; }

.pt-status-badge {
	display:inline-flex; align-items:center; gap:5px;
	padding: 5px 12px; border-radius: 999px; font-size: 11.5px; font-weight:700;
	backdrop-filter: blur(6px);
}
.pt-status-badge .dashicons { font-size:13px; width:13px; height:13px; }

.pt-loading, .pt-empty { text-align:center; padding: 30px; color: var(--pt-text-light); }

/* دپارتمان‌ها */
.pt-sub-title { color: var(--pt-text-light); font-size: 13.5px; margin-bottom: 16px; }
.pt-departments-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pt-dept-card {
	border-radius: var(--pt-radius-card); padding: 20px; position:relative;
	border: 1px solid rgba(255,255,255,.5);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	box-shadow: 0 8px 24px -10px rgba(20,15,50,.18), inset 0 1px 0 rgba(255,255,255,.5);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pt-wrap:not(.pt-style-classic) .pt-dept-card { background: color-mix(in srgb, #fff 32%, transparent) !important; }
.pt-dept-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 34px -10px rgba(20,15,50,.24), inset 0 1px 0 rgba(255,255,255,.6);
}
.pt-wrap:not(.pt-style-classic) .pt-dept-card:hover { background: color-mix(in srgb, #fff 45%, transparent) !important; }
.pt-dept-card .dashicons { font-size:30px; width:30px; height:30px; color: var(--pt-primary); }
.pt-dept-card h3 { font-size:15px; margin: 10px 0 6px; }
.pt-dept-card p { font-size:12.5px; color:#5b5768; min-height: 34px; }
.pt-dept-card .pt-btn-primary { width:100%; justify-content:center; margin-top:10px; }

/* فرم ثبت تیکت */
.pt-fields-row { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.pt-form-field {
	background: color-mix(in srgb, var(--pt-card-bg) 40%, transparent);
	border:1px solid rgba(255,255,255,.45); border-radius: var(--pt-radius-input);
	padding: 14px 16px; margin-bottom: 16px;
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
.pt-form-field label { display:block; font-weight:600; font-size:13.5px; margin-bottom:8px; }
.pt-form-field .pt-optional, .pt-form-field .pt-hint { color: var(--pt-text-light); font-weight:400; font-size:12px; }
.pt-form-field input[type=text], .pt-form-field input[type=number], .pt-form-field textarea, .pt-form-field select {
	width:100%; border:1px solid rgba(255,255,255,.5); border-radius: var(--pt-radius-input);
	padding: 10px 12px; font-family:inherit; font-size:13.5px; outline:none;
	background: color-mix(in srgb, #fff 55%, transparent); color: var(--pt-text);
	transition: border-color .15s ease, background .15s ease;
}
.pt-form-field input[type=text]:focus, .pt-form-field input[type=number]:focus, .pt-form-field textarea:focus, .pt-form-field select:focus {
	border-color: var(--pt-primary);
	background: color-mix(in srgb, #fff 72%, transparent);
}
.pt-wrap:not(.pt-style-classic) .pt-pastel-field {
	background: color-mix(in srgb, #fff 30%, transparent) !important;
	border: 1px solid rgba(255,255,255,.5);
}

.pt-notice-box {
	border-radius: var(--pt-radius-input);
	padding: 14px 16px; margin-bottom: 16px;
}
.pt-wrap:not(.pt-style-classic) .pt-notice-box {
	border:1px solid rgba(255,255,255,.5) !important;
	background: color-mix(in srgb, #fff 35%, transparent) !important;
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.pt-style-classic .pt-notice-box { border:1px solid; }
.pt-notice-title { font-weight:700; font-size:13.5px; display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.pt-notice-box ul { margin:0; padding-inline-start: 20px; font-size:12.5px; color:#5b5768; }
.pt-notice-box li { margin-bottom:4px; }

.pt-dropzone {
	border: 2px dashed rgba(255,255,255,.6); border-radius: var(--pt-radius-input);
	text-align:center; padding: 24px; cursor:pointer; color: var(--pt-text-light);
	background: color-mix(in srgb, #fff 25%, transparent);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.pt-dropzone:hover, .pt-dropzone.is-dragover {
	border-color: var(--pt-primary); color: var(--pt-primary);
	background: color-mix(in srgb, #fff 40%, transparent);
}
.pt-dropzone .dashicons { font-size:26px; width:26px; height:26px; }
.pt-attachments-list { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
.pt-attachment-chip {
	background: color-mix(in srgb, #fff 55%, transparent);
	border:1px solid rgba(255,255,255,.5); border-radius:10px; padding:5px 10px; font-size:12px;
	display:flex; align-items:center; gap:6px; backdrop-filter: blur(8px);
}

.pt-form-actions { text-align:left; margin-top: 8px; }
.pt-form-message { margin-top:12px; font-size:13px; }
.pt-form-message.success { color: #1FBF75; }
.pt-form-message.error { color: #e74c3c; }

/* جزئیات تیکت */
#pt-thread-messages { display:flex; flex-direction:column; gap:12px; margin-bottom:20px; }
.pt-msg {
	max-width:75%; padding: 12px 16px; border-radius: 16px; font-size:13.5px; line-height:1.8;
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.pt-msg.from-user {
	background: linear-gradient(135deg, color-mix(in srgb, var(--pt-primary) 88%, #fff 12%), var(--pt-primary-dark));
	color:#fff; align-self:flex-end; border-bottom-left-radius:4px;
	box-shadow: 0 6px 16px -6px color-mix(in srgb, var(--pt-primary) 60%, transparent);
}
.pt-msg.from-staff {
	background: color-mix(in srgb, var(--pt-card-bg) 55%, transparent);
	border:1px solid rgba(255,255,255,.5); align-self:flex-start; border-bottom-right-radius:4px;
}
.pt-msg-time { display:block; font-size:11px; opacity:.7; margin-top:6px; }
#pt-reply-form textarea {
	width:100%; border-radius: var(--pt-radius-input); border:1px solid rgba(255,255,255,.5);
	padding:12px; font-family:inherit; background: color-mix(in srgb, #fff 55%, transparent);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}

/* هدر یکپارچه‌سازی */
.pt-header-btn {
	display:inline-flex; align-items:center; gap:6px;
	background: linear-gradient(135deg, var(--pt-primary, #6C5CE7), color-mix(in srgb, var(--pt-primary, #6C5CE7) 80%, #000 20%));
	color:#fff; padding:8px 16px; border-radius:10px; text-decoration:none; font-size:13px; font-weight:600;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}

/* ریسپانسیو */
@media (max-width: 900px) {
	.pt-departments-grid { grid-template-columns: repeat(2, 1fr); }
	.pt-fields-row { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.pt-wrap { padding: 16px; }
	.pt-departments-grid { grid-template-columns: 1fr; }
	.pt-ticket-card { grid-template-columns: 1fr; gap:4px; padding: 14px 10px; }
	.pt-ticket-time { text-align:right; }
	.pt-list-header { flex-direction:column; align-items:flex-start; }
	.pt-msg { max-width:90%; }
}

/* ===================== نمایش فشرده مخصوص هدر (شورت‌کد [parstickets header="1"]) ===================== */

.pt-header-widget {
	position: relative;
	display: inline-block;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
}

.pt-header-trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--pt-header-btn-bg, color-mix(in srgb, #fff 55%, transparent));
	border: 1px solid var(--pt-header-btn-border, rgba(255,255,255,.5));
	border-radius: 999px;
	padding: 7px 16px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	color: var(--pt-header-btn-text, #2D2A3D);
	cursor: pointer;
	position: relative;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.pt-header-trigger:hover {
	border-color: var(--pt-header-btn-border-hover, var(--pt-primary, #6C5CE7));
	background: var(--pt-header-btn-bg-hover, color-mix(in srgb, #fff 70%, transparent));
	color: var(--pt-header-btn-text-hover, var(--pt-primary, #6C5CE7));
}
.pt-header-trigger .dashicons { font-size: 16px; width: 16px; height: 16px; }
a.pt-header-trigger { text-decoration: none; }
.pt-header-trigger-badge {
	position: absolute;
	top: -6px;
	left: -6px;
	background: #FF5C5C;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	min-width: 17px;
	height: 17px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	box-shadow: 0 3px 8px rgba(255,92,92,.5);
}

.pt-header-dropdown {
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	z-index: 9999;
	width: 380px;
	max-width: 92vw;
	max-height: 70vh;
	overflow-y: auto;
	background: color-mix(in srgb, #fff 55%, transparent);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(20,15,50,.22);
	border: 1px solid rgba(255,255,255,.5);
	padding: 4px;
}
.pt-header-dropdown .pt-wrap { max-width: 100%; margin: 0; padding: 16px; border-radius: 14px; overflow: visible; }
.pt-header-dropdown .pt-wrap::before { display: none; }
.pt-header-dropdown .pt-departments-grid { grid-template-columns: 1fr; }
.pt-header-dropdown .pt-fields-row { grid-template-columns: 1fr; }

/* در دسکتاپ زیر آیکون سمت راست باز شود؛ در موبایل به کل عرض صفحه محدود شود */
@media (max-width: 520px) {
	.pt-header-dropdown { position: fixed; top: auto; bottom: 0; left: 0; right: 0; width: 100%; max-width: 100%; max-height: 80vh; border-radius: 18px 18px 0 0; }
}

/* ===================== کد امنیتی تصویری ===================== */
.pt-captcha-row { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.pt-captcha-image { border-radius: var(--pt-radius-input); border:1px solid rgba(255,255,255,.5); display:block; }
.pt-style-classic .pt-captcha-image { border-color: var(--pt-border); }
.pt-captcha-refresh {
	width:38px; height:38px; flex-shrink:0; border-radius:50%; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	background: color-mix(in srgb, #fff 55%, transparent);
	border:1px solid rgba(255,255,255,.5); color: var(--pt-primary);
	backdrop-filter: blur(8px); transition: background .15s ease, transform .15s ease;
}
.pt-captcha-refresh:hover { background: color-mix(in srgb, #fff 75%, transparent); transform: rotate(35deg); }
.pt-captcha-refresh.is-loading .dashicons { animation: ptSpin .6s linear infinite; }
.pt-style-classic .pt-captcha-refresh { background:#fff; border-color: var(--pt-border); backdrop-filter:none; }

/* ===================== پیام خودکار سیستم (پاسخ تاخیر) ===================== */
.pt-msg.is-auto {
	background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--pt-primary) 18%, transparent) 0 10px, color-mix(in srgb, var(--pt-primary) 10%, transparent) 10px 20px) !important;
	color: var(--pt-text) !important; border:1px dashed color-mix(in srgb, var(--pt-primary) 45%, transparent);
}
.pt-msg-auto-label {
	display:flex; align-items:center; gap:4px; font-size:11px; font-weight:700;
	color: var(--pt-primary); margin-bottom:6px; opacity:.85;
}
.pt-msg-auto-label .dashicons { font-size:13px; width:13px; height:13px; }

/* ===================== انیمیشن‌های ظریف (سراسر پنل) ===================== */
@keyframes ptSpin { to { transform: rotate(360deg); } }

@keyframes ptViewIn {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}
.pt-view.pt-anim-in { animation: ptViewIn .4s cubic-bezier(.16,1,.3,1); }

@keyframes ptCardIn {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}
.pt-card-in { animation: ptCardIn .3s ease both; }

@keyframes ptBlobDrift {
	0%, 100% { background-position: 0% 0%, 100% 0%, 50% 100%, 0 0; }
	50%      { background-position: 8% 6%, 92% 8%, 48% 94%, 0 0; }
}
.pt-wrap.pt-style-glass {
	background-size: 140% 140%, 150% 150%, 160% 160%, 100% 100%;
	animation: ptBlobDrift 24s ease-in-out infinite;
}

.pt-btn-primary { position:relative; overflow:hidden; }
.pt-btn-primary::after {
	content:''; position:absolute; top:0; left:-60%; width:45%; height:100%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent);
	transform: skewX(-20deg); transition: left .5s ease;
	pointer-events: none;
}
.pt-btn-primary:hover::after { left:130%; }

.pt-dept-card .dashicons { transition: transform .25s ease; }
.pt-dept-card:hover .dashicons { transform: scale(1.15) rotate(-4deg); }

.pt-status-tab { transition: all .18s ease, transform .15s ease; }
.pt-status-tab.is-active { transform: translateY(-1px); }

@media (prefers-reduced-motion: reduce) {
	.pt-wrap.pt-style-glass { animation: none; }
	.pt-view.pt-anim-in, .pt-card-in, .pt-btn-primary::after, .pt-captcha-refresh.is-loading .dashicons { animation: none; transition: none; }
}

/* ===================== حالت کلاسیک (پاستیلی و تخت — طرح قبلی) ===================== */
.pt-wrap.pt-style-classic {
	background: var(--pt-bg) !important;
	animation: none;
	overflow: visible;
}
.pt-wrap.pt-style-classic::before { display:none; }

.pt-style-classic .pt-login-notice { background:#fff; backdrop-filter:none; border:none; }
.pt-style-classic .pt-btn-primary { border:none; box-shadow: 0 6px 16px rgba(0,0,0,.12); backdrop-filter:none; }
.pt-style-classic .pt-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.pt-style-classic .pt-btn-primary::after { display:none; }
.pt-style-classic .pt-btn-back { background:none; border:none; backdrop-filter:none; padding:0; border-radius:0; }
.pt-style-classic .pt-status-tab {
	background: var(--pt-card-bg) !important; border:1px solid var(--pt-border); backdrop-filter:none;
}
.pt-style-classic .pt-status-tab.is-active { background: var(--pt-primary) !important; border-color: var(--pt-primary); box-shadow:none; transform:none; }
.pt-style-classic .pt-search-box { background: var(--pt-card-bg) !important; border:1px solid var(--pt-border); backdrop-filter:none; }
.pt-style-classic .pt-ticket-card { border-bottom: 1px solid var(--pt-border); border-radius:0; }
.pt-style-classic .pt-ticket-card:hover { background: rgba(0,0,0,.02); transform:none; }
.pt-style-classic .pt-dept-card { border:none; backdrop-filter:none; box-shadow:none; }
.pt-style-classic .pt-dept-card:hover { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(0,0,0,.08); }
.pt-style-classic .pt-form-field {
	background: var(--pt-card-bg) !important; border:1px solid var(--pt-border); backdrop-filter:none; box-shadow:none;
}
.pt-style-classic .pt-form-field input[type=text], .pt-style-classic .pt-form-field input[type=number],
.pt-style-classic .pt-form-field textarea, .pt-style-classic .pt-form-field select {
	background:#fff; border:1px solid var(--pt-border);
}
.pt-style-classic .pt-pastel-field { border:none; }
.pt-style-classic .pt-notice-box { backdrop-filter:none; }
.pt-style-classic .pt-dropzone { background: rgba(255,255,255,.5); backdrop-filter:none; border-color: var(--pt-border); }
.pt-style-classic .pt-attachment-chip { background:#fff; backdrop-filter:none; }
.pt-style-classic .pt-msg.from-user { background: var(--pt-primary) !important; backdrop-filter:none; box-shadow:none; }
.pt-style-classic .pt-msg.from-staff { background: var(--pt-card-bg) !important; border:1px solid var(--pt-border); backdrop-filter:none; }
.pt-style-classic #pt-reply-form textarea { background:#fff; backdrop-filter:none; }
.pt-style-classic .pt-header-trigger { backdrop-filter:none; }
.pt-style-classic .pt-header-dropdown { background:#fff; backdrop-filter:none; }
