/* admin/dashboards/widget.html.erb */
    .wdg-prev{margin-top:18px;border-top:1px solid var(--sophia-line);padding-top:14px}
    .wdg-prev__note{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
      color:var(--sophia-text-muted);margin-bottom:10px}
    .wdg-prev .kpi-row{margin-bottom:0}
    
/* contact_gdpr_signatures/show.html.erb */
.gdpr-signature-page { max-width: 920px; margin: 0 auto; }
.gdpr-signature-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; }
.gdpr-signature-card__header { padding: 14px 18px; border-bottom: 1px solid var(--sophia-border); }
.gdpr-signature-card__title { margin: 0; font-size: 16px; font-weight: 600; color: var(--sophia-text); }
.gdpr-signature-card__body { padding: 18px; }
.gdpr-signature-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.gdpr-signature-meta__item { background: var(--sophia-surface-2); border: 1px solid var(--sophia-border); padding: 9px 11px; border-radius: 3px; }
.gdpr-signature-meta__label { display: block; color: var(--sophia-text-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.gdpr-signature-meta__value { color: var(--sophia-text); font-weight: 600; overflow-wrap: anywhere; }
.gdpr-consent-text { color: var(--sophia-text); line-height: 1.6; }
.gdpr-consent-text ol { padding-left: 20px; }
.gdpr-signature-pad { width: 100%; height: 220px; border: 1px solid var(--sophia-line-3); border-radius: 3px; background: var(--sophia-surface); touch-action: none; display: block; }
.gdpr-signature-actions { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
@media (max-width: 767px) { .gdpr-signature-meta { grid-template-columns: 1fr; } }
/* contacts/show.html.erb */
  :is(.ach, .sophia).contacts-show .avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
  :is(.ach, .sophia).contacts-show .cx-note { font-size:12px; color:var(--sophia-text-2); margin:0; }
  #cx-add-interaction:has(#cx-fu-none:checked):not(:has(#cx-nt-set_alert:checked)) .cx-fu-when { display:none; }
  
/* curtain_railings/_form.html.erb */
/* Configurator sisteme de prindere — doar piesele proprii ale formularului.
   Panourile, KPI-urile de pret si butoanele vin din design system (:is(.ach, .sophia)). */
.curtain-railings-edit .devize-panel__title .fa { color: var(--sophia-text-muted); margin-right: 7px; }
.curtain-railings-edit .cr-field { margin-bottom: 14px; }
.curtain-railings-edit turbo-frame#summary { display: block; width: 100%; margin-bottom: 18px; }
.curtain-railings-edit .cr-field:has([required]) > label:after,
.curtain-railings-edit .cr-field--required > label:after { content: " *"; color: var(--sophia-bad); font-weight: 700; }
.curtain-railings-edit .cr-field > label { display: block; margin-bottom: 4px; font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; color: var(--sophia-text-muted); }
.curtain-railings-edit .form-control { border: 1px solid var(--sophia-line-3); border-radius: 3px; box-shadow: none; color: var(--sophia-text); }
.curtain-railings-edit .form-control:focus { border-color: var(--sophia-accent); box-shadow: 0 0 0 2px rgba(85,107,141,.12); }
.curtain-railings-edit .cr-hint { display: block; margin-top: 4px; font-size: 11px; color: var(--sophia-text-muted); }
.curtain-railings-edit .cr-image-box { display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 210px; padding: 12px; background: var(--sophia-surface-2); border: 1px solid var(--sophia-border); border-radius: 3px; color: var(--sophia-text-muted); }
.curtain-railings-edit .cr-image-box img { max-width: 100%; max-height: 260px; }
.curtain-railings-edit .cr-description { margin-top: 12px; font-size: 13px; color: var(--sophia-text-2); line-height: 1.5; }
.curtain-railings-edit .cr-description .lexxy-content { margin: 0; }
.curtain-railings-edit .cr-montaj { margin-top: 2px; }
.curtain-railings-edit .cr-montaj .cr-hint { margin-top: 2px; }

/* ---- Option value images (dimensiune + accesorii) ---- */
.curtain-railings-edit .cr-field--dimension { padding: 10px 12px; background: var(--sophia-surface-2);
  border: 1px solid var(--sophia-border); border-radius: 3px; }
.curtain-railings-edit .cr-option-thumb-wrap { margin-top: 8px; }
.curtain-railings-edit .cr-option-thumb { max-width: 140px; max-height: 110px; background: var(--sophia-surface);
  border: 1px solid var(--sophia-border); border-radius: 3px; }
.curtain-railings-edit .cr-option-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.curtain-railings-edit .cr-option-thumb-btn { display: flex; flex-direction: column; align-items: center; gap: 4px;
  width: 92px; padding: 6px; background: var(--sophia-surface); border: 1px solid var(--sophia-border); border-radius: 3px;
  cursor: pointer; text-align: center; }
.curtain-railings-edit .cr-option-thumb-btn img { width: 100%; height: 64px; object-fit: contain; }
.curtain-railings-edit .cr-option-thumb-btn span { font-size: 11px; color: var(--sophia-text-2); line-height: 1.2; word-break: break-word; }
.curtain-railings-edit .cr-option-thumb-btn:hover { border-color: var(--sophia-text-faint); }
.curtain-railings-edit .cr-option-thumb-btn.is-selected { border-color: var(--sophia-accent); box-shadow: 0 0 0 2px rgba(85,107,141,.12); }
/* email_signatures/edit.html.erb */
  :is(.ach, .sophia).signature-edit .sig-canvas { background:var(--sophia-warn-bg); }
  :is(.ach, .sophia).signature-edit .sig-thumb { border:1px solid var(--sophia-border); border-radius:4px; }
  :is(.ach, .sophia).signature-edit .sig-foot { padding:10px 14px; background:var(--sophia-surface-2); border-top:1px solid var(--sophia-border);
    font-size:12px; color:var(--sophia-text-muted); }
  
/* email_signatures/show.html.erb */
  :is(.ach, .sophia).signature-show .sig-canvas { background:var(--sophia-warn-bg); }
  :is(.ach, .sophia).signature-show .sig-source { width:100%; height:220px; font-size:11px; font-family:monospace;
    padding:12px; border:none; border-top:1px solid var(--sophia-border); resize:vertical; background:var(--sophia-surface-2); }
  :is(.ach, .sophia).signature-show .sig-hint { padding:10px 14px; background:var(--sophia-surface-2); border-top:1px solid var(--sophia-border);
    font-size:12px; color:var(--sophia-text-muted); }
  
/* external_orders/index.html.erb */
  .external-orders-index .eo-scroll { overflow-x:auto; }
  
/* it_tickets/_ai_analysis.html.erb */
  .ai-analysis .ai__meta { color: var(--sophia-text-muted); font-size: 11.5px; margin-top: 14px; }
  .ai-analysis .ai__summary { font-size: 13.5px; line-height: 1.55; color: var(--sophia-text); }
  .ai-analysis .ai__label { font-size: 10px; font-weight: 700; letter-spacing: .08em;
                            text-transform: uppercase; color: var(--sophia-accent); margin: 16px 0 6px; }
  .ai-analysis .ai__fix { background: var(--sophia-surface-2); border: 1px solid var(--sophia-border); border-radius: 6px; padding: 10px 12px; }
  .ai-analysis table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
  .ai-analysis table td { padding: 6px 10px; border-top: 1px solid var(--sophia-line); vertical-align: top; word-break: break-word; }
  .ai-analysis table td:first-child { width: 62px; color: var(--sophia-text-muted); }
  .ai-analysis .mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; color: var(--sophia-text); }
  .ai-analysis .ai__warn { color: var(--sophia-bad); }
  
/* it_tickets/_debug_context.html.erb */
  .dbg__summary { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
  .dbg__sum { display: inline-flex; align-items: baseline; gap: 6px; padding: 4px 10px;
              background: var(--sophia-surface-2); border: 1px solid var(--sophia-border); border-radius: 3px; font-size: 12px; }
  .dbg__sum b { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--sophia-text); font-weight: 600; }
  .dbg__sum span { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sophia-text-muted); }
  .dbg table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
  .dbg table th { text-align: left; padding: 5px 10px; font-size: 10px; letter-spacing: .06em;
                  text-transform: uppercase; color: var(--sophia-text-muted); border-bottom: 1px solid var(--sophia-line-2); white-space: nowrap; }
  .dbg__row > td { padding: 5px 10px; border-top: 1px solid var(--sophia-line); vertical-align: top; word-break: break-word; }
  .dbg__row > td:first-child { width: 190px; color: var(--sophia-text-muted); white-space: nowrap; }
  .dbg__group td { padding: 13px 10px 5px; font-size: 10px; font-weight: 700; letter-spacing: .08em;
                   text-transform: uppercase; color: var(--sophia-accent); border-top: 1px solid var(--sophia-border); }
  .dbg__group:first-child td { padding-top: 2px; border-top: 0; }
  .dbg .mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; color: var(--sophia-text); }
  .dbg__trace { margin-top: 6px; }
  .dbg__trace td { padding: 6px 10px; border-top: 1px solid var(--sophia-line); vertical-align: top; word-break: break-word; }
  .dbg__when { width: 160px; color: var(--sophia-text-muted); }
  .dbg details { margin-top: 16px; }
  .dbg summary { cursor: pointer; color: var(--sophia-accent); font-size: 12.5px; }
  .dbg pre { margin: 8px 0 0; padding: 12px; font-size: 11.5px; white-space: pre-wrap; word-break: break-word;
             background: var(--sophia-surface-2); border: 1px solid var(--sophia-border); border-radius: 6px; }
  
