.gfm-overview-wrap { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; max-width: 100%; margin: 0 auto; }
.gfm-overview-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.gfm-overview-title { font-size: 20px; font-weight: 700; color: #1a3a5c; margin: 0; }
.gfm-overview-controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gfm-search { padding: 8px 12px; border: 1.5px solid #dde1e7; border-radius: 6px; font-size: 14px; min-width: 180px; outline: none; transition: border-color .2s; }
.gfm-search:focus { border-color: #2271b1; }
.gfm-cat-filter { padding: 8px 12px; border: 1.5px solid #dde1e7; border-radius: 6px; font-size: 14px; background: #fff; outline: none; cursor: pointer; }
.gfm-pdf-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 16px; background: #2271b1; color: #fff; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .2s; }
.gfm-pdf-btn:hover { background: #135e96; }
.gfm-table-wrap { overflow-x: auto; border: 1px solid #dde1e7; border-radius: 8px; }
.gfm-overview-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gfm-overview-table thead tr { background: #1a3a5c; color: #fff; }
.gfm-overview-table thead th { padding: 11px 14px; text-align: left; font-weight: 600; white-space: nowrap; user-select: none; }
.gfm-sortable { cursor: pointer; }
.gfm-sortable:hover { background: #2271b1; }
.gfm-sort-icon::after { content: ' ⇅'; opacity: .5; font-size: 14px; }
.gfm-sort-asc .gfm-sort-icon::after  { content: ' ↑'; opacity: 1; }
.gfm-sort-desc .gfm-sort-icon::after { content: ' ↓'; opacity: 1; }
.gfm-overview-table tbody tr { border-bottom: 1px solid #eef0f3; transition: background .1s; }
.gfm-overview-table tbody tr:last-child { border-bottom: none; }
.gfm-overview-table tbody tr:nth-child(even) { background: #f8fafc; }
.gfm-overview-table tbody tr:hover { background: #e8f2fc; }
.gfm-overview-table td { padding: 10px 14px; vertical-align: top; color: #1a1a2e; line-height: 1.5; }
.gfm-overview-table td:first-child { min-width: 36px; }
.gfm-cat-badge { display: inline-block; padding: 2px 9px; border-radius: 20px; background: #e8f2fc; color: #1a3a5c; font-size: 12px; font-weight: 500; margin: 2px 3px 2px 0; }
.gfm-overview-footer { margin-top: 10px; font-size: 13px; color: #888; }
.gfm-overview-empty { color: #888; font-style: italic; }
.gfm-hidden { display: none !important; }

/* PDF print styles */
@media print {
    .gfm-overview-controls { display: none !important; }
    .gfm-overview-table thead tr { background: #1a3a5c !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .gfm-overview-table tbody tr:nth-child(even) { background: #f8fafc !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .gfm-cat-badge { background: #e8f2fc !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .gfm-table-wrap { border: none; overflow: visible; }
    body * { visibility: hidden; }
    .gfm-overview-wrap, .gfm-overview-wrap * { visibility: visible; }
    .gfm-overview-wrap { position: absolute; left: 0; top: 0; width: 100%; }
}
