


/*----------------------------------------------------------
	002 — PANELS & LABELS
----------------------------------------------------------*/

/*----------------------------------------------------------
	YAHAN SIRF IS MODULE KA APNA HISSA HAI

	Template ka design aur theme — hero, badges, pills, steps,
	features, ads, cards, tables, toast aur poora app shell —
	assets/global-custom-web.css me hai (sections 001-013 aur
	101-122). Wo global pehle load hoti hai.

	Pehle har module un rules ki apni naql rakhta tha. Wo naqlein
	yahan se nikal di gayi hain: har wo rule jo global wale se
	hu-ba-hu ek tha, hata diya gaya, aur jo alag tha wo waisa hi
	chhora gaya — kyunke module ki CSS global ke BAAD load hoti
	hai aur us ka apna faisla jeetta hai.

	Naya rule likhne se pehle global me dekh len. Agar wahan
	pehle se hai, to yahan dobara na likhen.
----------------------------------------------------------*/
.wiz-panel-title{
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wiz-text);
}

.wiz-panel-title i{
	color: var(--wiz-primary-ink);
	font-size: .95rem;
}

.wiz-panel{
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
	padding: 1.15rem;
}

.wiz-panel-head i{
	color: var(--wiz-primary-ink);
	font-size: .95rem;
}

.wiz-label{
	display: block;
	font-size: .78rem;
	font-weight: 600;
	color: var(--wiz-text);
	margin-bottom: .35rem;
}

.wiz-hint{
	font-size: .76rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
}

.wiz-hint i{
	color: var(--wiz-primary-ink);
}

.pdf-drop-btn{
	margin-top: .65rem;
	font-size: .85rem;
	font-weight: 700;
	padding: .55rem 1.3rem;
	pointer-events: none;		/* poora dropzone hi clickable hai */
}


/*----------------------------------------------------------
	004 — FILE CARD
----------------------------------------------------------*/

.pdf-file{
	display: flex;
	align-items: center;
	gap: .85rem;
	padding: .85rem 1rem;
	border: 1px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface-2);
}

.pdf-file-thumb{
	position: relative;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 56px;
	border-radius: var(--wiz-radius-btn);
	font-size: 1.3rem;
	color: #dc2626;
	background: rgba(220, 38, 38, .09);
	border: 1px solid rgba(220, 38, 38, .22);
	overflow: hidden;
}

.pdf-file-tag{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: .08rem 0;
	font-size: .55rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-align: center;
	color: #fff;
	background: #dc2626;
}

.pdf-file-meta{
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .76rem;
	color: var(--wiz-text-muted);
}

.pdf-file-dot{
	opacity: .5;
}

/* page count ko chip ki shakl — nazar me aa jata hai */
.pdf-file-pages{
	padding: .1rem .5rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	color: var(--wiz-primary-ink);
	background: color-mix(in srgb, var(--wiz-primary) 12%, transparent);
}

.pdf-file-body{
	flex: 1;
	min-width: 0;
}

