/* ==========================================================================
   Modulul de administrare — Muzeul Național de Istorie a Moldovei (MNIM).
   Stil preluat de pe www.nationalmuseum.md: maro #7a5c38, crem #f7f4e9 / #f0e9e0, titluri serif. Fără framework, fără build.
   Responsive (calculator, tabletă, telefon), teme luminoasă / întunecată.
   ========================================================================== */
:root {
  --bg: #f7f4e9; --surface: #fffdf8; --surface-2: #f7f3e1; --border: #e1d7c2; --border-strong: #c9b994;
  --text: #2b2418; --muted: #6e604a; --accent: #7a5c38; --accent-600: #54422d; --accent-50: #f0e9e0;
  --gold: #d08835; --gold-50: #fbf0dc; --ochre: #91551a; --olive: #9d8e60;
  --brown-900: #3d2f1f; --brown-800: #54422d; --brown-700: #6b5233; --cream: #f7f3e1; --heading: #54422d;
  --ok: #3f6b2a; --ok-50: #eef3e4; --warn: #91551a; --warn-50: #fbf0dc; --err: #a3271b; --err-50: #f9e8e3;
  --info: #3c5a73; --info-50: #e9eef1; --ai: #6b4a7a; --ai-50: #f2ecf3;
  --radius: 6px; --radius-sm: 4px; --shadow: 0 1px 2px rgba(61,47,31,.08), 0 3px 12px rgba(61,47,31,.06);
  --sidebar: 268px; --topbar: 64px;
  --font: "Segoe UI", "Helvetica Neue", Arial, Helvetica, sans-serif;
  --font-serif: Georgia, "Times New Roman", Times, serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #1c1712; --surface: #251f18; --surface-2: #2d261d; --border: #3e3426; --border-strong: #56482f;
    --text: #f3ecdc; --muted: #b9aa8c; --accent: #d9b27a; --accent-600: #e8c793; --accent-50: #3a2e1e;
    --gold: #e0a253; --gold-50: #3a2c16; --ochre: #d38a45; --olive: #b5a77a;
    --brown-900: #120e0a; --brown-800: #241c13; --brown-700: #2c2216; --cream: #f3ecdc; --heading: #e8c793;
    --ok: #9cc77f; --ok-50: #1f2a18; --warn: #e0a253; --warn-50: #3a2c16; --err: #ef8f80; --err-50: #3a1d18;
    --info: #9dbad2; --info-50: #1b2630; --ai: #c9a8d6; --ai-50: #2c2231; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
    --bg: #1c1712; --surface: #251f18; --surface-2: #2d261d; --border: #3e3426; --border-strong: #56482f;
    --text: #f3ecdc; --muted: #b9aa8c; --accent: #d9b27a; --accent-600: #e8c793; --accent-50: #3a2e1e;
    --gold: #e0a253; --gold-50: #3a2c16; --ochre: #d38a45; --olive: #b5a77a;
    --brown-900: #120e0a; --brown-800: #241c13; --brown-700: #2c2216; --cream: #f3ecdc; --heading: #e8c793;
    --ok: #9cc77f; --ok-50: #1f2a18; --warn: #e0a253; --warn-50: #3a2c16; --err: #ef8f80; --err-50: #3a1d18;
    --info: #9dbad2; --info-50: #1b2630; --ai: #c9a8d6; --ai-50: #2c2231; color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); font-size: 14.5px; line-height: 1.5; background: var(--bg); color: var(--text); }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { line-height: 1.25; margin: 0 0 .5em; }
h1 { font-size: 1.5rem; } h2 { font-size: 1.15rem; } h3 { font-size: 1rem; }
.muted { color: var(--muted); } .small { font-size: .85em; } .mono { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .92em; }
.nowrap { white-space: nowrap; } .right { text-align: right; } .center { text-align: center; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -9999px; top: 0; background: var(--accent); color: #fff; padding: 8px 14px; z-index: 100; }
.skip:focus { left: 8px; top: 8px; }

/* ---------- Structură ---------- */
.app { display: grid; grid-template-columns: var(--sidebar) 1fr; min-height: 100vh; }
.sidebar { background: var(--surface); border-right: 1px solid var(--border); position: sticky; top: 0; height: 100vh; overflow-y: auto; display: flex; flex-direction: column; z-index: 40; }
.brand { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--border); min-height: var(--topbar); }
.brand img { width: 38px; height: 38px; object-fit: contain; }
.brand b { display: block; font-size: .92rem; line-height: 1.15; }
.brand span { font-size: .75rem; color: var(--muted); }
.nav { padding: 10px 8px 24px; flex: 1; }
.nav-group { margin-top: 12px; }
.nav-group > span { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); padding: 6px 10px; font-weight: 600; }
.nav a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; color: var(--text); font-weight: 500; }
.nav a:hover { background: var(--surface-2); text-decoration: none; }
.nav a.active { background: var(--accent-50); color: var(--accent); }
.nav a svg { width: 18px; height: 18px; flex: 0 0 18px; opacity: .8; }
.nav .count { margin-left: auto; background: var(--accent); color: #fff; border-radius: 99px; font-size: .7rem; padding: 1px 7px; font-weight: 600; }
.main { min-width: 0; display: flex; flex-direction: column; }
.topbar { position: sticky; top: 0; z-index: 30; height: var(--topbar); display: flex; align-items: center; gap: 12px; padding: 0 20px; background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--border); }
.topbar .search { flex: 1; max-width: 520px; position: relative; }
.topbar .search input { width: 100%; padding: 9px 12px 9px 36px; border-radius: 99px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; }
.topbar .search svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; color: var(--muted); }
.topbar .spacer { flex: 1; }
.icon-btn { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 99px; border: 1px solid var(--border); background: var(--surface); color: var(--text); cursor: pointer; position: relative; }
.icon-btn svg { width: 18px; height: 18px; }
.icon-btn .dot { position: absolute; top: 6px; right: 7px; width: 8px; height: 8px; border-radius: 99px; background: var(--accent); }
.menu-toggle { display: none; }
.content { padding: 24px; max-width: 1480px; width: 100%; }
.page-head { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin-bottom: 18px; }
.page-head h1 { margin: 0; }
.page-head .sub { color: var(--muted); margin-top: 4px; }
.page-head .actions { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px; }
.crumbs { font-size: .82rem; color: var(--muted); margin-bottom: 6px; }
.crumbs a { color: var(--muted); }
.langsw { display: flex; border: 1px solid var(--border); border-radius: 99px; overflow: hidden; }
.langsw button { border: 0; background: var(--surface); color: var(--muted); padding: 6px 10px; font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; }
.langsw button.on { background: var(--accent); color: #fff; }
.user-menu { position: relative; }
.user-menu summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.user-menu summary::-webkit-details-marker { display: none; }
.avatar { width: 36px; height: 36px; border-radius: 99px; background: var(--accent); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: .85rem; }
.dropdown { position: absolute; right: 0; top: calc(100% + 8px); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); min-width: 220px; padding: 6px; z-index: 50; }
.dropdown a, .dropdown button { display: block; width: 100%; text-align: left; padding: 8px 10px; border-radius: 6px; color: var(--text); background: none; border: 0; font: inherit; cursor: pointer; }
.dropdown a:hover, .dropdown button:hover { background: var(--surface-2); text-decoration: none; }
.backdrop { display: none; }

