/* Módulo EDI v15.4.1 */
.edi-shell{display:grid;gap:1rem}.edi-title-row,.edi-toolbar,.edi-area-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.edi-title-row h2{margin:.2rem 0}.edi-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.edi-start-grid .card{display:grid;gap:.8rem}.edi-toolbar{padding:.9rem;border:1px solid var(--border,#cedbd7);border-radius:18px;background:var(--soft,#f5faf8)}.edi-toolbar label{min-width:min(100%,320px)}.edi-table td{vertical-align:top}.edi-form{max-width:1500px;margin-inline:auto}.edi-form-section{border:1px solid var(--border,#cedbd7);border-radius:18px;padding:1rem;background:var(--card,#fff);display:grid;gap:.9rem}.edi-form-section>h3{margin:0}.edi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.edi-grid label{display:grid;gap:.35rem;font-weight:700}.edi-grid input,.edi-grid select,.edi-grid textarea,.edi-toolbar input,.edi-toolbar select,.edi-start-grid select{width:100%}.edi-grid .edi-wide{grid-column:1/-1}.edi-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;align-content:center;gap:.55rem!important}.edi-check input{width:auto!important}.edi-age-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.edi-age-summary>div{padding:.75rem;border-radius:14px;background:#edf7f4;border:1px solid #cfe1dc;display:grid;gap:.2rem}.edi-age-summary span{font-size:.82rem;color:#526762}.edi-age-summary strong{font-size:.98rem}.edi-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.7rem}.edi-item{border:1px solid #d4e1de;border-radius:14px;padding:.8rem;margin:0;background:#fff}.edi-item legend{display:flex;justify-content:space-between;gap:.5rem;width:100%;font-size:.82rem}.edi-item legend span{color:#5d6f6a}.edi-item p{margin:.5rem 0 .75rem}.edi-observation{border-left:5px solid #1f78b4;background:#f5fbff}.edi-options{display:flex;gap:1rem;flex-wrap:wrap}.edi-options label{display:flex;gap:.35rem;align-items:center;font-weight:700}.edi-area-block{border:1px solid #d4e1de;border-radius:16px;padding:.85rem;display:grid;gap:.65rem}.edi-area-head h4{margin:0}.edi-previous{padding:.8rem;border-radius:14px;background:#fff7dd;border:1px solid #e9cf72}.edi-previous h5{margin:.1rem 0 .7rem}.edi-result-badge{display:inline-flex;align-items:center;padding:.3rem .58rem;border-radius:999px;font-weight:800;font-size:.82rem;white-space:nowrap}.edi-green{background:#d9f3e4;color:#075b39}.edi-yellow{background:#fff1c9;color:#795300}.edi-red{background:#fde0dc;color:#9c1c12}.edi-pending{background:#e9eeec;color:#52605c}.edi-live-result{border:2px solid #cbdcd7;border-radius:16px;padding:1rem;background:#f8fbfa}.edi-live-result ul{margin:.7rem 0 0}.edi-live-result p{margin:.6rem 0 0}.edi-form details{border:1px solid #d7e2df;border-radius:14px;padding:.7rem}.edi-form summary{cursor:pointer;font-weight:800}.edi-required-note,.edi-form small{color:#5c6e69}.edi-shell .eyebrow{text-transform:uppercase;font-size:.76rem;letter-spacing:.08em;font-weight:800;color:#08765f}.edi-shell .lead{max-width:820px}.edi-shell .neutral{background:#eef3f1;color:#485c57}.edi-shell .warning{background:#fff1d2;color:#764f00}.edi-shell .info{background:#e8f5f2;color:#075848}.edi-shell .btn-danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important}
.edi-required-pending{border-color:#c7352b!important;background:#fff5f4!important;box-shadow:0 0 0 2px rgba(199,53,43,.08)}
.edi-required-pending input,.edi-required-pending select{border-color:#c7352b!important;background:#fff}
.edi-field-pending{display:block;margin-top:.45rem;color:#a52319;font-weight:800;font-size:.78rem}
.edi-missing-summary{margin-top:.8rem;padding:.85rem;border:1px solid #edb8b3;border-radius:14px;background:#fff7f6;display:grid;gap:.55rem}
.edi-missing-summary ul{margin:.1rem 0 .2rem;padding-left:1.25rem}
.edi-missing-focus{animation:ediMissingPulse .7s ease-in-out 3;outline:3px solid rgba(199,53,43,.28);outline-offset:3px}
@keyframes ediMissingPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(max-width:900px){.edi-start-grid,.edi-grid,.edi-items,.edi-age-summary{grid-template-columns:1fr}.edi-title-row,.edi-toolbar{align-items:stretch}.edi-title-row>.actions,.edi-toolbar>.actions{width:100%}.edi-toolbar label{min-width:0}}
@media print{.edi-shell{display:none!important}}

/* Seguimiento longitudinal EDI v15.4.17d */
.edi-followup-card {
  margin: 1rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--border, #cbded8);
  border-left-width: .4rem;
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 8px 22px rgba(24, 65, 54, .06);
}
.edi-followup-card h4 { margin: 0 0 .55rem; font-size: 1.05rem; }
.edi-followup-card p { margin: .35rem 0; }
.edi-followup-green { border-left-color: #1c8b66; background: #f2fbf7; }
.edi-followup-yellow { border-left-color: #c89419; background: #fff9e9; }
.edi-followup-red { border-left-color: #c94c42; background: #fff4f2; }
.edi-cell-stack { display: flex; flex-direction: column; align-items: flex-start; gap: .28rem; min-width: 9.5rem; }
.edi-cell-stack small { line-height: 1.25; color: var(--muted, #53645f); }
.edi-followup-escalation {
  display: inline-block;
  margin-top: .25rem;
  padding: .2rem .45rem;
  border-radius: 999px;
  background: #fde7e3;
  color: #8d2923 !important;
  font-weight: 700;
}
.edi-followup-status {
  display: inline-flex;
  width: fit-content;
  padding: .2rem .48rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  background: #e8f0ee;
  color: #24483f;
}
.edi-followup-status.overdue { background: #fde7e3; color: #8d2923; }
.edi-followup-status.due-today,
.edi-followup-status.due-soon { background: #fff0c8; color: #805900; }
.edi-followup-status.upcoming { background: #e5f4ee; color: #146148; }
.edi-followup-cell-red strong { color: #a23129; }
.edi-followup-table th,
.edi-followup-table td { vertical-align: top; }
@media (max-width: 980px) {
  .edi-followup-table { min-width: 1120px; }
}
@media print {
  .edi-followup-status { border: 1px solid currentColor; background: transparent !important; }
}


/* Programación editable de citas EDI v15.4.17d */
.edi-appointment-summary,.edi-appointment-editor{display:grid;gap:.35rem;min-width:13rem}
.edi-appointment-summary span,.edi-appointment-editor label{display:grid;gap:.12rem}
.edi-appointment-editor label>span{font-size:.76rem;color:var(--muted,#53645f);font-weight:700}
.edi-appointment-editor input[type=date]{min-width:10.5rem;width:100%;padding:.42rem .5rem}
.edi-appointment-editor .btn{width:fit-content}
.edi-appointment-difference{font-weight:700!important}
.edi-appointment-difference.delayed{color:#8b4a00!important}
.edi-appointment-difference.advanced{color:#245b86!important}
.edi-appointment-difference.on-target{color:#146148!important}
@media(max-width:980px){.edi-appointment-summary,.edi-appointment-editor{min-width:11rem}}