/* it_tickets/mine.html.erb */
  .mytk__tabs { margin-bottom: 12px; }
  .mytk { list-style: none; margin: 0; padding: 0; }
  .mytk__item { padding: 11px 0; border-top: 1px solid var(--sophia-border); }
  .mytk__item:first-child { border-top: 0; padding-top: 0; }
  .mytk__top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; text-decoration: none; }
  a.mytk__top:hover { text-decoration: none; }
  a.mytk__top:hover .mytk__title { color: var(--sophia-accent); }
  .mytk__caret { margin-left: auto; color: var(--sophia-text-faint); }
  .mytk__title { flex: 1 1 auto; min-width: 0; color: var(--sophia-text); font-weight: 600; }
  .mytk__meta { margin-top: 3px; font-size: 11.5px; color: var(--sophia-text-muted); }
  .mytk__empty { color: var(--sophia-text-muted); font-size: 13px; }
  /* randul la care mingea e la tine: banda rosie si titlu ingrosat */
  .mytk__item--alert { margin: 0 -12px; padding: 11px 12px; border-left: 3px solid var(--sophia-bad); background: var(--sophia-bad-bg); }
  .mytk__item--alert .mytk__title { color: var(--sophia-bad); font-weight: 700; }
  
/* it_tickets/_thread.html.erb */
.it-thread { list-style:none; margin:0; padding:0; }
.it-msg { display:flex; gap:10px; align-items:flex-start; margin:0 0 10px; }
.it-msg__avatar { flex:0 0 28px; width:28px; height:28px; border-radius:50%; display:flex;
  align-items:center; justify-content:center; background:var(--sophia-text-muted); color:var(--sophia-solid-fg);
  font-size:11px; font-weight:700; }
