
.schedule-page{
  min-height:calc(100vh - 94px);
  padding:76px 0 96px;
  background:linear-gradient(135deg,#fff 0%,#f4f7f8 100%);
}
.schedule-shell{
  width:min(calc(100% - 40px),1120px);
  margin:0 auto;
}
.schedule-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:70px;
  align-items:start;
}
.schedule-copy{
  padding-top:18px;
}
.schedule-kicker{
  margin-bottom:16px;
  color:#c58a32;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.schedule-copy h1{
  margin:0;
  color:#071f3d;
  font:400 clamp(44px,5.5vw,72px)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}
.schedule-copy h1 span{display:block;color:#c58a32}
.schedule-copy p{
  max-width:520px;
  margin:25px 0 0;
  color:#657181;
  font-size:14px;
  line-height:1.8;
}
.schedule-points{
  list-style:none;
  margin:32px 0 0;
  padding:0;
  border-top:1px solid rgba(7,31,61,.1);
}
.schedule-points li{
  padding:15px 0;
  display:flex;
  gap:12px;
  border-bottom:1px solid rgba(7,31,61,.1);
  color:#596879;
  font-size:12px;
}
.schedule-points span{color:#c58a32}
.schedule-card{
  padding:38px;
  background:#fff;
  border:1px solid rgba(7,31,61,.1);
  box-shadow:0 25px 65px rgba(7,31,61,.07);
}
.schedule-card h2{
  margin:0 0 8px;
  color:#071f3d;
  font:400 32px Georgia,"Times New Roman",serif;
}
.schedule-card>p{
  margin:0 0 25px;
  color:#7a8490;
  font-size:12px;
  line-height:1.65;
}
.schedule-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px;
}
.schedule-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.schedule-field.full{grid-column:1/-1}
.schedule-field label{
  color:#071f3d;
  font-size:9px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.schedule-field input,.schedule-field select,.schedule-field textarea{
  width:100%;
  min-height:47px;
  padding:12px 13px;
  border:1px solid rgba(7,31,61,.16);
  background:#fff;
  color:#354455;
  font:13px Arial,sans-serif;
  outline:none;
}
.schedule-field textarea{min-height:120px;resize:vertical}
.schedule-field input:focus,.schedule-field select:focus,.schedule-field textarea:focus{border-color:#c58a32}
.schedule-button{
  min-height:50px;
  padding:0 21px;
  border:0;
  background:#071f3d;
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.05em;
  cursor:pointer;
}
.schedule-button:hover{background:#c58a32}
.schedule-button:disabled{opacity:.55;cursor:not-allowed}
.schedule-message{
  margin-top:17px;
  padding:13px 15px;
  border-left:3px solid #c58a32;
  background:#fcf8ef;
  color:#705d41;
  font-size:11px;
  line-height:1.6;
}
.schedule-message.success{border-left-color:#4f8d67;background:#eef8f2;color:#2e6445}
.schedule-message.error{border-left-color:#b55353;background:#fff1f1;color:#873838}
.schedule-hp{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
  white-space:nowrap!important;
}

/* Portal appointments */
.portal-appointment-list{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  border-top:1px solid rgba(7,31,61,.1);
}
.portal-appointment{
  padding:16px 0;
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  border-bottom:1px solid rgba(7,31,61,.1);
}
.portal-appointment strong{display:block;color:#071f3d;font-size:13px}
.portal-appointment small{display:block;margin-top:5px;color:#84909b;font-size:10px}
.portal-appointment-status{
  display:inline-flex;
  min-height:25px;
  padding:0 9px;
  align-items:center;
  border-radius:99px;
  background:#eef2f4;
  color:#576675;
  font-size:9px;
  font-weight:700;
}

/* Admin appointments */
.admin-appointment-status{
  display:inline-flex;
  min-height:25px;
  padding:0 9px;
  align-items:center;
  border-radius:99px;
  background:#eef2f4;
  color:#536273;
  font-size:9px;
  font-weight:700;
}
.admin-appointment-status[data-status="Pending"]{background:#fff6e8;color:#8a6431}
.admin-appointment-status[data-status="Confirmed"]{background:#eef7f1;color:#316547}
.admin-appointment-status[data-status="Declined"]{background:#fff1f1;color:#873838}
.admin-appointment-status[data-status="Completed"]{background:#f1eef8;color:#5f4a87}

@media(max-width:820px){
  .schedule-page{padding:52px 0 75px}
  .schedule-grid{grid-template-columns:1fr;gap:42px}
  .schedule-card{padding:29px 22px}
}
@media(max-width:560px){
  .schedule-form-grid{grid-template-columns:1fr}
  .schedule-field.full{grid-column:auto}
}

.schedule-availability-note{
  min-height:17px;
  margin-top:5px;
  color:#7a8490;
  font-size:10px;
  line-height:1.45;
}
.schedule-availability-note[data-state="live"]{color:#316547}
.schedule-availability-note[data-state="request"]{color:#846633}
.schedule-availability-note[data-state="error"]{color:#873838}
