/* Tests hub pages (extends study-hub.css) */
.th-tabs{grid-template-columns:repeat(6,1fr);max-width:1100px;gap:8px}
.th-tabs .sh-tab{padding:10px 10px;gap:8px}.th-tabs .sh-tab b{font-size:13px}.th-tabs .sh-tab small{font-size:10.5px}
.th-wrap{max-width:1100px}
.th-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:10px;margin:0 auto 18px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.th-search{flex:1 1 200px;min-width:0;display:flex;align-items:center;gap:8px;padding:0 10px}
.th-search i{color:var(--muted);font-size:19px}.th-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:14.5px;padding:9px 0;color:var(--ink)}
.th-filters select{flex:0 1 150px;min-width:0;border:1.5px solid var(--border);border-radius:11px;background:#F8FAFD;padding:9px 10px;font-size:13.5px;color:var(--ink)}
.th-filters button{border:0;background:var(--blue);color:#fff;font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:11px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.th-clear{font-size:13px;font-weight:700;color:var(--muted);text-decoration:none;display:inline-flex;gap:4px;align-items:center}
.th-count{color:var(--muted);font-size:13.5px;margin:0 2px 12px;font-weight:600}
.th-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.th-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.2s}
.th-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c)}
.th-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.10);border-color:var(--c)}
.th-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.th-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.th-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--bg);color:var(--c);padding:4px 10px;border-radius:99px}
.th-ai{font-size:11px;font-weight:800;background:#F5F3FF;color:#7C3AED;padding:4px 9px;border-radius:99px}
.th-card h2{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 6px;line-height:1.35;overflow-wrap:anywhere}
.th-sub{font-size:12.5px;color:var(--muted);margin:0 0 12px;line-height:1.55}
.th-chips{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;color:var(--ink);margin-bottom:16px}
.th-chips span{display:inline-flex;align-items:center;gap:5px;font-weight:600}.th-chips i{color:var(--c)}
.th-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,#2563EB,#4F46E5);color:#fff;font-weight:700;font-size:14px;padding:11px 18px;border-radius:12px;text-decoration:none;transition:.15s}
.th-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.th-btn.ghost{background:#fff;color:var(--blue);border:1.5px solid #C9D8FF}
.th-pager{margin-top:26px;display:flex;justify-content:center}.th-pager svg{width:18px;height:18px}.th-pager nav{height:auto;padding:0;display:block;position:static}
.th-empty{text-align:center;background:#fff;border:1px dashed #C9D8FF;border-radius:20px;padding:40px 20px;max-width:620px;margin:10px auto}
.th-empty>i{font-size:42px;color:var(--blue)}.th-empty h2{font-size:20px;font-weight:800;color:var(--ink);margin:10px 0 6px}.th-empty p{color:var(--muted);margin:0 0 18px;font-size:14.5px;line-height:1.6}
.th-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.th-empty-actions .th-btn{margin-top:0}
.th-papers .pp-card{box-shadow:0 4px 16px rgba(15,23,42,.04)}
.th-totals{font-size:13px;color:var(--muted)}.th-totals b{color:var(--ink)}
.th-chlist{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px}
.th-ch{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:12px;min-width:0}.th-ch:hover{background:#F3F6FC}
.th-ch .num{width:32px;height:32px;border-radius:10px;background:#EFF4FF;color:var(--blue);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}
.th-ch .t{flex:1;min-width:0}.th-ch .t b{display:block;font-size:14px;color:var(--ink);font-weight:600;line-height:1.35;overflow-wrap:anywhere;margin-bottom:6px}
.th-links{display:flex;flex-wrap:wrap;gap:6px}
.th-links a{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--blue);background:#EFF4FF;border:1px solid #D6E3FF;padding:4px 10px;border-radius:99px;text-decoration:none}
.th-links a:hover{background:var(--blue);color:#fff}.th-links small{color:var(--muted);font-size:12px}
.th-ch.is-empty .num{background:#F1F5F9;color:var(--muted)}
@media(max-width:1100px){.th-tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){.th-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .th-tabs{grid-template-columns:repeat(2,1fr)}
  .th-grid,.th-chlist{grid-template-columns:1fr}
  .th-filters{padding:8px}.th-search{flex-basis:100%}.th-filters select{flex:1 1 44%}.th-filters button{flex:1 1 100%;justify-content:center}
}

.th-lock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#1E40AF;background:#EFF4FF;border:1px solid #D6E3FF;padding:9px 12px;border-radius:11px}
.th-paid{font-size:11px;font-weight:800;background:#FFF7ED;color:#C2410C;padding:4px 9px;border-radius:99px}
.th-status{font-size:12px;font-weight:700;margin:-4px 0 10px;color:var(--muted)}
.th-status.st-in_progress{color:#B45309}.th-status.st-completed{color:#15803D}.th-status.st-limit_reached,.th-status.st-closed{color:#B91C1C}