.it-msg--own .it-msg__avatar { background:var(--sophia-accent); }
.it-msg__bubble { flex:1 1 auto; min-width:0; padding:8px 12px; background:var(--sophia-surface-2);
  border:1px solid var(--sophia-border); border-radius:2px 8px 8px 8px; }
.it-msg--own .it-msg__bubble { background:var(--sophia-info-bg); border-color:var(--sophia-line-2); }
.it-msg__head { display:flex; align-items:baseline; gap:8px; margin:0 0 3px;
  font-size:12px; font-weight:600; color:var(--sophia-text); }
.it-msg__when { margin-left:auto; font-size:11px; font-weight:400; color:var(--sophia-text-muted); white-space:nowrap; }
.it-msg__text { font-size:13px; color:var(--sophia-text-2); word-wrap:break-word; }
.it-msg__text p, .it-msg__text ul, .it-msg__text ol { margin:0 0 4px; }
.it-msg__text > :last-child { margin-bottom:0; }
.it-msg__att { margin-top:8px; }
.it-msg__att img { margin:4px 4px 0 0; border:1px solid var(--sophia-border); border-radius:3px; }
.it-compose { margin-top:14px; padding-top:12px; border-top:1px solid var(--sophia-border); }
.it-compose textarea { width:100%; min-height:58px; padding:7px 9px; font-size:13px;
  border:1px solid var(--sophia-line-3); border-radius:3px; box-shadow:none; resize:vertical; }