@media (max-width: 1024px) {
  .app { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: 0; top: 0; bottom: 0; width: min(86vw, 300px); transform: translateX(-100%); transition: transform .2s ease; box-shadow: var(--shadow); }
  body.nav-open .sidebar { transform: none; }
  body.nav-open .backdrop { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 35; }
  .menu-toggle { display: inline-grid; }
  .content { padding: 16px; }
  .topbar { padding: 0 12px; gap: 8px; }
  .topbar .uname { display: none; }
}
@media (max-width: 560px) { .topbar .langsw { display: none; } h1 { font-size: 1.25rem; } }

/* ---------- Componente ---------- */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.card + .card { margin-top: 16px; }
.card-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.card-h h2, .card-h h3 { margin: 0; font-size: 1rem; }
.card-h .actions { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.card-b { padding: 16px 18px; }
.card-b.flush { padding: 0; }
.grid { display: grid; gap: 16px; }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.split { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
@media (max-width: 1200px) { .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .split { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .g2, .g3, .g4 { grid-template-columns: 1fr; } }
.stack > * + * { margin-top: 16px; }

.stat { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.stat .n { font-size: 1.7rem; font-weight: 700; letter-spacing: -.02em; }
.stat .l { color: var(--muted); font-size: .85rem; }
.stat a { font-size: .82rem; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); font: inherit; font-weight: 600; font-size: .9rem; cursor: pointer; text-decoration: none !important; white-space: nowrap; line-height: 1.2; min-height: 38px; }
.btn:hover { background: var(--surface-2); }
.btn svg { width: 16px; height: 16px; }
.btn.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn.primary:hover { background: var(--accent-600); }
.btn.ok { background: var(--ok); border-color: var(--ok); color: #fff; }
.btn.danger { color: var(--err); border-color: color-mix(in srgb, var(--err) 40%, var(--border)); }
.btn.danger:hover { background: var(--err-50); }
.btn.ai { background: var(--ai-50); border-color: color-mix(in srgb, var(--ai) 35%, var(--border)); color: var(--ai); }
.btn.ghost { border-color: transparent; background: transparent; }
.btn.sm { padding: 5px 10px; font-size: .82rem; min-height: 30px; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.btn-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
form.inline { display: inline; }

.badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 99px; font-size: .76rem; font-weight: 600; background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); white-space: nowrap; }
.badge.ok { background: var(--ok-50); color: var(--ok); border-color: transparent; }
.badge.warn { background: var(--warn-50); color: var(--warn); border-color: transparent; }
.badge.err { background: var(--err-50); color: var(--err); border-color: transparent; }
.badge.info { background: var(--info-50); color: var(--info); border-color: transparent; }
.badge.ai { background: var(--ai-50); color: var(--ai); border-color: transparent; }
.badge.accent { background: var(--accent-50); color: var(--accent); border-color: transparent; }
.stage { --c: var(--muted); display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 600; color: var(--c); }
.stage::before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: var(--c); }
.stage-inregistrare { --c: #8a6d3b; } .stage-etichetare { --c: #a0522d; } .stage-fotografiere { --c: #1d5e8c; } .stage-descriere { --c: #6b3fa0; }
.stage-traducere { --c: #3b7a8a; } .stage-aprobare { --c: #b5651d; } .stage-publicare { --c: #91551a; } .stage-publicat { --c: #3f6b2a; }

.alert { padding: 12px 14px; border-radius: var(--radius-sm); border: 1px solid; margin-bottom: 14px; display: flex; gap: 10px; align-items: flex-start; white-space: pre-line; }
.alert.ok { background: var(--ok-50); border-color: color-mix(in srgb, var(--ok) 30%, transparent); color: var(--ok); }
.alert.err { background: var(--err-50); border-color: color-mix(in srgb, var(--err) 30%, transparent); color: var(--err); }
.alert.warn { background: var(--warn-50); border-color: color-mix(in srgb, var(--warn) 30%, transparent); color: var(--warn); }
.alert.info { background: var(--info-50); border-color: color-mix(in srgb, var(--info) 30%, transparent); color: var(--info); }
.alert.ai { background: var(--ai-50); border-color: color-mix(in srgb, var(--ai) 30%, transparent); color: var(--ai); }
.alert > div { color: var(--text); }

/* ---------- Tabele ---------- */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table.t { width: 100%; border-collapse: collapse; }
.t th, .t td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.t th { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 600; background: var(--surface-2); position: sticky; top: 0; }
.t tbody tr:hover { background: var(--surface-2); }
.t tr:last-child td { border-bottom: 0; }
.t td.thumb { width: 64px; }
.thumb img, .thumb .ph { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; background: var(--surface-2); display: block; border: 1px solid var(--border); }
.t .title { font-weight: 600; color: var(--text); }
@media (max-width: 760px) {
  table.t.responsive thead { display: none; }
  table.t.responsive tr { display: grid; grid-template-columns: 56px 1fr; gap: 2px 12px; padding: 10px 12px; border-bottom: 1px solid var(--border); }
  table.t.responsive td { border: 0; padding: 0; }
  table.t.responsive td.thumb { grid-row: span 4; }
  table.t.responsive td[data-hide-mobile] { display: none; }
  table.t.responsive td.sel { grid-column: 1; }
}
dl.kv { display: grid; grid-template-columns: minmax(130px, 34%) 1fr; margin: 0; }
dl.kv dt, dl.kv dd { padding: 8px 0; border-bottom: 1px dashed var(--border); margin: 0; }
dl.kv dt { color: var(--muted); padding-right: 12px; }
dl.kv dd:empty::after { content: "—"; color: var(--border-strong); }

/* ---------- Formulare ---------- */
.field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; min-width: 0; }
.field label, .label { font-weight: 600; font-size: .86rem; }
.field .req { color: var(--accent); }
.field .help { color: var(--muted); font-size: .8rem; }
.field .error { color: var(--err); font-size: .82rem; font-weight: 600; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=datetime-local], input[type=url], input[type=search], input[type=time], select, textarea {
  width: 100%; padding: 9px 11px; border-radius: 8px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); font: inherit; min-height: 40px;
}
textarea { min-height: 110px; resize: vertical; line-height: 1.55; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.is-invalid { border-color: var(--err) !important; }
.check { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; font-weight: 500; }
.check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent); flex: 0 0 18px; }
.checks { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.form-grid.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid .full { grid-column: 1 / -1; }
@media (max-width: 760px) { .form-grid, .form-grid.g3 { grid-template-columns: 1fr; } }
fieldset { border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px 2px; margin: 0 0 16px; }
legend { font-weight: 700; padding: 0 6px; }
.form-actions { position: sticky; bottom: 0; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(6px); padding: 12px 0; display: flex; gap: 8px; flex-wrap: wrap; border-top: 1px solid var(--border); margin-top: 8px; z-index: 5; }
.tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border); margin-bottom: 14px; overflow-x: auto; }
.tabs button, .tabs a { border: 0; background: none; padding: 9px 14px; font: inherit; font-weight: 600; color: var(--muted); cursor: pointer; border-bottom: 2px solid transparent; white-space: nowrap; }
.tabs .on, .tabs [aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); }
.lang-pill { display: inline-block; font-size: .7rem; font-weight: 700; padding: 1px 6px; border-radius: 4px; background: var(--surface-2); border: 1px solid var(--border); color: var(--muted); margin-right: 4px; text-transform: uppercase; }

