/**
 * EDMS UPSC — UI modern 2.3
 * Strat vizual peste Bootstrap — clar, aerisit, contemporan
 */

.edms-ui-modern {
    --edms-primary: #222f7e;
    --edms-primary-hover: #222f7e;
    --edms-primary-soft: #f7f7f7;
    --edms-accent: #222f7e;
    --edms-bg: #f7f7f7;
    --edms-surface: #ffffff;
    --edms-border: #222f7e;
    --edms-text: #000000;
    --edms-muted: rgba(0, 0, 0, 0.55);
    --edms-radius: 12px;
    --edms-shadow: none;
    --edms-scroll-size: 6px;
    --edms-scroll-thumb: #222f7e;
    --edms-scroll-thumb-hover: #222f7e;
    --edms-scroll-track: #f7f7f7;
    --bs-primary: #222f7e;
    --bs-primary-rgb: 34, 47, 126;
    --bs-body-bg: #f7f7f7;
    --bs-body-color: #000000;
    --bs-border-radius: 0.5rem;
    --bs-border-color: #222f7e;
    font-feature-settings: "kern" 1, "liga" 1;
}

/* Fundal aplicație */
.edms-ui-modern.edms-app {
    background: var(--edms-bg);
}

/* ─── Sidebar STISC ─── */
.edms-ui-modern .edms-sidebar {
    background: var(--edms-ink, #222f7e);
    border-right: 1px solid var(--edms-ink, #222f7e);
}
.edms-ui-modern .edms-stisc-nav .nav-link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #ffffff !important;
    border-radius: 0;
    margin: 0;
    border-right: none;
}
.edms-ui-modern .edms-stisc-nav .nav-link:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1);
}
.edms-ui-modern .edms-stisc-nav .nav-item.active > .nav-link,
.edms-ui-modern .edms-stisc-nav .nav-link.active,
.edms-ui-modern .edms-stisc-nav .edms-side-item.is-open > .edms-side-toggle {
    color: var(--edms-ink, #222f7e) !important;
    background: #fff;
    box-shadow: inset 3px 0 0 var(--edms-ink, #222f7e);
}
.edms-ui-modern .edms-page-header-bar {
    background: #ffffff;
    border-bottom: 1px solid var(--edms-ink, #222f7e);
}
.edms-ui-modern .edms-navbar-tools {
    border-top-color: transparent;
}
.edms-ui-modern .edms-page-header-tools.edms-navbar-tools {
    border-top: none;
}
.edms-ui-modern .edms-nav-tool {
    color: var(--edms-ink);
}
.edms-ui-modern .edms-nav-tool:hover {
    background: var(--edms-page);
    color: var(--edms-ink-hover, #1a2463);
}
.edms-ui-modern .edms-nav-guide {
    color: var(--edms-ink);
}
.edms-ui-modern .register-page-stisc {
    height: calc(100vh - var(--edms-nav-h) - var(--edms-footer-h));
}
.edms-ui-modern .edms-stisc-dropdown {
    border-radius: 0;
    border: none;
    box-shadow: none;
}
.edms-ui-modern .edms-stisc-dropdown .dropdown-item {
    border-radius: 0;
    font-size: 0.75rem;
}
.edms-ui-modern .edms-stisc-dropdown:not(.edms-stisc-dropdown-menu) .dropdown-item:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}
.edms-ui-modern .edms-stisc-dropdown-menu .edms-stisc-menu-item:hover,
.edms-ui-modern .edms-stisc-dropdown-menu .edms-stisc-menu-item:focus,
.edms-ui-modern .edms-stisc-dropdown-register .edms-stisc-menu-item:hover,
.edms-ui-modern .edms-stisc-dropdown-register .edms-stisc-menu-item:focus {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}
.edms-ui-modern .edms-stisc-dropdown-menu .edms-stisc-menu-item-child:hover,
.edms-ui-modern .edms-stisc-dropdown-menu .edms-stisc-menu-item-child:focus,
.edms-ui-modern .edms-stisc-dropdown-register .edms-stisc-menu-item-child:hover,
.edms-ui-modern .edms-stisc-dropdown-register .edms-stisc-menu-item-child:focus {
    background: #f7f7f7;
}
.edms-ui-modern .edms-stisc-dropdown-menu,
.edms-ui-modern .edms-stisc-dropdown-register {
    border: none;
    box-shadow: none;
    border-radius: 0;
}
.edms-ui-modern #navRegisterItem > .nav-link:hover,
.edms-ui-modern #navRegisterItem.show > .nav-link,
.edms-ui-modern #navRegistryItem > .nav-link:hover,
.edms-ui-modern #navRegistryItem.show > .nav-link {
    color: #222f7e !important;
    background: #ffffff !important;
}
.edms-ui-modern #navLogout.edms-nav-logout {
    font-weight: 400;
}

/* ─── Pagini & carduri ─── */
.edms-ui-modern .card {
    border: 1px solid var(--edms-border) !important;
    border-radius: var(--edms-radius) !important;
    box-shadow: var(--edms-shadow) !important;
    background: var(--edms-surface);
}
.edms-ui-modern .card-header {
    background: var(--edms-surface) !important;
    font-weight: 600;
    padding: 1rem 1.25rem;
}

/* Empty state */

/* ─── Registru — pagină dedicată ─── */
body.edms-view-registry {
    overflow: hidden;
}
body.edms-view-registry .edms-main {
    overflow: hidden;
    padding: 0;
}
.edms-ui-modern #view-registry.view-panel.active {
    overflow: hidden;
    background: #f3f6fa;
    flex: 1;
    min-height: 0;
}
.edms-ui-modern .registry-stisc.registry-page {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Căutare — pagină STISC avansată */
body.edms-view-search {
    overflow: auto;
}
body.edms-view-search .edms-main {
    overflow: visible;
    padding: 0;
}
.edms-ui-modern #view-search.view-panel.active {
    overflow: visible;
    background: var(--edms-bg);
}
.edms-ui-modern .search-page.search-stisc {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow: auto;
}