.it-compose textarea:focus { outline:none; border-color:var(--sophia-accent); box-shadow:0 0 0 2px rgba(85,107,141,.12); }
.it-compose__submit { margin-top:8px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.it-compose__file { font-size:11.5px; color:var(--sophia-text-muted); max-width:60%; }
/* option_values/_image_modal.html.erb */
  .ovimg { width: min(560px, 90vw); }
  .ovimg__head { padding: 14px 18px; border-bottom: 1px solid var(--sophia-border); }
  .ovimg__eyebrow { display: block; font-size: 10px; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase; color: var(--sophia-text-muted); }
  .ovimg__title { font-family: "Montserrat", sans-serif; font-size: 16px; font-weight: 600;
    color: var(--sophia-text); margin: 3px 0 0; }
  .ovimg__body { padding: 18px; background: var(--sophia-surface-2); text-align: center; }
  .ovimg__img { max-width: 100%; max-height: 52vh; border: 1px solid var(--sophia-border); border-radius: 3px; }
  .ovimg__foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 14px 18px; border-top: 1px solid var(--sophia-border); }
  .ovimg__label { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--sophia-text-muted); margin: 0; }
  .ovimg__foot input[type=file] { font-size: 13px; }
  .ovimg__foot .btn { margin-left: auto; }
  
/* orders/index.html.erb */
  .orders-index .turbo-table .table td .tt-link--client { max-width: 300px; }
  .orders-index .turbo-table .table td .tt-delivery { white-space: nowrap; }
  
/* previews/product_description.html.erb */
  .pdesc{padding:22px 26px;max-width:760px;color:var(--sophia-text-2);line-height:1.55}
  .pdesc__title{font-family:"Montserrat",sans-serif;font-size:18px;font-weight:600;color:var(--sophia-text);margin:0 0 14px;padding-right:30px}
  .pdesc img{max-width:100%;height:auto}
  
