/* Achiziții — limbaj vizual comun „Neuboard", scoped la :is(.ach, .sophia). Sursa unica de
   adevar pentru cele 3 pagini (Comenzi, Necesar, Furnizori). Regulile specifice
   fiecarei pagini raman in blocul ei (.achizitii-index/.achizitii-necesar/...). */
:is(.ach, .sophia) { color:var(--sophia-text); }
/* panelul de sectiune: card alb simplu — titlul/numarul/actiunile stau in
   page header-ul sticky, nu in panel (vezi layouts/partials/_page_header). */
:is(.ach, .sophia) .devize-panel { border:1px solid var(--sophia-border); box-shadow:0 1px 1px rgba(70,72,86,.04); }
:is(.ach, .sophia) .devize-panel__head { display:flex; align-items:center; gap:12px; padding:13px 18px; border-bottom:1px solid var(--sophia-border); flex-wrap:wrap; }
/* varianta cu taburi: taburile sunt antetul panelului, lipite de marginea lui. */
:is(.ach, .sophia) .devize-panel__head--tabs { padding:0 8px; }
:is(.ach, .sophia) .devize-panel__head--tabs .nav-tabs { border-bottom:none; margin:0; }
:is(.ach, .sophia) .devize-panel__title { font-family:"Montserrat",sans-serif; font-size:16px; font-weight:600; color:var(--sophia-text); margin:0; }
:is(.ach, .sophia) .devize-panel__count { background:var(--sophia-neutral-bg); color:var(--sophia-accent); font-weight:700; border-radius:12px; padding:2px 10px; font-size:12px; }
:is(.ach, .sophia) .devize-panel__actions { margin-left:auto; display:flex; gap:6px; flex-wrap:wrap; }
:is(.ach, .sophia) .devize-panel__body { padding:16px 18px; }
/* panel */
:is(.ach, .sophia) .card { background:var(--sophia-surface); border:1px solid var(--sophia-border); border-radius:2px; box-shadow:0 1px 1px rgba(70,72,86,.04); }
:is(.ach, .sophia) .card-body { padding:6px 14px 14px; }
:is(.ach, .sophia) .card-header { padding:11px 16px; border-bottom:1px solid var(--sophia-border); display:flex; align-items:center; gap:8px; background:var(--sophia-surface); }
:is(.ach, .sophia) .card-title { font-family:"Montserrat",sans-serif; font-size:14px; font-weight:600; color:var(--sophia-text); margin:0; }
:is(.ach, .sophia) .card-title .fa { color:var(--sophia-text-muted); }
/* taburi plate */
:is(.ach, .sophia) .nav-tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; gap:2px; border-bottom:1px solid var(--sophia-line-2); margin:0 0 4px; padding:0; -webkit-overflow-scrolling:touch; }
:is(.ach, .sophia) .nav-tabs > li { float:none; margin:0; flex:0 0 auto; }
:is(.ach, .sophia) .nav-tabs > li > a { border:none; border-radius:0; margin:0; background:transparent; padding:10px 13px; color:var(--sophia-text-muted); font-size:13px; white-space:nowrap; border-bottom:2px solid transparent; }
:is(.ach, .sophia) .nav-tabs > li > a:hover { background:var(--sophia-surface-2); color:var(--sophia-text); }
:is(.ach, .sophia) .nav-tabs > li > a.active,
:is(.ach, .sophia) .nav-tabs > li > a.active:hover,
:is(.ach, .sophia) .nav-tabs > li > a.active:focus { color:var(--sophia-accent); background:transparent; border:none; border-bottom:2px solid var(--sophia-accent); font-weight:600; }
:is(.ach, .sophia) .nav-tabs .badge { background:var(--sophia-text-muted); color:var(--sophia-surface); margin-left:5px; font-size:10px; }
:is(.ach, .sophia) .nav-tabs .active .badge { background:var(--sophia-accent); color:var(--sophia-surface); }
:is(.ach, .sophia) .tab-content { padding-top:12px; }
/* pastile de status */
:is(.ach, .sophia) .pill { display:inline-block; font-size:11px; font-weight:600; padding:2px 9px; border-radius:3px; }
:is(.ach, .sophia) .pill--pending   { background:var(--sophia-neutral-bg); color:var(--sophia-text-2); }
:is(.ach, .sophia) .pill--placed    { background:var(--sophia-info-bg); color:var(--sophia-info); }
:is(.ach, .sophia) .pill--partial   { background:var(--sophia-warn-bg); color:var(--sophia-warn); }
:is(.ach, .sophia) .pill--completed { background:var(--sophia-good-bg); color:var(--sophia-good); }
:is(.ach, .sophia) .pill--overdue   { background:var(--sophia-bad-bg); color:var(--sophia-bad); margin-left:4px; }
/* indicator de termen (countdown SLA): NU e pastila de status — arata cat timp
   a mai ramas pana la un termen si pulseaza cand a fost depasit. */
