/* MEDSALUT · Agenda de visitas. No fuentes, calendarios ni rastreadores externos. */
[hidden]{display:none!important}.booking-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.7fr);gap:64px;padding-top:66px;padding-bottom:46px;align-items:start}.booking-hero h1{font-size:clamp(40px,4.8vw,65px);line-height:1.06;letter-spacing:-.045em;margin:18px 0 24px}.booking-hero h1 em{display:block;font:inherit;font-weight:400;color:#4a6c69}.booking-hero .lead{max-width:630px}.booking-promises{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px;color:#38555b;font-size:13px;font-weight:600}.booking-promises span{display:inline-flex;gap:8px;align-items:center}.booking-promises .icon{width:18px}.booking-help{padding:30px;border-radius:20px;background:#eef2ef;border:1px solid #dce5df}.booking-help h2{font-size:25px;line-height:1.22;letter-spacing:-.03em;margin:14px 0}.booking-help p{font-size:14px;color:#496063;margin:12px 0 20px}.booking-help .text-link{font-size:13px;margin-top:22px}.emergency-link{color:#8d342a;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #d5dfd8;border-bottom:1px solid #d5dfd8}.booking-section{margin-bottom:80px}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0 0 26px;border-bottom:1px solid #dce5e6}.booking-steps li{padding:18px 10px 18px 0;color:#667b86;font-size:14px;display:flex;align-items:center;gap:12px;border-bottom:3px solid transparent}.booking-steps li.current{color:#123b5d;border-color:#adb733;font-weight:650}.booking-steps li span{border:1px solid #bdcacf;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:12px;flex-shrink:0}.booking-steps li.current span{background:#123b5d;color:#fff;border-color:#123b5d}.booking-panel{background:#fff;border:1px solid #d9e4e9;border-radius:22px;padding:32px;box-shadow:0 12px 40px #123b5d06}.booking-panel h2{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:0 0 18px}.booking-panel .field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.booking-panel .field input,.booking-panel .field select,.booking-panel .field textarea{min-height:50px;border-radius:9px;border:1px solid #adbec7;background:#fff;width:100%;padding:12px 14px;font:inherit;color:#16354a;box-sizing:border-box}.booking-panel .field span,.booking-panel .field legend{font-size:14px;font-weight:600}.booking-panel small{font-size:12px;color:#536978}.booking-zone{display:grid;grid-template-columns:1fr auto;gap:0 28px;align-items:center;padding-bottom:28px;border-bottom:1px solid #e1e8e9}.booking-zone h2,.booking-zone>.small{grid-column:1/-1}.booking-zone .form-grid{grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr);gap:20px}.booking-zone .field{margin:0}.booking-zone .small{margin:12px 0 0}.booking-selection{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;padding-top:32px}.calendar-header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 24px}.calendar-header h2{font-size:22px;margin:0;text-transform:capitalize}.calendar-header>div{display:flex;gap:8px}.calendar-header button{border:1px solid #cbd9df;background:#fff;color:#123b5d;width:40px;height:40px;border-radius:50%;font-size:25px;cursor:pointer}.calendar-header button:disabled{opacity:.35;cursor:default}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week{margin-bottom:10px;color:#5b7180;font-size:12px;text-align:center;font-weight:650}.calendar-days>button,.calendar-days>.calendar-pad{width:100%;aspect-ratio:1/1;border:0;border-radius:12px;background:#f2f5f5;color:#91a0a7;font:inherit;min-width:0}.calendar-days>button{position:relative;font-size:16px;font-weight:550}.calendar-days>button.available{background:#f1f3e7;color:#173e48;cursor:pointer}.calendar-days>button.available:after{content:"";position:absolute;bottom:8px;left:calc(50% - 2px);width:4px;height:4px;background:#788921;border-radius:50%}.calendar-days>button.available:hover{background:#e3e8cc}.calendar-days>button.selected{background:#123b5d;color:white;box-shadow:0 4px 10px #123b5d25}.calendar-days>button.selected:after{background:#dce58a}.calendar-days>button:focus-visible,.calendar-header button:focus-visible,.booking-times button:focus-visible{outline:3px solid #286e80;outline-offset:3px}.calendar-legend{font-size:11px;color:#5d7281;display:flex;gap:8px;align-items:center;margin-top:20px}.calendar-legend>span{background:#8c9b42;width:6px;height:6px;border-radius:50%}.slot-panel{padding:4px 0 0 34px;border-left:1px solid #dfe7e8}.slot-panel h3{font-size:23px;margin:12px 0 20px;text-transform:capitalize}.booking-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-times button{border:1px solid #c1d0d7;border-radius:10px;background:#fff;min-height:48px;font:inherit;font-size:15px;color:#14364c;cursor:pointer}.booking-times button.selected{background:#123b5d;border-color:#123b5d;color:#fff}.booking-times button:disabled{opacity:.5}.slot-panel>.small{margin:18px 0;line-height:1.6}.slot-panel>.btn{width:100%;margin-top:16px}.btn:disabled{cursor:not-allowed;opacity:.45}.booking-summary{border:1px solid #d9e3e0;padding:16px;border-radius:12px;background:#f6f8f4;color:#244b46;font-size:14px;line-height:1.6}.booking-status{font-size:14px;color:#3e5c62;padding:0 4px;margin:14px 0;min-height:20px}.booking-status.error{color:#9c3328;font-weight:600}.booking-empty{border:1px solid #dde5e8;border-radius:22px;padding:42px;background:#f5f7f4;text-align:center}.booking-empty>.icon{width:38px;height:38px;color:#5d7871;margin-bottom:18px}.booking-empty h2{font-size:32px}.booking-empty p{max-width:630px;margin:20px auto}.booking-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:30px}.booking-review-data{display:grid;grid-template-columns:180px minmax(0,1fr);margin:24px 0 28px;border-top:1px solid #e0e7ea;max-width:100%}.booking-review-data dt,.booking-review-data dd{padding:14px 12px;border-bottom:1px solid #e0e7ea;font-size:15px;overflow-wrap:anywhere;margin:0}.booking-review-data dt{color:#526a77;background:#f7f9f8;font-weight:500}.booking-review-data dd{font-weight:550}.booking-success{max-width:810px;margin:auto;text-align:center;padding:48px}.booking-success h2{font-size:42px;margin:18px 0 22px;line-height:1.1}.booking-success p{max-width:630px;margin:18px auto}.booking-success>.eyebrow{display:block}.success-icon{display:grid;place-items:center;background:#e8efdc;border:1px solid #d3dec1;color:#3a6751;width:64px;height:64px;border-radius:50%;margin:0 auto 22px}.success-icon .icon{width:28px;height:28px}.booking-reference{font-family:ui-monospace,monospace;font-size:19px;background:#f0f4f3;border-radius:12px;padding:20px;margin:20px auto;overflow-wrap:anywhere}.booking-demo-note{padding:15px 20px;background:#fff3d5;border:1px solid #dfc89a;color:#654d25;border-radius:12px;font-size:13px;margin-bottom:20px}.booking-terms{max-width:880px;padding-bottom:60px}.booking-terms section{margin-bottom:34px}.booking-home-card{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;padding:50px;background:#eaf0ed;border-radius:24px;align-items:center}.booking-home-card h2{font-size:clamp(32px,3.5vw,46px);line-height:1.1;margin:14px 0 22px;letter-spacing:-.04em}.booking-home-card p{color:#466360;line-height:1.7}.booking-home-mini{background:#fff;border:1px solid #d6e0df;border-radius:18px;padding:26px;box-shadow:0 12px 35px #173d4d08}.booking-home-mini .icon{width:34px;height:34px;margin-bottom:16px}.booking-home-mini h3{font-size:22px;margin:0 0 15px}.booking-home-mini ol{padding-left:20px;color:#4d6871;font-size:14px;line-height:1.9}.booking-home-mini .small{font-size:12px}.manage-panel{max-width:840px;margin:auto}.manage-panel .booking-controls{justify-content:flex-start}.manage-panel .btn{font-size:14px}.agenda-badge{font-size:12px;padding:6px 10px;border-radius:20px;background:#edf0f2;color:#4b6170;white-space:nowrap;display:inline-block;font-weight:600}.agenda-badge.pending{background:#fff1d3;color:#795722}.agenda-badge.confirmed{background:#dfede6;color:#2c664c}.agenda-badge.cancelled,.agenda-badge.rejected{background:#f3e5e3;color:#8c4035}.agenda-badge.completed{background:#e2eaf2;color:#355a7e}.manage-panel .booking-review-data{grid-template-columns:160px minmax(0,1fr)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Private coordination workspace */
.admin-body{margin:0;background:#f1f4f4;color:#163549;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.55}.admin-header{height:80px;background:#102f43;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:25px;position:relative;z-index:20}.admin-brand{font-size:23px;font-weight:750;letter-spacing:-.03em;color:inherit;text-decoration:none;display:block}.admin-brand>span{color:#d5de76}.admin-brand small{font-size:9px;font-weight:500;letter-spacing:.15em;display:block;color:#a8c0c8;margin-top:1px}.admin-header-actions{display:flex;align-items:center;gap:28px;font-size:12px}.admin-header-actions>a{color:#dce6e8}.admin-logout{border:1px solid #7793a0;border-radius:8px;background:transparent;color:#fff;padding:10px 14px;font:inherit;cursor:pointer}.admin-shell{display:grid;grid-template-columns:246px minmax(0,1fr);max-width:1660px;margin:auto;min-height:calc(100vh - 80px)}.admin-sidebar{padding:40px 22px 20px;background:#fff;border-right:1px solid #dae3e6}.admin-sidebar>.eyebrow{padding-left:12px}.admin-sidebar nav{display:grid;gap:7px;margin-top:20px}.admin-sidebar nav>a{display:flex;align-items:center;gap:11px;color:#4e6674;padding:13px 12px;border-radius:9px;font-size:13px;font-weight:500;text-decoration:none}.admin-sidebar nav>a[aria-current]{background:#ecf1e2;color:#244f46}.admin-sidebar nav .icon{width:19px;height:19px}.admin-sidebar-note{margin-top:46px;padding:18px 12px;border-top:1px solid #dbe5e8;font-size:12px;color:#5a7079}.admin-sidebar-note strong{color:#274e5e}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c29b49;margin-right:8px}.status-dot.on{background:#4b8665}.admin-main{padding:36px 38px;min-width:0}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.admin-title h1{font-size:32px;letter-spacing:-.035em;line-height:1.2;margin:9px 0 0;font-weight:650}.admin-date{font-size:13px;color:#5b7382}.admin-card{background:#fff;border:1px solid #dce5e8;border-radius:16px;padding:26px;margin-bottom:24px;min-width:0}.admin-card h2{font-size:22px;line-height:1.3;margin:0 0 16px;font-weight:650;letter-spacing:-.025em}.admin-card>p{color:#506876;font-size:14px;margin:12px 0 20px;line-height:1.65}.admin-card h3{font-size:18px}.admin-card-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.admin-card-title h2{margin:0}.admin-card .field{display:flex;flex-direction:column;gap:7px;margin:14px 0}.admin-card .field>span,.admin-card .field>legend{font-size:12px;font-weight:650;color:#365563}.admin-card input:not([type=checkbox]),.admin-card select,.admin-card textarea,.compact-form input{font:inherit;color:#133749;background:#fff;border:1px solid #b9cbd2;border-radius:8px;padding:10px 12px;min-height:45px;width:100%;box-sizing:border-box;max-width:100%}.admin-card textarea{min-height:95px}.admin-card fieldset{border:1px solid #d4dfe3;border-radius:8px;padding:10px}.admin-card .checkbox{font-size:13px;line-height:1.5;margin:16px 0;display:flex;align-items:flex-start;gap:10px}.admin-card .checkbox input{flex-shrink:0;margin-top:3px;width:17px;height:17px;accent-color:#254f58}.admin-card .btn{font-size:13px;padding:12px 17px;min-height:44px;cursor:pointer}.admin-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.admin-card .full{grid-column:1/-1}.admin-card small{color:#5c7480;font-size:11px}.admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.admin-list{margin-top:28px;border-top:1px solid #e0e7ea}.admin-list article{padding:17px 0;border-bottom:1px solid #e0e7ea}.admin-list article p{font-size:12px;overflow-wrap:anywhere}.table-action{border:1px solid #d3dfe3;border-radius:6px;background:#fff;color:#244c60;padding:7px 11px;cursor:pointer;font:inherit;font-size:12px}.weekday-checks{display:flex;flex-wrap:wrap;gap:0 22px}.admin-card .weekday-checks .checkbox{margin:8px 0}.admin-card .notice{font-size:12px;line-height:1.6}.admin-card input:focus-visible,.admin-card textarea:focus-visible,.admin-card select:focus-visible{outline:3px solid #4e8396;outline-offset:2px}.agenda-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.agenda-stats article{padding:23px 26px;border:1px solid #dce5e8;border-radius:14px;background:#fff}.agenda-stats article:first-child{background:#edf2e5}.agenda-stats article>span{display:block;color:#527064;font-size:12px;font-weight:550}.agenda-stats article>strong{display:block;font-size:40px;line-height:1.3;margin:10px 0 3px;font-weight:650}.agenda-stats article>small{color:#62787e;font-size:11px}.admin-calendar-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.admin-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.admin-month>a{border:1px solid #e2e9e9;border-radius:8px;background:#fafcfb;padding:9px 4px;display:grid;text-align:center;text-decoration:none;color:#3b5763;min-height:63px}.admin-month>a.selected{background:#173e52;color:#fff;border-color:#173e52}.admin-month>a>small{font-size:9px}.admin-month>a.selected small{color:#c7d7df}.admin-checklist{padding:0 0 0 20px;color:#526c76;font-size:13px;line-height:1.8;display:grid;gap:14px}.compact-form{display:flex;gap:10px;align-items:center}.compact-form input{min-width:0;width:145px}.admin-table-scroll{overflow-x:auto;width:100%}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;color:#59737f;background:#f6f9f8;font-size:11px;font-weight:600;padding:12px;white-space:nowrap}.admin-table td{padding:16px 12px;border-bottom:1px solid #e4ebed;vertical-align:middle}.admin-table td small{display:block;color:#6b7f89;font-size:10px;margin-top:3px}.admin-table td .text-link{font-size:12px;white-space:nowrap}.admin-empty{padding:26px;background:#f7f9f8;border-radius:10px;color:#5a7180;font-size:14px;text-align:center}.pending-item{display:flex;justify-content:space-between;gap:15px;padding:16px 8px;border-bottom:1px solid #e2e9eb;font-size:13px;text-decoration:none;color:#274d5c}.pending-item strong{display:inline-block;margin-right:14px;color:#21455a}.admin-footer{font-size:11px;color:#667f8a;margin:30px 0}.agenda-login,.agenda-setup{max-width:600px;margin:65px auto;padding:0 24px 60px}.agenda-login h1,.agenda-setup h1{font-size:46px;line-height:1.08;letter-spacing:-.05em;margin:18px 0 22px}.agenda-login>.admin-card{margin-top:30px}.agenda-setup{max-width:850px}.agenda-setup>.admin-brand{margin:0 0 35px;color:#123b5d}.agenda-setup>.admin-brand>span{color:#627846}.agenda-setup .admin-card{padding:34px}.booking-detail .booking-review-data{grid-template-columns:210px minmax(0,1fr)}.booking-detail-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:25px}.booking-detail-actions>form:first-child{flex:1;min-width:250px}.admin-details{border-top:1px solid #e3e9ea;padding-top:20px;margin-top:25px}.admin-details>summary{font-weight:600;cursor:pointer;padding-bottom:15px}.admin-log{list-style:none;padding:0;font-size:12px;line-height:1.8}.admin-log li{padding:9px;border-bottom:1px solid #e4e9eb;overflow-wrap:anywhere}.totp-secret{display:block;font-size:16px;overflow-wrap:anywhere;user-select:all}.admin-body .notice{border-left:3px solid #91a743;border-radius:9px;background:#f0f4e5;padding:16px 20px;margin:18px 0 24px}.admin-body .notice.warn{background:#fff0e8;border-color:#b96344;color:#823c2b}.admin-body button:focus-visible,.admin-body a:focus-visible{outline:3px solid #669baf;outline-offset:3px}
@media(min-width:1060px){.nav{gap:20px}}
@media(max-width:1120px){.admin-main{padding:30px 24px}.admin-shell{grid-template-columns:205px minmax(0,1fr)}.admin-sidebar{padding:30px 12px}.admin-calendar-layout{grid-template-columns:1fr}.admin-calendar-layout>aside{display:none}.booking-hero{gap:30px}.booking-selection{gap:26px}.slot-panel{padding-left:26px}.booking-home-card{gap:30px}.admin-card-title{flex-wrap:wrap}}
@media(max-width:850px){.booking-hero{grid-template-columns:1fr;gap:28px;padding-top:42px}.booking-help{display:block;padding:24px}.booking-help h2{font-size:23px}.booking-help h2 br{display:none}.booking-selection{grid-template-columns:1fr;gap:30px}.slot-panel{border-left:0;border-top:1px solid #dee7e8;padding:26px 0 0}.booking-zone{grid-template-columns:1fr}.booking-zone>.btn{justify-self:start;margin-top:18px}.booking-home-card{grid-template-columns:1fr;padding:34px}.booking-home-mini{display:none}.admin-sidebar{padding:14px 20px;border-right:0;border-bottom:1px solid #dfe7ea}.admin-sidebar>.eyebrow,.admin-sidebar-note{display:none}.admin-sidebar nav{display:flex;overflow-x:auto;gap:6px;margin:0;padding-bottom:6px}.admin-sidebar nav>a{white-space:nowrap;padding:10px;font-size:12px}.admin-sidebar nav .icon{display:none}.admin-shell{display:block}.admin-header{padding:0 22px}.admin-columns{grid-template-columns:1fr}.admin-main{padding:25px 20px}.admin-title h1{font-size:28px}.admin-title .eyebrow{font-size:9px}}
@media(max-width:520px){.booking-hero{padding-top:28px;padding-bottom:28px}.booking-hero h1{font-size:40px}.booking-promises{gap:12px;font-size:11px}.booking-promises .icon{width:15px}.booking-help{border-radius:15px}.booking-steps li{gap:7px;font-size:11px;padding:14px 3px}.booking-steps li span{width:23px;height:23px;font-size:11px}.booking-panel{padding:22px 18px;border-radius:16px}.booking-panel h2{font-size:26px}.booking-zone .form-grid{grid-template-columns:1fr;gap:15px}.booking-zone .field{margin:0}.booking-selection{padding-top:26px}.calendar-week,.calendar-days{gap:5px}.calendar-days>button{font-size:14px;border-radius:9px}.calendar-days>button.available:after{bottom:5px}.calendar-header h2{font-size:20px}.booking-review-data,.manage-panel .booking-review-data,.booking-detail .booking-review-data{grid-template-columns:1fr}.booking-review-data dt{padding:10px 12px 5px;border-bottom:0}.booking-review-data dd{padding:8px 12px 14px}.booking-controls>.btn{width:100%}.booking-panel .form-grid{grid-template-columns:1fr}.booking-panel .full{grid-column:1}.booking-success{padding:30px 22px}.booking-success h2{font-size:34px}.booking-success .btn{font-size:13px}.booking-success .booking-reference{font-size:15px}.booking-home-card{padding:28px 24px}.booking-home-card h2{font-size:34px}.admin-header{height:76px;padding:0 16px}.admin-header-actions{gap:10px}.admin-header-actions>a{display:none}.admin-brand{font-size:21px}.admin-main{padding:23px 14px}.admin-title{gap:10px}.admin-title h1{font-size:26px}.admin-date{font-size:10px}.admin-card{padding:20px 16px}.admin-card .form-grid{grid-template-columns:1fr;gap:0}.agenda-stats{gap:8px}.agenda-stats article{padding:15px 12px}.agenda-stats article>span{font-size:10px}.agenda-stats article>strong{font-size:31px}.agenda-stats article>small{font-size:9px}.admin-month{gap:4px}.admin-month>a{min-height:52px;font-size:12px}.admin-month>a>small{font-size:8px}.admin-card-title{align-items:flex-start}.admin-card-title h2{font-size:20px}.admin-card .btn{font-size:12px}.admin-header-actions a{font-size:10px}.pending-item{flex-direction:column;gap:5px}.booking-detail-actions{display:block}.booking-detail-actions>form{margin:14px 0}.agenda-login h1,.agenda-setup h1{font-size:38px}.agenda-setup{padding:0 16px 40px}.agenda-setup .admin-card{padding:22px}.booking-section{margin-bottom:50px}}
@media print{.admin-header-actions,.admin-sidebar,.admin-card form,.admin-details,.admin-footer,.booking-detail-actions{display:none!important}.admin-shell{display:block}.admin-main{padding:0}.admin-card{break-inside:avoid}.admin-body{background:white}.admin-header{background:white;color:black}.admin-brand>span{color:black}}

/* Ajustes finales de lectura y navegación por pasos */
.booking-panel,.booking-section,[data-booking-step]{scroll-margin-top:130px}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.calendar-header h2,.slot-panel h3{text-transform:none}@media(max-width:760px){.steps-grid{grid-template-columns:1fr;gap:26px}.booking-panel,.booking-section,[data-booking-step]{scroll-margin-top:100px}}
