/* Реестр защит диссертаций. Все стили внутри .dr-registry, чтобы не задеть шаблон сайта. */
.dr-registry {
    --dr-accent: #1f4e8c;
    --dr-border: #d9dee6;
    --dr-muted: #5f6b7a;
    --dr-bg-soft: #f4f6f9;
    margin: 0 0 32px;
    font-size: 15px;
    line-height: 1.45;
}
.dr-registry *, .dr-registry *::before, .dr-registry *::after { box-sizing: border-box; }

/* ---- фильтр */
.dr-filter {
    display: grid;
    grid-template-columns: 130px 150px minmax(200px, 1fr);
    gap: 12px 16px;
    align-items: end;
    padding: 16px 18px;
    margin: 0 0 16px;
    background: var(--dr-bg-soft);
    border: 1px solid var(--dr-border);
    border-radius: 6px;
}
.dr-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dr-field--search { grid-column: 1 / 3; }
.dr-field label { font-size: 13px; color: var(--dr-muted); font-weight: 600; }
.dr-field select,
.dr-field input {
    width: 100%;
    /*height: 38px;*/
    padding: 6px 10px;
    font: inherit;
    color: #1d232b;
    background: #fff;
    border: 1px solid #c3cad4;
    border-radius: 4px;
}
.dr-field select:focus,
.dr-field input:focus { outline: 2px solid var(--dr-accent); outline-offset: 0; border-color: var(--dr-accent); }
.dr-actions { display: flex; align-items: center; gap: 14px; margin-left: 20px;}
.dr-btn {
    height: 38px;
    padding: 0 20px;
    font: inherit;
    font-weight: 600;
    color: #fff;
    background: var(--dr-accent);
    border: 0;
    border-radius: 4px;
    cursor: pointer;
}
.dr-btn:hover { filter: brightness(1.1); }
.dr-reset {
    height: 38px; padding: 0 16px; font: inherit; color: var(--dr-accent);
    background: #fff; border: 1px solid var(--dr-accent); border-radius: 4px; cursor: pointer; white-space: nowrap;
}
.dr-reset:hover { background: var(--dr-bg-soft); }
.dr-registry [hidden] { display: none !important; }

.dr-count { margin: 0 0 10px; color: var(--dr-muted); scroll-margin-top: 90px; }
.dr-count strong { color: #1d232b; }
.dr-empty { padding: 24px; text-align: center; background: var(--dr-bg-soft); border-radius: 6px; }

/* ---- таблица */
.dr-table-wrap { width: 100%; }
.dr-table { width: 100%; border-collapse: collapse; }
.dr-table th,
.dr-table td {
    padding: 10px 10px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--dr-border);
}
.dr-table thead th {
    font-size: 13px;
    font-weight: 600;
    color: var(--dr-muted);
    background: var(--dr-bg-soft);
    border-bottom: 2px solid var(--dr-border);
}
.dr-table tbody tr:hover { background: #fafbfd; }
.dr-c-num { width: 40px; color: var(--dr-muted); }
.dr-c-date { width: 100px; white-space: nowrap; }
.dr-c-council { width: 120px; white-space: nowrap; }
.dr-name { display: block; font-weight: 600; }
.dr-sub { display: block; margin-top: 4px; font-size: 13px; color: var(--dr-muted); }

/* ---- страницы */
.dr-pager { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0 0; }
.dr-pager button,
.dr-pager span {
    font: inherit; background: #fff; cursor: pointer;
    min-width: 36px;
    padding: 6px 10px;
    text-align: center;
    border: 1px solid var(--dr-border);
    border-radius: 4px;
    text-decoration: none;
}
.dr-pager button { color: var(--dr-accent); }
.dr-pager button:hover { background: var(--dr-bg-soft); }
.dr-pager .dr-cur { color: #fff; background: var(--dr-accent); border-color: var(--dr-accent); }
.dr-pager .dr-gap { border-color: transparent; cursor: default; }
.dr-pager .dr-cur { cursor: default; }

/* ---- планшет */
@media (max-width: 900px) {
    .dr-filter { grid-template-columns: 1fr 1fr; }
    .dr-field--wide, .dr-field--search { grid-column: 1 / -1; }
}

/* ---- телефон: строки таблицы превращаются в карточки */
@media (max-width: 700px) {
    .dr-filter { grid-template-columns: 1fr; padding: 14px; }
    .dr-actions { flex-wrap: wrap; }
    .dr-reset { flex: 1; }
    .dr-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .dr-table, .dr-table tbody, .dr-table tr, .dr-table td { display: block; width: 100%; }
    .dr-table tr {
        margin: 0 0 12px;
        padding: 6px 14px;
        border: 1px solid var(--dr-border);
        border-radius: 6px;
    }
    .dr-table td { padding: 6px 0; border: 0; white-space: normal; }
    .dr-table td + td { border-top: 1px dashed var(--dr-border); }
    .dr-table td::before {
        content: attr(data-label);
        display: block;
        font-size: 12px;
        color: var(--dr-muted);
    }
    .dr-table td.dr-c-num { display: none; }
    .dr-table td.dr-c-date { border-top: 0; }
}

.dr-updated { margin: 12px 0 0; font-size: 13px; color: #5f6b7a; }
.dr-admin-note {
    margin: 0 0 16px; padding: 12px 16px; font-size: 14px;
    background: #fff8e1; border: 1px solid #f0d27a; border-radius: 6px;
}
.dr-admin-note p { margin: 6px 0; }
.dr-admin-note ul { margin: 4px 0 0; padding-left: 20px; }
