/* Shared styles for international surveillance & PubMed search widgets */
.vt-muted { color: #627d98; font-size: 0.875rem; line-height: 1.5; }
.vt-hint { font-weight: 400; color: #829ab1; }
.vt-mt { margin-top: 1rem; }
.vt-label { display: block; font-size: 0.875rem; font-weight: 600; color: #334e68; margin-bottom: 0.35rem; }
.vt-label-inline { font-size: 0.8rem; font-weight: 600; color: #486581; margin-left: 0.75rem; }
.vt-input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #bcccdc;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}
.vt-input:focus { outline: 2px solid #829ab1; outline-offset: 1px; }
.vt-input-sm { width: 6rem; display: inline-block; margin-bottom: 0; margin-left: 0.35rem; }
.vt-scope-select { max-width: 28rem; }
.vt-scope-hint { margin: -0.35rem 0 0.85rem; font-size: 0.8rem; }
.vt-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; }
.vt-check { font-size: 0.8rem; color: #486581; display: flex; align-items: center; gap: 0.35rem; }
.vt-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.vt-btn {
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s, border-color 0.15s;
}
.vt-btn-primary { background: #334e68; color: #fff; border-color: #334e68; }
.vt-btn-primary:hover { background: #243b53; }
.vt-btn-secondary { background: #fff; color: #334e68; border-color: #bcccdc; }
.vt-btn-secondary:hover { border-color: #829ab1; background: #f0f4f8; }
.vt-status { font-size: 0.8rem; color: #486581; min-height: 1.25rem; margin-bottom: 0.5rem; }
.vt-status.vt-error { color: #991b1b; }
.vt-count { margin-bottom: 0.75rem; }
.vt-results { list-style: none; padding: 0; margin: 0; }
.vt-result-item {
    padding: 0.75rem 0;
    border-bottom: 1px solid #e2e8f0;
}
.vt-result-item:last-child { border-bottom: none; }
.vt-result-title { display: block; font-weight: 600; color: #1d4ed8; text-decoration: none; font-size: 0.9rem; line-height: 1.4; }
.vt-result-title:hover { text-decoration: underline; }
.vt-result-meta { display: block; font-size: 0.78rem; color: #627d98; margin-top: 0.2rem; }
.vt-subheading { font-size: 1rem; font-weight: 600; color: #334e68; margin: 1.25rem 0 0.5rem; }
.vt-curated-primary { margin-bottom: 1.25rem; }
.vt-curated-heading { font-size: 1.1rem; font-weight: 700; color: #243b53; margin: 0 0 0.35rem; }
.vt-curated-by-ae { display: flex; flex-direction: column; gap: 1rem; }
.vt-ae-group {
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
    background: #fff;
    overflow: hidden;
}
.vt-ae-group-title {
    margin: 0;
    padding: 0.65rem 1rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: #334e68;
    background: linear-gradient(180deg, #f0f4f8 0%, #f7fafc 100%);
    border-bottom: 1px solid #e2e8f0;
}
.vt-ae-empty { margin: 0; padding: 0.85rem 1rem; font-size: 0.82rem; color: #829ab1; font-style: italic; }
.vt-lit-card {
    padding: 0.85rem 1rem;
    border-top: 1px solid #edf2f7;
    font-size: 0.85rem;
}
.vt-lit-card:first-of-type { border-top: none; }
.vt-lit-card-head { margin-bottom: 0.35rem; }
.vt-lit-title {
    display: block;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
    line-height: 1.4;
    font-size: 0.92rem;
}
.vt-lit-title:hover { text-decoration: underline; }
.vt-lit-type {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.vt-lit-type-case-report { background: #dbeafe; color: #1e40af; }
.vt-lit-type-case-series { background: #e0e7ff; color: #3730a3; }
.vt-lit-type-observational { background: #ede9fe; color: #5b21b6; }
.vt-lit-type-review { background: #ccfbf1; color: #0f766e; }
.vt-lit-type-safety-literature { background: #e2e8f0; color: #334e68; }
.vt-vax-link-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    background: #ecfdf5;
    color: #047857;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.vt-search-panel {
    border: 1px solid #bcccdc;
    border-radius: 0.65rem;
    background: #f7fafc;
}
.vt-search-panel-summary {
    padding: 0.75rem 1rem;
    font-weight: 600;
    font-size: 0.9rem;
    color: #334e68;
    cursor: pointer;
    list-style: none;
}
.vt-search-panel-summary::-webkit-details-marker { display: none; }
.vt-search-panel-body { padding: 0 1rem 1rem; border-top: 1px solid #e2e8f0; }
.vt-search-ae-chips { margin-bottom: 0.75rem; align-items: center; }
.vt-search-chips-label { font-size: 0.78rem; font-weight: 600; color: #486581; margin-right: 0.35rem; }
.vt-curated-list { list-style: none; padding: 0; margin: 0; }
.vt-curated-item {
    padding: 0.75rem;
    margin-bottom: 0.5rem;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    font-size: 0.85rem;
}
.vt-curated-meta { color: #627d98; margin: 0.25rem 0; }
.vt-curated-finding, .vt-curated-limit { margin: 0.35rem 0 0; color: #334e68; line-height: 1.45; }
.vt-surveillance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}
.vt-surveillance-card {
    display: block;
    padding: 0.85rem 1rem;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, box-shadow 0.15s;
    position: relative;
}
.vt-surveillance-card:hover {
    border-color: #829ab1;
    box-shadow: 0 2px 8px rgba(36, 59, 83, 0.08);
}
.vt-surveillance-region { display: block; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em; color: #829ab1; font-weight: 600; }
.vt-surveillance-name { display: block; font-size: 0.95rem; font-weight: 600; color: #243b53; margin: 0.15rem 0; }
.vt-surveillance-desc { display: block; font-size: 0.78rem; color: #627d98; line-height: 1.4; padding-right: 1.25rem; }
.vt-surveillance-arrow { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); color: #829ab1; font-size: 1rem; }
.vt-ae-intro { margin: 0 0 0.65rem; }
.vt-ae-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1rem; }
.vt-ae-chip {
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid #bcccdc;
    background: #fff;
    color: #334e68;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    line-height: 1.3;
    text-align: left;
}
.vt-ae-chip:hover { border-color: #829ab1; background: #f0f4f8; }
.vt-ae-chip-active { background: #334e68; color: #fff; border-color: #334e68; }
.vt-ae-chip-active:hover { background: #243b53; border-color: #243b53; }
.vt-ae-badge-row { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.4rem; }
.vt-ae-badge {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    background: #e2e8f0;
    color: #334e68;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.vt-published-aes { margin-bottom: 0.25rem; }
.vt-disclaimer {
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 0.8rem;
    color: #5d4037;
    margin-bottom: 1rem;
    line-height: 1.5;
}