.filters { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; align-items: end; }
.filters .field { margin: 0; }
.toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--border); background: var(--surface-2); }
.bulkbar { position: sticky; bottom: 12px; z-index: 20; display: none; margin-top: 12px; background: var(--text); color: var(--bg); padding: 10px 14px; border-radius: var(--radius); box-shadow: var(--shadow); gap: 8px; align-items: center; flex-wrap: wrap; }
.bulkbar.show { display: flex; }
.bulkbar select, .bulkbar input { width: auto; min-height: 34px; padding: 5px 8px; }

/* ---------- Tablou pe etape (kanban) ---------- */
.board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 12px; }
.col { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); display: flex; flex-direction: column; max-height: calc(100vh - 220px); }
.col-h { padding: 10px 12px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--border); font-weight: 700; }
.col-h .badge { margin-left: auto; }
.col-b { padding: 8px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.kcard { display: flex; gap: 10px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 8px; color: var(--text); }
.kcard:hover { border-color: var(--accent); text-decoration: none; }
.kcard img, .kcard .ph { width: 44px; height: 44px; border-radius: 6px; object-fit: cover; flex: 0 0 44px; background: var(--bg); }
.kcard b { font-size: .84rem; display: block; line-height: 1.25; }
.kcard span { font-size: .75rem; color: var(--muted); }

/* ---------- Fișa obiectului ---------- */
.object-hero { display: grid; grid-template-columns: 300px 1fr; gap: 20px; }
@media (max-width: 860px) { .object-hero { grid-template-columns: 1fr; } }
.gallery-main { aspect-ratio: 4/3; border-radius: var(--radius); background: var(--surface-2); border: 1px solid var(--border); overflow: hidden; display: grid; place-items: center; }
.gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; margin-top: 8px; }
.thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; border: 2px solid transparent; cursor: pointer; }
.thumbs img.on { border-color: var(--accent); }
.pipeline { display: flex; flex-wrap: wrap; gap: 4px; margin: 10px 0 4px; }
.pipeline span { flex: 1 1 90px; text-align: center; font-size: .72rem; font-weight: 600; padding: 6px 4px; border-radius: 6px; background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); }
.pipeline span.done { background: var(--ok-50); color: var(--ok); border-color: transparent; }
.pipeline span.cur { background: var(--accent); color: #fff; border-color: var(--accent); }
.media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.media-item { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--surface); display: flex; flex-direction: column; }
.media-item .pv { aspect-ratio: 4/3; background: var(--surface-2); display: grid; place-items: center; overflow: hidden; }
.media-item .pv img { width: 100%; height: 100%; object-fit: cover; }
.media-item .meta { padding: 10px; font-size: .8rem; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.dropzone { border: 2px dashed var(--border-strong); border-radius: var(--radius); padding: 22px; text-align: center; color: var(--muted); background: var(--surface-2); cursor: pointer; }
.dropzone.drag { border-color: var(--accent); background: var(--accent-50); }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { position: relative; padding: 0 0 14px 22px; border-left: 2px solid var(--border); margin-left: 6px; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: 4px; width: 12px; height: 12px; border-radius: 99px; background: var(--surface); border: 2px solid var(--accent); }
.timeline li:last-child { border-left-color: transparent; }
.timeline .when { font-size: .78rem; color: var(--muted); }

/* ---------- Texte și AI ---------- */
.text-lang { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); margin-bottom: 16px; }
.text-lang.proposal { border-color: color-mix(in srgb, var(--ai) 50%, var(--border)); box-shadow: 0 0 0 3px var(--ai-50); }
.text-lang .head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.text-lang .body { padding: 14px 16px; }
.text-lang textarea { min-height: 180px; }
.approved-version { background: var(--ok-50); border-radius: 8px; padding: 10px 12px; font-size: .88rem; margin-top: 10px; }
.approved-version summary { cursor: pointer; font-weight: 600; color: var(--ok); }