.pdf-file-name{
	font-size: .88rem;
	font-weight: 600;
	color: var(--wiz-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pdf-file-meta{
	font-size: .76rem;
	color: var(--wiz-text-muted);
}

.pdf-icon-btn{
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: var(--wiz-radius-btn);
	background: transparent;
	color: var(--wiz-text-muted);
	font-size: .85rem;
	transition: color .15s ease, background .15s ease;
}

.pdf-icon-btn.is-remove:hover{
	color: #dc2626;
	background: rgba(220, 38, 38, .1);
}


/*----------------------------------------------------------
	005 — PRESETS
----------------------------------------------------------*/

.pdf-preset-grid{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: .85rem;
}

.pdf-preset{
	display: flex;
	flex-direction: column;
	gap: .6rem;
	padding: 1rem;
	text-align: left;
	border: 2px solid var(--wiz-border);
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	transition: border-color .16s ease, background .16s ease;
}

.pdf-preset:hover{
	border-color: color-mix(in srgb, var(--wiz-primary) 45%, transparent);
}

.pdf-preset.is-active{
	border-color: var(--wiz-primary);
	background: color-mix(in srgb, var(--wiz-primary) 6%, transparent);
}

.pdf-preset-head{
	display: flex;
	align-items: center;
	gap: .5rem;
}

/* radio circle — chuna hua level ek nazar me nazar aata hai */
.pdf-preset-radio{
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid var(--wiz-border);
	font-size: .6rem;
	color: transparent;
	transition: all .16s ease;
}

.pdf-preset.is-active .pdf-preset-radio{
	border-color: var(--wiz-primary);
	background: var(--wiz-primary);
	color: #fff;
}

.pdf-preset-name{
	flex: 1;
	font-size: .9rem;
	font-weight: 700;
	color: var(--wiz-text);
}

.pdf-preset-badge{
	flex-shrink: 0;
	padding: .16rem .5rem;
	border-radius: 999px;
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .03em;
	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);
	border: 1px solid var(--wiz-border);
	white-space: nowrap;
}

.pdf-preset.is-active .pdf-preset-badge{
	color: #fff;
	background: var(--wiz-primary);
	border-color: var(--wiz-primary);
}

.pdf-preset-desc{
	font-size: .78rem;
	line-height: 1.6;
	color: var(--wiz-text-muted);
}

.pdf-preset-foot{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .4rem;
	padding-top: .6rem;
	border-top: 1px solid var(--wiz-border);
	font-size: .7rem;
	font-weight: 700;
}

.pdf-preset-quality{
	color: var(--wiz-text);
}

.pdf-preset-expected{
	color: var(--wiz-primary-ink);
}

/*
	Raster warning — jaan boojh kar numaya. Ye batati hai ke text
	tasveer ban jayega, jo user ko baad me pata chale to bohot mehnga
	padta hai.
*/
.pdf-warn{
	display: none;
	align-items: flex-start;
	gap: .55rem;
	padding: .7rem .85rem;
	border-radius: var(--wiz-radius-btn);
	font-size: .78rem;
	line-height: 1.6;
	color: #b45309;
	background: rgba(245, 158, 11, .10);
	border: 1px solid rgba(245, 158, 11, .3);
}

.pdf-warn.is-show{
	display: flex;
}

.pdf-warn > i{
	flex-shrink: 0;
	margin-top: .1rem;
	font-size: 1rem;
}

[data-bs-theme="dark"] .pdf-warn{
	color: #fbbf24;
}


/*----------------------------------------------------------
	006 — PROGRESS & RESULT
----------------------------------------------------------*/

.pdf-progress-card{
	padding: 1.15rem 1.25rem;
	border-radius: var(--wiz-radius-card);
	background: color-mix(in srgb, var(--wiz-primary) 7%, transparent);
	border: 1px solid color-mix(in srgb, var(--wiz-primary) 28%, transparent);
}

.pdf-progress-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: .6rem;
}

.pdf-progress-title{
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-size: .88rem;
	font-weight: 700;
	color: var(--wiz-primary-ink);
}

/* spinner — kaam chalne ka ehsas deta hai, bar ke alawa */
.pdf-progress-title i{
	animation: wizSpin 1s linear infinite;
}

.pdf-progress-percent{
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .82rem;
	font-weight: 700;
	color: var(--wiz-primary-ink);
}

.pdf-progress-foot{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-top: .5rem;
	font-size: .74rem;
	color: var(--wiz-text-muted);
}

.progress{
	height: 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wiz-primary) 16%, transparent);
}


/* ---- RESULT ---- */

.pdf-result{
	padding: 1.35rem;
	border-radius: var(--wiz-radius-card);
	border: 1px solid color-mix(in srgb, var(--wiz-primary) 30%, transparent);
	background: linear-gradient(135deg,
				color-mix(in srgb, var(--wiz-primary) 9%, transparent) 0%,
				color-mix(in srgb, #4f46e5 8%, transparent) 100%);
}

/* jab nateeja asal se bara nikle — sabz/purple nahi, amber */
.pdf-result.is-nogain{
	border-color: rgba(245, 158, 11, .35);
	background: rgba(245, 158, 11, .08);
}

.pdf-result-head{
	display: flex;
	align-items: center;
	gap: .85rem;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wiz-primary) 20%, transparent);
}

.pdf-result-icon{
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: var(--wiz-radius-card);
	font-size: 1.3rem;
	color: #fff;
	background: var(--wiz-primary);
}