:is(.ach, .sophia) .sla-pill{display:inline-block;font-family:monospace;font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}
:is(.ach, .sophia) .sla-pill--lg{font-size:16px;padding:6px 13px;border-radius:20px}
:is(.ach, .sophia) .sla--ok{background:var(--sophia-good-bg);color:var(--sophia-good)}
:is(.ach, .sophia) .sla--warn{background:var(--sophia-warn-bg);color:var(--sophia-warn)}
:is(.ach, .sophia) .sla--breach{background:var(--sophia-bad-bg);color:var(--sophia-bad);animation:slapulse 1.4s ease-in-out infinite}
@keyframes slapulse{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){:is(.ach, .sophia) .sla--breach{animation:none}}
/* chip-uri (necesar) */
:is(.ach, .sophia) .chip { display:inline-block; font-size:11px; font-weight:600; padding:2px 9px; border-radius:3px; white-space:nowrap; background:var(--sophia-neutral-bg); color:var(--sophia-text-2); }
:is(.ach, .sophia) .chip--fab     { background:var(--sophia-info-bg); color:var(--sophia-info); }
:is(.ach, .sophia) .chip--prod    { background:var(--sophia-product-bg); color:var(--sophia-product); }
:is(.ach, .sophia) .chip--reorder { background:var(--sophia-warn-bg); color:var(--sophia-warn); }
:is(.ach, .sophia) .chip--req     { background:var(--sophia-good-bg); color:var(--sophia-good); }
/* eticheta libera (tag), nu stare: contur, fara fundal, ca sa nu concureze cu pastilele */
:is(.ach, .sophia) .chip--tag { background:transparent; border:1px solid var(--sophia-line-3); color:var(--sophia-text-muted); font-weight:500; }
/* paginare */
:is(.ach, .sophia) .nq-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:16px; }
:is(.ach, .sophia) .nq-pagination__info { font-size:12px; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .pagination { display:inline-flex; gap:4px; margin:0; }
:is(.ach, .sophia) .pagination a, :is(.ach, .sophia) .pagination span { display:inline-block; min-width:30px; text-align:center; padding:5px 9px; border:1px solid var(--sophia-line-2); border-radius:3px; font-size:13px; color:var(--sophia-accent); text-decoration:none; background:var(--sophia-surface); }
:is(.ach, .sophia) .pagination a:hover { background:var(--sophia-surface-2); }
:is(.ach, .sophia) .pagination .current, :is(.ach, .sophia) .pagination em { background:var(--sophia-accent); border-color:var(--sophia-accent); color:var(--sophia-surface); font-weight:600; font-style:normal; }
:is(.ach, .sophia) .pagination .disabled { color:var(--sophia-text-faint); }
/* Chrome-ul turbotable (header/rânduri/caret/detail/toolbar) e global acum:
   app/assets/stylesheets/turbo_table.css. Aici rămâne doar conținutul (.tt-toolbar
   e o bară de filtre proprie, nu controalele turbotable-ului). */
:is(.ach, .sophia) .tt-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
:is(.ach, .sophia) .tt-toolbar input[type=search], :is(.ach, .sophia) .tt-toolbar select { padding:6px 9px; border:1px solid var(--sophia-line-3); border-radius:3px; font-size:13px; }
:is(.ach, .sophia) .tt-toolbar input:focus, :is(.ach, .sophia) .tt-toolbar select:focus { outline:none; border-color:var(--sophia-accent); box-shadow:0 0 0 2px rgba(85,107,141,.12); }
/* .tt-filters: bara de filtre a unei liste — eticheta mica uppercase deasupra
   fiecarui control, actiunile impinse la dreapta, linie de separare fata de
   controalele turbotable-ului de dedesubt. */
:is(.ach, .sophia) .tt-filters { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap;
  margin:0 0 12px; padding:0 0 12px; border-bottom:1px solid var(--sophia-border); }
:is(.ach, .sophia) .tt-filters__field { display:flex; flex-direction:column; gap:3px; }
:is(.ach, .sophia) .tt-filters__field > label { font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--sophia-text-muted); margin:0; }
:is(.ach, .sophia) .tt-filters select, :is(.ach, .sophia) .tt-filters input[type=date] { height:var(--sophia-control-h); padding:4px 8px;
  border:1px solid var(--sophia-line-3); border-radius:3px; font-size:13px; background:var(--sophia-surface); color:var(--sophia-text); }
:is(.ach, .sophia) .tt-filters select:focus, :is(.ach, .sophia) .tt-filters input[type=date]:focus { outline:none;
  border-color:var(--sophia-accent); box-shadow:0 0 0 2px rgba(85,107,141,.12); }
:is(.ach, .sophia) .tt-filters__dates { display:flex; align-items:center; gap:6px; }
:is(.ach, .sophia) .tt-filters__sep { color:var(--sophia-text-muted); }
:is(.ach, .sophia) .tt-filters__actions { display:flex; align-items:center; gap:6px; margin-left:auto; }
/* .tt-active-filters: cand filtrele stau in drawer, butonul care il deschide
   sta in dreapta barei de taburi, iar in corp raman doar pastilele active. */