/* product_items/_accessories_drawer.html.erb */
.acc-picker .acc-search { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.acc-picker .acc-search__field { position: relative; flex: 1 1 220px; }
.acc-picker .acc-search__field .fa-magnifying-glass { position: absolute; left: 10px; top: 28px; color: var(--sophia-text-faint); pointer-events: none; }
.acc-picker .acc-search__field input { padding-left: 30px; }
.acc-picker .acc-search__or { color: var(--sophia-text-muted); font-size: 10px; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; padding-bottom: 10px; }
.acc-picker .acc-search select { flex: 1 1 180px; }
.acc-picker .acc-col { margin-bottom: 14px; }
.acc-picker .acc-col__title { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--sophia-text-muted); margin: 0 0 6px; }
.acc-picker .acc-col__box { background: var(--sophia-surface-2); border: 1px solid var(--sophia-border); border-radius: 3px; padding: 10px; min-height: 72px; }
.acc-picker .acc-col__empty, .acc-picker .acc-columns__empty { color: var(--sophia-text-muted); font-size: 13px; margin: 0; }
.acc-picker .ln { margin: 0; }
/* product_list_gdpr_signatures/show.html.erb */
.gdpr-signature-page { max-width: 920px; margin: 0 auto; }
.gdpr-signature-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; }
.gdpr-signature-card__header { padding: 14px 18px; border-bottom: 1px solid var(--sophia-border); }
.gdpr-signature-card__title { margin: 0; font-size: 16px; font-weight: 600; color: var(--sophia-text); }
.gdpr-signature-card__body { padding: 18px; }
.gdpr-signature-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.gdpr-signature-meta__item { background: var(--sophia-surface-2); border: 1px solid var(--sophia-border); padding: 9px 11px; border-radius: 3px; }
.gdpr-signature-meta__label { display: block; color: var(--sophia-text-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.gdpr-signature-meta__value { color: var(--sophia-text); font-weight: 600; overflow-wrap: anywhere; }
.gdpr-consent-text { color: var(--sophia-text); line-height: 1.6; }
.gdpr-consent-text ol { padding-left: 20px; }
.gdpr-signature-pad { width: 100%; height: 220px; border: 1px solid var(--sophia-line-3); border-radius: 3px; background: var(--sophia-surface); touch-action: none; display: block; }
.gdpr-signature-actions { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
@media (max-width: 767px) { .gdpr-signature-meta { grid-template-columns: 1fr; } }
/* product_lists/index.html.erb */
    .pl-index .pl-empty { padding:56px 20px; text-align:center; color:var(--sophia-text-muted); }
    .pl-index .pl-empty__title { font-family:"Montserrat",sans-serif; font-size:16px; font-weight:600; color:var(--sophia-text); margin:0 0 6px; }
    .pl-index .pl-empty__text { font-size:13px; margin:0 auto 18px; max-width:52ch; }
    
/* shared/_loading.html.erb */
.app-loading { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center;
  background:rgba(39,39,42,.35); opacity:0; transition:opacity 150ms ease-in-out; }
.app-loading--hidden { display:none; }
.app-loading--visible { opacity:1; }
.app-loading__card { background:var(--sophia-surface); border-radius:4px; box-shadow:0 20px 25px -5px rgba(0,0,0,.15), 0 8px 10px -6px rgba(0,0,0,.1);
  padding:22px 34px; display:flex; flex-direction:column; align-items:center; gap:12px; }
.app-loading__card .fa-spinner { font-size:28px; color:var(--sophia-accent); }
.app-loading__text { font-family:"Montserrat",sans-serif; font-size:13px; font-weight:600; color:var(--sophia-text); }
/* supply_orders/_configuration_details.html.erb */
.cfg-detail__grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:8px 14px; margin:6px 0 4px; }
.cfg-detail__field dt { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sophia-text-muted); }
.cfg-detail__field dd { margin:1px 0 0; font-size:12.5px; color:var(--sophia-text); }
.cfg-detail__ref { color:var(--sophia-text-muted); font-size:11px; }
/* supply_orders/_fabric_line_details.html.erb */
.fl-detail__grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:8px 14px; margin:6px 0 4px; }
.fl-detail__field dt { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sophia-text-muted); }
.fl-detail__field dd { margin:1px 0 0; font-size:12.5px; color:var(--sophia-text); font-variant-numeric:tabular-nums; }
.fl-detail__ref { color:var(--sophia-text-muted); font-size:11px; }
/* supply_orders/index.html.erb */
  /* Doar regulile specifice paginii Comenzi; comunul e in achizitii.css. */
  .achizitii-index .supplier { font-weight:600; color:var(--sophia-text); }
  .achizitii-index .so-actions { text-align:right; white-space:nowrap; }
  .achizitii-index .so-actions .btn { margin-left:4px; }
  