/* Raportare — pagină STISC */
body.edms-view-reports {
    overflow: auto;
}
body.edms-view-reports .edms-main {
    overflow: visible;
    padding: 0;
}
.edms-ui-modern #view-reports.view-panel.active {
    overflow: visible;
    background: var(--edms-bg);
}
.edms-ui-modern .reports-page.reports-stisc {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow: auto;
}

.edms-ui-modern .registry-pagination-info {
    font-size: 0.8125rem;
    color: var(--edms-muted);
    flex-shrink: 0;
}
.edms-ui-modern .registry-pagination {
    margin-left: auto;
}
.edms-ui-modern .registry-pagination .pagination {
    flex-wrap: wrap;
    gap: 0;
}
.edms-ui-modern .registry-pagination .page-link {
    min-width: 2.25rem;
    text-align: center;
    border: 1px solid var(--edms-border);
    border-radius: 0.375rem;
    margin: 0 0.1rem;
    padding: 0.35rem 0.65rem;
    color: var(--edms-text);
    background: #fff;
    font-weight: 500;
    line-height: 1.25;
}
.edms-ui-modern .registry-pagination .page-link:hover:not(:disabled) {
    background: var(--edms-primary-soft);
    color: var(--edms-primary);
    border-color: var(--edms-stisc-550);
}
.edms-ui-modern .registry-pagination .page-item.active .page-link {
    background: var(--edms-primary);
    border-color: var(--edms-primary);
    color: #fff;
    z-index: 1;
}
.edms-ui-modern .registry-pagination .page-item.disabled .page-link {
    background: #f7f7f7;
    color: var(--edms-muted);
    border-color: var(--edms-border);
}
.edms-ui-modern .registry-empty,
.edms-ui-modern .registry-loading {
    text-align: center;
    padding: 3rem 1rem !important;
    color: var(--edms-muted);
    font-size: 0.9rem;
}
.edms-ui-modern .form-select,
.edms-ui-modern .form-control {
    border-color: var(--edms-border);
    border-radius: 8px;
    font-size: 0.875rem;
}
.edms-ui-modern .form-select:focus,
.edms-ui-modern .form-control:focus {
    border-color: var(--edms-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}
.edms-ui-modern .btn-primary {
    background: var(--edms-primary);
    border-color: var(--edms-primary);
    border-radius: 8px;
    font-weight: 600;
}
.edms-ui-modern .btn-primary:hover {
    background: var(--edms-primary-hover);
    border-color: var(--edms-primary-hover);
}
.edms-ui-modern .btn-outline-primary {
    border-radius: 8px;
    font-weight: 500;
}

/* ─── Modale (structură unificată) ─── */
.edms-ui-modern .modal-content {
    border: 1px solid var(--edms-border) !important;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
}
/* STISC chrome — nu aplica border-radius modern pe formularele clasice */
.edms-ui-modern .modal-content.inbox-modal-content {
    border: 1px solid #c5cdd6 !important;
    border-radius: 6px !important;
    overflow: hidden;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.16);
}
.edms-ui-modern .modal-content.edms-modal-register,
.edms-ui-modern .modal-content.edms-modal-sheet,
.edms-ui-modern .modal-content.doc-sheet-stisc,
.edms-ui-modern .modal-content.edms-form-stisc {
    border: 2px solid var(--edms-stisc-700, #2a6eb8) !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}
.edms-ui-modern .modal-header {
    padding: 1rem 1.25rem;
    background: #fff;
    border-bottom: 1px solid var(--edms-border);
}
.edms-ui-modern .modal-content.edms-modal-register .modal-header,
.edms-ui-modern .modal-content.edms-modal-sheet .modal-header,
.edms-ui-modern .modal-content.edms-form-stisc .modal-header {
    padding: 0;
    background: transparent;
    border-bottom: 0;
}
.edms-ui-modern .modal-content.edms-form-stisc .edms-form-stisc-titlebar {
    padding: 0.45rem 0.55rem 0.4rem;
    background: transparent;
    border-bottom: 0;
}
.edms-ui-modern .modal-footer {
    padding: 0.75rem 1.25rem;
    background: #fff;
    border-top: 1px solid var(--edms-border);
    gap: 0.5rem;
}
.edms-ui-modern .modal-content.edms-modal-register .modal-footer,
.edms-ui-modern .modal-content.edms-modal-sheet .modal-footer,
.edms-ui-modern .modal-content.edms-form-stisc .edms-form-stisc-footer {
    padding: 0.6rem 0.9rem;
    gap: 0.55rem;
}
.edms-ui-modern .sheet-footer-stisc {
    padding: 0.35rem 0.45rem;
    gap: 0.35rem 0.5rem;
    background: linear-gradient(180deg, var(--edms-stisc-250, #e8f0fa) 0%, var(--edms-stisc-350, #d5e4f5) 100%);
    border-top: 1px solid var(--edms-stisc-550, #8eb4d8);
}
.edms-ui-modern .modal-body {
    background: #f7f7f7;
}
.edms-ui-modern .modal-content.edms-modal-register .modal-body,
.edms-ui-modern .modal-content.edms-modal-sheet .modal-body,
.edms-ui-modern .modal-content.edms-form-stisc .edms-form-stisc-body {
    background: #fff;
}

/* Modal înregistrare — STISC */
.edms-ui-modern #docModal .doc-register-dialog {
    max-width: var(--edms-modal-max, 700px);
    max-height: calc(100vh - 0.5rem);
    margin: 0.25rem auto;
}
.edms-ui-modern #docModal .edms-modal-register {
    max-height: calc(100vh - 0.5rem);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 2px solid var(--edms-stisc-700);
    border-radius: 0;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
}
.edms-ui-modern #docModal #docForm {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}
.edms-ui-modern #docModal .doc-register-footer {
    flex-shrink: 0;
    width: 100%;
    margin: 0;
    justify-content: flex-start;
    background: linear-gradient(180deg, var(--edms-stisc-250) 0%, var(--edms-stisc-350) 100%);
    border-top: 1px solid var(--edms-stisc-550);
    padding: 0.35rem 0.45rem;
}
.edms-ui-modern #docModal .doc-register-titlebar.modal-header-flow-in,
.edms-ui-modern #docModal .doc-register-titlebar.modal-header-flow-out,
.edms-ui-modern #docModal .doc-register-titlebar.modal-header-flow-int {
    border-top: none;
}
.edms-ui-modern #docModal .doc-register-body {
    padding: 0.35rem 0.55rem 0.45rem;
    background: #fff;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 0;
    border-top: 1px solid var(--edms-stisc-700);
}
.edms-ui-modern #docModal .doc-form-compact .form-control-sm,
.edms-ui-modern #docModal .doc-form-compact .form-select-sm {
    border-color: #222f7e;
    border-radius: 1px;
}
.edms-ui-modern #docModal #subRegisterId:focus {
    border-color: #222f7e;
    box-shadow: 0 0 0 1px #222f7e;
}
.edms-ui-modern #docModal .quill-editor.quill-compact {
    background: #fff;
    min-height: 0;
}
.edms-ui-modern #docModal .quill-editor.quill-compact.quill-sm {
    min-height: 0;
}
.edms-ui-modern #docModal .ql-toolbar.ql-snow {
    border-radius: 1px 1px 0 0;
    border-color: #222f7e;
    background: #eceff3;
    padding: 0.1rem 0.2rem;
}
.edms-ui-modern #docModal .ql-container.ql-snow {
    border-radius: 0 0 1px 1px;
    border-color: #222f7e;
}

