/* ===== teme (alese din selectorul din meniul lateral, salvate in localStorage "tema") ===== */
:root, :root[data-tema="intunecat"] {
  --side: #0c131c; --side-2: #16222f; --side-text: #b7c4d4; --accent: #4c9aff; --on-accent: #fff;
  --bg: #0f1620; --card: #17212d; --text: #e5edf6; --muted: #93a1b1; --line: #26313f;
  --field-bg: #111a25; --field-border: #2c3a4a; --field-disabled: #1a2431;
  --head-bg: #1c2836; --head-text: #a9b8c8; --row-line: #1e2937; --row-alt: #141e29; --row-hover: #1d2c3d;
  --total-bg: #1b2a3a; --total-line: #2f4257; --pop-bg: #17212d; --hover-soft: #1d2836;
  --umbra: rgba(0,0,0,.5);
  --rosu: #ff6b6b; --galben: #f5a524; --verde: #3ecf8e;
}
:root[data-tema="bleumarin"] {
  --side: #0a1330; --side-2: #152253; --side-text: #bcc7ea; --accent: #5b8cff; --on-accent: #fff;
  --bg: #0b1226; --card: #141d3a; --text: #e6ebfa; --muted: #93a0c4; --line: #26315a;
  --field-bg: #101833; --field-border: #2c3968; --field-disabled: #17203f;
  --head-bg: #1a2449; --head-text: #aab6de; --row-line: #1d2747; --row-alt: #121a36; --row-hover: #1e2b56;
  --total-bg: #1a2750; --total-line: #33427a; --pop-bg: #141d3a; --hover-soft: #1a2445;
  --umbra: rgba(0,0,0,.55);
  --rosu: #ff7a8a; --galben: #f5b041; --verde: #45d39a;
}
:root[data-tema="grafit"] {
  --side: #141414; --side-2: #232323; --side-text: #c6c6c6; --accent: #8ab4f8; --on-accent: #111;
  --bg: #121212; --card: #1c1c1c; --text: #e8e8e8; --muted: #9a9a9a; --line: #2c2c2c;
  --field-bg: #161616; --field-border: #343434; --field-disabled: #1f1f1f;
  --head-bg: #232323; --head-text: #b4b4b4; --row-line: #262626; --row-alt: #181818; --row-hover: #262626;
  --total-bg: #242424; --total-line: #3a3a3a; --pop-bg: #1c1c1c; --hover-soft: #242424;
  --umbra: rgba(0,0,0,.6);
  --rosu: #ff7b72; --galben: #e3b341; --verde: #56d364;
}
:root[data-tema="padure"] {
  --side: #0c1c15; --side-2: #143023; --side-text: #bcd6c8; --accent: #3fbf7f; --on-accent: #fff;
  --bg: #0d1a14; --card: #14251d; --text: #e2f0e8; --muted: #8fab9c; --line: #21382c;
  --field-bg: #102019; --field-border: #274434; --field-disabled: #18291f;
  --head-bg: #1a2f24; --head-text: #a5c2b1; --row-line: #1d3227; --row-alt: #122019; --row-hover: #1d3a2b;
  --total-bg: #1b3327; --total-line: #2d5440; --pop-bg: #14251d; --hover-soft: #1a2e23;
  --umbra: rgba(0,0,0,.55);
  --rosu: #ff7b72; --galben: #e8b341; --verde: #5ee39b;
}
:root[data-tema="mov"] {
  --side: #1a1030; --side-2: #2c1b52; --side-text: #cfc2ec; --accent: #a97bff; --on-accent: #fff;
  --bg: #150e28; --card: #201636; --text: #ece4fb; --muted: #a596c4; --line: #33265a;
  --field-bg: #1a1130; --field-border: #3c2c66; --field-disabled: #241a3d;
  --head-bg: #2a1e4a; --head-text: #bbaada; --row-line: #2a1f48; --row-alt: #1b1230; --row-hover: #2e2154;
  --total-bg: #2b1f4d; --total-line: #46346f; --pop-bg: #201636; --hover-soft: #271b45;
  --umbra: rgba(0,0,0,.55);
  --rosu: #ff7aa2; --galben: #f2b84b; --verde: #4fd8a0;
}
:root[data-tema="contrast"] {
  --side: #000000; --side-2: #101010; --side-text: #ffffff; --accent: #ffd400; --on-accent: #000;
  --bg: #000000; --card: #0a0a0a; --text: #ffffff; --muted: #c8c8c8; --line: #3a3a3a;
  --field-bg: #0a0a0a; --field-border: #6a6a6a; --field-disabled: #151515;
  --head-bg: #151515; --head-text: #ffd400; --row-line: #2a2a2a; --row-alt: #0f0f0f; --row-hover: #262600;
  --total-bg: #1f1f00; --total-line: #ffd400; --pop-bg: #0a0a0a; --hover-soft: #1a1a1a;
  --umbra: rgba(0,0,0,.8);
  --rosu: #ff5a5a; --galben: #ffb020; --verde: #3dff8f;
}
:root[data-tema="deschis"] {
  --side: #16263d; --side-2: #1f3a5f; --side-text: #c9d6e8; --accent: #2f80ed; --on-accent: #fff;
  --bg: #eef2f7; --card: #ffffff; --text: #1d2939; --muted: #667085; --line: #e3e8ef;
  --field-bg: #ffffff; --field-border: #cfd6e0; --field-disabled: #f3f5f8;
  --head-bg: #f6f8fb; --head-text: #475467; --row-line: #f0f2f5; --row-alt: #fafbfd; --row-hover: #eef5ff;
  --total-bg: #e8eef7; --total-line: #c9d4e4; --pop-bg: #ffffff; --hover-soft: #f5f7fa;
  --umbra: rgba(16,24,40,.14);
  --rosu: #b42318; --galben: #b54708; --verde: #067647;
}
:root[data-tema="gri"] {
  --side: #23272e; --side-2: #33383f; --side-text: #cfd4dc; --accent: #4b7bec; --on-accent: #fff;
  --bg: #e6e8ec; --card: #ffffff; --text: #1f2429; --muted: #6b7280; --line: #e2e5ea;
  --field-bg: #ffffff; --field-border: #cbd0d8; --field-disabled: #f1f2f5;
  --head-bg: #f2f4f7; --head-text: #414852; --row-line: #f0f1f4; --row-alt: #fafafb; --row-hover: #eaeef7;
  --total-bg: #e8eaee; --total-line: #cdd2da; --pop-bg: #ffffff; --hover-soft: #f4f5f7;
  --umbra: rgba(16,24,40,.14);
  --rosu: #b42318; --galben: #b54708; --verde: #067647;
}
:root[data-tema="cald"] {
  --side: #3a2f26; --side-2: #5a4636; --side-text: #ecdfd0; --accent: #c2703a; --on-accent: #fff;
  --bg: #f4ece1; --card: #fffdf9; --text: #2e2620; --muted: #7b6a58; --line: #e8ddcd;
  --field-bg: #fffdf9; --field-border: #ded0bc; --field-disabled: #f3ece1;
  --head-bg: #f7f0e5; --head-text: #5a4a39; --row-line: #f2ebe0; --row-alt: #fdf9f2; --row-hover: #f6e9d8;
  --total-bg: #f0e3d0; --total-line: #dcc9ae; --pop-bg: #fffdf9; --hover-soft: #f7f1e8;
  --umbra: rgba(60,40,20,.16);
  --rosu: #b23a2f; --galben: #a35a00; --verde: #2f7a3e;
}
:root[data-tema="oceanic"] {
  --side: #0d3b46; --side-2: #135c6b; --side-text: #cceaee; --accent: #0e8f9f; --on-accent: #fff;
  --bg: #e8f4f6; --card: #ffffff; --text: #10262b; --muted: #5d7b81; --line: #d7e8ea;
  --field-bg: #ffffff; --field-border: #c3dbdf; --field-disabled: #eef5f6;
  --head-bg: #eff7f8; --head-text: #3d5f65; --row-line: #eaf3f4; --row-alt: #f8fcfc; --row-hover: #e0f2f4;
  --total-bg: #dcedef; --total-line: #b9d8dc; --pop-bg: #ffffff; --hover-soft: #f1f8f9;
  --umbra: rgba(10,40,45,.16);
  --rosu: #c0392b; --galben: #a35a00; --verde: #0b7a50;
}
/* nume vechi folosite in pagini -> variabilele temei */
:root {
  --panel: var(--card); --ink: var(--text); --mut: var(--muted); --linie: var(--line);
  --accent-2: color-mix(in srgb, var(--accent) 14%, var(--card));
  --accent-line: color-mix(in srgb, var(--accent) 35%, var(--card));
  --rosu-bg: color-mix(in srgb, var(--rosu) 14%, var(--card));
  --galben-bg: color-mix(in srgb, var(--galben) 15%, var(--card));
  --verde-bg: color-mix(in srgb, var(--verde) 14%, var(--card));
  --neutru-bg: color-mix(in srgb, var(--muted) 16%, var(--card));
  --radius: 10px;
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { font: 14px/1.45 "Segoe UI", system-ui, -apple-system, sans-serif; color: var(--text); background: var(--bg); display: flex; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
::selection { background: color-mix(in srgb, var(--accent) 35%, transparent); }

/* ===== bara de progres (8px, culori care curg, se umple pe masura ce se incarca pagina) ===== */
.topbar { position: fixed; top: 0; left: 0; right: 0; height: 8px; z-index: 200; overflow: hidden; pointer-events: none;
  background: color-mix(in srgb, var(--side) 85%, transparent); opacity: 1; transition: opacity .5s ease; }
.topbar.gata { opacity: 0; }
.topbar-fill { position: relative; height: 100%; width: 0; border-radius: 0 4px 4px 0;
  background: linear-gradient(90deg,
     #2f80ed, #00b3ff, #00c2c7, #00d68f, #34c759, #a8e05f,
     #ffd60a, #ff9f0a, #ff6b3d, #ff375f, #ff2d9b, #bf5af2, #5e5ce6, #2f80ed);
  background-size: 400% 100%; animation: topbar-curge 14s linear infinite;
  box-shadow: 0 0 12px rgba(47,128,237,.55), 0 0 5px rgba(255,255,255,.35);
  transition: width .28s cubic-bezier(.4,0,.2,1); }
.topbar-fill span { position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.9) 50%, rgba(255,255,255,0) 65%);
  background-size: 250% 100%; animation: topbar-licar 3.2s ease-in-out infinite; opacity: .5; }
@keyframes topbar-curge { to { background-position: -400% 0; } }
@keyframes topbar-licar { 0% { background-position: 120% 0; } 100% { background-position: -60% 0; } }
body.loading .topbar-fill { animation-duration: 2.6s; box-shadow: 0 0 18px rgba(47,128,237,.95), 0 0 8px rgba(255,255,255,.7); }
body.loading .topbar-fill span { animation-duration: 1s; opacity: .95; }
@media (prefers-reduced-motion: reduce) { .topbar-fill, .topbar-fill span { animation: none; } }

/* ===== meniu lateral ===== */
.sidebar { width: 240px; flex: none; background: linear-gradient(180deg, var(--side), var(--side-2)); color: var(--side-text);
  display: flex; flex-direction: column; height: 100vh; position: sticky; top: 0; transition: width .2s; overflow: hidden; }
.brand { display: flex; align-items: center; gap: 10px; padding: 18px 14px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { width: 34px; height: 34px; border-radius: 8px; background: var(--accent); color: var(--on-accent);
  display: grid; place-items: center; font-weight: 700; flex: none; letter-spacing: .02em; }
.brand-text { font-weight: 600; color: #fff; white-space: nowrap; line-height: 1.15; }
.brand-text small { display: block; font-weight: 400; font-size: 11px; opacity: .6; }
.sidebar nav { padding: 10px 8px; flex: 1; overflow-y: auto; overflow-x: hidden; }
.nav-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; margin: 1px 0; border-radius: 8px;
  color: var(--side-text); text-decoration: none; white-space: nowrap; font-size: 14px; }
.nav-item:hover { background: rgba(255,255,255,.07); color: #fff; text-decoration: none; }
.nav-item.active { background: var(--accent); color: var(--on-accent); }
.nav-item span { overflow: hidden; text-overflow: ellipsis; }
.ico { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* grupuri care se deschid / inchid */
.nav-parinte { width: 100%; background: none; border: 0; font: inherit; cursor: pointer; text-align: left;
  font-size: 12px; text-transform: uppercase; letter-spacing: .07em; color: color-mix(in srgb, var(--side-text) 80%, transparent); margin-top: 6px; }
.nav-parinte .sageata { margin-left: auto; width: 15px; height: 15px; transition: transform .15s; }
.nav-grup.deschis > .nav-parinte .sageata { transform: rotate(90deg); }
.nav-grup.are-activ > .nav-parinte { color: #fff; }
.nav-copii { display: none; margin-left: 18px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,.14); }
.nav-grup.deschis > .nav-copii { display: block; }
/* jos: selector tema + restrangere */
.side-jos { border-top: 1px solid rgba(255,255,255,.08); padding: 10px 8px; display: flex; flex-direction: column; gap: 8px; }
.teme { display: flex; align-items: center; gap: 8px; padding: 0 2px; color: var(--side-text); }
.teme select { flex: 1; min-width: 0; font: inherit; font-size: 13px; color: var(--side-text); background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15); border-radius: 7px; padding: 5px 7px; cursor: pointer; }
.teme select option, .teme select optgroup { color: #1d2939; background: #fff; }
.teme .ico { cursor: pointer; }
.collapse { padding: 5px; background: transparent; border: 1px solid rgba(255,255,255,.15); color: var(--side-text);
  border-radius: 6px; cursor: pointer; font-size: 16px; line-height: 1; transition: transform .2s; }
.collapse:hover { background: rgba(255,255,255,.07); color: #fff; }

body.mini .sidebar { width: 62px; }
body.mini .brand { padding: 18px 14px; }
body.mini .brand-text, body.mini .nav-item span, body.mini .teme select { display: none; }
body.mini .nav-parinte .sageata { display: none; }
body.mini .nav-parinte { justify-content: center; }
body.mini .nav-parinte { display: none; }
body.mini .nav-copii, body.mini .nav-grup > .nav-copii { display: block; margin-left: 0; padding-left: 0; border-left: 0; }
body.mini .nav-grup + .nav-grup { border-top: 1px solid rgba(255,255,255,.1); margin-top: 6px; padding-top: 6px; }
body.mini .nav-item { justify-content: center; padding: 9px 0; }
body.mini .teme { justify-content: center; }
body.mini .collapse { transform: rotate(180deg); }

/* ===== continut ===== */
main { flex: 1; height: 100vh; overflow: auto; padding: 22px 28px 40px; min-width: 0; }
.pagina { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
h1 { margin: 0; font-size: 22px; font-weight: 600; }
h2 { font-size: 16px; margin: 22px 0 8px; font-weight: 600; }
.inapoi { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 10px; padding: 5px 14px 5px 10px;
  font-size: 13px; font-weight: 600; color: var(--accent); background: var(--accent-2); border: 1px solid var(--accent-line);
  border-radius: 999px; transition: background .15s, color .15s, transform .15s; }
.inapoi::before { content: ""; width: 14px; height: 14px; background: currentColor; transition: transform .15s;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat; }
.inapoi:hover { text-decoration: none; background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.inapoi:hover::before { transform: translateX(-3px); }
.mut { color: var(--muted); }
.mic { font-size: 12px; }
.mono { font-family: Consolas, "Cascadia Mono", monospace; font-size: 13px; }

input, select, textarea { color: var(--text); }
.filtre { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.filtre input, .filtre select, .camp { padding: 6px 9px; border: 1px solid var(--field-border); border-radius: 7px; font: inherit;
  background: var(--field-bg); color: var(--text); }
.filtre input:focus, .filtre select:focus, input:focus, select:focus, textarea:focus {
  outline: 2px solid color-mix(in srgb, var(--accent) 30%, transparent); border-color: var(--accent); }
.filtre input[type=search] { width: 240px; }
.filtre label { color: var(--muted); font-size: 13px; }
.filtre .check { display: flex; align-items: center; gap: 4px; }
input[type=checkbox], input[type=radio] { accent-color: var(--accent); }
input[type=text], input[type=number], input[type=search], input[type=password], input:not([type]), select, textarea {
  background-color: var(--field-bg); border: 1px solid var(--field-border); border-radius: 7px; padding: 5px 8px; font: inherit; }
button, .buton { padding: 6px 14px; border: 1px solid var(--accent); background: var(--accent); color: var(--on-accent);
  border-radius: 7px; font: inherit; cursor: pointer; display: inline-block; }
button:hover, .buton:hover { filter: brightness(1.08); text-decoration: none; }
.buton.secundar, button.secundar { background: transparent; color: var(--accent); }
.buton.secundar:hover, button.secundar:hover { background: var(--accent-2); filter: none; }
button[disabled] { opacity: .5; cursor: default; }

.carduri { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 16px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px;
  box-shadow: 0 1px 2px var(--umbra); }
.card span { display: block; font-size: 12px; color: var(--muted); }
.card b { font-size: 19px; font-variant-numeric: tabular-nums; }
.card.rosu b { color: var(--rosu); }

.vechimi { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.bara { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 12px; min-width: 110px; }
.bara span { display: block; font-size: 11px; color: var(--muted); }
.bara b { font-variant-numeric: tabular-nums; }
.bara.ok b { color: var(--verde); }
.bara.total { margin-left: auto; background: var(--accent-2); border-color: var(--accent-line); }

.tabel-wrap { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: auto;
  max-height: calc(100vh - 230px); box-shadow: 0 1px 2px var(--umbra); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 6px 10px; border-bottom: 1px solid var(--row-line); text-align: left; white-space: nowrap; }
td:first-child { white-space: normal; min-width: 220px; }
th.bifa, td.bifa { width: 34px; min-width: 0 !important; padding-right: 0; text-align: center; }
td.bifa input { margin: 0; cursor: pointer; }
thead th { position: sticky; top: 0; background: var(--head-bg); font-size: 12px; color: var(--head-text); font-weight: 600; z-index: 1;
  border-bottom: 1px solid var(--line); }
thead th a { color: inherit; }
tbody tr:nth-child(even) { background: var(--row-alt); }
tbody tr:hover { background: var(--row-hover); }
tfoot td { position: sticky; bottom: 0; background: var(--total-bg); font-weight: 700; border-top: 2px solid var(--total-line); }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.b { font-weight: 600; }
td.rosu { color: var(--rosu); }
.neg { color: var(--galben); }
.atentie, tbody tr.atentie { background: var(--galben-bg); }
.gol { padding: 30px; text-align: center; color: var(--muted); }

.zile { display: inline-block; min-width: 34px; padding: 1px 6px; border-radius: 10px; font-size: 12px; font-weight: 600; text-align: center; }
.zile.z1 { background: var(--galben-bg); color: var(--galben); }
.zile.z2 { background: color-mix(in srgb, #ea580c 18%, var(--card)); color: color-mix(in srgb, #ea580c 75%, var(--text)); }
.zile.z3 { background: var(--rosu-bg); color: var(--rosu); }

.nota { background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius); padding: 12px 16px; margin-bottom: 16px; }
.nota pre { background: var(--hover-soft); padding: 8px 12px; border-radius: 6px; }
.import { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 4px 16px 12px; margin-bottom: 12px; }
.import ul { margin: 6px 0 0; padding-left: 20px; font-size: 13px; }
details summary { cursor: pointer; color: var(--accent); margin-top: 8px; }
details.inchise { margin-top: 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 14px; }

/* emailuri */
.actiuni { display: flex; align-items: center; gap: 10px; }
.actiuni form { margin: 0; }
.flash { padding: 9px 14px; border-radius: var(--radius); margin-bottom: 14px; background: var(--accent-2); border: 1px solid var(--accent-line); }
.flash.ok { background: var(--verde-bg); border-color: color-mix(in srgb, var(--verde) 35%, var(--card)); color: var(--verde); }
.flash.eroare { background: var(--rosu-bg); border-color: color-mix(in srgb, var(--rosu) 35%, var(--card)); color: var(--rosu); }
a.bara { color: inherit; text-decoration: none; }
a.bara:hover { border-color: var(--accent-line); }
a.bara.sel { border-color: var(--accent); box-shadow: inset 0 -3px 0 var(--accent); }
.eticheta { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; background: var(--neutru-bg); color: var(--muted); }
.st-procesat .eticheta, .eticheta.st-procesat { background: var(--verde-bg); color: var(--verde); }
.eticheta.st-fara_date, .eticheta.st-fara_parser { background: var(--galben-bg); color: var(--galben); }
.eticheta.st-eroare { background: var(--rosu-bg); color: var(--rosu); }
.eticheta.st-tabel { background: var(--accent-2); color: var(--accent); }
.eticheta.st-ignorat { background: var(--neutru-bg); color: var(--muted); text-decoration: line-through; }
.ok { color: var(--verde); font-weight: 600; }
.atentie-t { color: var(--galben); font-weight: 600; }
pre.text { background: var(--card); color: var(--text); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px; white-space: pre-wrap;
  font: 12px/1.45 Consolas, "Cascadia Mono", monospace; max-height: 420px; overflow: auto; }
details.bloc { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 6px 14px; margin-bottom: 8px; }
details.bloc pre.text { border: 0; padding: 8px 0; }
code { background: var(--hover-soft); border: 1px solid var(--line); padding: 1px 5px; border-radius: 4px; font-size: 12px; }

/* calendar romanesc (static/calendar.js) */
input.data-ro {
  width: 128px; font-variant-numeric: tabular-nums; cursor: pointer; padding-right: 30px !important;
  background: var(--field-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238899aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01' stroke-width='3'/%3E%3C/svg%3E") no-repeat right 8px center !important;
}
input.data-ro:hover { border-color: var(--accent); }
.calendar-ro { position: absolute; z-index: 150; width: 262px; background: var(--pop-bg); color: var(--text); border: 1px solid var(--field-border); border-radius: 10px;
  box-shadow: 0 8px 24px var(--umbra); padding: 10px; font-size: 13px; }
.cal-cap { display: flex; align-items: center; gap: 4px; margin-bottom: 8px; }
.cal-cap select { flex: 1; padding: 4px; border: 1px solid var(--field-border); border-radius: 6px; font: inherit; background: var(--field-bg); color: var(--text); }
.cal-cap .cal-an { flex: 0 0 72px; }
.cal-nav { background: var(--field-bg); color: var(--text); border: 1px solid var(--field-border); padding: 2px 9px; border-radius: 6px; font-size: 16px; line-height: 1.2; }
.cal-nav:hover { background: var(--hover-soft); filter: none; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.cal-zi-s { font-size: 11px; color: var(--muted); padding: 3px 0; font-weight: 600; }
.cal-zi { background: none; border: 0; color: var(--text); padding: 6px 0; border-radius: 6px; cursor: pointer; font: inherit; }
.cal-zi:hover { background: var(--row-hover); filter: none; }
.cal-zi.wk { color: var(--rosu); }
.cal-zi.azi { box-shadow: inset 0 0 0 1px var(--accent); color: var(--accent); font-weight: 600; }
.cal-zi.sel { background: var(--accent); color: var(--on-accent); font-weight: 600; }
.cal-jos { display: flex; justify-content: space-between; margin-top: 8px; border-top: 1px solid var(--line); padding-top: 8px; }
.cal-jos button { background: var(--field-bg); color: var(--text); border: 1px solid var(--field-border); padding: 3px 10px; font-size: 12px; }
.cal-jos button:hover { background: var(--hover-soft); filter: none; }
.bara.incasat { background: var(--verde-bg); border-color: color-mix(in srgb, var(--verde) 35%, var(--card)); }
.bara.incasat b { color: var(--verde); }

/* matching */
.bara-actiuni { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.potrivire { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 14px; margin-bottom: 10px; box-shadow: 0 1px 2px var(--umbra); }
.pot-cap { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pot-suma { font-size: 16px; font-variant-numeric: tabular-nums; min-width: 110px; }
.pot-client { flex: 1; min-width: 200px; }
.pot-desc { color: var(--muted); margin: 6px 0 4px 26px; word-break: break-word; }
.pot-tab { margin: 6px 0 0 26px; width: calc(100% - 26px); }
.pot-tab th, .pot-tab td { padding: 4px 8px; }
.pot-tab thead th { position: static; }
.pot-tab td:first-child { min-width: 0; }
.mic-btn { padding: 3px 10px; font-size: 12px; }
.bara span.mic { display: block; color: var(--muted); font-size: 11px; }
.eticheta.st-propus { background: var(--galben-bg); color: var(--galben); }
.eticheta.st-nepotrivit { background: var(--neutru-bg); color: var(--muted); }

/* cautare client in SoftOne (static/client_cauta.js) */
.camp-client { position: relative; display: inline-block; }
input.client-softone { width: 460px; max-width: 70vw; }
input.client-softone.invalid { border-color: var(--rosu) !important; outline: 2px solid color-mix(in srgb, var(--rosu) 30%, transparent); }
.sugestii { position: absolute; z-index: 120; top: calc(100% + 4px); left: 0; width: 100%; min-width: 460px; max-height: 320px; overflow: auto;
  background: var(--pop-bg); border: 1px solid var(--field-border); border-radius: 10px; box-shadow: 0 8px 24px var(--umbra); padding: 4px; }
.sug { padding: 7px 10px; border-radius: 7px; cursor: pointer; display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.sug b { font-weight: 600; }
.sug span { font-size: 12px; color: var(--muted); white-space: nowrap; }
.sug:hover, .sug.sel { background: var(--row-hover); }
.sug.sel { box-shadow: inset 3px 0 0 var(--accent); }
.sug-gol { padding: 8px 10px; color: var(--muted); font-size: 12px; }
.camp-eroare { position: absolute; top: calc(100% + 4px); left: 0; font-size: 12px; color: var(--rosu); white-space: nowrap; }
.sugestii:not([hidden]) + .camp-eroare { display: none; }
.eticheta.st-inchis { background: var(--accent-2); color: var(--accent); }
.pot-tab tr.pot-total td { border-top: 1px solid var(--line); color: var(--muted); }

/* incasari: tabel fara scroll orizontal */
table.tabel-incasari { table-layout: fixed; }
.tabel-incasari th, .tabel-incasari td { white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
.tabel-incasari td:first-child { min-width: 0; white-space: nowrap; }
.tabel-incasari col.c-data { width: 92px; }
.tabel-incasari col.c-cont { width: 120px; }
.tabel-incasari col.c-suma { width: 112px; }
.tabel-incasari col.c-client { width: 22%; }
.tabel-incasari col.c-fact { width: 110px; }
.tabel-incasari col.c-stare { width: 104px; }
.tabel-incasari td.num { white-space: nowrap; }
.tabel-incasari td.desc { line-height: 1.35; }
.tabel-incasari .iban { font-size: 11px; margin-top: 2px; }

/* rand de filtre cu buton in dreapta (Clienti) */
.bara-filtre { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.bara-filtre .filtre { flex: 1; }
.eticheta.st-revizuit { background: color-mix(in srgb, #f5c400 22%, var(--card)); color: color-mix(in srgb, #e0a800 85%, var(--text));
  border: 1px solid color-mix(in srgb, #f5c400 55%, var(--card)); }

/* antet fix la derulare (titlu, etichete, filtre) - main este containerul care se deruleaza */
.cap-fix { position: sticky; top: -22px; z-index: 20; background: var(--bg); margin: -14px -28px 12px; padding: 22px 28px 12px;
  border-bottom: 1px solid var(--line); box-shadow: 0 6px 12px -10px var(--umbra); }
.cap-fix .vechimi { margin-bottom: 10px; }
main > .cap-fix:first-child { margin-top: -22px; }

/* pagini cu tabel: antetul, etichetele si filtrele raman fixe, se deruleaza doar tabelul */
main.fix-tabel { display: flex; flex-direction: column; overflow: hidden; padding-bottom: 16px; }
main.fix-tabel > * { flex: none; }
main.fix-tabel > .tabel-wrap { flex: 1 1 auto; min-height: 180px; max-height: none; }

/* autentificare si utilizatori */
body.pagina-login { display: grid; place-items: center; min-height: 100vh; padding: 24px; }
.login { width: 100%; max-width: 400px; background: var(--card); border: 1px solid var(--line); border-radius: 14px;
  padding: 26px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 12px 40px var(--umbra); }
.login-cap { display: flex; align-items: center; gap: 12px; }
.login-cap h1 { font-size: 19px; }
.login-cap p { margin: 2px 0 0; font-size: 12px; color: var(--muted); }
.login .flash { margin: 0; }
.login #cronometru { display: block; margin-top: 4px; font-variant-numeric: tabular-nums; }
.login button { padding: 10px 16px; }
.camp-login { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--muted); }
.camp-login input { width: 100%; padding: 8px 10px; font-size: 14px; }
.grila-cont { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; align-items: start; max-width: 980px; }
.form-card { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; }
.form-card h2 { margin: 0 0 4px; }
.lista-bife { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px 16px; }
.lista-bife input:disabled + * , .lista-bife label:has(input:disabled) { opacity: .55; }
.lista-pagini { margin: 0; padding-left: 18px; }
button.sterge { color: var(--rosu); border-color: color-mix(in srgb, var(--rosu) 50%, var(--card)); }
button.sterge:hover { background: var(--rosu-bg); }
.user-box { display: flex; flex-direction: column; gap: 2px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.08); }
.user-box a { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 8px; color: var(--side-text);
  white-space: nowrap; overflow: hidden; font-size: 13px; }
.user-box a:hover { background: rgba(255,255,255,.07); color: #fff; text-decoration: none; }
.user-box a.active { background: var(--accent); color: var(--on-accent); }
.user-box .user-nume span { font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
body.mini .user-box span { display: none; }
body.mini .user-box a { justify-content: center; padding: 8px 0; }

/* Matching: fiecare extras intr-o bordura luminoasa, in culoarea temei */
.potrivire { border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--card));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent), 0 0 14px color-mix(in srgb, var(--accent) 22%, transparent);
  margin-bottom: 14px; transition: box-shadow .15s, border-color .15s; }
.potrivire:hover { border-color: var(--accent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), 0 0 22px color-mix(in srgb, var(--accent) 40%, transparent); }
.potrivire:has(input.sel:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 6%, var(--card));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent), 0 0 24px color-mix(in srgb, var(--accent) 45%, transparent); }

/* alocare manuala: tabelul se deruleaza, totalurile si butonul raman jos */
main.fix-tabel > form.form-aloc { display: contents; }
main.fix-tabel > form.form-aloc > * { flex: none; }
main.fix-tabel > form.form-aloc > .tabel-wrap { flex: 1 1 auto; min-height: 180px; max-height: none; }
main.fix-tabel .bara-jos { flex: none; margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--line); }
#cauta-factura { width: 220px; }
