.factory-project-lifecycle{
  background:linear-gradient(180deg,#f8fbff,#f4f8fc);
  border:1px solid #cbdcf5;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.factory-lifecycle-head strong{color:#0f5fb8}
.factory-lifecycle-head span{color:#64748b;font-weight:700}
.factory-phase-track{gap:.55rem;scrollbar-width:thin;padding:.1rem .05rem .25rem}
.factory-phase{
  position:relative;
  min-height:92px;
  border:1px solid #d9e2ec;
  background:#fff;
  color:#0f172a;
  box-shadow:0 3px 10px rgba(15,23,42,.04);
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.factory-phase:hover{transform:translateY(-1px);border-color:#93b8ec;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.factory-phase:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.factory-phase.is-selected{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.1),0 9px 22px rgba(37,99,235,.12)}
.factory-phase.active{background:linear-gradient(180deg,#eff6ff,#eaf3ff);border-color:#4f8de8}
.factory-phase.not-evidenced{background:linear-gradient(180deg,#fffaf0,#fff7e7);border-color:#f0c36a}
.factory-phase.pending{background:#f8fafc;border-color:#d8dee8}
.factory-phase-index{background:#e8eef7;color:#334155;box-shadow:none}
.factory-phase.active .factory-phase-index{background:#2563eb;color:#fff}
.factory-phase.not-evidenced .factory-phase-index{background:#b7791f;color:#fff}
.factory-phase-copy strong{color:#162033;font-size:.82rem;line-height:1.15}
.factory-phase-copy small{color:#64748b;font-weight:800;letter-spacing:.04em}
.factory-phase-state{font-size:.68rem;font-weight:900;letter-spacing:.045em;color:#64748b}
.factory-phase.active .factory-phase-state{color:#0f5fb8}
.factory-phase.not-evidenced .factory-phase-state{color:#9a6700}
.factory-phase.pending .factory-phase-state{color:#7c8798}
.factory-phase-affordance{position:absolute;right:.5rem;bottom:.45rem;font-size:.64rem;font-weight:800;color:#2563eb;opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease}
.factory-phase:hover .factory-phase-affordance,.factory-phase:focus-visible .factory-phase-affordance,.factory-phase.is-selected .factory-phase-affordance{opacity:1;transform:none}
.factory-phase-detail{margin-top:.75rem;padding:.8rem .9rem;border:1px solid #d7e3f4;border-radius:.8rem;background:#fff;display:flex;justify-content:space-between;gap:1rem;align-items:center;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.factory-phase-detail-copy{display:grid;gap:.2rem;min-width:0}
.factory-phase-detail-kicker{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#2563eb}
.factory-phase-detail-copy strong{font-size:.94rem;color:#0f172a}
.factory-phase-detail-copy p{margin:.15rem 0 0;color:#475569;font-size:.78rem;line-height:1.4}
.factory-phase-detail-copy small{color:#64748b;font-size:.7rem}
.factory-phase-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;min-width:320px}
.factory-phase-detail-actions button{border:1px solid #c9d6e7;border-radius:.58rem;background:#fff;color:#1e3a5f;padding:.5rem .65rem;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.factory-phase-detail-actions button:hover{border-color:#7aa7e8;background:#f6faff}
.factory-phase-detail-state{display:inline-flex;align-items:center;min-height:28px;padding:.28rem .5rem;border-radius:999px;background:#eef2f7;color:#475569;font-size:.65rem;font-weight:900;letter-spacing:.04em}
.factory-phase-detail-state.active{background:#dbeafe;color:#1d4ed8}
.factory-phase-detail-state.not-evidenced{background:#fff3d6;color:#8a5b00}
.factory-phase-detail-state.pending{background:#eef2f7;color:#64748b}
@media(max-width:900px){.factory-phase-detail{align-items:flex-start;flex-direction:column}.factory-phase-detail-actions{min-width:0;justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.factory-phase,.factory-phase-affordance{transition:none}.factory-phase:hover{transform:none}}
