.physical-page { display:grid; gap:14px; min-width:0; }
.physical-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.physical-head h2 { margin:0; font-size:1.05rem; }
.physical-head p { margin:4px 0 0; color:var(--muted); font-size:.82rem; }
.physical-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; }
.physical-stat { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:10px 12px; min-width:0; }
.physical-stat strong { display:block; font-size:1.3rem; line-height:1; }
.physical-stat span { display:block; margin-top:5px; color:var(--muted); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.physical-stat-delivered { border-color:#86efac; background:#f0fdf4; }
.physical-stat-delivered strong { color:#166534; }
.physical-filters { display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,260px) minmax(190px,260px); gap:9px; }
.physical-date-range { display:flex; align-items:end; flex-wrap:wrap; gap:7px 10px; }
.physical-date-range > strong { align-self:center; color:var(--muted); font-size:.75rem; }
.physical-date-range label { display:grid; gap:3px; color:var(--muted); font-size:.68rem; font-weight:800; }
.physical-date-range input { min-width:145px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--text); padding:8px 10px; font:inherit; }
.physical-notice { border:1px solid #bfdbfe; background:#eff6ff; color:#1e3a8a; border-radius:10px; padding:9px 11px; font-size:.76rem; }
.physical-list { display:grid; gap:8px; }
.physical-row { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; align-items:center; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.physical-row h3 { margin:0 0 3px; font-size:.9rem; }
.physical-row p { margin:0; color:var(--muted); font-size:.78rem; overflow-wrap:anywhere; }
.physical-row-dates { display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:5px; color:var(--muted); font-size:.69rem; }
.physical-row-tags { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.physical-tag,.physical-status,.physical-workshop-status,.physical-age { display:inline-flex; align-items:center; min-height:24px; border-radius:999px; padding:3px 8px; background:var(--bg); border:1px solid var(--line); font-size:.69rem; font-weight:700; }
.physical-age[data-age="today"] { color:#166534; background:#f0fdf4; border-color:#bbf7d0; }
.physical-age[data-age="historical"] { color:#475569; background:#f8fafc; border-color:#cbd5e1; }
.physical-status[data-status="received"] { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; }
.physical-status[data-status="review"],.physical-status[data-status="authorization"] { color:#92400e; background:#fffbeb; border-color:#fde68a; }
.physical-status[data-status="service"] { color:#075985; background:#ecfeff; border-color:#a5f3fc; }
.physical-status[data-status="ready"],.physical-status[data-status="delivered"] { color:#166534; background:#f0fdf4; border-color:#bbf7d0; }
.physical-workshop-status[data-status="RECIBIDO"] { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; }
.physical-workshop-status[data-status="EN REVISION"],
.physical-workshop-status[data-status="COTIZACION EN PREPARACION"],
.physical-workshop-status[data-status="ESPERANDO AUTORIZACION"],
.physical-workshop-status[data-status="ESPERA DE REFACCIONES"],
.physical-workshop-status[data-status="ESPERANDO OC"] { color:#92400e; background:#fffbeb; border-color:#fde68a; }
.physical-workshop-status[data-status="EN SERVICIO"] { color:#075985; background:#ecfeff; border-color:#a5f3fc; }
.physical-workshop-status[data-status="LISTO PARA ENTREGAR"],
.physical-workshop-status[data-status="FACTURADO"] { color:#166534; background:#f0fdf4; border-color:#bbf7d0; }
.physical-editor { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:14px; align-items:start; min-width:0; }
.physical-main,.physical-side { display:grid; gap:12px; min-width:0; }
.physical-card { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:14px; min-width:0; }
.physical-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:12px; }
.physical-card-head h3 { margin:0; font-size:.94rem; }
.physical-card-head small { color:var(--muted); display:block; margin-top:3px; }
.physical-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.physical-field { display:grid; gap:4px; min-width:0; }
.physical-field.span-2 { grid-column:span 2; }
.physical-field.span-4 { grid-column:1/-1; }
.physical-field label { color:var(--muted); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.physical-field input,.physical-field textarea,.physical-field select,.physical-filters input,.physical-filters select {
  width:100%; min-width:0; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--text); padding:9px 10px; font:inherit;
}
.physical-field textarea { resize:vertical; min-height:72px; }
.physical-source { display:grid; gap:10px; }
.physical-preview { border:1px dashed var(--line); border-radius:12px; min-height:170px; display:grid; place-items:center; overflow:hidden; background:var(--bg); }
.physical-preview img { display:block; width:100%; max-height:420px; object-fit:contain; }
.physical-preview a { color:var(--primary); font-weight:800; }
.physical-empty { color:var(--muted); text-align:center; padding:22px; }
.physical-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.physical-actions .push { margin-left:auto; }
.physical-save-state { font-size:.73rem; font-weight:700; color:var(--muted); }
.physical-save-state.pending { color:#92400e; }
.physical-save-state.saved { color:#166534; }
.physical-save-state.error { color:#b91c1c; }
.physical-section-title { position:sticky; top:0; z-index:1; margin:10px -14px 6px; padding:8px 14px; background:var(--navy); color:#fff; font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.physical-check-row { display:grid; grid-template-columns:minmax(190px,1fr) repeat(4,66px); gap:6px; align-items:center; padding:7px 0; border-bottom:1px solid var(--line); }
.physical-check-row > strong { font-size:.78rem; }
.physical-condition { border:1px solid var(--line); background:var(--surface); border-radius:8px; min-height:34px; padding:4px; font-size:.68rem; font-weight:800; cursor:pointer; }
.physical-condition.active.good { border-color:#22c55e; background:#dcfce7; color:#166534; }
.physical-condition.active.regular { border-color:#f59e0b; background:#fef3c7; color:#92400e; }
.physical-condition.active.bad { border-color:#ef4444; background:#fee2e2; color:#991b1b; }
.physical-condition.active.na { background:#e5e7eb; color:#374151; }
.physical-item-note { grid-column:1/-1; display:none; }
.physical-check-row.has-note .physical-item-note,.physical-check-row:focus-within .physical-item-note { display:block; }
.physical-item-note input { width:100%; border:1px solid var(--line); border-radius:8px; padding:7px 9px; background:var(--surface); color:var(--text); font:inherit; font-size:.75rem; }
.physical-evidence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.physical-evidence { margin:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--bg); }
.physical-evidence img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.physical-evidence figcaption { padding:7px; display:grid; gap:6px; font-size:.7rem; overflow-wrap:anywhere; }
.physical-version,.physical-audit-row { border-top:1px solid var(--line); padding:9px 0; }
.physical-version:first-of-type,.physical-audit-row:first-of-type { border-top:0; }
.physical-version strong,.physical-audit-row strong { font-size:.8rem; }
.physical-version p,.physical-audit-row p { margin:3px 0 7px; color:var(--muted); font-size:.72rem; overflow-wrap:anywhere; }
.physical-message { width:100%; min-height:122px; resize:vertical; border:1px solid var(--line); border-radius:9px; padding:9px; background:var(--surface); color:var(--text); font:inherit; font-size:.8rem; }
.physical-warning { border:1px solid #fcd34d; background:#fffbeb; color:#78350f; border-radius:10px; padding:9px 10px; font-size:.76rem; }
.physical-error { border:1px solid #fecaca; background:#fef2f2; color:#991b1b; border-radius:10px; padding:9px 10px; font-size:.76rem; }
.physical-loading { min-height:180px; display:grid; place-items:center; color:var(--muted); }
body.physical-lock { overflow:auto !important; }

@media (max-width:1100px) {
  .physical-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .physical-editor { grid-template-columns:1fr; }
  .physical-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  #checklistsPage { margin:12px !important; min-width:0; }
  .physical-head { align-items:stretch; flex-direction:column; }
  .physical-head .btn { width:100%; }
  .physical-stats { display:flex; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:2px; }
  .physical-stat { flex:0 0 132px; scroll-snap-align:start; }
  .physical-filters { grid-template-columns:1fr; }
  .physical-date-range { display:grid; grid-template-columns:1fr 1fr; }
  .physical-date-range > strong { grid-column:1/-1; }
  .physical-date-range input { width:100%; min-width:0; }
  .physical-row { grid-template-columns:1fr; gap:9px; }
  .physical-row .btn { width:100%; }
  .physical-side { grid-template-columns:1fr; }
  .physical-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .physical-field.span-4 { grid-column:1/-1; }
  .physical-check-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .physical-check-row > strong { grid-column:1/-1; font-size:.82rem; padding-top:3px; }
  .physical-condition { min-height:40px; font-size:.68rem; }
  .physical-section-title { top:0; }
}
@media (max-width:420px) {
  .physical-form-grid { grid-template-columns:1fr; }
  .physical-field.span-2,.physical-field.span-4 { grid-column:1; }
  .physical-card { padding:11px; }
  .physical-section-title { margin-left:-11px; margin-right:-11px; }
}
.physical-legacy-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--bg);
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
}
