*{box-sizing:border-box}body{margin:0;background:#eff5fb;color:#374151;font:16px system-ui,sans-serif}main{max-width:1160px;margin:32px auto;padding:24px}h1{text-align:center;font-size:clamp(25px,4vw,36px);color:#293779;margin:12px 0}.subtitle{text-align:center;font-size:20px;font-weight:600}.badge{text-align:center;font-size:11px;letter-spacing:1px;color:#63788a}p{line-height:1.6}ol{display:flex;list-style:none;padding:0;margin:36px 0 42px}li{position:relative;flex:1;text-align:center;font-size:12px;color:#6b7280}li:before{content:'';position:absolute;top:20px;left:0;right:0;height:4px;background:#dfe6eb;z-index:0}li:first-child:before{left:50%}li:last-child:before{right:50%}li span{position:relative;display:block;border-radius:50%;background:#e3e8ed;width:42px;height:42px;margin:0 auto 12px;line-height:42px;font-size:18px}li[aria-current] span,li.complete span{background:#ff8708;color:white}li[aria-current] span{box-shadow:0 0 0 6px #ffe0be}li[aria-current]{color:#374151;font-weight:600}section{background:white;border:1px solid #e0e6eb;border-radius:10px;box-shadow:0 4px 8px #18273714;overflow:hidden}header{padding:24px 32px}h2{font-size:21px;font-weight:600;margin:0}header p{color:#768493;font-size:14px;margin:8px 0}.content{max-width:620px;min-height:220px;margin:12px auto 28px;padding:20px}label{display:block;font-weight:600;margin:16px 0 10px}select{width:100%;padding:15px;background:white;border:1px solid #d7dfe5;border-radius:9px;box-shadow:0 3px 6px #0000000c;font:inherit;color:#374151}footer{background:#f6fafb;padding:20px 28px;display:flex;justify-content:flex-end;gap:16px}.secondary{margin-right:auto;background:transparent;color:#58636c}button{padding:12px 22px;border:0;border-radius:8px;font:inherit;background:#f58212;color:white;cursor:pointer}button:disabled{background:#d5dbe0;color:#7c8792;cursor:default}.note{text-align:center;font-size:13px;color:#647480}#status{font-size:14px;color:#647480}[hidden]{display:none!important}:focus-visible{outline:3px solid #293779;outline-offset:3px}@media(max-width:600px){main{padding:16px;margin:12px auto}ol{gap:4px}li{font-size:10px}li span{width:32px;height:32px;line-height:32px}li:before{top:15px}header{padding:24px}.content{min-height:200px}footer{padding:16px}button{font-size:14px;padding:12px}}
.catalog{padding:10px 32px 28px}.catalog-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.catalog h3{font-size:25px;margin:4px 0 22px;color:#293779}.eyebrow{letter-spacing:1.5px;font-size:10px;color:#8491a0;margin:0}.pill{background:#fff1df;color:#9b5410;padding:8px 14px;border-radius:20px;font-size:12px;white-space:nowrap}.search-label{font-size:13px}input[type=search]{width:100%;border:1px solid #dce4ed;border-radius:10px;padding:14px 18px;font:inherit;background:#f9fbfd;margin-bottom:14px}.table-head,.prestacion-row{display:grid;grid-template-columns:110px minmax(0,1fr) 130px 20px;align-items:center;gap:18px}.table-head{padding:14px 18px;background:#f2f6fa;border-radius:8px;font-size:12px;color:#66778b}.prestacion-row{padding:18px;margin:0;border-bottom:1px solid #edf1f5;font-weight:400;cursor:pointer;transition:background .15s}.prestacion-row:hover{background:#fff8ef}.prestacion-row:has(input:checked){background:#fff3e5;box-shadow:inset 3px 0 #f58212}.code{font:13px ui-monospace,monospace;color:#516380;background:#f1f5fa;padding:8px;border-radius:6px;width:fit-content}.exam-name{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.duration{font-size:12px;color:#7b8796}.prestacion-row input{accent-color:#f58212;width:18px;height:18px;margin:0}fieldset{border:0;padding:0;margin:0;max-height:380px;overflow:auto;scrollbar-color:#e5b074 #f5f7fa}.selection-summary{background:#eef6f4;border:1px solid #d3e7df;border-radius:8px;padding:16px;margin:20px 0 10px;color:#386456;font-size:13px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.catalog{padding:12px 20px}.table-head{display:none}.prestacion-row{grid-template-columns:1fr 24px;gap:10px;padding:18px 10px}.code,.exam-name,.duration{grid-column:1}.prestacion-row input{grid-column:2;grid-row:1 / 4}.catalog h3{font-size:22px}}

/* Marco propio del ambiente de pruebas. Logo oficial sin alteraciones. */
body{background:#eef2f7}.site-shell{max-width:1360px;margin:24px auto;background:#f8fafc;border:1px solid #dce3ec;border-radius:22px;box-shadow:0 16px 60px #2439520c;overflow:hidden}.brand-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 42px;background:#fff;border-bottom:1px solid #e6ebf1}.brand-slot{width:330px;max-width:100%;min-height:90px;display:flex;flex-direction:column;justify-content:center}.brand-slot img{display:block;width:100%;height:auto;object-fit:contain}.brand-slot img.logo-failed{visibility:hidden}.brand-slot #logo-error{font-size:12px;color:#97542d;margin:8px 0 0}.lab-label{display:flex;align-items:center;gap:9px;font-size:13px;color:#617086;flex-wrap:wrap;justify-content:flex-end}.lab-dot{width:7px;height:7px;border-radius:50%;background:#f58212}.lab-tag{padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:10px;letter-spacing:1.4px;color:#596d86}main{margin:0 auto;padding:28px 32px 20px;max-width:1160px}h1{font-size:clamp(24px,3vw,32px);letter-spacing:-.7px;margin:10px 0}.subtitle{font-size:17px;margin:12px 0}.badge{font-size:10px;letter-spacing:1.2px;margin:0 0 12px}ol{margin:28px 0 32px}section{border-radius:14px;box-shadow:0 5px 20px #24395208}.shell-footer{display:flex;justify-content:space-between;gap:16px;padding:18px 42px;border-top:1px solid #e5ebf2;color:#7a8798;font-size:11px;background:#fff}.content{min-height:170px}.catalog{padding-top:0}.catalog h3{margin-bottom:14px}@media(max-width:700px){.site-shell{margin:0;border-radius:0;border:0}.brand-header{padding:20px 24px;flex-direction:column;gap:12px}.brand-slot{width:300px;min-height:80px}.lab-label{justify-content:center}.shell-footer{padding:18px 24px;flex-direction:column;gap:6px;text-align:center}main{padding:24px 16px}.brand-header .brand-slot #logo-error{text-align:center}}
.calendar-step{padding:8px 32px 24px}#hour-context{font-size:17px;line-height:1.6;color:#293779}.calendar-panel{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr);gap:28px;margin:24px 0}.month-panel{border:1px solid #e2e8f0;border-radius:12px;padding:18px;align-self:start}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.month-nav h3{font-size:16px;text-transform:capitalize}.month-nav button{padding:8px 14px;background:#f2f5fa;color:#293779}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekdays{margin:16px 0 10px;font-size:12px;color:#768493}.calendar-days button{padding:10px 0;font-size:13px;background:#fff1df;color:#975213;border-radius:7px}.calendar-days button:disabled{background:transparent;color:#b6bec8}.calendar-days .outside{visibility:hidden}.calendar-days button[aria-pressed=true],.hour-grid button[aria-pressed=true]{background:#f58212;color:white;box-shadow:0 0 0 2px #ffd7ad}.time-panel h3{text-transform:capitalize;font-size:16px}.time-panel h4{font-size:12px;font-weight:500;color:#768493;margin:20px 0 12px}.hour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:10px}.hour-grid button{background:#fff;border:1px solid #dbe3ec;color:#374151;font-size:14px;padding:11px 6px}@media(max-width:700px){.calendar-step{padding:8px 20px 20px}.calendar-panel{grid-template-columns:1fr}.month-panel{max-width:400px;width:100%;margin:auto}}
.identity-step{max-width:640px}.identity-step h3{color:#293779;font-size:23px;margin:8px 0}.identity-step input[type=text]{width:100%;padding:15px;border:1px solid #d7dfe5;border-radius:9px;font:inherit;background:#fff;color:#374151}.identity-step input[aria-invalid=true]{border-color:#bd4c36}#rut-error{color:#a43b2a;font-size:13px}#prevision-status{font-size:13px;color:#647480}
.patient-step{padding:10px 32px 28px}.patient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.patient-grid label{font-size:13px;margin:0}.patient-grid input:not([type=radio]){display:block;width:100%;padding:12px;border:1px solid #d7dfe5;border-radius:8px;font:inherit;margin-top:8px}.birth-fields{display:flex;gap:10px;max-height:none}.birth-fields label{flex:1}.birth-fields legend,.gender-fields legend{font-size:13px;font-weight:600;margin-bottom:8px}.gender-fields{max-height:none;display:flex;gap:16px;align-items:center}.consent{font-size:13px;line-height:1.7;margin:24px 0}.patient-step button{margin:8px 10px 8px 0}#patient-error{color:#a43b2a}#patient-status{font-size:14px;color:#647480}#patient-review-fields{display:grid;grid-template-columns:140px 1fr;gap:12px;font-size:14px}#patient-review-fields dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.patient-grid{grid-template-columns:1fr}.patient-step{padding:10px 20px 24px}}

/* Vista previa del resumen destacado del paso RUT / previsión. */
.identity-step{max-width:880px;padding:12px 28px 24px}.appointment-card{margin:24px 0 30px;border:1px solid #dce3f0;border-radius:18px;background:#f6f8fd;overflow:hidden}.appointment-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;color:#556483;font-size:13px}.appointment-agenda{color:#293779;font-weight:650;background:#e9edf8;padding:6px 12px;border-radius:30px}.appointment-when{display:grid;grid-template-columns:1.5fr 1fr;padding:6px 24px 26px;gap:24px}.appointment-when>div{display:flex;flex-direction:column;gap:8px}.appointment-label{font-size:10px;letter-spacing:1.4px;font-weight:700;color:#687791}.appointment-when strong{font-size:clamp(27px,4vw,38px);letter-spacing:-1px;color:#293779;line-height:1.15}.appointment-when span:last-child{font-size:14px;color:#687791;text-transform:capitalize}.appointment-time{border-left:1px solid #d9e0ee;padding-left:30px}.appointment-time strong{font-size:48px;color:#a94e08;font-variant-numeric:tabular-nums}.appointment-exam{border-top:1px solid #dce3f0;background:white;padding:20px 24px 24px}.appointment-exam>div{display:flex;gap:14px;align-items:baseline;margin-top:12px}.exam-code{font-size:13px;font-weight:650;color:#a94e08;white-space:nowrap;background:#fff2e4;padding:6px 10px;border-radius:6px}.appointment-exam strong{font-size:16px;line-height:1.6;color:#293779;overflow-wrap:anywhere}@media(max-width:600px){.identity-step{padding:12px 8px 20px}.appointment-top{padding:16px}.appointment-when{padding:4px 16px 22px;gap:16px;grid-template-columns:1.3fr 1fr}.appointment-time{padding-left:16px}.appointment-time strong{font-size:36px}.appointment-when strong{letter-spacing:-.5px}.appointment-exam{padding:18px 16px}.appointment-exam>div{flex-direction:column;gap:8px}}

/* Resumen compacto: los campos del paciente tienen prioridad visual. */
.appointment-card{margin:18px 0 24px;border-radius:12px}.appointment-top{padding:12px 18px}.selected-specialty{font-size:12px;letter-spacing:.4px;color:#687791}.selected-specialty strong{color:#293779;font-size:14px;letter-spacing:0;margin-left:5px}.appointment-when{padding:0 18px 14px;gap:20px;grid-template-columns:1.5fr 1fr}.appointment-when>div{gap:4px}.appointment-when strong,.appointment-time strong{font-size:22px;letter-spacing:-.3px}.appointment-when span:last-child{font-size:12px;text-transform:none}.appointment-time{padding-left:20px}.appointment-exam{padding:12px 18px 14px}.appointment-exam>div{margin-top:7px;gap:10px}.appointment-exam strong{font-size:14px;line-height:1.4}.exam-code{font-size:12px;padding:4px 8px}.identity-prompt{font-size:19px;line-height:1.4;color:#293779;margin:24px 0 18px}.identity-step>label{font-size:17px;color:#27344a}.identity-step input[type=text],.identity-step select{border-color:#b8c5d6;font-size:17px}@media(max-width:600px){.appointment-when strong,.appointment-time strong{font-size:21px}.appointment-exam>div{gap:6px}.identity-prompt{font-size:18px}.selected-specialty{font-size:10px}}

.identity-fields-card{padding:22px 24px 20px;margin:24px 0 18px;background:#fff4e8;border:2px solid #df9b55;border-radius:16px;box-shadow:0 4px 14px #a9641510}.identity-fields-card .identity-prompt{margin:0 0 20px;color:#784411}.identity-fields-card>label{font-size:17px;color:#27344a}.identity-fields-card input[type=text],.identity-fields-card select{background:#fff;border-color:#c9af91}.identity-fields-card #rut-error:empty,.identity-fields-card #prevision-status:empty{display:none}@media(max-width:600px){.identity-fields-card{padding:20px 16px;border-radius:14px}}

#patient-form.identity-fields-card{margin-top:22px}#patient-form .patient-grid label{font-size:15px;color:#27344a}#patient-form .patient-grid input:not([type=radio]){background:white;border-color:#c9af91;font-size:16px}#patient-form .birth-fields legend,#patient-form .gender-fields legend{font-size:15px}#patient-form .consent{font-size:14px}#patient-form .patient-grid fieldset{border-color:#d6b994;border-radius:10px}

/* Formulario alineado como agenda directa; fecha con controles equivalentes. */
#patient-form { --patient-label: 205px; }
#patient-form .identity-prompt { text-align: center; margin-bottom: 28px; }
#patient-form .patient-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
#patient-form .patient-row { display: grid; grid-template-columns: var(--patient-label) minmax(0, 1fr); align-items: center; gap: 18px; margin: 0; font-size: 15px; font-weight: 400; }
#patient-form .patient-row > span { text-align: right; }
#patient-form .patient-row input:not([type=radio]), #patient-form .patient-row select { width: 100%; min-width: 0; height: 48px; margin: 0; padding: 0 12px; border: 1px solid #c9cfd5; border-radius: 7px; background: #fff; color: #374151; font: 400 16px system-ui, sans-serif; box-shadow: 0 2px 5px #26374109; }
#patient-form .patient-row input[readonly] { background: #f4f5f6; color: #647480; }
#patient-form .birth-row { align-items: start; }
#patient-form #birth-title { padding-top: 39px; }
#patient-form .birth-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; overflow: visible; min-width: 0; }
#patient-form .birth-fields label { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-weight: 400; }
#patient-form .birth-fields select { appearance: none; padding-right: 28px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23586670' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 9px center; }
#patient-form .field-help { margin: 8px 0 0; font-size: 13px; color: #647480; }
#patient-form .gender-fields { display: flex; flex-wrap: wrap; gap: 16px; overflow: visible; }
#patient-form .gender-fields label { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; }
#patient-form input[type=radio], #patient-form input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: #bc6b24; flex-shrink: 0; }
#patient-form .consent { display: flex; align-items: flex-start; gap: 10px; margin-left: calc(var(--patient-label) + 18px); font-weight: 400; }
#patient-form #review-patient { display: block; margin: 22px 0 0 auto; }
#patient-form :is(input, select):focus-visible { outline: 2px solid #293779; outline-offset: 2px; }
#patient-form #patient-error { margin-left: calc(var(--patient-label) + 18px); }
@media (max-width: 700px) {
 #patient-form .patient-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
 #patient-form .patient-row > span { text-align: left; }
 #patient-form #birth-title { padding-top: 0; }
 #patient-form .birth-fields { gap: 10px; }
 #patient-form .birth-fields select { padding-left: 8px; padding-right: 23px; background-position: right 6px center; }
 #patient-form .consent, #patient-form #patient-error { margin-left: 0; }
}
