/* daezpro.com — 18-product-sheets.css
   Recortes de ficha de producto (CMMS / Field / Energía / Safety / Learn / SGI).
   Frame de marketing; interior a densidad de app. Cero hex: sólo tokens. */

.psheet{
  margin:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  background:var(--surface);
  box-shadow:var(--sh-sm);
  color:var(--text-strong);
  text-align:left;
}
.psheet__chrome{
  display:flex;
  align-items:center;
  gap:8px;
  height:36px;
  padding:0 12px;
  border-bottom:1px solid var(--border);
  background:var(--bg-app);
  font:500 11px/1 var(--font-ui);
}
.psheet__chrome i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--ps-dot, var(--accent));
}
.psheet__chrome b{
  font-weight:600;
  color:var(--text-strong);
}
.psheet__chrome span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text-muted);
}
.psheet__body{ padding:16px 18px 14px; }
.psheet__head{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.psheet__head > div{ min-width:0; flex:1; }
.psheet__mark{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:none;
  border-radius:var(--r-md);
  background:var(--surface-2);
  color:var(--text-strong);
}
.psheet__code{
  margin:0;
  font:600 10px/1.3 var(--font-mono);
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ps-code, var(--accent-strong));
}
.psheet__title{
  margin:2px 0 0;
  font:650 17px/1.2 var(--font-ui);
  letter-spacing:-0.02em;
  color:var(--text-strong);
}
.psheet__chips{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  flex:none;
}
.psheet__chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:21px;
  padding:0 8px;
  border-radius:var(--r-pill);
  font:600 10.5px/1 var(--font-ui);
  white-space:nowrap;
  background:var(--surface-2);
  color:var(--text-body);
}
.psheet__chip i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}
.psheet__chip--ok{ background:var(--success-soft); color:var(--success-text); }
.psheet__chip--crit{ background:var(--danger-soft); color:var(--danger-text); }
.psheet__chip--warn{ background:var(--warning-soft); color:var(--warning-text); }
.psheet__chip--info{ background:var(--info-soft); color:var(--info-text); }
.psheet__chip--corr{ background:var(--danger-soft); color:var(--danger-text); }
.psheet__chip--site{ background:var(--primary-soft); color:var(--primary); }

.psheet__sec{
  margin:16px 0 8px;
  font:600 12px/1.3 var(--font-ui);
  color:var(--text-strong);
}
.psheet__sec span{
  display:block;
  margin-top:2px;
  font:400 10.5px/1.4 var(--font-ui);
  color:var(--text-muted);
}
.psheet__cells{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  margin-top:16px;
}
.psheet__sec + .psheet__cells{ margin-top:0; }
.psheet__cell{
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--bg-app);
}
.psheet__cell span{
  display:block;
  font:500 10.5px/1.3 var(--font-ui);
  color:var(--text-muted);
}
.psheet__cell b{
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:600 12.5px/1.3 var(--font-ui);
  color:var(--text-strong);
}
.psheet__cell--mono b{ font-family:var(--font-mono); font-size:var(--fs-xs); font-weight:600; }

.psheet__note{
  margin-top:16px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--bg-app);
}
.psheet__note p:first-child{
  margin:0;
  font:500 10px/1.3 var(--font-ui);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-faint);
}
.psheet__note p + p{
  margin:6px 0 0;
  font:400 12.5px/1.5 var(--font-ui);
  color:var(--text-body);
}

