/**
 * MOL-GOD Spectra Databases — 9-source inline accordion.
 */
.spdb-accordion { background:#fff; border:1px solid #e5e7eb; border-radius:12px; margin:14px 0; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.spdb-accordion > summary { padding:14px 20px; font-size:15px; font-weight:600; color:#1a1d2e; cursor:pointer; list-style:none; display:flex; align-items:center; gap:8px; user-select:none; }
.spdb-badge { margin-left:auto; font-size:10px; background:#dbeafe; color:#1e40af; padding:2px 8px; border-radius:4px; font-weight:700; }
.spdb-content { padding:16px 20px; }
.spdb-intro { margin:0 0 16px; color:#475569; font-size:13px; line-height:1.5; padding:12px; background:#eff6ff; border-left:4px solid #3b82f6; border-radius:6px; }

.spdb-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:14px; }

.spdb-card { background:#fff; border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .15s, transform .15s; }
.spdb-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); transform:translateY(-1px); }

.spdb-card-head { display:flex; align-items:flex-start; gap:8px; padding:12px 14px; background:#f8fafc; border-bottom:1px solid #e2e8f0; }
.spdb-head-left { flex:1; display:flex; flex-direction:column; gap:2px; }
.spdb-label { font-size:14px; font-weight:700; line-height:1.2; }
.spdb-full-name { font-size:11px; color:#64748b; line-height:1.3; }
.spdb-license { font-size:9px; color:#94a3b8; background:#f1f5f9; padding:2px 6px; border-radius:3px; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }

.spdb-chart-wrap { position:relative; padding:10px; background:#fafbfc; }
.spdb-canvas { display:block; width:100%; height:200px; background:#fff; border:1px solid #e5e7eb; border-radius:4px; }
.spdb-overlay { position:absolute; inset:10px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.9); border-radius:4px; color:#64748b; font-size:13px; font-weight:500; text-align:center; padding:8px; }
.spdb-overlay[hidden] { display:none; }
.spdb-empty { color:#94a3b8; cursor:pointer; }
.spdb-error { background:rgba(254,242,242,0.95); color:#991b1b; font-weight:600; }
.spdb-loading { color:#2563eb; }

.spdb-actions { display:flex; gap:4px; flex-wrap:wrap; padding:10px 14px; background:#f9fafb; border-top:1px solid #e2e8f0; }
.spdb-btn { appearance:none; -webkit-appearance:none; border:1px solid #cbd5e1; background:#fff; color:#334155; padding:5px 9px; border-radius:5px; font-size:11px; font-weight:600; cursor:pointer; text-decoration:none; transition:background .15s, color .15s, border-color .15s; font-family:inherit; line-height:1.2; }
.spdb-btn:hover:not(:disabled) { background:#eff6ff; color:#1e40af; border-color:#93c5fd; }
.spdb-btn:disabled { opacity:.4; cursor:not-allowed; }
.spdb-btn-load { background:linear-gradient(135deg,#3b82f6,#2563eb); color:#fff; border-color:#2563eb; }
.spdb-btn-load:hover:not(:disabled) { background:linear-gradient(135deg,#2563eb,#1d4ed8); color:#fff; border-color:#1d4ed8; }
.spdb-btn-external { margin-left:auto; background:#fef3c7; border-color:#fcd34d; color:#78350f; }
.spdb-btn-external:hover { background:#fde68a; color:#78350f; }

.spdb-meta { display:flex; gap:8px; align-items:center; padding:8px 14px; background:#f9fafb; border-top:1px solid #e2e8f0; font-size:11px; color:#64748b; }
.spdb-points { font-weight:600; }
.spdb-cache-badge { background:#d1fae5; color:#065f46; padding:2px 8px; border-radius:3px; font-weight:700; font-size:10px; }

.spdb-ref-only { padding:20px 14px; background:#fafbfc; text-align:center; flex:1; display:flex; flex-direction:column; justify-content:center; }
.spdb-ref-text { margin:0 0 12px; font-size:12px; color:#64748b; line-height:1.4; }
.spdb-btn-external-big { padding:10px 18px; background:linear-gradient(135deg,#f59e0b,#d97706); color:#fff; border:none; border-radius:6px; font-size:13px; font-weight:700; text-decoration:none; display:inline-block; transition:transform .15s, box-shadow .15s; }
.spdb-btn-external-big:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(245,158,11,.3); color:#fff; }

.spdb-citation { display:flex; align-items:center; gap:6px; padding:8px 14px; background:#fff; border-top:1px solid #e2e8f0; font-size:10px; color:#64748b; line-height:1.4; }
.spdb-cite-icon { font-size:12px; }
.spdb-cite-text { flex:1; }
.spdb-doi { color:#2563eb; text-decoration:none; font-weight:600; font-family:'Courier New',monospace; font-size:10px; }
.spdb-doi:hover { text-decoration:underline; }

.spdb-footer { margin:16px 0 0; padding:10px 12px; background:#f0fdf4; border-left:4px solid #10b981; border-radius:6px; font-size:11px; color:#065f46; line-height:1.5; }

@media (max-width:640px) {
    .spdb-grid { grid-template-columns:1fr; }
    .spdb-card-head { flex-direction:column; }
    .spdb-license { align-self:flex-start; }
    .spdb-actions { flex-wrap:wrap; }
    .spdb-btn-external { margin-left:0; width:100%; text-align:center; }
}

@media print {
    .spdb-actions, .spdb-btn-external { display:none !important; }
    .spdb-card { page-break-inside:avoid; border:1px solid #000 !important; }
}
