/* PDF Report Builder — front-end selector. Matches the dark-green reference UI. */
.prb-wrap{
	--prb-bg:#0a1410; --prb-panel:#0d1a14; --prb-line:#1c3329;
	--prb-green:#0f9d6b; --prb-green-soft:#1bbd83; --prb-text:#dfeee7;
	--prb-muted:#5f7d6f; --prb-dim:#3f5a4d; --prb-radius:12px;
	gap:34px;
	background:var(--prb-bg); color:var(--prb-text);
	padding:24px; border-radius:var(--prb-radius); box-sizing:border-box;
}
.prb-wrap *{box-sizing:border-box;}
.prb-wrap{max-width:100%;    gap: 20px;
    display: flex;
    flex-direction: column;}

/* Category dropdown — high-specificity selectors so the host theme's
   form/select rules cannot override the styling. Replaces the old tab bar. */
.prb-wrap .prb-tabs-wrap{
	border-bottom:1px solid var(--prb-line); margin-bottom:18px;
	padding-bottom:14px; max-width:100%; position:relative;
}
.prb-wrap .prb-tabs-select{
	-webkit-appearance:none; -moz-appearance:none; appearance:none;
	width:100%; max-width:100%; cursor:pointer; box-sizing:border-box;
	background-color:var(--prb-panel); color:var(--prb-text);
	border:1px solid var(--prb-line); border-radius:var(--prb-radius);
	font-size:13px; letter-spacing:.08em; text-transform:uppercase; font-weight:600;
	padding:14px 44px 14px 18px; line-height:1.2; margin:0; height:auto;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231bbd83' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 16px center; background-size:14px;
}
.prb-wrap .prb-tabs-select:hover{border-color:var(--prb-dim);}
.prb-wrap .prb-tabs-select:focus{
	outline:none; border-color:var(--prb-green);
	box-shadow:0 0 0 2px rgba(15,157,107,.25);
}
/* Native option list — keep readable on platforms that honour these. */
.prb-wrap .prb-tabs-select option{
	background:var(--prb-panel); color:var(--prb-text);
	text-transform:none; letter-spacing:0;
}

/* Panels */
.prb-panel{display:none;}
.prb-panel.is-active{display:block;}
.prb-panel-actions{display:flex; flex-wrap:wrap; align-items:center; gap:4px 20px;}
.prb-selectall,
.prb-wrap .prb-deselectall{
	background:none; border:none; cursor:pointer;
	font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:6px 0 16px;
}
.prb-selectall{color:var(--prb-green-soft);}
.prb-wrap .prb-deselectall{color:var(--prb-muted);}
.prb-wrap .prb-deselectall:hover{color:var(--prb-text);}