.psheet__cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:16px;
}
.psheet__col-h{
  margin:0 0 8px;
  font:600 11px/1.3 var(--font-ui);
  color:var(--text-strong);
}
.psheet__col-h em{
  margin-left:8px;
  font:500 11px/1 var(--font-mono);
  font-style:normal;
  color:var(--text-muted);
}
.psheet__ckrow,
.psheet__ev,
.psheet__who{
  display:flex;
  align-items:center;
  gap:8px;
  font:400 11.5px/1.3 var(--font-ui);
  color:var(--text-body);
}
.psheet__ckrow + .psheet__ckrow,
.psheet__ev + .psheet__ev,
.psheet__who + .psheet__who{ margin-top:6px; }
.psheet__ckrow.is-done{ color:var(--text-muted); text-decoration:line-through; }
.psheet__ck{
  display:grid;
  place-items:center;
  width:14px;
  height:14px;
  flex:none;
  border:1px solid var(--border);
  border-radius:var(--r-xs);
  background:var(--surface);
}
.psheet__ck.is-on{
  background:var(--text-strong);
  border-color:var(--text-strong);
  color:var(--text-invert);
}
.psheet__dot{
  width:6px;
  height:6px;
  flex:none;
  border-radius:50%;
  background:var(--success);
}
.psheet__dot--warn{ background:var(--warning); }
.psheet__ini{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  flex:none;
  border-radius:50%;
  background:var(--surface-2);
  font:700 8.5px/1 var(--font-ui);
  color:var(--text-body);
}
.psheet__who b{ font-weight:600; }
.psheet__who span:nth-child(2){
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  flex:1;
  font-size:var(--fs-2xs);
}
.psheet__tag{
  flex:none;
  padding:2px 8px;
  border-radius:var(--r-pill);
  font:700 9.5px/1.4 var(--font-ui);
  background:var(--success-soft);
  color:var(--success-text);
}
.psheet__tag--wait{ background:var(--warning-soft); color:var(--warning-text); }

.psheet__bar{
  display:block;
  height:8px;
  margin-top:6px;
  overflow:hidden;
  border-radius:var(--r-xs);
  background:var(--border);
}
.psheet__bar i{
  display:block;
  height:100%;
  width:62%;
  background:var(--warning);
}
.psheet__cap{
  margin-top:16px;
  font:500 11.5px/1.4 var(--font-ui);
  color:var(--text-body);
}
.psheet__cap b{ color:var(--text-strong); }

.psheet__foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 16px;
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--border);
  font:400 11px/1.4 var(--font-ui);
  color:var(--text-muted);
}
.psheet__foot span:last-child{ margin-left:auto; }
.psheet__foot b,
.psheet__ev b{ font-weight:600; color:var(--text-strong); }
.psheet .mono{ font-family:var(--font-mono); }
.psheet .is-ok{ color:var(--success-text); }
.psheet .is-bad{ color:var(--danger-text); }
.psheet .is-warn{ color:var(--warning-text); }

.psheet--energy{ --ps-dot: var(--theme-energy); --ps-code: var(--theme-energy-text); }
.psheet--energy .psheet__mark{
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--theme-energy-text);
}
.psheet--cmms{ --ps-dot: var(--theme-mtto); --ps-code: var(--theme-mtto-text); }
.psheet--cmms .psheet__mark{ background:var(--success-soft); color:var(--theme-mtto-text); }
.psheet--field{ --ps-dot: var(--primary); --ps-code: var(--primary); }
.psheet--field .psheet__mark{ background:var(--primary-soft); color:var(--primary); }
.psheet--safety{ --ps-dot: var(--warning); --ps-code: var(--warning-text); }
.psheet--safety .psheet__mark{ background:var(--warning-soft); color:var(--warning-text); }
.psheet--safety .psheet__ck.is-on{
  background:var(--success);
  border-color:var(--success);
}
.psheet--learn{ --ps-dot: var(--accent); --ps-code: var(--text-muted); }
.psheet--learn .psheet__mark{
  border-radius:50%;
  background:var(--text-strong);
  color:var(--text-invert);
  font:700 13px/1 var(--font-display);
}
.psheet--sgi{ --ps-dot: var(--text-strong); --ps-code: var(--text-strong); }
.psheet--sgi .psheet__mark{
  background:var(--text-strong);
  color:var(--text-invert);
  font:700 15px/1 var(--font-display);
}

.psheet--crop{
  max-height:176px;
  pointer-events:none;
  user-select:none;
}
.psheet--crop .psheet__chrome,
.psheet--crop .psheet__chips{ display:none; }
.psheet--crop .psheet__title{
  font-size:var(--fs-title);
  line-height:1.25;
}
.adq-shot .psheet{ width:100%; }
.adq-mod__visual{ min-height:0; }
.adq-mod__visual .psheet,
.svc-hero .psheet{ width:100%; }

@media (max-width:720px){
  .psheet__cells{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .psheet__cols{ grid-template-columns:1fr; }
}