/* supply_orders/necesar.html.erb */
  /* Doar regulile specifice board-ului „Necesar"; comunul e in achizitii.css. */
  /* summary stat strip */
  .achizitii-necesar .nq-stats { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
  .achizitii-necesar .nq-stat { flex:1; min-width:110px; background:var(--sophia-surface); border:1px solid var(--sophia-border);
    border-radius:2px; padding:11px 15px; box-shadow:0 1px 1px rgba(70,72,86,.04); }
  .achizitii-necesar .nq-stat__num { display:block; font-size:22px; font-weight:700; color:var(--sophia-text); font-variant-numeric:tabular-nums; line-height:1.15; }
  .achizitii-necesar .nq-stat__lbl { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sophia-text-muted); }
  /* supplier card (randat in drawer, la click pe rand) */
  .achizitii-necesar .nq { background:var(--sophia-surface); border:1px solid var(--sophia-border); border-radius:2px;
    margin:8px 0; box-shadow:0 1px 1px rgba(70,72,86,.04); }
  .achizitii-necesar .nq__head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 15px; border-bottom:1px solid var(--sophia-border); }
  .achizitii-necesar .nq__name { font-family:"Montserrat",sans-serif; font-weight:600; font-size:15px; color:var(--sophia-text); min-width:0; }
  .achizitii-necesar .supplier { font-weight:600; color:var(--sophia-text); }
  .achizitii-necesar .nq__chips { display:flex; gap:6px; flex-wrap:wrap; }
  .achizitii-necesar .nq__est { margin-left:auto; font-weight:700; color:var(--sophia-text); font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
  .achizitii-necesar .nq__est small { display:block; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sophia-text-muted); }
  .achizitii-necesar .nq__body { padding:8px 15px 14px; }
  /* section label + flat demand table */
  .achizitii-necesar .grp-label { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sophia-text-muted); margin:10px 2px 3px; }
  .achizitii-necesar .dt { width:100%; border-collapse:collapse; font-size:13px; margin:2px 0 6px; }
  .achizitii-necesar .dt thead th { text-align:left; font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--sophia-text-muted); font-weight:600; padding:6px 8px; border-bottom:1px solid var(--sophia-line-2); white-space:nowrap; }
  .achizitii-necesar .dt thead th.num { text-align:right; }
  .achizitii-necesar .dt tbody td { padding:8px; border-top:1px solid var(--sophia-line); vertical-align:middle; }
  .achizitii-necesar .dt tbody tr:hover td { background:var(--sophia-surface-2); }
  .achizitii-necesar .dt .name { font-weight:600; color:var(--sophia-text); }
  .achizitii-necesar .dt .code { color:var(--sophia-text-muted); font-weight:400; font-variant-numeric:tabular-nums; }
  .achizitii-necesar .dt .num { font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
  .achizitii-necesar .dt .short { color:var(--sophia-bad); font-weight:600; }
  .achizitii-necesar .dt input[type=number] { width:92px; padding:4px 7px; border:1px solid var(--sophia-line-3); border-radius:3px; font-size:13px; text-align:right; font-variant-numeric:tabular-nums; }
  .achizitii-necesar .dt input:focus { outline:none; border-color:var(--sophia-accent); box-shadow:0 0 0 2px rgba(85,107,141,.12); }
  /* source subline + row actions */
  .achizitii-necesar .dt .src { font-size:11px; color:var(--sophia-text-muted); margin-top:2px; }
  .achizitii-necesar .dt .src a, .achizitii-necesar .dt .src .lnk { color:var(--sophia-accent); text-decoration:none; cursor:pointer; }
  .achizitii-necesar .dt .src a:hover, .achizitii-necesar .dt .src .lnk:hover { text-decoration:underline; }
  .achizitii-necesar .dt th.act-col, .achizitii-necesar .dt td.act-col { text-align:right; white-space:nowrap; width:1%; }
  .achizitii-necesar .dt .act { color:var(--sophia-text-muted); text-decoration:none; font-size:12px; white-space:nowrap; }
  .achizitii-necesar .dt .act:hover { color:var(--sophia-accent); }
  .achizitii-necesar .dt .act--warn:hover { color:var(--sophia-warn); }
  .achizitii-necesar .dt .act i { margin-right:3px; }
  .achizitii-necesar .dt .del { color:var(--sophia-text-faint); text-decoration:none; font-size:16px; line-height:1; }
  .achizitii-necesar .dt .del:hover { color:var(--sophia-bad); }
  /* tabul „Ascunse" */
  .achizitii-necesar .hr-name { font-weight:600; color:var(--sophia-text-2); }
  .achizitii-necesar .hr-restore { color:var(--sophia-accent); text-decoration:none; font-size:12px; font-weight:600; white-space:nowrap; }
  .achizitii-necesar .hr-restore:hover { text-decoration:underline; }
  .achizitii-necesar .hr-restore i { margin-right:3px; }
  .achizitii-necesar .ob-hint { font-size:12px; color:var(--sophia-text-muted); margin:0 2px 10px; }
  /* sub-taburile „Toate / Țesături / Produse / Mixte" din tabul Pe comenzi */
  .achizitii-necesar .nq-subtabs { display:flex; gap:6px; flex-wrap:wrap; list-style:none; margin:0 0 14px; padding:0; }
  .achizitii-necesar .nq-subtabs a { display:inline-block; padding:4px 11px; border:1px solid var(--sophia-line-2); border-radius:14px;
    font-size:12px; color:var(--sophia-text-2); text-decoration:none; background:var(--sophia-surface); }
  .achizitii-necesar .nq-subtabs a:hover { background:var(--sophia-surface-2); color:var(--sophia-text); }
  .achizitii-necesar .nq-subtabs .active a { background:var(--sophia-accent); border-color:var(--sophia-accent); color:var(--sophia-surface); font-weight:600; }
  .achizitii-necesar .nq-subtabs .badge { background:rgba(144,154,160,.25); color:inherit; font-size:10px; margin-left:4px; }
  .achizitii-necesar .nq-subtabs__sep { width:1px; align-self:stretch; background:var(--sophia-neutral-bg); margin:0 6px; }
  .achizitii-necesar .term--overdue { color:var(--sophia-bad); font-weight:600; }
  .achizitii-necesar .ob-meta { margin-left:auto; font-size:12px; color:var(--sophia-text-muted); text-align:right; }
  /* drawer: status pills + order info grid + structure chips */
  .achizitii-necesar .nq-status { display:flex; gap:6px; flex-wrap:wrap; margin:2px 0 8px; }
  .achizitii-necesar .nq-status__k { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sophia-text-muted); align-self:center; margin-right:2px; }
  .achizitii-necesar .nq-info { display:grid; grid-template-columns:repeat(auto-fill,minmax(165px,1fr)); gap:11px 18px;
    padding:12px 2px 6px; border-top:1px solid var(--sophia-line); margin-top:2px; }
  .achizitii-necesar .nq-info__k { display:block; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--sophia-text-muted); margin-bottom:2px; }
  .achizitii-necesar .nq-info__v { font-size:13px; color:var(--sophia-text); font-weight:600; font-variant-numeric:tabular-nums; }
  .achizitii-necesar .nq-info__v a { color:var(--sophia-accent); text-decoration:none; }
  .achizitii-necesar .nq-info__v a:hover { text-decoration:underline; }
  .achizitii-necesar .nq-info__v.muted { color:var(--sophia-text-faint); font-weight:400; }
  .achizitii-necesar .nq-prog { height:6px; background:var(--sophia-neutral-bg); border-radius:3px; overflow:hidden; margin-top:5px; }
  .achizitii-necesar .nq-prog__bar { height:100%; background:var(--sophia-good); border-radius:3px; }
  .achizitii-necesar .nq-struct { display:flex; gap:7px; flex-wrap:wrap; padding:10px 2px 2px; }
  