:is(.ach, .sophia) .devize-panel__head--tabs .devize-panel__actions { padding:5px 4px 5px 0; }
:is(.ach, .sophia) .devize-panel__head--tabs .devize-panel__actions .badge { margin-left:5px; background:var(--sophia-accent); color:var(--sophia-surface); }
:is(.ach, .sophia) .tt-active-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:0 0 12px; padding:0 0 12px; border-bottom:1px solid var(--sophia-border); }
:is(.ach, .sophia) .tt-active-filters__label { font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .tt-active-filters__actions { margin-left:auto; display:flex; gap:6px; }
:is(.ach, .sophia) .chip--filter { display:inline-flex; align-items:center; gap:6px; padding:3px 6px 3px 9px; }
:is(.ach, .sophia) .chip--filter b { color:var(--sophia-text); font-weight:700; }
:is(.ach, .sophia) .chip--filter a { color:var(--sophia-text-muted); font-size:14px; line-height:1; text-decoration:none; padding:0 2px; }
:is(.ach, .sophia) .chip--filter a:hover { color:var(--sophia-bad); }
/* expand-row: previzualizarea liniilor unei comenzi (randata lazy in frame-ul
   de detaliu al turbotable-ului). Pe structura .ln din pagina comenzii. */
:is(.ach, .sophia) .so-row-detail { padding:6px 12px 12px; background:var(--sophia-surface-2); }
:is(.ach, .sophia) .so-row-detail table { width:100%; border-collapse:collapse; font-size:12.5px; background:var(--sophia-surface); }
:is(.ach, .sophia) .so-row-detail thead th { text-align:left; font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--sophia-text-muted); font-weight:600; padding:8px 10px; border-bottom:1px solid var(--sophia-line-2); white-space:nowrap; }
:is(.ach, .sophia) .so-row-detail tbody td { padding:8px 10px; border-top:1px solid var(--sophia-line); vertical-align:middle; }
:is(.ach, .sophia) .so-row-detail .num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
:is(.ach, .sophia) .so-row-detail__head { display:flex; align-items:center; gap:6px; margin:2px 2px 8px; font-size:12.5px; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .so-row-detail__head a { color:var(--sophia-accent); font-weight:600; }
:is(.ach, .sophia) .so-row-detail__foot { display:flex; justify-content:flex-end; margin-top:10px; }
/* coloana Recepționat: bifa verde pe liniile primite integral, badge portocaliu
   cu ce mai trebuie primit pe cele partiale/nereceptionate */
:is(.ach, .sophia) .so-row-detail .rcvd-full { color:var(--sophia-good); font-weight:600; }
:is(.ach, .sophia) .so-row-detail .rcvd-full i { margin-right:4px; }
:is(.ach, .sophia) .so-row-detail .rcvd-none { color:var(--sophia-bad); font-weight:600; }
:is(.ach, .sophia) .so-row-detail .rcvd-remain { display:inline-block; margin-left:6px; padding:1px 7px;
  border-radius:10px; background:var(--sophia-warn-bg); color:var(--sophia-warn); font-size:11px; font-weight:600; }
/* ---- pagina de comanda (detaliu): card de context, stepper, tabel de linii,
   istoric. Comune modulului, nu specifice unei pagini. ---- */
/* Achiziții — pagină comandă (paleta Neuboard). Scoped la .so-show. Redesign:
fără expander — o singură tabelă de linii care crește coloanele de recepție
când comanda e „primibilă"; stepper de status în locul pastilei. */
/* ---- card de context (paginile de detaliu): meta | oameni | total ---- */
/* Trei zone cu rol fix — „ce e" / „cine" / „cat" — despartite prin linie, nu
   prin gol: pe ecran lat zonele se intind, nu lasa canion la mijloc. Zonele
   absente nu se randeaza, iar cele ramase impart latimea. */
:is(.ach, .sophia) .offer-header { display:flex; align-items:stretch; flex-wrap:wrap; background:var(--sophia-surface);
  border:1px solid var(--sophia-border); border-radius:2px; margin-bottom:14px; overflow:hidden;
  box-shadow:0 1px 1px rgba(70,72,86,.04); }
:is(.ach, .sophia) .offer-header > * { padding:13px 18px; }
:is(.ach, .sophia) .oh__main { flex:2 1 300px; min-width:0; display:flex; flex-direction:column; gap:7px; justify-content:center; }
:is(.ach, .sophia) .oh__meta { display:flex; align-items:center; gap:8px; font-size:12px; flex-wrap:wrap; }
:is(.ach, .sophia) .oh__tags { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
/* nota de blocaj: doar cand opreste fluxul */
:is(.ach, .sophia) .oh__note { margin:0; padding:5px 9px; font-size:12px; color:var(--sophia-warn); background:var(--sophia-warn-bg); border-radius:3px; }
/* acelasi ton, dar cu controale (ex. confirmarea transmiterii pe WhatsApp) */
:is(.ach, .sophia) .oh__note-form { display:flex; align-items:center; gap:6px; flex-wrap:wrap; flex-basis:100%;
  margin:4px 0 0; padding:7px 9px; background:var(--sophia-warn-bg); border-radius:3px; }
:is(.ach, .sophia) .oh__note-label { font-size:11px; font-weight:600; color:var(--sophia-warn); }
:is(.ach, .sophia) .oh__note-form .form-control,
:is(.ach, .sophia) .oh__note-form .form-select { height:var(--sophia-control-h-sm); width:150px; font-size:12px; }
/* oameni: cel pentru care e documentul primul, autorul secundar */
:is(.ach, .sophia) .oh__people { flex:1 1 190px; border-left:1px solid var(--sophia-border); display:flex; flex-direction:column;
  gap:11px; justify-content:center; align-items:flex-start; }
:is(.ach, .sophia) .person { display:flex; gap:9px; align-items:center; min-width:0; max-width:100%; }
:is(.ach, .sophia) .person__text { display:flex; flex-direction:column; min-width:0; line-height:1.3; }
:is(.ach, .sophia) .person__label { font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .person__label a { color:var(--sophia-text-muted); }
:is(.ach, .sophia) .person__name { font-size:13px; font-weight:600; color:var(--sophia-text); white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; max-width:220px; }
:is(.ach, .sophia) .person__sub { font-size:11px; color:var(--sophia-text-muted); display:flex; align-items:center; gap:7px; min-width:0; }
:is(.ach, .sophia) .person__sub a:not(.btn) { color:var(--sophia-text-faint); flex:0 0 auto; }
:is(.ach, .sophia) .person__sub a:not(.btn):hover { color:var(--sophia-accent); }
:is(.ach, .sophia) .person--secondary .avatar { width:28px; height:28px; flex:0 0 28px; font-size:11px; }
:is(.ach, .sophia) .person--secondary .person__name { font-size:12px; font-weight:500; color:var(--sophia-text-2); }
:is(.ach, .sophia) .avatar { width:34px; height:34px; flex:0 0 34px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; color:var(--sophia-surface); font-weight:700; font-size:12px; background:var(--sophia-accent); }
:is(.ach, .sophia) .avatar--c { background:var(--sophia-text-muted); }
:is(.ach, .sophia) .avatar--sm { width:26px; height:26px; flex:0 0 26px; font-size:10px; }
/* cifrele: zona proprie, pe fundal usor diferit, ca sa se citeasca ca un bloc */
:is(.ach, .sophia) .oh__right { flex:1 1 210px; border-left:1px solid var(--sophia-border); background:var(--sophia-surface-2);
  display:flex; flex-direction:column; justify-content:center; }
:is(.ach, .sophia) .oh__total-label { display:block; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .oh__total-value { font-size:23px; font-weight:700; color:var(--sophia-text); font-variant-numeric:tabular-nums; }
:is(.ach, .sophia) .oh__total-value .cur { font-size:12px; color:var(--sophia-text-muted); font-weight:600; margin-left:2px; }
:is(.ach, .sophia) .oh__total-note { font-size:11px; color:var(--sophia-text-muted); margin-top:1px; font-variant-numeric:tabular-nums; }
:is(.ach, .sophia) .oh__total-note s { opacity:.75; }
:is(.ach, .sophia) .oh__total-note .save { color:var(--sophia-bad); }
:is(.ach, .sophia) .oh__variance { display:block; margin-top:3px; font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
:is(.ach, .sophia) .oh__variance--under { color:var(--sophia-good); }
:is(.ach, .sophia) .oh__variance--over { color:var(--sophia-bad); }
@media (max-width:991px) {
  :is(.ach, .sophia) .offer-header { flex-direction:column; }
  :is(.ach, .sophia) .offer-header > * { flex:0 0 auto; }
  :is(.ach, .sophia) .oh__people, :is(.ach, .sophia) .oh__right { border-left:0; border-top:1px solid var(--sophia-border); }
}
/* ---- card de context compact (.oh-strip): stari + termen + bani pe primul
   rand, faptele cheie inline pe al doilea. Varianta joasa a .offer-header,
   pentru paginile unde termenul si datele conteaza mai mult decat avatarele. */
:is(.ach, .sophia) .oh-strip { background:var(--sophia-surface); border:1px solid var(--sophia-border); border-radius:2px;
  margin-bottom:14px; box-shadow:0 1px 1px rgba(70,72,86,.04); padding:10px 16px 11px;
  display:flex; flex-direction:column; gap:8px; }
:is(.ach, .sophia) .oh-strip__row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; }
:is(.ach, .sophia) .oh-strip__money { margin-left:auto; display:flex; align-items:baseline; gap:6px; white-space:nowrap;
  font-variant-numeric:tabular-nums; }
:is(.ach, .sophia) .oh-strip__money .lbl { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .oh-strip__money .val { font-size:17px; font-weight:700; color:var(--sophia-text); }
:is(.ach, .sophia) .oh-strip__money .cur { font-size:11px; color:var(--sophia-text-muted); font-weight:600; }
:is(.ach, .sophia) .oh-strip__money .sub { font-size:11px; color:var(--sophia-text-muted); margin-left:8px; }
:is(.ach, .sophia) .oh-strip__money .sub s { opacity:.75; }
:is(.ach, .sophia) .oh-strip__money .sub .save { color:var(--sophia-bad); }
:is(.ach, .sophia) .oh-strip__facts { display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-size:12px;
  color:var(--sophia-text-muted); font-variant-numeric:tabular-nums; }
:is(.ach, .sophia) .oh-strip__facts b { color:var(--sophia-text); font-weight:600; }
:is(.ach, .sophia) .oh-strip__facts .sep { color:var(--sophia-text-faint); }
:is(.ach, .sophia) .oh-strip__facts > a { color:var(--sophia-text-faint); }
:is(.ach, .sophia) .oh-strip__facts > a:hover { color:var(--sophia-accent); }
:is(.ach, .sophia) .sla-note { font-size:11px; color:var(--sophia-text-muted); }
/* ---- carduri de KPI (rapoarte) ---- */
:is(.ach, .sophia) .kpi-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
:is(.ach, .sophia) .kpi{flex:1 1 120px;background:var(--sophia-surface);border:1px solid var(--sophia-border);border-radius:2px;padding:14px 12px;text-align:center;box-shadow:0 1px 1px rgba(70,72,86,.04)}
:is(.ach, .sophia) .kpi__value{font-family:"Montserrat",sans-serif;font-size:26px;font-weight:700;color:var(--sophia-text);font-variant-numeric:tabular-nums;line-height:1}
:is(.ach, .sophia) .kpi__label{display:block;margin-top:6px;font-size:11px;color:var(--sophia-text-muted);text-transform:uppercase;letter-spacing:.04em}
:is(.ach, .sophia) .kpi--danger .kpi__value{color:var(--sophia-bad)}
:is(.ach, .sophia) .kpi--accent .kpi__value{color:var(--sophia-accent)}
:is(.ach, .sophia) .kpi--success .kpi__value{color:var(--sophia-good)}
/* ---- bara de adaugare: formular inline la baza unui panel ---- */
:is(.ach, .sophia) .add-row { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap;
  margin:12px -14px -14px; padding:12px 14px; background:var(--sophia-surface-2); border-top:1px solid var(--sophia-border); }
:is(.ach, .sophia) .add-row__field { display:flex; flex-direction:column; gap:3px; }
:is(.ach, .sophia) .add-row__field > label { font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--sophia-text-muted); margin:0; }
:is(.ach, .sophia) .add-row .form-control,
:is(.ach, .sophia) .add-row .form-select { height:var(--sophia-control-h); padding:4px 8px; font-size:13px; border:1px solid var(--sophia-line-3);
  border-radius:3px; box-shadow:none; width:100%; }
:is(.ach, .sophia) .add-row .form-control:focus,
:is(.ach, .sophia) .add-row .form-select:focus { outline:none; border-color:var(--sophia-accent); box-shadow:0 0 0 2px rgba(85,107,141,.12); }
:is(.ach, .sophia) .add-row__field--grow { flex:1 1 260px; }
:is(.ach, .sophia) .add-row lexxy-editor { background:var(--sophia-surface); border:1px solid var(--sophia-line-3); border-radius:3px; min-height:90px; }
:is(.ach, .sophia) .add-row__file input[type=file] { font-size:12px; color:var(--sophia-text-2); max-width:210px; }
:is(.ach, .sophia) .add-row__submit { margin-left:auto; }
:is(.ach, .sophia) .add-row--stack { flex-direction:column; align-items:stretch; gap:12px; }
/* varianta „sus": aceeasi bara, lipita de capul panelului, nu de baza */
:is(.ach, .sophia) .add-row--top { margin:-14px -14px 14px; border-top:0; border-bottom:1px solid var(--sophia-border); }
:is(.ach, .sophia) .add-row__line { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
:is(.ach, .sophia) .add-row__line--foot { border-top:1px dashed var(--sophia-line-2); padding-top:12px; }
:is(.ach, .sophia) .add-row__error { margin:0; font-size:12px; color:var(--sophia-bad); }
:is(.ach, .sophia) .add-row textarea.form-control { height:auto; }
/* varianta „doua coloane": ce se scrie la stanga, ce se decide la dreapta */
:is(.ach, .sophia) .add-row--split { display:grid; grid-template-columns:minmax(0,1fr) 260px;
  align-items:start; gap:14px 18px; }
:is(.ach, .sophia) .add-row--split .add-row__error { grid-column:1 / -1; }
:is(.ach, .sophia) .add-row__main { display:flex; flex-direction:column; gap:10px; min-width:0; }
:is(.ach, .sophia) .add-row__side { display:flex; flex-direction:column; gap:10px;
  padding-left:18px; border-left:1px solid var(--sophia-border); }
:is(.ach, .sophia) .add-row__side .add-row__submit { margin:2px 0 0; }
:is(.ach, .sophia) .add-row__side .add-row__submit .btn { width:100%; }
:is(.ach, .sophia) .add-row--split lexxy-editor { min-height:96px; }
:is(.ach, .sophia) .add-row--split .lexxy-editor__content { max-height:220px; overflow-y:auto; }
@media (max-width: 991px) {
  :is(.ach, .sophia) .add-row--split { grid-template-columns:minmax(0,1fr); }
  :is(.ach, .sophia) .add-row__side { padding:12px 0 0; border-left:0; border-top:1px solid var(--sophia-border); }
}

/* ---- selectie prin chip-uri: radiouri native stilizate, fara JS ---- */
:is(.ach, .sophia) .chip-radios { display:flex; flex-wrap:wrap; gap:6px; }
:is(.ach, .sophia) .chip-radios input[type=radio] { position:absolute; opacity:0; width:0; height:0; }
:is(.ach, .sophia) .chip-radio { display:inline-flex; align-items:center; gap:5px; margin:0; cursor:pointer;
  font-size:11px; font-weight:600; padding:5px 10px; border-radius:3px; white-space:nowrap;
  background:var(--sophia-neutral-bg); color:var(--sophia-text-2); border:1px solid transparent; }
:is(.ach, .sophia) .chip-radio:hover { background:var(--sophia-neutral-bg); }
:is(.ach, .sophia) .chip-radios input[type=radio]:checked + .chip-radio { background:var(--sophia-accent); color:var(--sophia-surface); }
:is(.ach, .sophia) .chip-radios input[type=radio]:focus-visible + .chip-radio { border-color:var(--sophia-accent); box-shadow:0 0 0 2px rgba(85,107,141,.2); }

/* ---- feed de activitate ---- */
:is(.ach, .sophia) .cx-next { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px;
  padding:10px 12px; border-radius:3px; background:var(--sophia-surface-2); border-left:3px solid var(--sophia-text-muted); }
:is(.ach, .sophia) .cx-next--warn { background:var(--sophia-warn-bg); border-left-color:var(--sophia-warn); }
:is(.ach, .sophia) .cx-next--breach { background:var(--sophia-bad-bg); border-left-color:var(--sophia-bad); }
:is(.ach, .sophia) .cx-next--none { background:var(--sophia-surface-2); border-left-color:var(--sophia-line-2); }
:is(.ach, .sophia) .cx-next__label { font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .cx-next__text { font-size:13px; color:var(--sophia-text); flex:1 1 220px; }
:is(.ach, .sophia) .cx-next__who, :is(.ach, .sophia) .cx-next__when { font-size:12px; color:var(--sophia-text-2); white-space:nowrap; }
:is(.ach, .sophia) .cx-next__actions { display:flex; gap:6px; margin-left:auto; }
:is(.ach, .sophia) .cx-next__actions form { margin:0; }
:is(.ach, .sophia) .tl-filters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
:is(.ach, .sophia) .chip--tab { cursor:pointer; text-decoration:none; }
:is(.ach, .sophia) a.chip--tab:hover { background:var(--sophia-neutral-bg); color:var(--sophia-text-2); text-decoration:none; }
:is(.ach, .sophia) a.chip--on, :is(.ach, .sophia) a.chip--on:hover { background:var(--sophia-accent); color:var(--sophia-surface); }
:is(.ach, .sophia) .chip__count { opacity:.65; margin-left:3px; font-variant-numeric:tabular-nums; }
:is(.ach, .sophia) .tl-day { display:flex; align-items:center; gap:10px; margin:14px 0 2px; font-size:10px;
  font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .tl-day::after { content:''; flex:1; height:1px; background:var(--sophia-border); }
:is(.ach, .sophia) .tl-filters + .tl-day { margin-top:2px; }
:is(.ach, .sophia) .audit-log turbo-frame { display:contents; }
:is(.ach, .sophia) .audit-log--feed li { gap:12px; padding:8px 0; }
:is(.ach, .sophia) .audit-log--feed .audit-when { min-width:44px; }
:is(.ach, .sophia) .audit-log--feed .audit-what { flex:1 1 320px; display:flex; align-items:baseline;
  gap:7px; flex-wrap:wrap; min-width:0; }
:is(.ach, .sophia) .audit-log--feed .audit-what a { color:var(--sophia-info); }
:is(.ach, .sophia) .tl-meta { margin-left:auto; display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
:is(.ach, .sophia) .tl-actions { display:flex; gap:2px; opacity:0; transition:opacity .12s; }
:is(.ach, .sophia) .audit-log li:hover .tl-actions, :is(.ach, .sophia) .audit-log .tl-actions:focus-within { opacity:1; }
:is(.ach, .sophia) .tl-actions form { margin:0; }
:is(.ach, .sophia) .tl-actions .btn-link { padding:0 5px; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .tl-actions .btn-link:hover { color:var(--sophia-accent); }
:is(.ach, .sophia) .audit-log li.tl-done .audit-what { opacity:.6; }
:is(.ach, .sophia) .tl-edit { display:flex; gap:6px; align-items:flex-start; flex:1; flex-wrap:wrap; }
:is(.ach, .sophia) .tl-edit .form-control,
:is(.ach, .sophia) .tl-edit .form-select { height:var(--sophia-control-h-sm); padding:3px 7px; font-size:12px; border:1px solid var(--sophia-line-3);
  border-radius:3px; box-shadow:none; width:auto; flex:1 1 200px; }
:is(.ach, .sophia) .tl-edit lexxy-editor { flex:1 1 100%; background:var(--sophia-surface); border:1px solid var(--sophia-line-3);
  border-radius:3px; min-height:80px; }
:is(.ach, .sophia) .tl-more { margin-top:12px; }
/* corpul unei note: HTML din editor, randat inline in feed */
:is(.ach, .sophia) .tl-text { flex:1 1 240px; min-width:0; }
:is(.ach, .sophia) .tl-text p, :is(.ach, .sophia) .tl-text ul, :is(.ach, .sophia) .tl-text ol, :is(.ach, .sophia) .tl-text blockquote,
:is(.ach, .sophia) .tl-text pre { margin:0 0 4px; }
:is(.ach, .sophia) .tl-text > :last-child { margin-bottom:0; }
:is(.ach, .sophia) .tl-text ul, :is(.ach, .sophia) .tl-text ol { padding-left:18px; }
:is(.ach, .sophia) .tl-text blockquote { padding-left:8px; border-left:2px solid var(--sophia-line-2); color:var(--sophia-text-2); }
:is(.ach, .sophia) .tl-text pre { padding:6px 8px; background:var(--sophia-surface-2); border:1px solid var(--sophia-border);
  border-radius:3px; font-size:12px; overflow:auto; }

/* ---- stepper de flux ---- */
:is(.ach, .sophia) .so-steps { display:flex; list-style:none; margin:0 0 16px; padding:16px 10px 13px; background:var(--sophia-surface);
border:1px solid var(--sophia-border); border-radius:2px; box-shadow:0 1px 1px rgba(70,72,86,.04); }
:is(.ach, .sophia) .so-step { flex:1; text-align:center; position:relative; padding:0 4px; }
:is(.ach, .sophia) .so-step::before { content:''; position:absolute; top:16px; left:-50%; width:100%; height:2px; background:var(--sophia-neutral-bg); z-index:0; }
:is(.ach, .sophia) .so-step:first-child::before { display:none; }
:is(.ach, .sophia) .so-step--done::before, :is(.ach, .sophia) .so-step--current::before { background:var(--sophia-accent); }
:is(.ach, .sophia) .so-step__dot { position:relative; z-index:1; width:32px; height:32px; margin:0 auto 7px; border-radius:50%;
display:flex; align-items:center; justify-content:center; font-size:13px; background:var(--sophia-surface); border:2px solid var(--sophia-line-2); color:var(--sophia-text-faint); }
:is(.ach, .sophia) .so-step--done .so-step__dot { background:var(--sophia-accent); border-color:var(--sophia-accent); color:var(--sophia-surface); }
:is(.ach, .sophia) .so-step--current .so-step__dot { background:var(--sophia-surface); border-color:var(--sophia-accent); color:var(--sophia-accent); box-shadow:0 0 0 4px rgba(85,107,141,.12); }
:is(.ach, .sophia) .so-step__label { font-size:12px; font-weight:600; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .so-step--done .so-step__label, :is(.ach, .sophia) .so-step--current .so-step__label { color:var(--sophia-text); }
:is(.ach, .sophia) .so-step__date { display:block; font-size:10.5px; color:var(--sophia-text-faint); font-variant-numeric:tabular-nums; margin-top:1px; min-height:13px; }
/* stare laterala (respinsa): banda in locul stepper-ului (§3.12) */
:is(.ach, .sophia) .cx-rejected{background:var(--sophia-bad-bg);border:1px solid color-mix(in srgb, var(--sophia-bad) 32%, transparent);color:var(--sophia-bad);border-radius:3px;padding:12px 18px;margin-bottom:16px;font-weight:600}
/* varianta verticala: stepper-ul intr-o coloana de jumatate de pagina */
:is(.ach, .sophia) .so-steps--vertical { display:block; padding:14px 14px 13px; }
:is(.ach, .sophia) .so-steps--vertical .so-step { display:grid; grid-template-columns:32px 1fr; column-gap:11px;
align-items:center; text-align:left; padding:0 0 13px; }
:is(.ach, .sophia) .so-steps--vertical .so-step:last-child { padding-bottom:0; }
:is(.ach, .sophia) .so-steps--vertical .so-step::before { top:-13px; left:15px; width:2px; height:13px; }
:is(.ach, .sophia) .so-steps--vertical .so-step__dot { grid-row:1 / span 2; margin:0; }
:is(.ach, .sophia) .so-steps--vertical .so-step__label { grid-column:2; align-self:end; }
:is(.ach, .sophia) .so-steps--vertical .so-step__date { grid-column:2; align-self:start; margin-top:0; }
/* panel */
/* line-items table */
/* scrollul orizontal e al tabelului, niciodata al paginii (§3.4) */
:is(.ach, .sophia) .ln-scroll { overflow-x:auto; }
:is(.ach, .sophia) .ln { width:100%; border-collapse:collapse; font-size:13px; }
:is(.ach, .sophia) .ln thead th { text-align:left; font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--sophia-text-muted);
font-weight:600; padding:8px 10px; border-bottom:1px solid var(--sophia-line-2); white-space:nowrap; }
:is(.ach, .sophia) .ln thead th.num { text-align:right; }
/* group header: which columns go to the supplier vs internal */
:is(.ach, .sophia) .ln thead tr.ln-groups th { font-size:9px; letter-spacing:.08em; color:var(--sophia-text-faint); border-bottom:0; padding:8px 10px 0; font-weight:600; }
:is(.ach, .sophia) .ln thead tr.ln-groups th .fa { margin-right:4px; }
:is(.ach, .sophia) .ln thead tr.ln-groups th:first-child { color:var(--sophia-good); }
:is(.ach, .sophia) .ln thead tr.ln-groups th + th { border-left:1px dashed var(--sophia-line-2); }
:is(.ach, .sophia) .ln tbody td { padding:10px; border-top:1px solid var(--sophia-line); vertical-align:middle; }
:is(.ach, .sophia) .ln tbody tr:hover td { background:var(--sophia-surface-2); }
:is(.ach, .sophia) .ln .num { font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
:is(.ach, .sophia) .ln .name { font-weight:600; color:var(--sophia-text); }
:is(.ach, .sophia) .ln-muted { color:var(--sophia-text-faint); }
:is(.ach, .sophia) .ln tfoot td { padding:11px 10px; border-top:2px solid var(--sophia-line-2); font-weight:700; color:var(--sophia-text);
font-variant-numeric:tabular-nums; text-align:right; }
:is(.ach, .sophia) .ln tfoot .ln-total-label { text-align:left; font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--sophia-text-muted); }
/* type badges */
:is(.ach, .sophia) .ln-badge { display:inline-block; margin-left:8px; font-size:10px; font-weight:600; padding:1px 7px; border-radius:3px; vertical-align:middle; white-space:nowrap; }
:is(.ach, .sophia) .ln-badge--reserve { background:var(--sophia-info-bg); color:var(--sophia-info); }
:is(.ach, .sophia) .ln-badge--stock   { background:var(--sophia-neutral-bg); color:var(--sophia-text-2); }
:is(.ach, .sophia) .ln-badge--fabric  { background:var(--sophia-product-bg); color:var(--sophia-product); }
:is(.ach, .sophia) .ln-trace { list-style:none; margin:6px 0 0; padding:0 0 0 10px; border-left:2px solid var(--sophia-line-2); }
:is(.ach, .sophia) .ln-trace li { font-size:11px; color:var(--sophia-text-muted); line-height:1.7; }
:is(.ach, .sophia) .ln-trace b { color:var(--sophia-text-2); font-variant-numeric:tabular-nums; }
/* §5 istoric modificari */
:is(.ach, .sophia) .audit-log { list-style:none; margin:0; padding:0; }
:is(.ach, .sophia) .audit-log li { display:flex; gap:10px; align-items:baseline; padding:7px 0; border-top:1px solid var(--sophia-line); font-size:12px; flex-wrap:wrap; }
:is(.ach, .sophia) .audit-log li:first-child { border-top:0; }
:is(.ach, .sophia) .audit-when { color:var(--sophia-text-muted); font-variant-numeric:tabular-nums; white-space:nowrap; min-width:110px; }
:is(.ach, .sophia) .audit-who { font-weight:600; color:var(--sophia-text); white-space:nowrap; }
:is(.ach, .sophia) .audit-what { color:var(--sophia-text-2); }
/* per-line receive progress */
:is(.ach, .sophia) .ln-recv { display:inline-flex; flex-direction:column; align-items:flex-end; gap:3px; }
:is(.ach, .sophia) .ln-bar { width:78px; height:4px; border-radius:2px; background:var(--sophia-neutral-bg); overflow:hidden; }
:is(.ach, .sophia) .ln-bar > span { display:block; height:100%; background:var(--sophia-good); }
:is(.ach, .sophia) .ln-bar--part > span { background:var(--sophia-warn); }
:is(.ach, .sophia) .ln-done { color:var(--sophia-good); font-weight:600; font-size:12px; white-space:nowrap; }
/* receive input + footer */
:is(.ach, .sophia) .ln input[type=number] { width:94px; padding:5px 8px; border:1px solid var(--sophia-line-3); border-radius:3px;
font-size:13px; text-align:right; font-variant-numeric:tabular-nums; }
:is(.ach, .sophia) .ln input[type=number]:focus { outline:none; border-color:var(--sophia-accent); box-shadow:0 0 0 2px rgba(85,107,141,.12); }
:is(.ach, .sophia) .rcv-foot { display:flex; justify-content:space-between; align-items:center; margin-top:13px; gap:10px; flex-wrap:wrap; }
:is(.ach, .sophia) .rcv-hint { color:var(--sophia-text-muted); font-size:12px; max-width:60ch; }
:is(.ach, .sophia) .so-empty { padding:16px 10px; color:var(--sophia-text-muted); font-size:13px; }
/* lista de fapte eticheta -> valoare, in corpul unui panel */
:is(.ach, .sophia) .cx-kv{font-size:13px}
:is(.ach, .sophia) .cx-kv>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--sophia-line)}
:is(.ach, .sophia) .cx-kv>div:first-child{border-top:none}
:is(.ach, .sophia) .cx-kv .k{color:var(--sophia-text-muted)}
:is(.ach, .sophia) .cx-kv .v{color:var(--sophia-text);text-align:right;font-weight:500}
/* formular de pagina: coloana principala + laterala, continut in carduri.
   Piesa comuna (Sesizari, Contacte) — nu o rescrie in CSS-ul modulului. */
:is(.ach, .sophia) .cx-card{background:var(--sophia-surface);border:1px solid var(--sophia-border);border-radius:3px;box-shadow:0 1px 1px rgba(70,72,86,.04);margin-bottom:16px}
:is(.ach, .sophia) .cx-card__head{padding:11px 16px;border-bottom:1px solid var(--sophia-border);font-family:"Montserrat",sans-serif;font-size:13px;font-weight:600;color:var(--sophia-text)}
:is(.ach, .sophia) .cx-card__head .fa{color:var(--sophia-text-muted);margin-right:7px}
:is(.ach, .sophia) .cx-card__body{padding:15px 16px}
:is(.ach, .sophia) .cx-card__body .mb-3:last-child{margin-bottom:0}
:is(.ach, .sophia) .cx-card label{color:var(--sophia-text-2);font-size:12px;font-weight:600}
:is(.ach, .sophia) .cx-card .form-control,
:is(.ach, .sophia) .cx-card .form-select {border:1px solid var(--sophia-line-3);border-radius:3px;box-shadow:none;color:var(--sophia-text)}
:is(.ach, .sophia) .cx-card .form-control:focus,
:is(.ach, .sophia) .cx-card .form-select:focus {border-color:var(--sophia-accent);box-shadow:0 0 0 2px rgba(85,107,141,.12)}
:is(.ach, .sophia) .cx-card .form-text{color:var(--sophia-text-muted);font-size:12px;margin-bottom:0}
:is(.ach, .sophia) .cx-card .checkbox{margin:0 0 9px}
:is(.ach, .sophia) .cx-card .checkbox:last-child{margin-bottom:0}
:is(.ach, .sophia) .cx-card .checkbox label{font-weight:400;font-size:13px;color:var(--sophia-text)}
:is(.ach, .sophia) .cx-form-grid{display:flex;align-items:flex-start;flex-wrap:wrap}
:is(.ach, .sophia) .cx-form-grid__main,:is(.ach, .sophia) .cx-form-grid__side{float:none}
@media (max-width:991px){ :is(.ach, .sophia) .cx-form-grid{display:block} }
/* ---- grup cu subtotal in corpul unui panel ----
   Echivalentul de pagina al lui .odr__sec din drawer: eticheta uppercase +
   linie + (optional) subtotalul grupului la dreapta. Fara subtotal, gruparea
   unei liste lungi e doar decor. */
:is(.ach, .sophia) .pnl-sec{display:flex;align-items:baseline;gap:10px;margin:18px 0 7px}
:is(.ach, .sophia) .pnl-sec:first-child{margin-top:2px}
:is(.ach, .sophia) .pnl-sec__label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sophia-text-muted);white-space:nowrap}
:is(.ach, .sophia) .pnl-sec__count{font-size:10px;font-weight:600;color:var(--sophia-text-faint);font-variant-numeric:tabular-nums}
:is(.ach, .sophia) .pnl-sec::after{content:'';flex:1;height:1px;background:var(--sophia-neutral-bg)}
:is(.ach, .sophia) .pnl-sec__total{order:9;font-size:12px;font-weight:600;color:var(--sophia-text-2);font-variant-numeric:tabular-nums;white-space:nowrap}
:is(.ach, .sophia) .pnl-sec__total .u{margin-right:4px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sophia-text-muted)}
/* ---- piese comune folosite de panourile de dashboard (§3.29) ---- */
:is(.ach, .sophia) .panel-link { font-size:12px; font-weight:600; white-space:nowrap; }
:is(.ach, .sophia) .devize-panel__body--pad { padding:12px 16px; }
:is(.ach, .sophia) .kpi__sub { display:block; margin-top:3px; font-size:11px; color:var(--sophia-text-faint); }
/* lista de fapte a unei coloane laterale: un rand = un fapt (§3.29). Padding-ul
   ramane al containerului — panel pe dashboard, card in editorul de sabloane. */
:is(.ach, .sophia) .side-list { list-style:none; margin:0; padding:0; }
:is(.ach, .sophia) .side-list li { display:flex; align-items:center; gap:10px; padding:8px 0;
border-bottom:1px solid var(--sophia-line); }
:is(.ach, .sophia) .side-list li:last-child { border-bottom:0; }
:is(.ach, .sophia) .side-list .grow { flex:1 1 auto; min-width:0; }
:is(.ach, .sophia) .side-list .t { display:block; font-weight:600; font-size:13px; line-height:1.35; }
:is(.ach, .sophia) .side-list .s { display:block; font-size:11px; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .kpi__value small { font-size:13px; font-weight:600; color:var(--sophia-text-muted); }
:is(.ach, .sophia) .ln .th-num { text-align:right; }
:is(.ach, .sophia) .ln-id { font-weight:700; color:var(--sophia-text); }
:is(.ach, .sophia) .ln-id:hover { color:var(--sophia-accent); text-decoration:underline; }
:is(.ach, .sophia) .ln-sub { font-size:11px; color:var(--sophia-text-faint); }
/* ---- panou kanban + widgeturi de cockpit: piese comune (Sesizari, Suport IT) ---- */
:is(.ach, .sophia) .prio{font-weight:700;margin-right:2px}
:is(.ach, .sophia) .prio--crit{color:var(--sophia-bad)}
:is(.ach, .sophia) .prio--high{color:var(--sophia-warn)}
:is(.ach, .sophia) .c-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--sophia-accent);color:var(--sophia-surface);font-size:10px;font-weight:700;vertical-align:middle}
/* ===== board (kanban) ===== */
:is(.ach, .sophia) .c-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;min-height:calc(100vh - 205px);align-items:stretch}
:is(.ach, .sophia) .c-col{flex:1 1 200px;min-width:200px;background:var(--sophia-surface-2);border:1px solid var(--sophia-border);border-radius:4px;display:flex;flex-direction:column}
:is(.ach, .sophia) .c-col__head{padding:9px 12px;font-family:"Montserrat",sans-serif;font-weight:600;font-size:12px;color:var(--sophia-text);border-bottom:1px solid var(--sophia-border);display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.04em}
:is(.ach, .sophia) .c-col__head .badge{background:var(--sophia-text-muted);color:var(--sophia-surface)}
:is(.ach, .sophia) .c-col__body{padding:8px;display:flex;flex-direction:column;gap:7px;min-height:40px}
:is(.ach, .sophia) .c-card{display:block;background:var(--sophia-surface);border:1px solid var(--sophia-line-2);border-radius:4px;padding:9px 11px;text-decoration:none;color:var(--sophia-text);box-shadow:0 1px 1px rgba(70,72,86,.04)}
:is(.ach, .sophia) .c-card:hover{border-color:var(--sophia-line-3)}
:is(.ach, .sophia) .c-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
:is(.ach, .sophia) .c-card__id{font-weight:700;font-size:12px}
:is(.ach, .sophia) .c-card__title{font-size:12.5px;line-height:1.35;color:var(--sophia-text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
:is(.ach, .sophia) .c-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:11px;color:var(--sophia-text-muted)}
:is(.ach, .sophia) .c-card__open{display:block;text-decoration:none;color:inherit}
:is(.ach, .sophia) .c-card__close{margin-top:7px;padding-top:6px;border-top:1px solid var(--sophia-neutral-bg)}
:is(.ach, .sophia) .c-card__close>summary{list-style:none;cursor:pointer;font-size:11px;font-weight:600;color:var(--sophia-text-muted)}
:is(.ach, .sophia) .c-card__close>summary::-webkit-details-marker{display:none}
:is(.ach, .sophia) .c-card__close>summary:hover{color:var(--sophia-accent)}
:is(.ach, .sophia) .c-card__close[open]>summary{color:var(--sophia-text);margin-bottom:5px}
:is(.ach, .sophia) .c-card__form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:is(.ach, .sophia) .c-card__form lexxy-editor{min-height:80px;font-size:12px}
:is(.ach, .sophia) .c-card__form textarea{font-size:12px}
:is(.ach, .sophia) .c-card__form .btn{margin:5px 4px 0 0;font-size:11px;padding:3px 8px}

:is(.ach, .sophia) h5.bt{font-family:"Montserrat",sans-serif;font-size:13px;font-weight:600;color:var(--sophia-text);margin:20px 0 8px}
:is(.ach, .sophia) .heat{border-collapse:collapse;font-size:12.5px;min-width:520px}
:is(.ach, .sophia) .heat th{padding:6px 10px;color:var(--sophia-text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;text-align:center}
:is(.ach, .sophia) .heat td.lbl{padding:6px 10px;color:var(--sophia-text);white-space:nowrap;border-top:1px solid var(--sophia-line)}
:is(.ach, .sophia) .heat td.cell{padding:6px 10px;text-align:center;border-top:1px solid var(--sophia-surface);font-variant-numeric:tabular-nums;font-weight:600}
:is(.ach, .sophia) .b0{background:var(--sophia-good-bg);color:var(--sophia-good)}:is(.ach, .sophia) .b1{background:var(--sophia-neutral-bg);color:var(--sophia-text-2)}:is(.ach, .sophia) .b2{background:var(--sophia-warn-bg);color:var(--sophia-warn)}:is(.ach, .sophia) .b3{background:color-mix(in srgb, var(--sophia-warn-bg) 50%, var(--sophia-bad-bg));color:color-mix(in srgb, var(--sophia-warn) 45%, var(--sophia-bad))}:is(.ach, .sophia) .b4{background:var(--sophia-bad-bg);color:var(--sophia-bad)}
:is(.ach, .sophia) .cell--0{color:var(--sophia-text-faint);background:transparent}

/* drawer-ul (slideover din dreapta) e self-contained: stilurile lui stau in
   shared/_drawer, ca sa poata fi folosit de oriunde din aplicatie. */
