/* [EXPLICATIE] Tema comuna aplicata explicit nomenclatoarelor, fara schimbari de geometrie. */
@font-face {
  font-family:"EC Nomenclature Montserrat";
  src:url("../../vendor/fonts/montserrat/Montserrat-variable.ttf") format("truetype");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
body.nomenclature-page {
  --ec-nomenclature-group-bg:#f5f8fb;
  --ec-nomenclature-group-border:#dce5ee;
  --ec-panel-border:#dce5ee;
  --ec-panel-shadow:0 8px 28px -16px rgba(31,57,85,.23),0 2px 6px rgba(31,57,85,.035);
  color:#20364d;
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.nomenclature-page :is(h1,h2,h3,h4,h5,h6,.modal-title) {
  font-family:"EC Nomenclature Montserrat","Segoe UI",Arial,sans-serif;
  font-weight:600;
}
.nomenclature-page .card { border-color:var(--ec-panel-border); border-radius:12px; background:#fff; }
.nomenclature-page .card.shadow-sm { box-shadow:var(--ec-panel-shadow) !important; }
/* [EXPLICATIE] Grupuri interioare, separate de card, controale si culorile de stare. */
.nomenclature-page .ec-nomenclature-group {
  background:var(--ec-nomenclature-group-bg);
  border-color:var(--ec-nomenclature-group-border) !important;
}
.nomenclature-page .card>.card-header {
  background:var(--ec-panel-header-bg);
  border-color:var(--ec-panel-border);
  border-radius:11px 11px 0 0;
  color:#25435d;
}
.nomenclature-page .card>.card-footer { background:#f8fafc; border-color:var(--ec-panel-border); border-radius:0 0 11px 11px; }
.nomenclature-page .modal-content { border-color:var(--ec-panel-border); border-radius:12px; box-shadow:0 24px 70px -24px rgba(25,48,71,.3); }
.nomenclature-page .modal-header { border-top-left-radius:11px; border-top-right-radius:11px; }
.nomenclature-page .modal-footer { border-color:#e5edf3; }
/* Metrica si tipul semantic al mesajelor raman cele comune. */
.nomenclature-page .ec-messagebox .modal-content { border-radius:8px; }
.nomenclature-page .ec-messagebox .modal-header { border-top-left-radius:7px; border-top-right-radius:7px; }
.nomenclature-page :is(.form-control,.form-select) { border-color:#d6e1eb; border-radius:6px; }
.nomenclature-page :is(.form-control,.form-select):focus { border-color:#35a5b6; box-shadow:0 0 0 3px rgba(53,165,182,.13); }
.nomenclature-page :is(.form-control,.form-select).is-invalid { border-color:var(--bs-danger); }
.nomenclature-page :is(.form-control,.form-select).is-valid { border-color:var(--bs-success); }
.nomenclature-page .form-check-input:focus { border-color:#35a5b6; box-shadow:0 0 0 3px rgba(53,165,182,.13); }
.nomenclature-page .btn { border-radius:6px; }
.nomenclature-page .btn.ec-nomenclature-action { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; }
.nomenclature-page .ec-nomenclature-action-icon { width:18px; height:18px; flex:0 0 18px; object-fit:contain; }
.nomenclature-page :is(.d-flex,.ec-formedit-actions,.ec-modal-actions):has(> .ec-nomenclature-action) { flex-wrap:wrap; }
.nomenclature-page .btn-primary:not(.btn-danger):not(.btn-success):not(.ec-nomenclature-action) { background:linear-gradient(110deg,#264c70,#247b8e); border-color:#28677f; color:#fff; }
.nomenclature-page .btn-primary:not(.btn-danger):not(.btn-success):not(.ec-nomenclature-action):hover:not(:disabled) { background:linear-gradient(110deg,#203f5c,#206e7f); border-color:#245b71; }
.nomenclature-page .btn-outline-primary {
  --bs-btn-color:#277b96; --bs-btn-border-color:#9fc4d1;
  --bs-btn-hover-bg:#277b96; --bs-btn-hover-border-color:#277b96;
  --bs-btn-active-bg:#20677f; --bs-btn-active-border-color:#20677f;
}
.nomenclature-page .btn-outline-secondary { background:#f6f9fc; color:#476077; border-color:#b9cbd9; }
.nomenclature-page .btn-outline-secondary:hover:not(:disabled) { background:#eaf4f7; color:#245b71; border-color:#9fc4d1; }
/* [EXPLICATIE] Salvare/Renunta au aceeasi paleta deschisa, indiferent de clasele istorice. */
.nomenclature-page .btn.ec-nomenclature-action { background:#eef2f6; color:#1f2d3d; border-color:#526273; }
.nomenclature-page .btn.ec-nomenclature-action:is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled) { background:#dfe6ed; color:#1f2d3d; border-color:#334155; }
.nomenclature-page .btn.ec-nomenclature-action:is(:disabled,.disabled):not(.ec-icon-btn):not(.btn-close) { background:#edf1f5; color:#6b7785; border-color:#aeb8c3; }
.nomenclature-page .card-header [data-close-tab],
.nomenclature-page .ec-editor-header .ec-editor-exit { background:#f4f8fb; color:#294b64; border-color:#a5b8c8; }
.nomenclature-page .btn:focus-visible { outline:3px solid #83c6d2; outline-offset:2px; }
/* Nu schimbam font-size/padding/height pentru grile, cautare, toolbar sau paginare. */
.nomenclature-page .table>thead.table-light {
  --bs-table-bg:#f0f5f9;
  --bs-table-color:#3d566c;
  --bs-table-border-color:#e0e8ef;
}
/* Fara culori pe tbody, campuri readonly/disabled sau randuri I/U/D. */
.nomenclature-page .nav-tabs { border-color:#dce5ee; }
.nomenclature-page .nav-tabs .nav-link:not(.disabled):not(:disabled) { color:#277b96; background:#f5f8fb; border-color:#dce5ee #dce5ee #dce5ee; }
.nomenclature-page .nav-tabs .nav-link:not(.disabled):not(:disabled):is(:hover,:focus) { color:#1c536f; background:#edf6f8; border-color:#9fc4d1; }
.nomenclature-page .nav-tabs .nav-link:not(.disabled):not(:disabled).active,
.nomenclature-page .nav-tabs .nav-item.show .nav-link:not(.disabled):not(:disabled) { color:#203f5c; background:#e2f1f4; border-color:#88b8c5 #88b8c5 #e2f1f4; }
.nomenclature-page .nav-tabs .nav-link:focus-visible { outline:2px solid #247b8e; outline-offset:2px; }
.nomenclature-page .ec-topbar { background:linear-gradient(110deg,#243c55 0%,#264c65 65%,#286575 100%); border-color:rgba(255,255,255,.15); }
.nomenclature-page :is(.ec-topbar-db,.ec-topbar-username) { color:#fff; }
.nomenclature-page .ec-topbar-db { font-family:"EC Nomenclature Montserrat","Segoe UI",Arial,sans-serif; }
.nomenclature-page .ec-topbar .btn { background:#f4f8fb; color:#294b64; border-color:#d7e2ec; }
@media(prefers-reduced-motion:reduce) {
  .nomenclature-page :is(.btn,.form-control,.form-select) { transition:none; }
}