/* users/organizations.html.erb */
  :is(.ach, .sophia).users-orgs .ln { margin-bottom:0; }
  :is(.ach, .sophia).users-orgs .org-roles { display:flex; flex-wrap:wrap; gap:4px; max-width:520px; }
  :is(.ach, .sophia).users-orgs .org-roles .chip b { margin-left:4px; }
  :is(.ach, .sophia).users-orgs .org-gaps { display:flex; flex-wrap:wrap; gap:4px; }
  :is(.ach, .sophia).users-orgs .org-hint { display:flex; align-items:center; gap:8px; margin:0 0 12px;
    font-size:12px; color:var(--sophia-text-2); }
  
/* users/show.html.erb */
  :is(.ach, .sophia).users-show .avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
  :is(.ach, .sophia).users-show .usr-bio { font-size:13px; color:var(--sophia-text-2); }
  :is(.ach, .sophia).users-show .usr-bio p:last-child { margin-bottom:0; }
  :is(.ach, .sophia).users-show .usr-perm__sub { padding-left:8px; color:var(--sophia-text-2); }
  :is(.ach, .sophia).users-show .usr-perm__row--head { margin-top:10px; }
  :is(.ach, .sophia).users-show .usr-perm__row--head:first-child { margin-top:0; }
  :is(.ach, .sophia).users-show .usr-perm__row { display:flex; align-items:center; gap:8px; }
  :is(.ach, .sophia).users-show .usr-perm__row--locked label { color:var(--sophia-text-muted); }
  :is(.ach, .sophia).users-show .usr-perm__flag { color:var(--sophia-warn); border-color:var(--sophia-warn); }
  :is(.ach, .sophia).users-show .usr-perm > .text-muted { margin-top:2px; }
  :is(.ach, .sophia).users-show .usr-dash .ln { margin-bottom:0; }
  :is(.ach, .sophia).users-show .usr-dash__hint { display:flex; align-items:center; gap:8px; margin:0 0 12px;
    font-size:12px; color:var(--sophia-text-2); }
  
/*
 * Blocurile <style> care erau scrise direct in view. Se incarca dupa
 * modules.css, ca sa pastreze ordinea in cascada pe care o aveau cand veneau
 * din corpul paginii.
 *

 */
