/* ──────────────────────────────────────────────────────────────────────────
   COWORK · v5.1 · cowork-fixes.css — loop-back-ul gardienelor (13.07.2026).
   Se încarcă DUPĂ tokens + shell pe toate paginile. Conține doar corecțiile
   consolidate din raportul DESIGN-REVIEW (nu stiluri noi de componente).
   ────────────────────────────────────────────────────────────────────────── */

/* [FA-MAJOR] Regula A: viewportul de boot nu se ascunde NICIODATĂ în starea
   de bază — animația de boot rulează doar când JS confirmă context viu
   (html.cw-anim: document vizibil + fără reduced-motion). */
.boot { opacity: 1; animation: none; }
html.cw-anim .boot {
  opacity: 0;
  animation: boot-in 180ms steps(3, end) forwards;
  animation-delay: calc(var(--i, 0) * 90ms);
}

/* [FA-MAJOR] Navigarea responsive: 768–1100 nu se mai împachetează vertical,
   sub 640 nu mai dispare — rând orizontal cu scroll discret (pattern .cw-rail). */
@media (max-width: 1100px) {
  .cw-nav {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    max-width: 60vw;
  }
  .cw-nav::-webkit-scrollbar { display: none; }
  .cw-nav__link { flex: 0 0 auto; }
}
@media (max-width: 640px) {
  .cw-nav { display: flex; flex: 1 1 auto; min-width: 0; max-width: none; }
  .cw-timer-btn { display: none; }   /* timerul cedează spațiul navigării */
}
.user-chip { white-space: nowrap; }

/* [FA-MAJOR] Discrail idle: --ink-4 e „disabled only" (2.9:1) → --ink-3. */
.cw-discrail__disc { color: var(--ink-3); }

/* [CH] Capitole „redactate" la non-admin — golul de numerotare devine limbaj
   asumat (filă restricționată), nu bug: discul rămâne vizibil, ne-focusabil. */
.cw-discrail__disc.is-redacted {
  opacity: .35;
  pointer-events: none;
}
.cw-discrail__disc.is-redacted .lbl::after { content: " ·restricționat"; }

/* [FA-MINOR] --ok light era 4.49:1 pe bg — sub AA cu 0.01. */
[data-theme="light"] { --ok: #1D7443; }

/* ── v5.1 TOPBAR REFRESH — panoul de utilizator (cowork-userpanel.js) ────── */
.cw-userpanel {
  position: fixed;
  z-index: 80;
  min-width: 264px;
  padding: var(--s-4, 14px);
  background: var(--glass-fill-strong, rgba(20,18,15,.92));
  border: 1px solid var(--hair-2);
  border-radius: var(--r-3, 6px);
  box-shadow: var(--glass-shadow, 0 14px 40px rgba(0,0,0,.5));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.cw-userpanel__id { display: flex; gap: 10px; align-items: center; padding-bottom: var(--s-3, 10px); border-bottom: 1px solid var(--hair); }
.cw-userpanel__id .av {
  width: 30px; height: 30px; border-radius: var(--r-1, 4px);
  display: grid; place-items: center;
  font: var(--t-mono-sm, 600 10px/1 ui-monospace, monospace);
  color: #F7F3EB; letter-spacing: .06em;
}
.cw-userpanel__id .nm { font: 600 14px/1.25 var(--sans, -apple-system, sans-serif); color: var(--ink-1); }
.cw-userpanel__id .rl { font: var(--t-mono-sm, 500 10px/1.4 ui-monospace, monospace); letter-spacing: var(--tracking-tight, .06em); color: var(--ink-3); text-transform: uppercase; }
.cw-userpanel__links { display: grid; padding: var(--s-2, 8px) 0; border-bottom: 1px solid var(--hair); }
.cw-userpanel__links a {
  padding: 8px 6px; border-radius: var(--r-1, 4px);
  font: 500 13px/1.2 var(--sans, -apple-system, sans-serif);
  color: var(--ink-2); text-decoration: none;
}
.cw-userpanel__links a:hover { color: var(--ink-1); background: var(--fill, rgba(237,234,227,.06)); }
.cw-userpanel__theme { display: flex; gap: 6px; align-items: center; padding: var(--s-3, 10px) 0; border-bottom: 1px solid var(--hair); }
.cw-userpanel__theme .cap { font: var(--t-mono-sm, 500 10px/1 ui-monospace, monospace); letter-spacing: var(--tracking, .14em); text-transform: uppercase; color: var(--ink-3); margin-right: auto; }
.cw-userpanel__theme button {
  padding: 6px 9px; cursor: pointer;
  font: var(--t-mono-sm, 500 10px/1 ui-monospace, monospace);
  letter-spacing: var(--tracking-tight, .06em); text-transform: uppercase;
  color: var(--ink-3); background: transparent;
  border: 1px solid var(--hair-2); border-radius: var(--r-1, 4px);
}
.cw-userpanel__theme button.is-active { color: var(--bg-1); background: var(--ink-1); border-color: var(--ink-1); }
.cw-userpanel__out {
  width: 100%; margin-top: var(--s-3, 10px); padding: 9px 10px; cursor: pointer;
  font: var(--t-mono-sm, 500 11px/1 ui-monospace, monospace);
  letter-spacing: var(--tracking, .14em); text-transform: uppercase;
  color: var(--danger, #B23A24); background: var(--danger-soft, rgba(178,58,36,.07));
  border: 1px solid var(--danger-border, rgba(178,58,36,.3)); border-radius: var(--r-1, 4px);
}
.cw-userpanel__out:hover { color: #fff; background: var(--danger, #B23A24); }

/* ── v6 · COTA 0: contoare live pe rail + rail responsive (mini-bară jos) ── */
.cw-discrail__disc .cnt {
  font: var(--t-mono-sm, 500 10px/1 ui-monospace, monospace);
  color: var(--accent-text, #C4693A);
  font-variant-numeric: tabular-nums;
  margin-left: 4px;
}
.cw-discrail__disc.is-redacted { opacity: .35; cursor: default; }
@media (max-width: 1499px) {
  /* rail-ul nu mai moare sub 1500px — coboară într-o mini-bară fixă jos */
  .cw-discrail {
    display: flex !important;
    position: fixed; left: 50%; right: auto; top: auto; bottom: 10px;
    transform: translateX(-50%);
    flex-direction: row; align-items: center; gap: 2px;
    height: 44px; padding: 0 10px;
    background: var(--glass-fill, rgba(20,18,15,.72));
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--glass-stroke, rgba(237,234,227,.12));
    border-radius: 22px;
    z-index: 40;
  }
  .cw-discrail__cap { display: none; }
  .cw-discrail__disc { flex-direction: row; padding: 4px 8px; }
  .cw-discrail__disc .lbl { display: none; }
}
@media (max-width: 767px) {
  .cw-discrail { bottom: calc(6px + env(safe-area-inset-bottom, 0px)); }
  .cw-discrail__disc .cnt { display: none; }
}