@media (max-height: 720px) {
    .edms-ui-modern #docModal .doc-register-body {
        overflow-y: auto;
        max-height: calc(100vh - 5.5rem);
        -webkit-overflow-scrolling: touch;
    }
}

/* Modal fișă — STISC override */
.edms-ui-modern #docSheetModal .doc-sheet-dialog {
    max-width: min(var(--edms-modal-max, 700px), calc(100vw - 1rem));
    height: auto;
}
.edms-ui-modern #docSheetModal .sheet-body {
    background: #f0f4f7;
    max-height: calc(100vh - 8.5rem);
}
.edms-ui-modern #docSheetModal .sheet-body .doc-form-compact {
    padding: 0.15rem 0.25rem;
}
.edms-ui-modern #docSheetModal .sheet-panel {
    background: transparent;
}

:root {
    --edms-nav-h: 32px;
    --edms-footer-h: 0px;
}

/* Profil */
.edms-ui-modern .profile-field:hover {
    box-shadow: var(--edms-shadow);
}

/* Footer */

/* Login */
.edms-ui-modern.login-page {
    background: #ffffff;
}
.edms-ui-modern.login-page .card {
    border-radius: 20px !important;
    border: 1px solid #222f7e !important;
    box-shadow: 0 25px 50px rgba(34, 47, 126, 0.18) !important;
}
.edms-ui-modern.login-page h1 {
    color: #222f7e;
}
.edms-ui-modern.login-page .edms-login-icon {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: #222f7e;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    margin-bottom: 1rem;
    box-shadow: 0 8px 20px rgba(34, 47, 126, 0.35);
}