/* Cards */
.prb-card{
	display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
	padding:20px 6px; border-bottom:1px solid var(--prb-line); cursor:pointer; position:relative; margin:0;
}
.prb-card-text{min-width:0;}
.prb-card-title{font-size:16px; font-weight:600; color:var(--prb-text); overflow-wrap:anywhere;}
.prb-card-pages{color:var(--prb-green-soft); font-size:11px; letter-spacing:.14em; text-transform:uppercase; margin:8px 0;}
.prb-card-desc{color:var(--prb-muted); font-size:13px; line-height:1.5;}
.prb-check{position:absolute; opacity:0; width:0; height:0;}
.prb-box{
	flex:none; width:26px; height:26px; border-radius:6px;
	border:1px solid var(--prb-line); display:grid; place-items:center; transition:.15s; margin-top:2px;
}
.prb-check:checked + .prb-box{background:var(--prb-green); border-color:var(--prb-green);}
.prb-check:checked + .prb-box::after{content:"\2713"; color:#04130c; font-size:15px; font-weight:700;}
.prb-check:focus-visible + .prb-box{outline:2px solid var(--prb-green-soft); outline-offset:2px;}

/* Selection + preview side */
.prb-side{display:flex; flex-direction:column; gap:24px;}
.prb-selection,.prb-preview{background:var(--prb-panel); border:1px solid var(--prb-line); border-radius:var(--prb-radius); padding:26px;}
.prb-eyebrow{color:var(--prb-green-soft); font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; margin-bottom:18px;}
.prb-chosen-row{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 0; border-bottom:1px solid var(--prb-line);}
.prb-chosen-row span{font-size:15px; font-weight:600; min-width:0; overflow-wrap:anywhere;}
.prb-remove{background:none; border:none; color:var(--prb-dim); cursor:pointer; font-size:18px; line-height:1; padding:0 4px;}
.prb-remove:hover{color:#e06b6b;}
.prb-empty{color:var(--prb-dim); font-size:13px; padding:6px 0 14px;}

.prb-stats{margin:20px 0 22px;}
.prb-stat{display:flex; justify-content:space-between; padding:6px 0; font-size:14px; color:var(--prb-text);}
.prb-stat span{color:var(--prb-muted);}
.prb-stat strong{font-size:15px;}

.prb-download{
	width:100%; border:none; cursor:pointer; border-radius:6px;
	background:var(--prb-green); color:#04130c; font-weight:700;
	letter-spacing:.08em; text-transform:uppercase; font-size:13px; padding:18px;
	transition:.15s;
}
.prb-download:hover:not(:disabled){background:var(--prb-green-soft);}
.prb-download:disabled{opacity:.4; cursor:not-allowed;}
.prb-download.is-loading{opacity:.7; cursor:wait;}
.prb-footnote{color:var(--prb-dim); font-size:11px; text-align:center; margin:16px 0 0; line-height:1.5;}

/* Preview */
.prb-prev-item{display:flex; align-items:center; gap:16px; background:var(--prb-bg); border:1px solid var(--prb-line); border-radius:8px; padding:12px 18px; margin-bottom:14px;}
.prb-prev-canvas-wrap{flex:none; width:50px; height:70px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:4px; overflow:hidden; box-shadow:0 2px 5px rgba(0,0,0,0.2);}
.prb-prev-canvas-wrap canvas{max-width:100%; max-height:100%; display:block;}
.prb-prev-loading, .prb-prev-error{color:var(--prb-dim); font-size:10px; text-transform:uppercase; letter-spacing:0.05em; font-weight:600; text-align:center; padding:2px;}
.prb-prev-label{color:var(--prb-green-soft); font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin:0; min-width:0; overflow-wrap:anywhere;}

/* ---------------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------------ */

/* Tablet / narrow viewports: stack the selector above the side panel. */
@media (max-width:880px){
	.prb-wrap{
		grid-template-columns:1fr;
		gap:24px;
		padding:20px;
	}
}

/* Phones */
@media (max-width:560px){
	.prb-wrap{
		gap:18px;
		padding:14px;
		border-radius:10px;
	}

	.prb-wrap .prb-tabs-wrap{margin-bottom:14px;}
	.prb-wrap .prb-tabs-select{padding:13px 40px 13px 14px; font-size:12px; letter-spacing:.06em;}

	.prb-wrap .prb-panel,
	.prb-wrap .prb-selection,
	.prb-wrap .prb-preview{padding:18px;}

	.prb-wrap .prb-card{gap:12px; padding:16px 2px;}
	.prb-wrap .prb-card-title{font-size:15px;}
	.prb-wrap .prb-card-desc{font-size:12.5px;}
	.prb-wrap .prb-box{width:24px; height:24px;}

	.prb-wrap .prb-side{gap:18px;}
	.prb-wrap .prb-stat{font-size:13px;}
	.prb-wrap .prb-download{padding:16px; font-size:12px;}

	.prb-wrap .prb-prev-item{padding:10px 12px; gap:12px;}
}

/* Very small phones */
@media (max-width:380px){
	.prb-wrap{padding:10px;}
	.prb-wrap .prb-tabs-select{padding:12px 36px 12px 12px;}
	.prb-wrap .prb-panel,
	.prb-wrap .prb-selection,
	.prb-wrap .prb-preview{padding:14px;}
}
