/* DrTime V60 — Patient 360. Kept separate from legacy UI layers for safe rollback. */
.drt-p360-identifiers{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.55rem}
.drt-p360-id-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:1.9rem;padding:.28rem .58rem;border:1px solid #dbe5ef;border-radius:.7rem;background:#f8fafc;color:#475569;font-size:.72rem;font-weight:800}
.drt-p360-id-chip strong{color:#0f172a;font-size:.76rem;font-weight:950;overflow-wrap:anywhere}
.drt-p360-id-chip.is-primary{border-color:#b6e2dc;background:#f0fdfa;color:#0f766e}
.drt-p360-id-chip.is-warning{border-color:#fde68a;background:#fffbeb;color:#92400e}
.drt-p360-identity-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:.85rem;margin-top:.9rem}
.drt-p360-identity-main,.drt-p360-identity-docs{min-width:0;border-top:1px solid #e2e8f0;padding-top:.8rem}
.drt-p360-subtitle{margin:0 0 .55rem;color:#334155;font-size:.79rem;font-weight:950}
.drt-p360-doc-list{display:grid;gap:.45rem}
.drt-p360-doc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}
.drt-p360-doc strong{display:block;color:#0f172a;font-size:.78rem;font-weight:950}
.drt-p360-doc small{display:block;margin-top:.08rem;color:#64748b;font-size:.68rem;overflow-wrap:anywhere}
.drt-p360-doc-meta{display:flex;gap:.3rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.drt-p360-portal-state{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.65rem;padding:.58rem .68rem;border-radius:.78rem;background:#f8fafc;border:1px solid #e2e8f0}
.drt-p360-portal-state span{color:#64748b;font-size:.72rem;font-weight:850}.drt-p360-portal-state strong{color:#0f172a;font-size:.76rem;font-weight:950}
.drt-patient-tablist-v45{grid-template-columns:repeat(8,minmax(105px,1fr))}
.drt-p360-timeline-shell{min-width:0}
.drt-p360-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.drt-p360-timeline-item{position:relative;display:grid;grid-template-columns:8.5rem 1rem minmax(0,1fr);gap:.65rem;align-items:start;min-height:4.25rem}
.drt-p360-timeline-item::after{content:"";position:absolute;inset-inline-start:calc(8.5rem + .48rem);top:1rem;bottom:-.2rem;width:2px;background:#e2e8f0}
.drt-p360-timeline-item:last-child::after{display:none}
.drt-p360-timeline-dot{position:relative;z-index:1;width:.72rem;height:.72rem;margin-top:.32rem;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 4px #fff}
.drt-p360-timeline-item.is-appointment .drt-p360-timeline-dot{background:#0ea5e9}.drt-p360-timeline-item.is-treatment .drt-p360-timeline-dot,.drt-p360-timeline-item.is-amendment .drt-p360-timeline-dot{background:#8b5cf6}.drt-p360-timeline-item.is-lab .drt-p360-timeline-dot{background:#14b8a6}.drt-p360-timeline-item.is-invoice .drt-p360-timeline-dot,.drt-p360-timeline-item.is-payment .drt-p360-timeline-dot{background:#22c55e}.drt-p360-timeline-item.is-identity .drt-p360-timeline-dot{background:#f59e0b}
.drt-p360-timeline-time{padding-top:.12rem;color:#64748b;font-size:.69rem;font-weight:800;text-align:end;white-space:nowrap}
.drt-p360-timeline-body{min-width:0;margin-bottom:.7rem;padding:0 0 .75rem;border-bottom:1px solid #f1f5f9}
.drt-p360-timeline-title{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:#475569;font-size:.75rem;font-weight:850}.drt-p360-timeline-title strong{color:#0f172a;font-size:.8rem;font-weight:950}
.drt-p360-timeline-detail{margin-top:.18rem;color:#64748b;font-size:.72rem;line-height:1.25rem;overflow-wrap:anywhere}
@media (max-width:1180px){.drt-patient-tablist-v45{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.drt-p360-identity-grid{grid-template-columns:1fr}.drt-patient-tablist-v45{grid-template-columns:repeat(2,1fr)}.drt-p360-timeline-item{grid-template-columns:1rem minmax(0,1fr);gap:.55rem}.drt-p360-timeline-item::after{inset-inline-start:.35rem}.drt-p360-timeline-time{grid-column:2;text-align:start;padding:0}.drt-p360-timeline-dot{grid-row:1 / span 2}.drt-p360-timeline-body{grid-column:2}}