.edms-ui-modern.login-page .edms-login-logo {
    display: block;
    max-width: 240px;
    width: 100%;
    height: auto;
    margin: 0 auto 1rem;
}

/* Paginare */
.edms-ui-modern .pagination .page-link {
    border-radius: 8px;
    margin: 0 2px;
    border: none;
    color: var(--edms-primary);
    font-weight: 500;
}
.edms-ui-modern .pagination .page-item.active .page-link {
    background: var(--edms-primary);
}

/* ═══════════════════════════════════════════════════════════
   DESIGN UNIFICAT — formulare dinamice (sheet, taburi, nom)
   ═══════════════════════════════════════════════════════════ */

/* Quill peste tot */
.edms-ui-modern .quill-editor {
    background: #fff;
    border-radius: 8px;
}
.edms-ui-modern .ql-toolbar.ql-snow {
    border-color: var(--edms-border) !important;
    border-radius: 8px 8px 0 0;
    background: #f7f7f7;
}
.edms-ui-modern .ql-container.ql-snow {
    border-color: var(--edms-border) !important;
    border-radius: 0 0 8px 8px;
    font-size: 0.875rem;
}

/* Modal nomenclator */
.edms-ui-modern #nomModal .nom-dialog {
    max-width: var(--edms-modal-max, 700px);
}
.edms-ui-modern #nomModal .nom-dialog.nom-dialog--numbering {
    max-width: var(--edms-modal-max, 700px);
    width: calc(100% - var(--edms-modal-gutter, 1rem));
}
.edms-ui-modern #nomModal .nom-dialog--numbering .nom-modal-body {
    max-height: min(88vh, 720px);
}
.edms-ui-modern #nomModal .nom-modal-body {
    max-height: min(55vh, 420px);
    overflow-y: auto;
}
.edms-ui-modern #nomFormFields .mb-3:last-child {
    margin-bottom: 0 !important;
}

