/* Cabinet Expres Asig — stil de aplicație. Aceleași jetoane ca site-ul (Inter, albastru
 * 1d4ed8, roșu d61f3a), dar layout de panou: bară laterală + conținut. */
@font-face { font-family: 'Inter'; src: url('../../assets/font/InterVariable.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
:root {
    --fg: #0b1220; --fg-2: #4b5567; --fg-3: #8a93a6;
    --bg: #ffffff; --bg-2: #f5f7fb; --bg-3: #eaeef6;
    --line: #e3e8f0; --line-2: #cfd6e2;
    --accent: #1d4ed8; --accent-2: #1e40af; --accent-soft: #e8efff; --brand: #d61f3a; --brand-soft: #fde8ec;
    --ok: #15803d; --ok-soft: #e7f6ec; --warn: #b45309; --warn-soft: #fff4e5; --bad: #b91c1c; --bad-soft: #fdecec; --info: #0e7490; --info-soft: #e0f5fa;
    --r: 14px; --r-sm: 9px; --r-lg: 20px;
    --shadow: 0 1px 2px rgba(11,18,32,.05), 0 8px 24px -12px rgba(11,18,32,.18);
    --shadow-lg: 0 24px 60px -24px rgba(11,18,32,.35);
    --bara: 236px; --ease: cubic-bezier(.2,.7,.2,1);
}
html { color-scheme: light; -webkit-text-size-adjust: 100%; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body.cab { margin: 0; font: 400 15px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; color: var(--fg); background: var(--bg-2); font-feature-settings: 'cv11', 'ss01', 'tnum'; min-height: 100vh; }
img, svg { max-width: 100%; display: block; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
h1, h2, h3 { margin: 0; line-height: 1.15; letter-spacing: -.02em; font-weight: 750; }
h1 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
h2 { font-size: 1.05rem; font-weight: 700; margin-bottom: .9rem; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
h3 { font-size: .92rem; font-weight: 650; margin: 1rem 0 .5rem; color: var(--fg-2); }
p { margin: 0; }
.muted { color: var(--fg-2); } .small { font-size: .84rem; } .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em; }
.nowrap { white-space: nowrap; } .nr { text-align: right; font-variant-numeric: tabular-nums; } .pre { white-space: pre-wrap; }
.ok-t { color: var(--ok); } .warn-t { color: var(--warn); } .bad-t { color: var(--bad); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--fg); color: #fff; padding: .6rem 1rem; border-radius: 8px; z-index: 100; }
.skip:focus { left: 8px; }
.lnk { font-size: .88rem; font-weight: 600; }

/* ---------- bara laterală ---------- */
.bara { position: fixed; inset: 0 auto 0 0; width: var(--bara); background: var(--bg); border-right: 1px solid var(--line); display: flex; flex-direction: column; padding: 1.1rem .9rem; z-index: 40; transition: transform .3s var(--ease); }
.marca { display: block; margin: .2rem .3rem 1.4rem; }
.marca svg { height: 34px; width: auto; }
.meniu { display: grid; gap: 2px; }
.meniu a { display: flex; align-items: center; gap: .65rem; padding: .6rem .75rem; border-radius: 10px; color: var(--fg-2); font-weight: 550; font-size: .92rem; position: relative; }
.meniu a:hover { background: var(--bg-2); color: var(--fg); text-decoration: none; }
.meniu a[aria-current] { background: var(--accent-soft); color: var(--accent-2); font-weight: 650; }
.meniu hr { border: 0; border-top: 1px solid var(--line); margin: .6rem .5rem; }
.meniu .ic { width: 18px; height: 18px; flex: none; background: currentColor; opacity: .75; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.ic-panou { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1.5'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1.5'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1.5'/%3E%3C/svg%3E"); }
.ic-polita-noua { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M14 3v6h6'/%3E%3Cpath d='M18 2v6M15 5h6'/%3E%3C/svg%3E"); }
.ic-contracte { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E"); }
.ic-expira { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.ic-cereri { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 21l1.9-5.4A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }
.ic-import { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2'/%3E%3C/svg%3E"); }
.ic-export { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15V3M7 8l5-5 5 5M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2'/%3E%3C/svg%3E"); }
.ic-utilizatori { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21a7 7 0 0 1 14 0M16 4a4 4 0 0 1 0 8M22 21a7 7 0 0 0-5-6.7'/%3E%3C/svg%3E"); }
.ic-puncte { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V8l9-5 9 5v13M9 21v-6h6v6'/%3E%3C/svg%3E"); }
.ic-angajati { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.ic-asiguratori { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 4 6v6c0 5 3.4 9.4 8 10 4.6-.6 8-5 8-10V6z'/%3E%3C/svg%3E"); }
.ic-setari { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z'/%3E%3C/svg%3E"); }
.ic-jurnal { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4zM8 9h8M8 13h8M8 17h5'/%3E%3C/svg%3E"); }
.bulina { margin-left: auto; background: var(--brand); color: #fff; font-size: .7rem; font-weight: 800; padding: .1rem .45rem; border-radius: 999px; }
.bara-jos { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .6rem .3rem 0; border-top: 1px solid var(--line); font-size: .84rem; }
.limbi { display: inline-flex; border: 1px solid var(--line-2); border-radius: 999px; padding: 2px; background: var(--bg); }
.limbi a { padding: .2rem .55rem; border-radius: 999px; font-size: .74rem; font-weight: 700; color: var(--fg-2); }
.limbi a[aria-current] { background: var(--fg); color: #fff; }
.limbi a:hover { text-decoration: none; }

/* ---------- corp ---------- */
.corp { margin-left: var(--bara); min-height: 100vh; display: flex; flex-direction: column; }
.antet { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 1rem; height: 60px; padding: 0 1.6rem; background: color-mix(in srgb, var(--bg-2) 85%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.antet-titlu { font-weight: 700; font-size: .95rem; color: var(--fg-2); }
.antet-u { margin-left: auto; display: flex; align-items: center; gap: .8rem; }
.antet-nume { display: grid; line-height: 1.15; color: var(--fg); text-align: right; }
.antet-nume b { font-size: .9rem; } .antet-nume span { font-size: .74rem; color: var(--fg-3); }
.antet-nume:hover { text-decoration: none; }
.inline { display: inline; }
.burger { display: none; width: 40px; height: 40px; border: 1px solid var(--line-2); background: var(--bg); border-radius: 10px; cursor: pointer; align-items: center; justify-content: center; }
.burger span { display: block; width: 18px; height: 2px; background: var(--fg); box-shadow: 0 -6px 0 var(--fg), 0 6px 0 var(--fg); }
.continut { padding: 1.5rem 1.6rem 2.5rem; max-width: 1400px; width: 100%; display: grid; gap: 1.1rem; align-content: start; }
.subsol { margin-top: auto; padding: 1rem 1.6rem; font-size: .78rem; color: var(--fg-3); border-top: 1px solid var(--line); }
.pag-cap { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.pag-cap h1 { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.pag-cap p { margin-top: .3rem; }
.pag-act { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.pag-jos { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: .88rem; }

/* ---------- carduri, tabele ---------- */
.card { background: var(--bg); border: 1px solid var(--line); border-radius: var(--r); padding: 1.2rem 1.3rem; box-shadow: var(--shadow); min-width: 0; }
.card-cap { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem; }
.card-cap h2 { margin-bottom: .2rem; }
.grid { display: grid; gap: 1.1rem; } .g2 { grid-template-columns: 1fr 1fr; } .g3 { grid-template-columns: repeat(3, 1fr); } .g4 { grid-template-columns: repeat(4, 1fr); }
.grid > * { min-width: 0; }
.tabel-wrap { overflow-x: auto; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); }
.tabel { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tabel th, .tabel td { padding: .7rem .8rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.tabel th { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--fg-3); font-weight: 650; background: var(--bg-2); white-space: nowrap; position: sticky; top: 0; }
.tabel th a { color: inherit; } .tabel th[aria-sort] a { color: var(--accent-2); }
.tabel tbody tr:hover { background: #fafbfe; }
.tabel tbody tr:last-child td { border-bottom: 0; }
.tabel.compact th, .tabel.compact td { padding: .45rem .5rem; }
.tabel.compact { font-size: .86rem; }
.tabel tr.inactiv td { opacity: .55; }
.tabel small { font-size: .78rem; }
.nr-c { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; font-size: .88rem; }
.mesaj-c { max-width: 320px; color: var(--fg-2); font-size: .85rem; }
.detalii-j { max-width: 420px; font-family: ui-monospace, monospace; font-size: .76rem; color: var(--fg-3); word-break: break-all; }
.proc { min-width: 120px; position: relative; font-size: .8rem; color: var(--fg-3); }
.proc i { display: block; height: 6px; border-radius: 3px; background: var(--accent); margin-bottom: 3px; }
.pill { display: inline-flex; align-items: center; padding: .15rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .03em; white-space: nowrap; background: var(--bg-3); color: var(--fg-2); }
.pill.ok { background: var(--ok-soft); color: var(--ok); } .pill.warn { background: var(--warn-soft); color: var(--warn); } .pill.bad { background: var(--bad-soft); color: var(--bad); } .pill.info { background: var(--info-soft); color: var(--info); } .pill.mut { background: var(--bg-3); color: var(--fg-3); }
.placuta { display: inline-block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 800; letter-spacing: .08em; padding: .1rem .45rem; border: 1.5px solid var(--fg); border-radius: 5px; background: #fff; font-size: .8rem; line-height: 1.3; }
.placuta.mare { font-size: 1.4rem; padding: .3rem .9rem; border-width: 2.5px; border-radius: 8px; margin-bottom: .9rem; border-left: 12px solid #0033a0; }
.dl { display: grid; grid-template-columns: minmax(120px, 38%) 1fr; gap: .4rem 1rem; margin: 0; font-size: .9rem; }
.dl dt { color: var(--fg-3); } .dl dd { margin: 0; font-weight: 550; word-break: break-word; }
.dl.mic { font-size: .82rem; gap: .25rem .8rem; }
.sub-bloc { margin-top: 1rem; padding-top: .9rem; border-top: 1px dashed var(--line); }
.lista-s { margin: .4rem 0 0; padding-left: 1.1rem; font-size: .88rem; display: grid; gap: .3rem; }
.suma-mare { font-size: 1.7rem; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.suma-mare small { font-size: .9rem; font-weight: 600; color: var(--fg-3); }
.suma-mica { display: grid; text-align: right; line-height: 1.2; } .suma-mica b { font-size: 1.3rem; } .suma-mica small { font-size: .78rem; }
.rezumat-l { font-size: .9rem; color: var(--fg-2); }
.gol-mesaj { text-align: center; padding: 2.5rem 1rem; display: grid; gap: 1rem; justify-items: center; color: var(--fg-2); }
.eroare-p .cod { font-size: 3rem; font-weight: 800; color: var(--fg-3); letter-spacing: -.04em; }
.flash { padding: .8rem 1rem; border-radius: var(--r-sm); font-size: .9rem; border: 1px solid; }
.flash.ok { background: var(--ok-soft); border-color: #bfe6cc; color: var(--ok); } .flash.bad { background: var(--bad-soft); border-color: #f3c2c2; color: var(--bad); } .flash.warn { background: var(--warn-soft); border-color: #f5d9a8; color: var(--warn); }
.parola-temp { font-family: ui-monospace, monospace; user-select: all; }

/* ---------- KPI ---------- */
.kpi { display: grid; grid-template-columns: repeat(6, 1fr); gap: .8rem; }
.kpi.mic { grid-template-columns: repeat(5, 1fr); margin: .6rem 0 1rem; }
.kpi-c { background: var(--bg); border: 1px solid var(--line); border-radius: var(--r); padding: .9rem 1rem; display: grid; gap: .15rem; color: var(--fg); box-shadow: var(--shadow); transition: transform .2s var(--ease), box-shadow .2s; position: relative; overflow: hidden; }
a.kpi-c:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); text-decoration: none; }
.kpi-c::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--accent); }
.kpi-c.warn::before { background: var(--warn); } .kpi-c.bad::before { background: var(--bad); } .kpi-c.ok::before { background: var(--ok); }
.kpi-l { font-size: .74rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--fg-3); }
.kpi-c b { font-size: 1.6rem; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.kpi-s { font-size: .8rem; color: var(--fg-2); }
.bare { display: flex; align-items: flex-end; gap: .4rem; height: 170px; padding-top: .5rem; }
.bara-l { flex: 1; display: grid; grid-template-rows: 1fr auto auto; height: 100%; align-items: end; justify-items: center; gap: .3rem; color: var(--fg-2); font-size: .7rem; text-decoration: none !important; min-width: 0; }
.bara-l i { display: block; width: 100%; max-width: 38px; background: linear-gradient(180deg, #3b82f6, var(--accent)); border-radius: 6px 6px 3px 3px; min-height: 3px; transition: filter .2s; align-self: end; }
.bara-l:hover i { filter: brightness(1.15); }
.bara-l b { font-size: .74rem; color: var(--fg); }
.bara-l span { white-space: nowrap; }

/* ---------- formulare ---------- */
.form { display: grid; gap: .9rem; }
.field { display: grid; gap: .3rem; min-width: 0; }
.field label { font-size: .82rem; font-weight: 600; color: var(--fg-2); }
.field .hint { font-size: .78rem; color: var(--fg-3); }
.input { width: 100%; border: 1px solid var(--line-2); border-radius: var(--r-sm); background: var(--bg); color: var(--fg); padding: .6rem .8rem; font: inherit; font-size: .93rem; transition: border-color .15s, box-shadow .15s; }
.input:focus { outline: 0; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.input.nr { text-align: right; font-variant-numeric: tabular-nums; }
select.input { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%234b5567' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .7rem center; padding-right: 2.2rem; text-overflow: ellipsis; }
textarea.input { resize: vertical; min-height: 80px; }
input[type=color] { width: 44px; height: 32px; border: 1px solid var(--line-2); border-radius: 6px; padding: 2px; background: var(--bg); cursor: pointer; }
.check { display: flex; gap: .55rem; align-items: flex-start; font-size: .88rem; color: var(--fg-2); cursor: pointer; }
.check input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--accent); flex: none; }
.err { color: var(--bad); font-size: .8rem; }
.form-act { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin-top: .3rem; }
.form-linkuri { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .88rem; }
.inline-form { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.inline-form .input { width: auto; flex: 1; min-width: 160px; }
.seg-v { border: 1px solid var(--line); border-radius: var(--r-sm); padding: .7rem .9rem; margin: 0; display: grid; gap: .5rem; }
.seg-v legend { padding: 0 .3rem; font-size: .8rem; }
.actiuni-l { display: grid; gap: .5rem; }
.actiuni-l .btn { width: 100%; justify-content: flex-start; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .62rem 1.1rem; border-radius: 999px; font-weight: 650; font-size: .9rem; border: 1px solid transparent; cursor: pointer; transition: transform .2s var(--ease), box-shadow .2s, background .2s; text-decoration: none !important; line-height: 1.1; font-family: inherit; white-space: nowrap; }
.btn-primary { background: var(--accent); color: #fff; box-shadow: 0 8px 20px -10px rgba(29,78,216,.7); }
.btn-primary:hover { background: var(--accent-2); transform: translateY(-1px); }
.btn-ghost { background: var(--bg); color: var(--fg); border-color: var(--line-2); }
.btn-ghost:hover { background: var(--bg-2); }
.btn-bad { background: var(--bad-soft); color: var(--bad); border-color: #f3c2c2; }
.btn-lg { padding: .85rem 1.4rem; font-size: 1rem; } .btn-sm { padding: .45rem .85rem; font-size: .84rem; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.filtre { padding: .9rem 1rem; }
.filtre-rand { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.filtre-rand .input[type=search] { flex: 1; min-width: 220px; }
.filtre-rand select.input { width: auto; }
.filtre-mai { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .7rem; margin-top: .9rem; padding-top: .9rem; border-top: 1px dashed var(--line); }
.form .filtre-mai { border: 0; margin: 0; padding: 0; }
.dd { position: relative; }
.dd-menu { position: absolute; right: 0; top: calc(100% + 6px); min-width: 300px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow-lg); padding: .4rem; z-index: 35; display: grid; gap: .2rem; }
.dd-menu a { display: grid; gap: .1rem; padding: .6rem .7rem; border-radius: 9px; color: var(--fg); }
.dd-menu a:hover { background: var(--bg-2); text-decoration: none; }
.dd-menu a span { font-size: .78rem; color: var(--fg-3); white-space: normal; }
.dd-menu small { padding: .3rem .7rem .4rem; color: var(--fg-3); font-size: .74rem; }
.pag { display: flex; gap: .25rem; flex-wrap: wrap; }
.pag a, .pag span { min-width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0 .5rem; border-radius: 8px; border: 1px solid var(--line-2); background: var(--bg); color: var(--fg); font-weight: 600; font-size: .86rem; text-decoration: none !important; }
.pag span { border: 0; } .pag a[aria-current] { background: var(--fg); color: #fff; border-color: var(--fg); }
.drop { display: grid; gap: .3rem; justify-items: center; padding: 2rem 1rem; border: 2px dashed var(--line-2); border-radius: var(--r); cursor: pointer; text-align: center; transition: border-color .2s, background .2s; margin-bottom: 1rem; }
.drop:hover, .drop.peste { border-color: var(--accent); background: var(--accent-soft); }
.drop input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.drop-t { font-weight: 650; }
.drop-n { font-size: .84rem; min-height: 1.2em; }
.form-inc .grid { margin-bottom: .8rem; }
.exporturi .export-c { display: grid; gap: .6rem; align-content: start; }
.exporturi .btn { justify-self: start; }
.polite { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.polita { display: grid; gap: .5rem; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.1rem 1.2rem; color: var(--fg); box-shadow: var(--shadow); transition: transform .2s var(--ease), box-shadow .2s; border-left-width: 5px; border-left-color: var(--ok); }
.polita:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); text-decoration: none; }
.polita.expira { border-left-color: var(--warn); } .polita.expirat, .polita.reziliat { border-left-color: var(--bad); opacity: .85; }
.polita-cap { display: flex; justify-content: space-between; align-items: center; gap: .6rem; font-size: .88rem; }
.polita-veh { font-size: 1.05rem; font-weight: 700; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.polita-per { font-size: .88rem; }
.polita-jos { display: flex; justify-content: space-between; align-items: baseline; font-size: .88rem; color: var(--fg-2); border-top: 1px dashed var(--line); padding-top: .5rem; }
.polita-jos b { color: var(--fg); font-size: 1rem; }
details summary { cursor: pointer; font-weight: 600; }

/* ---------- pagini fără cont ---------- */
body.gol { display: grid; place-items: center; padding: 1.5rem; }
.gol-fund { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.gol-fund i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .5; }
.gol-fund i:nth-child(1) { width: 60vw; height: 60vw; left: 55%; top: -25vw; background: radial-gradient(circle, rgba(29,78,216,.45), transparent 62%); }
.gol-fund i:nth-child(2) { width: 40vw; height: 40vw; left: -12vw; bottom: -14vw; background: radial-gradient(circle, rgba(214,31,58,.3), transparent 62%); }
.gol-card { position: relative; z-index: 1; width: min(100%, 520px); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); padding: 2rem 2rem 1.4rem; display: grid; gap: 1.1rem; }
.gol-card .marca { margin: 0 0 .3rem; } .gol-card .marca svg { height: 36px; }
.gol-card h1 { font-size: 1.5rem; }
.gol-jos { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: .8rem; border-top: 1px solid var(--line); font-size: .82rem; }

/* ---------- responsive ---------- */
@media (max-width: 1200px) { .kpi { grid-template-columns: repeat(3, 1fr); } .kpi.mic { grid-template-columns: repeat(3, 1fr); } .g4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 960px) {
    :root { --bara: 0px; }
    .bara { transform: translateX(-100%); width: 260px; box-shadow: var(--shadow-lg); }
    .bara.open { transform: none; }
    .burger { display: inline-flex; }
    .corp { margin-left: 0; }
    .g2, .g3 { grid-template-columns: 1fr; }
    .antet, .continut, .subsol { padding-left: 1rem; padding-right: 1rem; }
    .antet-nume span { display: none; }
}
@media (max-width: 640px) {
    .kpi, .kpi.mic { grid-template-columns: 1fr 1fr; }
    .g4 { grid-template-columns: 1fr; }
    .gol-card { padding: 1.4rem 1.2rem 1rem; }
    .pag-cap { align-items: flex-start; flex-direction: column; }
    .filtre-rand .input[type=search] { min-width: 0; width: 100%; flex-basis: 100%; }
    /* etichetele lunilor nu încap orizontal pe telefon: se scriu vertical */
    .bare { height: 165px; } .bara-l { font-size: .62rem; }
    .bara-l span { writing-mode: vertical-rl; transform: rotate(180deg); height: 42px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* =====================================================================
   PLATA: starea și soldul pe fiecare contract
   În listă, celula de plată e un buton — se apasă și se notează încasarea
   fără să ieși din listă. Culoarea spune starea dintr-o privire.
   ===================================================================== */
.plata-btn { display: grid; gap: 1px; justify-items: end; width: 100%; padding: .35rem .6rem; border: 1px solid var(--line-2); border-radius: 10px; background: var(--bg); font: inherit; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.plata-btn:hover { border-color: var(--accent); background: var(--accent-soft); transform: translateY(-1px); }
.plata-btn .plata-stare { font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.plata-btn .plata-sold { font-size: .95rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--fg); }
.plata-btn.platit { border-color: #bfe6cc; background: var(--ok-soft); }
.plata-btn.platit .plata-stare { color: var(--ok); }
.plata-btn.platit .plata-sold { color: var(--ok); }
.plata-btn.partial { border-color: #f5d9a8; background: var(--warn-soft); }
.plata-btn.partial .plata-stare { color: var(--warn); }
.plata-btn.partial .plata-sold { color: var(--warn); }
.plata-btn.neplatit .plata-stare { color: var(--fg-3); }
.plata-btn.neplatit .plata-sold { color: var(--fg-2); }
.plata-btn.tocmai { animation: plataOk .9s var(--ease); }
@keyframes plataOk { 0% { box-shadow: 0 0 0 0 rgba(21,128,61,.45); } 100% { box-shadow: 0 0 0 14px rgba(21,128,61,0); } }
.celula-plata { min-width: 120px; }

/* cifrele: prima / achitat / sold */
.plata-cifre { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.plata-cifre > div { display: grid; line-height: 1.25; }
.plata-cifre span { font-size: .72rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--fg-3); }
.plata-cifre b { font-size: 1.15rem; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.plata-rezumat { display: grid; gap: .5rem; justify-items: end; text-align: right; }
.plata-rezumat .plata-cifre { justify-content: flex-end; }
.plata-rapid-f { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px dashed var(--line); }

/* dialogul de încasare din listă */
.plata-mod { width: min(94vw, 480px); padding: 1.5rem 1.6rem 1.3rem; border: 1px solid var(--line); border-radius: 20px; background: var(--bg); color: var(--fg); box-shadow: var(--shadow-lg); }
.plata-mod::backdrop { background: rgba(11,18,32,.45); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.plata-mod[open] { animation: plataIn .26s var(--ease); }
@keyframes plataIn { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
.plata-mod h2 { font-size: 1.15rem; margin-bottom: .9rem; padding-right: 2rem; }
.plata-x { position: absolute; top: .6rem; right: .6rem; margin: 0; }
.plata-x button { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--fg-3); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.plata-x button:hover { background: var(--bg-3); color: var(--fg); }
.plata-mod .plata-cifre { padding: .8rem 1rem; margin-bottom: 1rem; background: var(--bg-2); border-radius: var(--r-sm); justify-content: space-between; }
.plata-form { display: grid; gap: .9rem; }
.plata-rapid { display: flex; gap: .5rem; flex-wrap: wrap; }
.plata-err { margin: 0; padding: .6rem .8rem; border-radius: var(--r-sm); background: var(--bad-soft); border: 1px solid #f3c2c2; color: var(--bad); font-size: .86rem; }
.plata-act { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; padding-top: .3rem; border-top: 1px solid var(--line); margin-top: .2rem; padding-top: .9rem; }
.plata-act .lnk { margin-left: auto; }
@media (max-width: 640px) {
    .plata-mod { padding: 1.2rem 1rem 1rem; }
    .plata-mod .plata-cifre { gap: .8rem; }
    .plata-cifre b { font-size: 1rem; }
    .plata-rezumat { justify-items: start; text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .plata-mod[open], .plata-btn.tocmai { animation: none; } }
