.patient-appointment-page{width:100%;padding:0 0 70px;background:#fff}.patient-appointment-container{width:100%;max-width:1170px;margin:0 auto;padding:0 15px}.patient-page-title{margin:30px 0 8px;font-size:30px;line-height:1.2;font-weight:700;color:#124c91}
.patient-progress{position:relative;width:100%;max-width:1170px;height:82px;margin:5px auto 10px;display:flex;align-items:flex-start;justify-content:space-between}.patient-progress-line{position:absolute;left:20px;right:20px;top:41px;height:9px;border-radius:10px;background:#ddd;overflow:hidden}.patient-progress-active{width:66.66%;height:100%;background:#00b894;border-radius:10px}.patient-progress-step{position:relative;z-index:2;width:33.33%;text-align:center}.patient-progress-step span{width:41px;height:41px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;border-radius:50%;border:1px solid #bbb;background:#fff;color:#999;font-size:15px}.patient-progress-step.active span{background:#00b894;border-color:#00b894;color:#fff}.patient-progress-step label{display:block;font-size:13px;color:#aaa;line-height:1.2}
.booking-summary{width:100%;padding:16px 17px 18px;margin-bottom:18px;border-left:3px solid #00b894;border-radius:3px;background:#ddfaf4}.booking-summary h2{margin:0 0 17px;color:#124c91;font-size:28px;line-height:1.2;font-weight:600}.booking-summary-grid{display:grid;grid-template-columns:1.1fr 1.5fr .85fr .85fr;gap:25px}.summary-item span{display:block;margin-bottom:4px;color:#00a58a;font-size:12px;font-weight:600}.summary-item strong{display:block;color:#222;font-size:15px;font-weight:500}
.registered-user-section{min-height:50px;display:flex;align-items:center;gap:25px;margin-bottom:12px}.registered-label{color:#124c91;font-size:14px;font-weight:600}.radio-option{display:inline-flex;align-items:center;gap:7px;margin:0;cursor:pointer;color:#333;font-size:14px}.radio-option input{width:22px;height:22px;margin:0;accent-color:#164f91}.patient-details-section{width:100%;padding:7px 0 22px}.patient-details-section h2{margin:0 0 12px;color:#124c91;font-size:23px;font-weight:500}.patient-search-row{display:flex;align-items:center;gap:28px}.patient-search-types{display:flex;align-items:center;gap:25px}.patient-search-form{display:flex;align-items:center;gap:28px;flex:1}.patient-search-input{width:270px;height:43px;padding:0 12px;border:1px solid #c6c6c6;border-radius:5px;background:#fff;outline:none;color:#333;font-size:13px}.patient-btn{min-width:125px;height:43px;padding:0 20px;border-radius:4px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;font-size:13px;font-weight:600;transition:.2s ease}.patient-btn-primary{background:#164f91;border-color:#164f91;color:#fff}.patient-btn-primary:hover{background:#103f75;color:#fff}.patient-btn-back{background:#fff;border-color:#c8c8c8;color:#444}.patient-btn-submit{min-width:120px;background:#00b894;border-color:#00b894;color:#fff}.patient-found-box{margin-top:20px;padding:18px;border:1px solid #d5e8e3;border-left:3px solid #00b894;border-radius:4px;background:#f8fffd}.patient-found-title{margin-bottom:15px;color:#124c91;font-size:18px;font-weight:600}.patient-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.patient-info-grid span{display:block;margin-bottom:5px;color:#00a58a;font-size:11px;font-weight:600}.patient-info-grid strong{color:#333;font-size:14px;font-weight:500}.confirm-check{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#444;font-size:13px;cursor:pointer}.confirm-check input{width:17px;height:17px;accent-color:#00b894}
.new-patient-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 25px}.patient-form-field.full{grid-column:1/-1}.patient-form-field label{display:block;margin-bottom:6px;color:#124c91;font-size:13px;font-weight:600}.patient-form-field label span{color:#e53935}.patient-form-field input,.patient-form-field select,.patient-form-field textarea{width:100%;border:1px solid #c8c8c8;border-radius:4px;background:#fff;color:#333;font-size:13px;outline:none}.patient-form-field input,.patient-form-field select{height:43px;padding:0 12px}.patient-form-field textarea{min-height:85px;padding:10px 12px;resize:vertical}.patient-form-submit{margin-top:20px;display:flex;justify-content:flex-end}.patient-bottom-actions{margin-top:20px;padding-top:20px;border-top:1px solid #e5e5e5;display:flex;justify-content:flex-end;gap:4px}.patient-alert{padding:11px 14px;margin-bottom:15px;border-radius:4px;font-size:13px}.patient-alert-error{border:1px solid #f0b8b8;background:#fff4f4;color:#b32626}
@media(max-width:991px){.patient-appointment-container{padding:0 20px}.patient-progress{margin-left:20px;margin-right:20px;width:calc(100% - 40px)}.booking-summary-grid{grid-template-columns:1fr 1fr}.patient-search-row{flex-wrap:wrap;align-items:flex-start}.patient-search-form{width:100%;flex-basis:100%}.patient-info-grid{grid-template-columns:1fr 1fr}}@media(max-width:767px){.patient-page-title{font-size:25px}.patient-progress{height:75px}.patient-progress-line{top:35px}.patient-progress-step span{width:36px;height:36px}.patient-progress-step label{font-size:10px}.booking-summary h2{font-size:23px}.registered-user-section{gap:15px;flex-wrap:wrap}.patient-search-row,.patient-search-form{display:block}.patient-search-types{margin-bottom:15px}.patient-search-input{width:100%;margin-bottom:12px}.patient-search-form .patient-btn{width:100%}.patient-info-grid{grid-template-columns:1fr}.new-patient-grid{grid-template-columns:1fr}.patient-form-field.full{grid-column:auto}.patient-bottom-actions{justify-content:space-between}.patient-bottom-actions .patient-btn{width:48%}}@media(max-width:480px){.booking-summary-grid{grid-template-columns:1fr}.patient-progress{margin-left:10px;margin-right:10px;width:calc(100% - 20px)}.patient-appointment-container{padding:0 15px}}
