:root{--navy:#17345e;--gold:#b48a2c;--bg:#f6f7f9;--line:#dfe3e8;--muted:#667085;--danger:#b42318;--green:#edf7ef}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:#1f2937}.wrap{max-width:1100px;margin:auto;padding:16px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px}.header{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px;align-items:center}.brand{text-align:center}.phi{font-size:34px;color:var(--gold)}h1,h2,h3{margin:0 0 10px;color:var(--navy)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px}.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.danger{color:var(--danger);border-color:#d92d20}.gold{color:var(--gold)}.muted{color:var(--muted);font-size:14px}.hidden{display:none!important}.tabs{display:flex;justify-content:flex-end;gap:8px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.step{border:1px solid var(--line);border-radius:10px;padding:10px}.step.active{background:#fff8e8;border-color:#e7d3a2}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field label{display:block;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px}.result{width:100%;text-align:left;border-radius:0;border-width:0 0 1px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip.selected{background:var(--navy);color:white}.notice{padding:12px;border-radius:10px;background:#fff8e8}.error{color:var(--danger)}.success{color:#067647}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calday{min-height:62px;padding:7px;border:1px solid var(--line);border-radius:8px}.off{background:var(--green);color:#6f846f}.free{background:#f2f3f5}.part{font-weight:700;border-width:2px}.full{font-weight:800;color:var(--danger);border-color:#d92d20}.slot{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}.slotgrid{display:grid;grid-template-columns:70px 1fr;gap:10px}.actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.modal{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px;background:#fafafa}.login{max-width:430px;margin:8vh auto}.legend{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:13px}.kbd-space{padding-bottom:280px!important}
@media(max-width:700px){.header{grid-template-columns:1fr}.header>div{text-align:center}.steps{grid-template-columns:repeat(2,1fr)}.grid2,.grid3{grid-template-columns:1fr}.legend{grid-template-columns:repeat(2,1fr)}.wrap{padding:10px}.card{padding:14px}.slotgrid{grid-template-columns:60px 1fr}}

/* TASK5D_DATE_UI_ACTIVE_CALENDAR_V2 */
#calendar .calday.active-date,
#calendar .calday.active-date.free,
#calendar .calday.active-date.part,
#calendar .calday.active-date.full,
#calendar .calday.active-date.off {
  background:var(--admin-active-date-bg, #f4ebe6) !important;
  color:var(--admin-active-date-fg, #374151) !important;
  border-color:#111827 !important;
  box-shadow:0 0 0 2px rgba(17,24,39,.18);
  opacity:1 !important;
}
#calendar .calday.active-date .muted { color:var(--admin-active-date-fg, #4b5563) !important; }

/* VIAVIVA_UI_BUTTON_FEEDBACK_V1B */
button,
.btn {
  transition: transform .08s ease, box-shadow .08s ease, filter .08s ease, opacity .08s ease;
  -webkit-tap-highlight-color: rgba(37,99,235,.16);
}
button:active:not(:disabled),
.btn:active:not(:disabled),
button.is-clicked:not(:disabled),
.btn.is-clicked:not(:disabled) {
  transform: translateY(1px) scale(.985);
  filter: brightness(.94);
  box-shadow: inset 0 2px 5px rgba(15,23,42,.18);
}
button:focus-visible,
.btn:focus-visible {
  outline: 3px solid rgba(37,99,235,.28);
  outline-offset: 2px;
}
button:disabled,
.btn:disabled {
  cursor: not-allowed;
}

/* VIAVIVA_ADMIN_BLOCKED_DAY_V1 */
#calendar .calday.blocked-day {
  background: #fff3cd;
  color: #6b4f00;
  border-color: #d6a500;
  box-shadow: inset 0 0 0 1px rgba(214,165,0,.18);
}
#calendar .calday.blocked-day .muted {
  color: #806100;
}
#calendar .calday.blocked-day .viaviva-blocked-day-label {
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}

/* Keep the already approved selected-date highlight visible even on a blocked day. */
#calendar .calday.blocked-day.active-date {
  background: var(--admin-active-date-bg, #f4ebe6) !important;
  color: var(--admin-active-date-fg, #374151) !important;
  border-color: #111827 !important;
  box-shadow: 0 0 0 2px rgba(17,24,39,.18) !important;
}
#calendar .calday.blocked-day.active-date .muted {
  color: var(--admin-active-date-fg, #4b5563) !important;
}

/* VIAVIVA_BRAND_PANEL_V1 */
.viaviva-brand-panel .viaviva-app-brand-icon{display:block;width:clamp(100px,15vw,155px);height:auto;margin:0 auto 8px;border-radius:22%;}.viaviva-brand-panel .viva-name{margin:4px 0 6px;color:var(--navy);line-height:1.15}.viaviva-brand-panel .fenix-word{display:inline-flex;align-items:baseline;white-space:nowrap}.viaviva-brand-panel .viva-letter-f{display:inline-block;height:1.16em;width:auto;vertical-align:-.13em;margin:0 .015em 0 .04em}.viaviva-brand-panel .brand-address{text-align:right}@media(max-width:700px){.viaviva-brand-panel .brand-address{text-align:center}.viaviva-brand-panel .viaviva-app-brand-icon{width:118px}.viaviva-brand-panel .viva-name{font-size:28px}}

/* VIAVIVA_BRAND_PANEL_V1_1 */
.brand-panel-v11{grid-template-columns:minmax(120px,170px) minmax(300px,1fr) minmax(190px,240px);gap:20px;align-items:center}.brand-panel-v11 .brand-app-side{display:flex;align-items:center;justify-content:center}.brand-panel-v11 .viaviva-app-brand-icon{width:clamp(105px,12vw,145px);margin:0}.brand-panel-v11 .brand-center{text-align:center}.brand-panel-v11 .medical-center-title{font-size:clamp(18px,2vw,24px);line-height:1.15;font-weight:650;letter-spacing:.035em;color:var(--navy);margin-bottom:6px}.brand-panel-v11 .viva-name{font-size:clamp(27px,3vw,36px);margin:0 0 6px}.brand-panel-v11 .online-title{font-size:14px;letter-spacing:.025em}.brand-panel-v11 .brand-contact-side{text-align:right;line-height:1.55}.brand-panel-v11 .brand-phones{margin-bottom:8px}.brand-panel-v11 .viva-site-button{display:inline-block;padding:7px 10px;margin-bottom:8px;border:1px solid var(--navy);border-radius:9px;background:var(--navy);color:#fff;text-decoration:none;font-weight:650}.brand-panel-v11 .brand-address{text-align:right}@media(max-width:700px){.brand-panel-v11{grid-template-columns:1fr;gap:12px}.brand-panel-v11 .viaviva-app-brand-icon{width:116px}.brand-panel-v11 .brand-contact-side,.brand-panel-v11 .brand-address{text-align:center}.brand-panel-v11 .medical-center-title{font-size:20px}.brand-panel-v11 .viva-name{font-size:29px}}

/* VIAVIVA_UNIFIED_BOOKING_UI_V1 */
.viaviva-brand-panel .online-title{color:#0088b0;font-size:14px;letter-spacing:.025em}