.pdf-result.is-nogain .pdf-result-icon{
	background: #f59e0b;
}

.pdf-result-title{
	font-family: var(--wiz-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wiz-text);
}

.pdf-result-chip{
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .35rem .8rem;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 700;
	color: #15803d;
	background: rgba(34, 197, 94, .12);
	border: 1px solid rgba(34, 197, 94, .35);
	white-space: nowrap;
}

.pdf-result.is-nogain .pdf-result-chip{
	color: #b45309;
	background: rgba(245, 158, 11, .14);
	border-color: rgba(245, 158, 11, .38);
}

[data-bs-theme="dark"] .pdf-result-chip{ color: #4ade80; }
[data-bs-theme="dark"] .pdf-result.is-nogain .pdf-result-chip{ color: #fbbf24; }

/* ---- before / after stat boxes ---- */

.pdf-stat{
	height: 100%;
	padding: .9rem;
	text-align: center;
	border-radius: var(--wiz-radius-card);
	background: var(--wiz-surface);
	border: 1px solid var(--wiz-border);
}

.pdf-stat-label{
	display: block;
	margin-bottom: .25rem;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
}

.pdf-stat-value{
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--wiz-text);
	word-break: break-word;
}

.pdf-stat.is-primary{
	background: color-mix(in srgb, var(--wiz-primary) 10%, transparent);
	border-color: color-mix(in srgb, var(--wiz-primary) 30%, transparent);
}

.pdf-stat.is-primary .pdf-stat-label,
.pdf-stat.is-primary .pdf-stat-value{
	color: var(--wiz-primary-ink);
}

.pdf-stat.is-saved{
	background: rgba(34, 197, 94, .09);
	border-color: rgba(34, 197, 94, .3);
}

.pdf-stat.is-saved .pdf-stat-label,
.pdf-stat.is-saved .pdf-stat-value{
	color: #15803d;
}

[data-bs-theme="dark"] .pdf-stat.is-saved .pdf-stat-label,
[data-bs-theme="dark"] .pdf-stat.is-saved .pdf-stat-value{
	color: #4ade80;
}


/* ---- table me haan / nahi ---- */

.pdf-yes{
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .8rem;
	font-weight: 600;
	color: #16a34a;
}

.pdf-no{
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .8rem;
	font-weight: 600;
	color: #b45309;
}

[data-bs-theme="dark"] .pdf-yes{ color: #4ade80; }
[data-bs-theme="dark"] .pdf-no{  color: #fbbf24; }

.wiz-table{
	--bs-table-bg: transparent;
	--bs-table-color: var(--wiz-text);
	--bs-table-border-color: var(--wiz-border);
	font-size: .85rem;
	margin: 0;
}

.wiz-table thead th{
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--wiz-text-muted);
	background: var(--wiz-surface-2);
	border-bottom: 1px solid var(--wiz-border);
	padding: .8rem 1rem;
	white-space: nowrap;
}

.wiz-table tbody td{
	padding: .7rem 1rem;
	vertical-align: middle;
	border-color: var(--wiz-border);
}

.wiz-table tbody tr:last-child td{
	border-bottom: 0;
}


/*----------------------------------------------------------
	012 — RESPONSIVE & PRINT
----------------------------------------------------------*/

@media screen and (max-width: 768px){

	.wiz-tool-hero{
		padding: 1.5rem 1.15rem;
	}

	.wiz-tool-title{
		font-size: 1.6rem;
	}

	.pdf-drop{
		min-height: 170px;
		padding: 1.6rem 1rem;
	}

	.pdf-drop{
		padding: 1.8rem 1rem;
	}

	.pdf-preset-grid{
		grid-template-columns: 1fr;
	}

	.pdf-result-head{
		flex-wrap: wrap;
	}

	.pdf-actions{
		flex-direction: column;
		align-items: stretch;
	}

	.pdf-actions .btn{
		width: 100%;
	}
}

@media print{

	.wiz-navbar,
	.wiz-footer,
	.btn-back2top,
	.wiz-ad,
	.wiz-coffee,
	.wiz-coffee-card,
	.pdf-drop,
	.wiz-toast{
		display: none !important;
	}
}