/* ---------- Locații (arbore) ---------- */
.tree, .tree ul { list-style: none; margin: 0; padding: 0; }
.tree ul { padding-left: 20px; border-left: 1px dashed var(--border-strong); margin-left: 9px; }
.tree li { padding: 3px 0; }
.tree .node { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 8px; }
.tree .node:hover { background: var(--surface-2); }
.tree details > summary { list-style: none; cursor: pointer; }
.tree details > summary::-webkit-details-marker { display: none; }
.tree .caret { width: 16px; display: inline-block; text-align: center; color: var(--muted); transition: transform .15s; }
.tree details[open] > summary .caret { transform: rotate(90deg); }

/* ---------- Hartă foto (hotspots) ---------- */
.hotspot-editor { position: relative; display: inline-block; max-width: 100%; user-select: none; }
.hotspot-editor img { display: block; max-width: 100%; border-radius: 8px; cursor: crosshair; }
.hs { position: absolute; transform: translate(-50%, -50%); width: 32px; height: 32px; border-radius: 99px; background: var(--accent); color: #fff; font-weight: 800; display: grid; place-items: center; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.4); cursor: grab; font-size: .85rem; }
.hs.sel { background: #111; }

/* ---------- Diverse ---------- */
.empty { text-align: center; padding: 36px 16px; color: var(--muted); }
.empty svg { width: 42px; height: 42px; opacity: .5; }
.progress { height: 8px; border-radius: 99px; background: var(--surface-2); overflow: hidden; border: 1px solid var(--border); }
.progress > i { display: block; height: 100%; background: var(--accent); }
.bar-row { display: grid; grid-template-columns: 160px 1fr 50px; gap: 10px; align-items: center; margin-bottom: 8px; font-size: .86rem; }
@media (max-width: 560px) { .bar-row { grid-template-columns: 110px 1fr 40px; } }
.qr-box svg { width: 100%; height: auto; display: block; }
.pagination { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; padding: 14px; list-style: none; margin: 0; }
.pagination a, .pagination span { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--border); background: var(--surface); color: var(--text); }
.pagination .active span, .pagination [aria-current] span { background: var(--accent); color: #fff; border-color: var(--accent); }
.pagination .disabled span { opacity: .45; }
.status-dot { width: 10px; height: 10px; border-radius: 99px; display: inline-block; background: var(--muted); }
.status-dot.on { background: var(--ok); box-shadow: 0 0 0 4px var(--ok-50); }
.status-dot.off { background: var(--err); box-shadow: 0 0 0 4px var(--err-50); }
code.token { display: block; padding: 12px; background: var(--surface-2); border: 1px dashed var(--border-strong); border-radius: 8px; word-break: break-all; font-size: .9rem; }
.slide-card { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); margin-bottom: 14px; }
.slide-card .head { display: flex; gap: 8px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--border); background: var(--surface-2); border-radius: var(--radius) var(--radius) 0 0; flex-wrap: wrap; }
.slide-card .body { padding: 14px; }
.login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 20px; background: radial-gradient(1200px 600px at 10% -10%, var(--accent-50), transparent), var(--bg); }
.login-card { width: min(420px, 100%); }
.ornament { height: 10px; background-image: linear-gradient(135deg, var(--accent) 25%, transparent 25%), linear-gradient(225deg, var(--accent) 25%, transparent 25%), linear-gradient(315deg, var(--accent) 25%, transparent 25%), linear-gradient(45deg, var(--accent) 25%, transparent 25%); background-size: 14px 14px; background-position: 7px 0, 7px 0, 0 0, 0 0; opacity: .85; border-radius: var(--radius) var(--radius) 0 0; }
@media print {
  .sidebar, .topbar, .form-actions, .bulkbar, .no-print { display: none !important; }
  .app { display: block; } .content { padding: 0; } .card { box-shadow: none; }
}
.object-hero > *, .split > *, .grid > *, .form-grid > * { min-width: 0; }
.gallery-main img { max-width: 100%; }


