
.mk-agenda-shell{
  --mk-blue:#0B3E82;
  --mk-teal:#12B8B0;
  --mk-ink:#18344f;
  --mk-muted:#66798b;
  --mk-line:#e2e9ef;
  font-family:Helvetica,Arial,sans-serif;
  max-width:920px;
  margin:32px auto;
  background:#fff;
  border:1px solid var(--mk-line);
  border-radius:20px;
  box-shadow:0 18px 50px rgba(20,55,85,.10);
  overflow:hidden;
  color:var(--mk-ink)
}
.mk-agenda-hero{padding:28px 32px;background:linear-gradient(135deg,#f8fbfd,#eef7f7);border-bottom:1px solid var(--mk-line)}
.mk-brand{display:flex;align-items:center;gap:17px}
.mk-logo-mark{width:54px;height:54px;min-width:54px;border-radius:15px;background:var(--mk-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;box-shadow:0 8px 20px rgba(11,62,130,.20)}
.mk-eyebrow{margin:0 0 4px;color:var(--mk-teal);font-size:12px;font-weight:700;letter-spacing:1.4px}
.mk-agenda-hero h2{margin:0;color:var(--mk-blue);font-size:30px;line-height:1.15;font-weight:700}
.mk-agenda-hero p:last-child{margin:7px 0 0;color:var(--mk-muted);font-size:15px}
.mk-agenda-form{padding:30px 32px 34px}
.mk-step{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}
.mk-step-number{width:31px;height:31px;min-width:31px;border-radius:50%;background:#e8f6f5;color:#087e78;display:flex;align-items:center;justify-content:center;font-weight:700}
.mk-step h3{margin:1px 0 3px;color:var(--mk-blue);font-size:19px}
.mk-step p{margin:0;color:var(--mk-muted);font-size:14px}
.mk-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mk-grid-date{grid-template-columns:1fr 1fr}
.mk-field{display:flex;flex-direction:column}
.mk-field label{font-size:14px;font-weight:700;color:#29465f;margin-bottom:7px}
.mk-field input,.mk-field select,.mk-field textarea{
  width:100%;box-sizing:border-box;border:1px solid #cbd6df;border-radius:11px;
  padding:12px 13px;background:#fff;color:#19354e;font:15px Helvetica,Arial,sans-serif;
  transition:border-color .2s,box-shadow .2s
}
.mk-field input:focus,.mk-field select:focus,.mk-field textarea:focus{outline:none;border-color:var(--mk-teal);box-shadow:0 0 0 3px rgba(18,184,176,.14)}
.mk-field select:disabled{background:#f2f5f7;color:#82909c}
.mk-span-2{grid-column:1/-1}
.mk-help{margin-top:7px;color:#738494;font-size:12px}
.mk-divider{height:1px;background:var(--mk-line);margin:27px 0}
.mk-check{display:flex;gap:10px;align-items:flex-start;margin:23px 0 19px;color:#536a7e;font-size:14px}
.mk-check input{margin-top:2px}
.mk-primary{width:100%;border:0;border-radius:12px;background:var(--mk-blue);color:#fff;padding:15px 22px;font:700 16px Helvetica,Arial,sans-serif;cursor:pointer;transition:transform .15s,filter .15s}
.mk-primary:hover{filter:brightness(.96);transform:translateY(-1px)}
.mk-footnote{text-align:center;font-size:13px;color:#758695;margin:11px 0 0}
.mk-alert{margin:22px 32px 0;padding:14px 16px;border-radius:11px;font-size:14px}
.mk-success{background:#e9f8f4;color:#17655e;border:1px solid #cdece5}
.mk-error{background:#fff1f1;color:#8c3030;border:1px solid #f0d2d2}
@media(max-width:700px){
  .mk-agenda-shell{margin:16px 0;border-radius:15px}
  .mk-agenda-hero,.mk-agenda-form{padding:22px 19px}
  .mk-agenda-hero h2{font-size:25px}
  .mk-grid,.mk-grid-date{grid-template-columns:1fr}
  .mk-span-2{grid-column:auto}
}

.mk-check a{color:var(--mk-blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.mk-check a:hover{color:var(--mk-teal)}
.mk-primary:disabled,.mk-primary[aria-disabled="true"]{background:#aab7c3;cursor:not-allowed;filter:none;transform:none;opacity:.8}


/* Campos uniformes y legibles en teléfonos */
@media(max-width:700px){
  .mk-agenda-form{
    padding-left:19px!important;
    padding-right:19px!important;
  }

  .mk-field{
    min-width:0;
  }

  .mk-field input,
  .mk-field select{
    -webkit-appearance:none;
    appearance:none;
    display:block;
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0 46px 0 15px!important;
    border-radius:12px!important;
    font-size:16px!important;
    line-height:normal!important;
    text-align:left;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mk-field input{
    padding-right:15px!important;
  }

  .mk-field input[type="date"]{
    text-align:center;
    padding-left:15px!important;
    padding-right:15px!important;
  }

  .mk-field select{
    background-color:#fff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2319344e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 15px center;
    background-size:18px 18px;
  }

  .mk-field select:disabled{
    background-color:#f2f5f7;
  }

  .mk-field textarea{
    min-height:112px;
    padding:14px 15px!important;
    font-size:16px!important;
    line-height:1.4!important;
    border-radius:12px!important;
  }

  .mk-field label{
    margin-bottom:8px;
    line-height:1.25;
  }

  .mk-grid{
    gap:18px;
  }
}


/* v1.4.6: centrado vertical real del campo fecha en navegadores móviles/iPhone */
@media(max-width:700px){
  .mk-field input[type="date"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:58px!important;
    min-height:58px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:58px!important;
    vertical-align:middle!important;
  }

  .mk-field input[type="date"]::-webkit-date-and-time-value{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:58px;
    margin:0;
    padding:0;
    text-align:center;
  }

  .mk-field input[type="date"]::-webkit-datetime-edit{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:58px;
    padding:0;
    line-height:58px;
  }

  .mk-field input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    display:flex;
    align-items:center;
    justify-content:center;
    height:58px;
    padding:0;
  }
}

/* v1.7.0: identificación y teléfono validados */
.mk-phone-field{
  display:flex;
  align-items:center;
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd6df;
  border-radius:11px;
  background:#fff;
  overflow:hidden;
  transition:border-color .2s,box-shadow .2s;
}
.mk-phone-field:focus-within{border-color:var(--mk-teal);box-shadow:0 0 0 3px rgba(18,184,176,.14)}
.mk-phone-prefix{padding:0 0 0 13px;color:#19354e;font:700 15px Helvetica,Arial,sans-serif;white-space:nowrap}
.mk-phone-field input{
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  min-width:0;
  padding-left:8px!important;
}
.mk-phone-field input:focus{box-shadow:none!important}
@media(max-width:700px){
  .mk-phone-field{height:58px!important;min-height:58px!important;border-radius:12px!important}
  .mk-phone-prefix{padding-left:15px;font-size:16px}
  .mk-phone-field input{height:56px!important;min-height:56px!important;padding-left:8px!important;padding-right:15px!important}
}


/* v3.4.2: identidad corporativa y confirmación pública destacada */
.mk-public-logo{width:76px;height:76px;min-width:76px;object-fit:contain;display:block}
.mk-public-brand-copy{min-width:0}
.mk-public-brand-name{display:flex;align-items:baseline;gap:0;margin:0 0 2px;font-size:25px;font-weight:800;letter-spacing:.5px;line-height:1}
.mk-public-brand-name span:first-child{color:var(--mk-blue)}
.mk-public-brand-name span:last-child{color:var(--mk-teal)}
.mk-public-tagline{margin:5px 0 14px;color:#607487;font-size:13px;font-weight:600;letter-spacing:.08px}
.mk-confirmation-card{margin:28px 32px 0;padding:30px;border:2px solid #bfe9df;border-radius:20px;background:linear-gradient(135deg,#f5fffb,#eaf8f4);display:flex;gap:22px;align-items:flex-start;box-shadow:0 12px 30px rgba(18,126,113,.12)}
.mk-confirmation-icon{width:64px;height:64px;min-width:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#15966f;color:#fff;font-size:38px;font-weight:800;line-height:1;box-shadow:0 8px 20px rgba(21,150,111,.22)}
.mk-confirmation-copy{flex:1;min-width:0}
.mk-confirmation-kicker{margin:0 0 6px!important;color:#13765d!important;font-size:12px!important;font-weight:800!important;letter-spacing:1.5px!important}
.mk-confirmation-copy h3{margin:0 0 10px;color:#0b3e82;font-size:27px;line-height:1.2}
.mk-confirmation-copy>p:last-child{margin:14px 0 0;color:#486879;font-size:15px;line-height:1.55}
.mk-confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}
.mk-confirmation-details>div{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #d7eee8;display:flex;flex-direction:column;gap:3px}
.mk-confirmation-details span{color:#6b7f8e;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.mk-confirmation-details strong{color:#18344f;font-size:16px}
.mk-confirmation-service{grid-column:1/-1}
@media(max-width:700px){
  .mk-public-logo{width:64px;height:64px;min-width:64px}
  .mk-public-brand-name{font-size:22px}
  .mk-public-tagline{font-size:12px;margin-bottom:11px}
  .mk-confirmation-card{margin:20px 19px 0;padding:23px 19px;gap:14px;flex-direction:column}
  .mk-confirmation-icon{width:56px;height:56px;min-width:56px;font-size:32px}
  .mk-confirmation-copy h3{font-size:23px}
  .mk-confirmation-details{grid-template-columns:1fr}
  .mk-confirmation-service{grid-column:auto}
}


/* v3.4.4: encabezado público ordenado y con mejor jerarquía */
.mk-agenda-hero{padding:26px 32px 27px}
.mk-public-identity{display:flex;align-items:center;gap:14px}
.mk-public-logo{width:62px;height:62px;min-width:62px}
.mk-public-brand-name{font-size:24px;letter-spacing:1.3px;margin:0 0 5px}
.mk-public-tagline{margin:0;color:#607487;font-size:14px;font-weight:600;line-height:1.35}
.mk-public-intro{margin-top:20px;padding-top:18px;border-top:1px solid rgba(11,62,130,.10)}
.mk-public-intro h2{margin:0 0 8px!important;font-size:31px;line-height:1.12}
.mk-public-intro p{margin:0!important;max-width:650px;color:var(--mk-muted);font-size:16px!important;line-height:1.55}
@media(max-width:700px){
  .mk-agenda-hero{padding:22px 20px 24px}
  .mk-public-identity{align-items:center;gap:13px}
  .mk-public-logo{width:58px;height:58px;min-width:58px}
  .mk-public-brand-name{font-size:21px;letter-spacing:1px;margin-bottom:5px}
  .mk-public-tagline{font-size:12.5px;line-height:1.35}
  .mk-public-intro{margin-top:17px;padding-top:16px}
  .mk-public-intro h2{font-size:28px!important;line-height:1.12!important;margin-bottom:8px!important}
  .mk-public-intro p{font-size:15px!important;line-height:1.5!important}
}
@media(max-width:390px){
  .mk-public-logo{width:52px;height:52px;min-width:52px}
  .mk-public-brand-name{font-size:19px}
  .mk-public-tagline{font-size:11.5px}
  .mk-public-intro h2{font-size:26px!important}
}


/* v3.4.5: profesional asignado en reserva pública */
