* fix(web): simplify inventory administration menu * fix(web): remove legacy imports and function catalog routes * fix(web): remove redundant inspections lifecycle legend * feat(inventory): distinguish physical instances from structural records * fix(dashboard): align inventory and act follow-up metrics * fix(web): align dashboard summary contract * fix(web): clarify dashboard act and report concepts * feat(inventory): mark field-created records as real instances * feat(inventory): map physical instance flag on asset entity * fix(inventory): keep field yacimientos structural * feat(inventory): classify future concrete instances at database level * fix(inventory): count only installation and subinstallation instances * feat(inventory): add authoritative F5 source snapshot * feat(inventory): preload authoritative territory model * feat(inventory): preload authoritative technical catalog * fix(findings): use only authoritative F5 family catalog * fix(inventory): preserve non-hierarchical operator snapshot compatibility * feat(inventory): add inventory-only asset filter * feat(inventory): add inventory-only tree filter * feat(inventory): add inventory browser query contract * feat(inventory): add area-owned inventory browser * feat(inventory): expose area-owned inventory browser * refactor(inventory): remove function catalog and add inventory browser * fix(inventory): make operator relation temporal and non-owning * feat(web): add inventory browser API client * feat(inventory): extend inventory browser filters * feat(inventory): add real inventory list endpoint logic * feat(inventory): expose real inventory list * feat(web): add real inventory list client * refactor(web): make inventory hierarchy area-owned * fix(web): show only real inventory instances * fix(web): style act follow-up tabs and F5 inventory context * fix(web): load F5 flow styles * fix(inventory): apply area-owned operational guard on F5 up * fix(inventory): treat company on asset as non-owning creation snapshot * fix(inventory): resolve field inventory by area hierarchy, not company ownership * fix(inventory): preserve custom catalog and apply authoritative universal findings * fix(inventory): harden authoritative catalog migration checks * fix(inventory): make authoritative territory preload safely reversible * feat(inventory): allow independent company master creation * fix(inventory): make guided creation area-owned and support companies * feat(web): expose independent company master in inventory setup * feat(web): create companies independently from physical inventory hierarchy * fix(inventory): merge by physical area and preserve sealed documents * test(inventory): lock F5 authoritative model and merge invariants * feat(inventory): add family administration DTOs * feat(inventory): administer installation and subinstallation classifications * feat(inventory): expose family classification administration * feat(web): add inventory classification administration API * fix(web): configure finding applicability by inventory classification * fix(web): redefine inventory configuration around hierarchy classifications and columns * chore(release): identify F5 inventory model * chore(release): bump API for F5 inventory model * test(release): expect F5 health metadata * chore(release): align WEB package with F5 inventory cut * chore(release): expose F5 WEB phase * test(dashboard): expect inspector activity and act follow-up metrics * test(dashboard): route F5 summary query mocks explicitly * ci: rehearse all migrations on clean PostGIS before merge * ci: prove F5 migrations revert and reapply cleanly * test(f5): align operational navigation contract * test(f5): align operator lifecycle with area-owned inventory * test(f5): make merge compatibility area-based * test(f5): distinguish literal and normalized yacimiento counts * test(f5): model normalized yacimiento collision explicitly * ci(f5): bootstrap historical admin prerequisite in clean migration rehearsal * ci(f5): bypass irreversible historical reset in clean rehearsal * fix(f5): make territory SQL parameter types explicit * fix(f5): guarantee canonical inventory hierarchy before territory preload * ci(f5): include canonical hierarchy migration in rollback gate * fix(f5): type relation backup markers explicitly * fix(f5): make catalog SQL text parameter types explicit
91 lines
1.7 KiB
CSS
91 lines
1.7 KiB
CSS
/* F5 · ajustes visuales acotados a los flujos saneados. */
|
|
|
|
.status-tabs {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin: 0 0 18px;
|
|
padding: 7px;
|
|
border: 1px solid var(--border, #e2e8f0);
|
|
border-radius: 14px;
|
|
background: var(--surface, #fff);
|
|
box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
|
|
}
|
|
|
|
.status-tabs button {
|
|
appearance: none;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
min-height: 38px;
|
|
padding: 8px 12px;
|
|
border: 1px solid transparent;
|
|
border-radius: 10px;
|
|
background: transparent;
|
|
color: var(--text-muted, #64748b);
|
|
font: inherit;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
line-height: 1;
|
|
cursor: pointer;
|
|
transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
|
|
}
|
|
|
|
.status-tabs button:hover {
|
|
background: #f8fafc;
|
|
border-color: #e2e8f0;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.status-tabs button.active {
|
|
background: #eef4ff;
|
|
border-color: #bfd2fb;
|
|
color: #173d7a;
|
|
box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.04);
|
|
}
|
|
|
|
.status-tabs button small {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 22px;
|
|
height: 22px;
|
|
padding: 0 6px;
|
|
border-radius: 999px;
|
|
background: #edf2f7;
|
|
color: #475569;
|
|
font-size: 11px;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.status-tabs button.active small {
|
|
background: #d7e5ff;
|
|
color: #173d7a;
|
|
}
|
|
|
|
.asset-browser-item-status > strong {
|
|
display: block;
|
|
font-size: 18px;
|
|
line-height: 1;
|
|
text-align: right;
|
|
}
|
|
|
|
.asset-browser-item-status > small {
|
|
display: block;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
@media (max-width: 720px) {
|
|
.status-tabs {
|
|
flex-wrap: nowrap;
|
|
overflow-x: auto;
|
|
scrollbar-width: thin;
|
|
padding-bottom: 9px;
|
|
}
|
|
|
|
.status-tabs button {
|
|
flex: 0 0 auto;
|
|
white-space: nowrap;
|
|
}
|
|
}
|