/* ==========================================================================
   Tema MNIM — structura vizuală după www.nationalmuseum.md
   ========================================================================== */
body { font-size: 14.5px; }
h1, h2, h3, .card-h h2, .card-h h3, legend, .brand b { font-family: var(--font-serif); font-weight: 700; letter-spacing: 0; }
h1 { font-size: 1.7rem; color: var(--heading); }
.page-head { padding-bottom: 14px; border-bottom: 1px solid var(--border); position: relative; }
.page-head::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 72px; height: 3px; background: var(--gold); }
.page-head .sub { font-style: italic; }

/* Bandă ornamentală (ca bordura meniului de pe site) */
.mnim-band { height: 6px; background:
  repeating-linear-gradient(90deg, var(--accent) 0 14px, var(--gold) 14px 18px, var(--accent) 18px 32px, var(--brown-800) 32px 36px); }

/* Meniu lateral maro, ca meniul site-ului */
.sidebar { background: linear-gradient(180deg, var(--brown-800) 0%, var(--brown-900) 100%); border-right: 0; color: var(--cream); }
.brand { flex: 0 0 auto; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 16px 14px 14px; background: #f0e9e0; border-bottom: 0; color: #54422d; text-decoration: none !important; }
.brand img { width: 100%; max-width: 200px; height: auto; object-fit: contain; }
.brand b { font-size: .98rem; line-height: 1.2; color: #54422d !important; }
.brand span { color: #91551a !important; font-size: .74rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 600; }
.sidebar .mnim-band { flex: 0 0 auto; }
.nav { padding: 6px 10px 24px; flex: 1 0 auto; }
.nav-group { margin-top: 14px; }
.nav-group > span { color: #e3c48f; font-family: var(--font-serif); font-size: .78rem; letter-spacing: .1em; padding: 6px 10px 6px; border-bottom: 1px solid rgba(247,243,225,.14); margin-bottom: 4px; }
.nav a { color: #f1e8d2; font-weight: 500; border-radius: 4px; padding: 8px 10px; border-left: 3px solid transparent; }
.nav a:hover { background: rgba(247,243,225,.09); color: #fff; }
.nav a.active { background: #f7f3e1; color: #54422d; border-left-color: var(--gold); font-weight: 700; }
.nav a svg { opacity: .9; }
.nav .count { background: var(--gold); color: #2b1d0c; }
.nav .count.alert { background: #c0392b; color: #fff; }

/* Bara de sus */
.topbar { background: color-mix(in srgb, var(--surface) 94%, transparent); border-bottom: 1px solid var(--border); box-shadow: 0 1px 0 var(--accent-50); }
.topbar .search input { border-radius: 4px; background: var(--bg); border-color: var(--border-strong); }
.topbar-title { font-family: var(--font-serif); color: var(--heading); font-weight: 700; white-space: nowrap; font-size: 1.02rem; }
@media (max-width: 1280px) { .topbar-title { display: none; } }
.icon-btn { border-radius: 4px; border-color: var(--border-strong); background: var(--surface); color: var(--heading); }
.icon-btn .dot { background: #c0392b; }
.langsw { border-radius: 4px; border-color: var(--border-strong); }
.langsw button.on { background: var(--accent); }
.avatar { background: var(--accent); border-radius: 4px; font-family: var(--font-serif); }

/* Carduri: antet crem cu titlu serif maro (ca blocurile site-ului) */
.card { border-color: var(--border); }
.card-h { background: linear-gradient(180deg, var(--surface-2), var(--surface)); border-bottom: 1px solid var(--border); border-radius: var(--radius) var(--radius) 0 0; }
.card-h h2, .card-h h3 { color: var(--accent); font-size: 1.05rem; }
.stat { border-top: 3px solid var(--accent); }
.stat .n { font-family: var(--font-serif); color: var(--heading); font-size: 2rem; }
.stat .l { text-transform: uppercase; letter-spacing: .06em; font-size: .74rem; font-weight: 600; }
.stat.warn { border-top-color: var(--gold); } .stat.err { border-top-color: var(--err); } .stat.ok { border-top-color: var(--ok); }

/* Butoane */
.btn { border-radius: 4px; }
.btn.primary { background: linear-gradient(180deg, var(--accent), var(--accent-600)); border-color: var(--accent-600); }
.btn.primary:hover { background: var(--accent-600); }
:root[data-theme="dark"] .btn.primary { color: #1c1712; }

/* Tabele */
.t th { background: var(--accent-50); color: var(--heading); border-bottom: 2px solid var(--border-strong); }
.t tbody tr:nth-child(even) { background: color-mix(in srgb, var(--surface-2) 45%, transparent); }
.t tbody tr:hover { background: var(--accent-50); }
.tabs .on, .tabs [aria-selected="true"] { color: var(--heading); border-bottom-color: var(--gold); }
.pipeline span.cur { background: var(--accent); }
.pagination a, .pagination span { border-radius: 4px; }
fieldset { background: var(--surface); }
legend { color: var(--accent); }

/* Semnale de evidență a patrimoniului */
.sig-list { list-style: none; margin: 0; padding: 0; }
.sig { display: grid; grid-template-columns: 34px 1fr auto; gap: 4px 12px; align-items: center; padding: 11px 14px; border-bottom: 1px solid var(--border); color: var(--text); }
.sig:last-child { border-bottom: 0; }
a.sig:hover { background: var(--accent-50); text-decoration: none; }
.sig .ic { width: 34px; height: 34px; border-radius: 4px; display: grid; place-items: center; background: var(--surface-2); color: var(--muted); grid-row: span 2; }
.sig .ic svg { width: 18px; height: 18px; }
.sig.critic .ic { background: var(--err-50); color: var(--err); }
.sig.atentie .ic { background: var(--warn-50); color: var(--warn); }
.sig.info .ic { background: var(--info-50); color: var(--info); }
.sig b { font-weight: 600; }
.sig .d { grid-column: 2; font-size: .84rem; color: var(--muted); }
.sig .n { grid-row: span 2; font-family: var(--font-serif); font-size: 1.45rem; font-weight: 700; min-width: 2.2em; text-align: right; }
.sig.critic .n { color: var(--err); } .sig.atentie .n { color: var(--warn); } .sig.info .n { color: var(--info); }
.sig.zero { opacity: .55; } .sig.zero .n { color: var(--ok); }
.sig-banner { display: flex; align-items: center; gap: 12px; padding: 12px 16px; margin-bottom: 16px; border-radius: var(--radius); border: 1px solid color-mix(in srgb, var(--err) 35%, transparent); background: var(--err-50); color: var(--err); }
.sig-banner.ok { border-color: color-mix(in srgb, var(--ok) 35%, transparent); background: var(--ok-50); color: var(--ok); }
.sig-banner a { margin-left: auto; }
.sig-banner > div { color: var(--text); }
.deacc { border: 1px solid color-mix(in srgb, var(--err) 35%, var(--border)); border-radius: var(--radius); background: var(--err-50); padding: 12px 16px; margin-bottom: 16px; }

/* Autentificare */
.login-wrap { background: radial-gradient(900px 500px at 50% -10%, var(--accent-50), transparent), var(--bg); }
.login-card { overflow: hidden; }
.login-brand { background: #f0e9e0; color: #54422d; text-align: center; padding: 22px 24px 14px; }
.login-brand img { width: 230px; max-width: 100%; height: auto; }
.login-brand h1 { margin: 10px 0 2px; font-size: 1.25rem; }
.login-brand .muted { font-style: italic; }
.ornament { height: 6px; border-radius: 0; opacity: 1; background-image: none;
  background: repeating-linear-gradient(90deg, var(--accent) 0 14px, var(--gold) 14px 18px, var(--accent) 18px 32px, var(--brown-800) 32px 36px); }
.grid > .card + .card, .grid > * + .card { margin-top: 0; }
.login-brand h1 { color: #54422d; } .login-brand .muted { color: #6e604a; }

/* Responsive: arborele locațiilor și listele cheie–valoare nu depășesc ecranul pe telefon */
.tree .node { flex-wrap: wrap; row-gap: 4px; }
dl.kv dt, dl.kv dd { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 560px) { dl.kv { grid-template-columns: 1fr; } dl.kv dt { border-bottom: 0; padding-bottom: 0; font-size: .82rem; } .tree ul { padding-left: 12px; } }

/* Mobil: bară de navigare jos, ca într-o aplicație */
.tabbar { display: none; }
@media (max-width: 1024px) {
  .tabbar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
    height: calc(62px + env(safe-area-inset-bottom, 0px)); padding: 0 6px env(safe-area-inset-bottom, 0px);
    background: color-mix(in srgb, var(--surface) 96%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--border); box-shadow: 0 -8px 24px -18px rgba(61,47,31,.6); }
  .tabbar a, .tabbar button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border: 0; background: none;
    color: var(--muted); font: 600 .7rem/1.1 var(--font); text-decoration: none !important; position: relative; cursor: pointer; padding: 0; -webkit-tap-highlight-color: transparent; }
  .tabbar .ti { position: relative; display: grid; place-items: center; height: 26px; }
  .tabbar svg { width: 22px; height: 22px; }
  .tabbar [aria-current="page"] { color: var(--heading); }
  .tabbar [aria-current="page"]::before { content: ""; position: absolute; top: 0; left: 28%; right: 28%; height: 3px; border-radius: 0 0 3px 3px; background: var(--gold); }
  .tabbar .main .ti { width: 54px; height: 54px; margin-top: -24px; border-radius: 50%; color: #fff; background: linear-gradient(180deg, #8a6a42, #54422d);
    box-shadow: 0 0 0 5px var(--surface), 0 10px 20px -8px rgba(61,47,31,.8); }
  .tabbar .main svg { width: 24px; height: 24px; }
  .tabbar .main[aria-current="page"]::before { display: none; }
  .tabbar .tdot { position: absolute; top: -4px; right: -12px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: #c0392b; color: #fff;
    font: 700 .65rem/18px var(--font); font-style: normal; text-align: center; box-shadow: 0 0 0 2px var(--surface); }
  .content { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  .bulkbar { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .form-actions { bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
  body.nav-open .tabbar { z-index: 30; }
  .topbar .menu-toggle { display: none; }
}
@media print { .tabbar { display: none !important; } }
@media (max-width: 560px) { .topbar [data-theme-toggle], .topbar a.icon-btn[href*="instructiuni"] { display: none; } .topbar .search { max-width: none; } }
@media (max-width: 560px) { .topbar .spacer { display: none; } .topbar .search { flex: 1; } }