.edms-ui-modern .nom-row-inactive {
    opacity: 0.55;
}

/* Tabele — nu forța skin Bootstrap pe tabelele STISC */
.edms-ui-modern .table {
    --bs-table-bg: #fff;
}
.edms-ui-modern .table:not(.registry-table):not(.nom-table):not(.search-table):not(.report-table):not(.audit-table) thead th {
    background: #f7f7f7;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--edms-muted);
    font-weight: 600;
    border-bottom: 2px solid var(--edms-border);
}
.edms-ui-modern .table-hover tbody tr:hover {
    background: var(--edms-primary-soft) !important;
}
.edms-ui-modern .registry-table thead th,
.edms-ui-modern .nom-table thead th,
.edms-ui-modern .search-table thead th,
.edms-ui-modern .report-table thead th,
.edms-ui-modern .audit-table thead th {
    background: var(--edms-stisc-250) !important;
    color: var(--edms-stisc-text) !important;
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
    border-bottom: 1px solid var(--edms-stisc-500) !important;
}

/* Tabele listă (căutare, nomenclatoare) — același limbaj ca registrul */
.edms-ui-modern .edms-data-table {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: var(--edms-stisc-100);
    font-size: 0.8125rem;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}
.edms-ui-modern .edms-data-table tbody td {
    padding: 0.55rem 0.75rem;
    vertical-align: middle;
    border-bottom: 1px solid rgba(34, 47, 126, 0.18);
}
.edms-ui-modern .edms-data-table tbody tr:last-child td {
    border-bottom: none;
}
.edms-ui-modern .nom-table-wrap.edms-table-wrap {
    max-height: calc(100vh - 320px);
}

/* Butoane globale */
.edms-ui-modern .btn {
    border-radius: 8px;
    font-weight: 500;
}
.edms-ui-modern .btn-sm {
    font-size: 0.8125rem;
}
.edms-ui-modern .alert {
    border: none;
    border-radius: 10px;
}

/* ─── Scrollbar modern (subțire, discret) ─── */
.edms-ui-modern :is(
    .nom-table-wrap,
    .sheet-body,
    .sheet-exam-timeline,
    .sheet-inform-list-box,
    .nom-modal-body,
    .doc-register-body,
    .modal-body.sheet-body
) {
    scrollbar-width: thin;
    scrollbar-color: var(--edms-scroll-thumb) var(--edms-scroll-track);
}

.edms-ui-modern :is(
    .nom-table-wrap,
    .sheet-body,
    .sheet-exam-timeline,
    .sheet-inform-list-box,
    .nom-modal-body,
    .doc-register-body,
    .modal-body.sheet-body
)::-webkit-scrollbar {
    width: var(--edms-scroll-size);
    height: var(--edms-scroll-size);
}

.edms-ui-modern :is(
    .nom-table-wrap,
    .sheet-body,
    .sheet-exam-timeline,
    .sheet-inform-list-box,
    .nom-modal-body,
    .doc-register-body,
    .modal-body.sheet-body
)::-webkit-scrollbar-track {
    background: var(--edms-scroll-track);
    border-radius: 100px;
}

.edms-ui-modern :is(
    .nom-table-wrap,
    .sheet-body,
    .sheet-exam-timeline,
    .sheet-inform-list-box,
    .nom-modal-body,
    .doc-register-body,
    .modal-body.sheet-body
)::-webkit-scrollbar-thumb {
    background: var(--edms-scroll-thumb);
    border-radius: 100px;
    border: 1px solid transparent;
    background-clip: padding-box;
    transition: background 0.15s ease;
}

.edms-ui-modern :is(
    .nom-table-wrap,
    .sheet-body,
    .sheet-exam-timeline,
    .sheet-inform-list-box,
    .nom-modal-body,
    .doc-register-body,
    .modal-body.sheet-body
):hover::-webkit-scrollbar-thumb {
    background: var(--edms-scroll-thumb-hover);
    background-clip: padding-box;
}

.edms-ui-modern :is(
    .nom-table-wrap,
    .edms-table-wrap
)::-webkit-scrollbar-corner {
    background: transparent;
}
