
.appointment-single[hidden]{display:none!important}
.appointment-single{width:100%;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 18px 24px;color:#073650;display:grid;align-content:start;gap:12px}
.appointment-single__header{display:flex;align-items:center;gap:14px}
.appointment-single__header h1{margin:0;font-size:22px}.appointment-single__header p,.appointment-single__section-head p{margin:3px 0 0;color:#728795;font-size:12px}
.appointment-single__back{padding:8px 14px;border:0;border-radius:9px;background:#08677a;color:#fff;font-weight:800;cursor:pointer}
.appointment-single__steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #cfe0e6;border-radius:10px;overflow:hidden;background:#fff}
.appointment-single__steps div{padding:11px;text-align:center;font-weight:800;border-right:1px solid #d9e5ea}.appointment-single__steps div:last-child{border-right:0}.appointment-single__steps .is-active{background:#e6f5f0;color:#087456}
.appointment-single__card{background:#fff;border:1px solid #d8e4e9;border-radius:12px;padding:13px 14px}.appointment-single__section-head{margin-bottom:10px}.appointment-single__section-head h2{margin:0;font-size:18px}
.appointment-single__search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.appointment-single input,.appointment-single select,.appointment-single textarea{width:100%;border:1px solid #c8dbe4;border-radius:8px;padding:9px 10px;font:inherit;color:#163e54;background:#fff}.appointment-single__search button,.appointment-single__footer button{padding:8px 14px;border:1px solid #b9d8df;border-radius:8px;background:#fff;color:#07556a;font-weight:800;cursor:pointer}.appointment-single__footer .is-primary{background:#087d89;color:#fff;border-color:#087d89}
.appointment-single__search-results{margin-top:8px;border:1px solid #d7e5ea;border-radius:9px;overflow:hidden}.appointment-single__candidate{width:100%;display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:0;border-bottom:1px solid #e5edf0;background:#fff;text-align:left;cursor:pointer}.appointment-single__candidate:last-child{border-bottom:0}.appointment-single__candidate:hover{background:#f4faf9}.appointment-single__candidate small{color:#788d9b}
.appointment-single__patients{display:grid;gap:9px}.appointment-single__empty{padding:18px;text-align:center;color:#8497a3;border:1px dashed #cfdee4;border-radius:9px}
.appointment-single__patient{border:1px solid #d8e6e9;border-radius:10px;padding:11px;background:#fbfdfd}.appointment-single__patient-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.appointment-single__patient-name{font-weight:850;font-size:15px}.appointment-single__patient-meta,.appointment-single__patient-summary{color:#647d8d;font-size:12px;margin-top:3px}.appointment-single__patient-actions{display:flex;gap:8px;align-items:center}.appointment-single__patient-actions select{width:auto;min-width:130px;padding:6px 8px}.appointment-single__remove{border:1px solid #e9b9b6;border-radius:7px;background:#fff;color:#c53b35;padding:6px 9px;cursor:pointer}.appointment-single__contact-note{margin-top:8px}
.appointment-single__form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.appointment-single label{display:grid;gap:5px;font-size:12px;font-weight:800}.appointment-single__remark{margin-top:10px}.appointment-single textarea{min-height:70px;resize:vertical}
.appointment-single__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 2px}.appointment-single__footer>div{display:flex;gap:8px}.appointment-single__footer>span{font-size:12px;color:#a56c13}
@media(max-width:900px){.appointment-single__form-grid{grid-template-columns:1fr 1fr}.appointment-single__patient-top{flex-direction:column}}

.appointment-single__hospital-field{position:relative}.appointment-single__hospital-field .patient-master-candidate-list{position:absolute;z-index:30;top:100%;left:0;right:0;background:#fff}\n
/* DEV-4.02B | MD-04 appointment date field */
.appointment-single__date-control{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px;
    gap:6px;
    align-items:center;
}
.appointment-single__date-button{
    width:34px;
    height:34px;
    border:1px solid #c8dbe4;
    border-radius:8px;
    background:#fff;
    color:#07556a;
    font:inherit;
    cursor:pointer;
}

/* DEV-4.03C1 | Optional detailed time, same interaction as completed Follow */
.appointment-single__detail-toggle{display:inline-flex!important;align-items:center;gap:7px;margin-top:3px;color:#526b7a;font-size:11px;font-weight:800;cursor:pointer}
.appointment-single__detail-toggle input{width:16px!important;min-height:16px!important;height:16px;margin:0;padding:0}
.appointment-single__detail-time{margin-top:2px}
.appointment-single__detail-time input{width:100%;min-height:36px}
