/* ===== SVSP Frontend v1.0.1 ===== */

.svsp-block { font-family: inherit; margin: 24px 0; }

.svsp-title {
    font-size: 1.35em; font-weight: 700;
    margin: 0 0 8px; color: #1e293b;
}
.svsp-description {
    font-size: 0.95em; color: #475569;
    margin: 0 0 16px; line-height: 1.6;
}

/* ── Dropdown ── */
.svsp-select-wrapper {
    border: 1px solid #e2e8f0; border-radius: 10px;
    overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.06); background: #fff;
}
.svsp-search-box { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; background: #f8fafc; }
.svsp-search-input {
    width: 100%; padding: 9px 12px;
    border: 1px solid #e2e8f0; border-radius: 6px;
    font-size: 14px; color: #1e293b; background: #fff;
    box-sizing: border-box; outline: none; transition: border-color .2s;
}
.svsp-search-input:focus { border-color: #2271b1; box-shadow: 0 0 0 3px rgba(34,113,177,.12); }
.svsp-dropdown-list { max-height: 300px; overflow-y: auto; }
.svsp-dropdown-item {
    display: block; padding: 11px 16px; font-size: 14px; color: #1e293b;
    text-decoration: none; border-bottom: 1px solid #f1f5f9;
    transition: background .15s, color .15s;
}
.svsp-dropdown-item:last-child { border-bottom: none; }
.svsp-dropdown-item:hover { background: #eff6ff; color: #1d4ed8; }
.svsp-dropdown-item.svsp-hidden { display: none; }

/* ── Table ── */
.svsp-table-wrapper {
    overflow-x: auto; border-radius: 10px;
    border: 1px solid #e2e8f0; box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.svsp-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.svsp-table thead tr { background: #1e293b; color: #fff; }
.svsp-table th { padding: 12px 16px; text-align: left; font-weight: 600; font-size: 13px; letter-spacing: .02em; }
.svsp-table td { padding: 11px 16px; border-bottom: 1px solid #f1f5f9; color: #374151; }
.svsp-table tbody tr:last-child td { border-bottom: none; }
.svsp-table tbody tr:hover td { background: #f8fafc; }
.svsp-table td:first-child { font-weight: 600; color: #94a3b8; width: 50px; }
.svsp-read-more {
    display: inline-block; padding: 5px 14px;
    background: #2271b1; color: #fff !important;
    border-radius: 5px; font-size: 13px; font-weight: 600;
    text-decoration: none !important; transition: background .15s;
}
.svsp-read-more:hover { background: #135e96; }

/* ── List ── */
.svsp-page-list { list-style: none; margin: 0; padding: 0; }
.svsp-list-item {
    display: flex; align-items: baseline; gap: 10px;
    padding: 10px 14px; border-bottom: 1px solid #f1f5f9;
    background: #fff; transition: background .15s;
}
.svsp-list-item:first-child { border-radius: 8px 8px 0 0; border: 1px solid #e2e8f0; border-bottom: none; }
.svsp-list-item:last-child  { border-radius: 0 0 8px 8px; border: 1px solid #e2e8f0; border-top: none; }
.svsp-list-item:not(:first-child):not(:last-child) { border-left: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; }
.svsp-list-item:hover { background: #f8fafc; }
.svsp-list-num {
    min-width: 26px; height: 26px; line-height: 26px; text-align: center;
    background: #e0e7ff; color: #3730a3; border-radius: 50%;
    font-size: 12px; font-weight: 700; flex-shrink: 0;
}
.svsp-list-link {
    font-size: 14px; color: #1e293b; text-decoration: none; line-height: 1.5;
    transition: color .15s;
}
.svsp-list-link:hover { color: #2271b1; text-decoration: underline; }

/* ── Search box outside wrapper (table / list) ── */
.svsp-table-block .svsp-search-box,
.svsp-list-block  .svsp-search-box {
    margin-bottom: 10px;
    padding: 0;
    border: none;
    background: transparent;
}
.svsp-table-block .svsp-search-input,
.svsp-list-block  .svsp-search-input {
    max-width: 360px;
    display: block;
}

/* ── No results ── */
.svsp-no-results {
    font-size: 13px;
    color: #94a3b8;
    font-style: italic;
    margin: 10px 0 0;
    padding: 10px 14px;
    background: #f8fafc;
    border: 1px dashed #e2e8f0;
    border-radius: 6px;
}
