/* Shared table + pager styling for the journal list views:
   the shareable filtered-list page (list.astro) and the saved-journals library (saved.astro). */
.ltable{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(2,6,23,.05)}
.ltable th{background:#0B4F6C;color:#fff;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:11px 14px;white-space:nowrap}
.ltable td{padding:12px 14px;border-top:1px solid #eef2f6;vertical-align:top;font-size:.9rem;color:#0f172a}
.ltable tbody tr:hover{background:#f8fafc}
.lt-title{font-weight:700;color:#0f172a;text-decoration:none}
.lt-title:hover{color:#0e7490;text-decoration:underline;text-underline-offset:2px}
.lt-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.lt-badge{display:inline-flex;align-items:center;border-radius:999px;padding:1px 8px;font-size:.66rem;font-weight:800;color:#fff}
.lt-issn{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap}
.lt-pub{color:#475569}
.lt-oa .yes{color:#15803d;font-weight:700}
.lt-visit{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700;color:#0e7490;text-decoration:none;white-space:nowrap;border:1px solid #cffafe;background:#ecfeff;padding:4px 10px;border-radius:999px}
.lt-visit:hover{background:#0e7490;color:#fff;border-color:#0e7490}
.lt-none{color:#cbd5e1}
.lt-titlecell{display:flex;align-items:flex-start;gap:8px}
.lt-star{flex:none;width:26px;height:26px;display:inline-grid;place-items:center;border-radius:7px;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;cursor:pointer;padding:0;margin-top:1px;transition:color .15s,border-color .15s,background .15s}
.lt-star:hover{color:#f59e0b;border-color:#fcd34d}
.lt-star.is-saved{color:#f59e0b;border-color:#fcd34d;background:color-mix(in srgb,#f59e0b 12%,transparent)}
.lt-star svg{width:15px;height:15px}
.lt-grp{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700;background:#eef4f7;color:#0B4F6C;border:1px solid #d6e4ea;white-space:nowrap}
.lt-act{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700;border-radius:999px;padding:4px 10px;cursor:pointer;background:#fff;border:1px solid #e2e8f0;color:#475569;white-space:nowrap;transition:color .15s,background .15s,border-color .15s}
.lt-act svg{width:14px;height:14px}
.lt-act.move:hover{color:#fff;background:#475569;border-color:#475569}
.lt-act.remove{color:#94a3b8}
.lt-act.remove:hover{color:#fff;background:#e11d48;border-color:#e11d48}
.lt-actions{display:flex;gap:6px;flex-wrap:wrap}
.lt-wrap{overflow-x:auto}
.lt-chip{display:inline-flex;align-items:center;gap:5px;background:#eef4f7;color:#0B4F6C;border:1px solid #d6e4ea;border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:700}
.lpager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.lpager .nums{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.lpager button{border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:8px;padding:6px 11px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.lpager button:hover:not(:disabled){border-color:#67e8f9;background:#ecfeff}
.lpager button.on{background:#0B4F6C;color:#fff;border-color:#0B4F6C}
.lpager button:disabled{opacity:.4;cursor:default}
.lpager .per{display:flex;align-items:center;gap:6px;color:#64748b;font-size:.82rem}
.lpager .ell{color:#94a3b8;padding:0 2px}
.l-empty{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:16px;padding:36px 20px;text-align:center;color:#64748b}
/* group tabs (saved library) */
.gtabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 14px}
.gtab{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-weight:700;font-size:.86rem;cursor:pointer;transition:color .15s,background .15s,border-color .15s}
.gtab:hover{border-color:#67e8f9;background:#ecfeff}
.gtab.on{background:#0B4F6C;color:#fff;border-color:#0B4F6C}
.gtab .n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:800}
.gtab.on .n{background:rgba(255,255,255,.25);color:#fff}
