:root{--patient-primary:#0369a1;--patient-ink:#18354b;--patient-muted:#526c80;--patient-line:#d9e7f0}
html{scroll-behavior:smooth;scroll-padding-top:112px}body{background:#f5faff;color:#18354b;font:15px/1.6 "Segoe UI",Arial,sans-serif;min-height:100svh}a{color:#0369a1}
.patient-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #d9e7f0;padding:16px max(24px,calc((100vw - 1344px)/2));gap:16px;min-height:88px}
.brand{display:inline-flex;align-items:center;gap:13px;font-size:19px;letter-spacing:.025em;color:#18354b;flex-shrink:0}.brand img{display:block;width:43px;height:51px;object-fit:contain;flex-shrink:0}.brand small{font-size:9px;font-weight:500;letter-spacing:.12em;color:#526c80;margin-top:1px}
.p-icon{width:20px;height:20px;display:inline-block;flex:0 0 auto;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.session-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#526c80}
main{min-width:0}h1{font-size:clamp(27px,3vw,36px);font-weight:700;letter-spacing:-.8px;margin:8px 0 12px}h2{font-size:21px;font-weight:650;line-height:1.3;letter-spacing:-.3px}h3{font-size:17px}.eyebrow{font-size:10px;letter-spacing:.1em;color:#0369a1;margin:0 0 6px}.muted{color:#526c80}.grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.card{border-color:#d9e7f0;border-radius:14px;box-shadow:0 3px 14px #18354b03;min-width:0}.notice{background:#f0f8fd;border:1px solid #cee5f2;color:#42677f;padding:13px 16px;font-size:12px;line-height:1.8}.message{border:1px solid #cce5f3;background:#eaf6ff;color:#075985;font-size:14px}
label{font-size:13px;font-weight:600;margin:18px 0 7px}input,select,textarea{min-width:0;min-height:44px;padding:11px 12px;border-color:#c6deed;font-size:14px}input:disabled,select:disabled{background:#f3f7fa;color:#708796}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#0369a1;box-shadow:0 0 0 3px #0369a114}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid #0369a1;padding:10px 16px;font:600 13px/1.5 "Segoe UI",Arial,sans-serif;background:#0369a1}button:hover,.button:hover{background:#075985}.secondary{background:#fff;color:#0369a1;border-color:#c6deed}.secondary:hover{background:#edf7fe;border-color:#9ec8df}button .p-icon,.button .p-icon{width:17px;height:17px}
.badge{display:inline-flex;max-width:100%;border-radius:7px;padding:5px 9px;font-size:10px;letter-spacing:.025em;background:#e0f2fe;color:#075985;border:1px solid #cce6f7;white-space:normal}.item{border:1px solid #e1ebf2;padding:18px;border-radius:11px;margin-top:14px;background:#fff;min-width:0}.item:first-child{border:1px solid #e1ebf2;margin-top:0}.item p{font-size:13px}.item>.row>strong{font-size:14px;flex:1 1 140px}.item>.row{align-items:flex-start}.item>.row>h3{flex:1 1 180px}.item>.row>span:not(.badge){font-size:12px;color:#526c80}.item .comprobante-acciones{max-width:100%}.item>button{margin-top:6px}.item>strong{display:block;font-size:12px;color:#0369a1;margin-top:16px}.row{align-items:center}details{border-top:1px solid #d9e7f0;padding-top:14px}summary{font-size:13px;color:#0369a1}footer{font-size:12px;padding:24px;border-top:1px solid #d9e7f0;background:#fff}section{scroll-margin-top:112px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0369a1;outline-offset:3px}
.patient-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;max-width:1392px;padding:28px 24px 40px;margin:0 auto;align-items:start;min-height:calc(100svh - 150px)}.patient-sidebar{position:sticky;top:116px;min-width:0;background:#fff;border:1px solid #d9e7f0;border-radius:14px;padding:23px 15px}.sidebar-caption{font-size:9px;font-weight:700;letter-spacing:.1em;color:#708596;margin:0 10px 18px}.patient-sidebar nav{display:grid;gap:7px}.patient-sidebar nav a{display:flex;align-items:center;gap:11px;color:#526c80;font-size:13px;padding:12px 10px;border-radius:8px;border:1px solid transparent;text-decoration:none}.patient-sidebar nav a:hover,.patient-sidebar nav a[aria-current]{color:#075985;background:#eaf6ff;border-color:#d7ebf8}.patient-sidebar .p-icon{width:18px;height:18px}.sidebar-note{margin:26px 8px 0;padding-top:22px;border-top:1px solid #d9e7f0;color:#526c80;font-size:12px}.sidebar-note>.p-icon{color:#0369a1;margin-bottom:12px}.sidebar-note strong{display:block;color:#35556b;font-size:12px}.sidebar-note p{font-size:11px;line-height:1.8;margin-bottom:0}
.patient-main{padding:0;margin:0;max-width:none;width:100%}.patient-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 24px;padding:28px;background:#eaf6ff;border:1px solid #d0e7f6;border-radius:14px}.patient-welcome p.muted{font-size:13px;margin-bottom:0}.patient-welcome .button{flex-shrink:0}.patient-booking{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px;min-width:0}.section-heading h2{margin:0;font-size:19px}.section-heading .eyebrow{font-size:9px;margin-bottom:5px}.patient-section-icon{display:grid;place-items:center;width:41px;height:41px;background:#eaf6ff;color:#0369a1;border-radius:10px;flex:0 0 auto}.card>.row{margin-bottom:20px}.card>.row .section-heading{margin-bottom:0}#tarifa{font-size:12px;border:1px solid #dbeaf3;background:#f6fbfe;padding:12px;border-radius:8px}#reservarButton{width:100%}#listaCitas>p.muted,#listaHistoria>p.muted,#listaLaboratorio>p.muted{padding:28px 20px;text-align:center;background:#f8fbfd;border:1px dashed #cbdfea;border-radius:10px;font-size:13px;margin-bottom:0}
.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);max-width:1110px;margin:36px auto;gap:32px;align-items:start}.registration-aside{padding:26px 8px;position:sticky;top:120px}.registration-aside h1{font-size:34px}.registration-aside>p{font-size:14px}.registration-benefits{list-style:none;padding:0;display:grid;gap:20px;margin-top:32px}.registration-benefits li{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:#526c80}.registration-benefits .p-icon{color:#0369a1;margin-top:2px}.registration-benefits strong{display:block;color:#18354b;margin-bottom:3px}.registration-layout fieldset{border:0;margin:0 0 24px;padding:0}.registration-layout legend{width:100%;font-size:15px;font-weight:650;padding:0 0 12px;border-bottom:1px solid #d9e7f0}.registration-layout .grid{gap:4px 18px}.registration-layout label{margin-top:13px}.registration-layout .card{padding:28px}.registration-layout #crear{width:100%}.registration-layout .muted{font-size:12px}
@media(max-width:1120px){.patient-shell{grid-template-columns:190px minmax(0,1fr);gap:20px}.patient-welcome{align-items:flex-start;flex-direction:column;gap:16px}.patient-booking{grid-template-columns:minmax(0,1fr)}.patient-sidebar{padding-inline:10px}.patient-main>.notice{margin-top:0}}
@media(max-width:720px){html{scroll-padding-top:100px}.patient-header{padding:12px 18px;min-height:78px;gap:10px;flex-wrap:nowrap}.brand{gap:9px;font-size:16px}.brand img{width:35px;height:43px}.brand small{font-size:8px}.session-label{display:none}.patient-header nav{gap:10px}.patient-header nav>a{font-size:12px}.patient-header button{padding:8px 11px;min-height:39px}.patient-shell{display:block;padding:18px 16px 28px}.patient-sidebar{position:static;padding:8px;margin-bottom:20px;overflow:hidden}.patient-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.patient-sidebar nav a{font-size:12px;padding:10px;gap:8px}.sidebar-caption,.sidebar-note{display:none}.patient-welcome{padding:22px;margin-bottom:18px}.patient-welcome h1{font-size:28px}.patient-welcome .button{width:100%}.grid{grid-template-columns:minmax(0,1fr);gap:16px}.card{padding:20px;border-radius:12px;margin-bottom:18px}.patient-booking>.card{margin-bottom:2px}.patient-booking{margin-bottom:18px}.section-heading h2{font-size:18px}.card>.row>button{font-size:12px;min-height:39px}main{padding:0 18px;margin:24px auto}.patient-main{padding:0;margin:0}.registration-layout{display:block;margin:20px auto}.registration-aside{position:static;padding:0 0 18px}.registration-aside h1{font-size:28px}.registration-benefits{display:none}.registration-layout .card{padding:22px}.registration-layout .grid{gap:0}.notice{font-size:11px}.item{padding:15px}.registration-layout fieldset{margin-bottom:24px}section{scroll-margin-top:100px}}
@media(max-width:380px){.brand{font-size:14px}.brand small{font-size:7px}.patient-header{padding-inline:12px}.patient-header nav>a{max-width:110px;text-align:right}.patient-sidebar nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.patient-header{display:flex;position:static;border-bottom:1px solid #ccc;padding:12px 0}.patient-header nav,.patient-sidebar,button,.actions,.notice,footer,#reservar,.patient-welcome>.button{display:none!important}body{background:#fff}.patient-shell{display:block;padding:20px 0}.patient-welcome{background:#fff;border:0;padding:0}.card,.item{box-shadow:none;break-inside:avoid}.grid{display:block}main,.patient-main{max-width:none;margin:0;padding:0}}
