/*
 * FM Document Library — same look as FM Frequency List.
 * Base look (fonts, colours, cards, table, zebra rows) comes from
 * FM Station Profile's style.css via the shared classes
 * .fm-station-profile / .fm-sp-section / .fm-sp-card / .fm-sp-frequencies.
 * Everything here is scoped to .fm-document-library. The colour fallbacks
 * are only used if FM Station Profile's stylesheet is missing.
 */
.fm-document-library{
	--fm-dl-ink:var(--fm-ink, #1F2328);
	--fm-dl-slate:var(--fm-slate, #5F6670);
	--fm-dl-line:var(--fm-line, #E3E3DE);
	--fm-dl-surface:var(--fm-surface, #FFFFFF);
	--fm-dl-teal:var(--fm-teal, #0E7C86);
	--fm-dl-teal-dark:var(--fm-teal-dark, #0A5E66);
}

/* Below its minimum width (set inline) the table scrolls sideways inside the card. */
.fm-document-library .fm-dl-scroll{
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
}
.fm-document-library .fm-dl-table{
	table-layout:fixed;
}
.fm-document-library .fm-dl-table td{
	overflow-wrap:anywhere; /* long values wrap instead of widening the table */
}
.fm-document-library .fm-dl-table td.fm-dl-c-title,
.fm-document-library .fm-dl-table td.fm-dl-c-source,
.fm-document-library .fm-dl-table td.fm-dl-c-type{
	font-family:'IBM Plex Sans', Arial, sans-serif;font-size:13px;
}

/* Phones: slightly tighter cells. */
@media (max-width:600px){
	.fm-document-library .fm-dl-table th,
	.fm-document-library .fm-dl-table td{padding-left:8px;padding-right:8px;}
	.fm-document-library .fm-dl-table td{font-size:12px;}
	.fm-document-library .fm-dl-table td.fm-dl-c-title,
	.fm-document-library .fm-dl-table td.fm-dl-c-source,
	.fm-document-library .fm-dl-table td.fm-dl-c-type{font-size:12.5px;}
}

/* --- Heading row: section title left, actions right --- */
.fm-document-library .fm-dl-toolbar{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:6px 20px;margin:0 0 10px;
}
.fm-document-library .fm-dl-toolbar .fm-sp-section{margin:0;}
.fm-document-library .fm-dl-card + .fm-dl-toolbar{margin-top:28px;}

/* --- Sortable column headings --- */
.fm-document-library .fm-dl-sort:link,
.fm-document-library .fm-dl-sort:visited{
	display:inline-flex;align-items:center;gap:6px;
	color:var(--fm-dl-ink);text-decoration:none;
}
.fm-document-library .fm-dl-sort:hover,
.fm-document-library .fm-dl-sort:focus-visible{
	color:var(--fm-dl-teal-dark);text-decoration:none;
}
.fm-document-library .fm-dl-sort-icon{
	flex:0 0 auto;color:var(--fm-dl-slate);
}
.fm-document-library th[aria-sort] .fm-dl-sort-icon{
	color:var(--fm-dl-teal-dark);
}

/* --- Search fields above each column --- */
.fm-document-library .fm-dl-filters th{
	padding:0 6px 8px;
}
.fm-document-library .fm-dl-input{
	-webkit-appearance:none;appearance:none;
	display:block;width:100%;height:30px;margin:0;padding:4px 6px;
	box-sizing:border-box;
	font-family:'IBM Plex Sans', Arial, sans-serif;
	font-size:12.5px;font-weight:400;line-height:1.2;
	text-transform:none;letter-spacing:normal;
	color:var(--fm-dl-ink);background:var(--fm-dl-surface);
	border:1px solid #D5D5CF;border-radius:6px;box-shadow:none;
	transition:border-color .12s, box-shadow .12s;
}
.fm-document-library .fm-dl-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none;}
.fm-document-library .fm-dl-input::placeholder{
	color:#9AA1AB;opacity:1;
}
.fm-document-library .fm-dl-input:focus{
	outline:none;border-color:var(--fm-dl-teal);
	box-shadow:0 0 0 3px rgba(14,124,134,.15);
}

/* --- Rows --- */
.fm-document-library .fm-dl-table tbody tr:hover{
	background:#EEF5F5;
}
.fm-document-library .fm-dl-empty-row td{
	padding:14px 12px;
	font-family:'IBM Plex Sans', Arial, sans-serif;
	font-size:13px;color:var(--fm-dl-slate);white-space:normal;
}
.fm-document-library .fm-dl-empty-row:hover{background:transparent;}

/* PDF link in the last column. */
.fm-document-library a.fm-dl-pdf:link,
.fm-document-library a.fm-dl-pdf:visited{
	display:inline-flex;align-items:center;justify-content:center;
	height:22px;padding:0 7px;box-sizing:border-box;
	font:500 11px/1 'IBM Plex Mono', monospace;
	color:var(--fm-dl-teal-dark);text-decoration:none;
	border:1px solid var(--fm-dl-line);border-radius:6px;background:var(--fm-dl-surface);
}
.fm-document-library a.fm-dl-pdf:hover,
.fm-document-library a.fm-dl-pdf:focus-visible{
	border-color:var(--fm-dl-teal);background:var(--fm-dl-teal);color:#fff;
}

/* Loading: fade the rows while the next page / search result is fetched. */
.fm-document-library tbody{transition:opacity .15s;}
.fm-document-library.fm-dl-loading tbody{opacity:.45;}

/* --- Count + pager --- */
.fm-document-library .fm-dl-footer{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:10px 16px;padding:10px 12px;
	border-top:1px solid var(--fm-dl-line);
	font-size:12.5px;color:var(--fm-dl-slate);
}
.fm-document-library .fm-dl-reset{margin-left:10px;}

.fm-document-library .fm-dl-pagination{
	display:flex;flex-wrap:wrap;align-items:center;gap:4px;
}
.fm-document-library .fm-dl-page{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:30px;height:30px;padding:0 8px;box-sizing:border-box;
	font-family:'IBM Plex Mono', monospace;font-size:12px;line-height:1;
	color:var(--fm-dl-ink);background:var(--fm-dl-surface);
	border:1px solid var(--fm-dl-line);border-radius:6px;
}
.fm-document-library a.fm-dl-page:link,
.fm-document-library a.fm-dl-page:visited{
	color:var(--fm-dl-ink);text-decoration:none;
}
.fm-document-library a.fm-dl-page:hover,
.fm-document-library a.fm-dl-page:focus-visible{
	border-color:var(--fm-dl-teal);color:var(--fm-dl-teal-dark);text-decoration:none;
}
.fm-document-library .fm-dl-page.is-current{
	background:var(--fm-dl-teal);border-color:var(--fm-dl-teal);color:#fff;font-weight:500;
}
.fm-document-library .fm-dl-page.is-gap{
	border-color:transparent;background:transparent;min-width:18px;padding:0 2px;
}
.fm-document-library .fm-dl-page.is-disabled{opacity:.4;}
.fm-document-library .fm-dl-step{font-family:'IBM Plex Sans', Arial, sans-serif;font-size:15px;}

/* The search button only exists so Enter submits the form without JavaScript. */
.fm-document-library .fm-dl-sr-only{
	position:absolute!important;width:1px!important;height:1px!important;
	margin:-1px!important;padding:0!important;overflow:hidden!important;
	clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;
}

.fm-document-library .fm-dl-form{margin:0;}

/* --- Single document page --- */
.fm-document-library .fm-dl-meta td.fm-dl-meta-label{
	font-family:'IBM Plex Sans', Arial, sans-serif;font-size:13px;font-weight:500;
	color:var(--fm-dl-slate);
}
.fm-document-library .fm-dl-text{
	padding:12px 14px;
	font-family:'IBM Plex Sans', Arial, sans-serif;font-size:14px;line-height:1.55;
	color:var(--fm-dl-ink);
}
.fm-document-library .fm-dl-text p{margin:0 0 .7em;}
.fm-document-library .fm-dl-text p:last-child{margin-bottom:0;}

.fm-document-library .fm-dl-actions{
	display:flex;flex-wrap:wrap;gap:8px;margin:0 0 0 auto;
}
.fm-document-library a.fm-dl-button:link,
.fm-document-library a.fm-dl-button:visited{
	display:inline-flex;align-items:center;height:30px;padding:0 12px;box-sizing:border-box;
	font:500 12.5px/1 'IBM Plex Sans', Arial, sans-serif;
	color:#fff;background:var(--fm-dl-teal);text-decoration:none;
	border:1px solid var(--fm-dl-teal);border-radius:6px;
}
.fm-document-library a.fm-dl-button:hover,
.fm-document-library a.fm-dl-button:focus-visible{
	background:var(--fm-dl-teal-dark);border-color:var(--fm-dl-teal-dark);color:#fff;
}
.fm-document-library a.fm-dl-button.is-secondary:link,
.fm-document-library a.fm-dl-button.is-secondary:visited{
	color:var(--fm-dl-ink);background:var(--fm-dl-surface);border-color:var(--fm-dl-line);
}
.fm-document-library a.fm-dl-button.is-secondary:hover,
.fm-document-library a.fm-dl-button.is-secondary:focus-visible{
	color:var(--fm-dl-teal-dark);border-color:var(--fm-dl-teal);background:var(--fm-dl-surface);
}

.fm-document-library .fm-dl-preview{overflow:hidden;}
.fm-document-library .fm-dl-preview object{
	display:block;width:100%;height:80vh;min-height:520px;border:0;
}
@media (max-width:600px){
	.fm-document-library .fm-dl-preview object{height:70vh;min-height:400px;}
	.fm-document-library .fm-dl-meta td.fm-dl-meta-label{width:100px!important;}
}

.fm-document-library .fm-dl-draft{
	padding:8px 12px;margin:0 0 14px;
	font-family:'IBM Plex Sans', Arial, sans-serif;font-size:13px;
	border-left:4px solid #DBA617;background:#FCF9E8;
}
.fm-document-library .fm-dl-back{
	margin:14px 0 0;font-size:13px;
}
