*{box-sizing:border-box}html{font-family:Inter,Tahoma,Arial,sans-serif;background:#f7f8fa;color:#17212b}body{margin:0}.booking-topbar{height:78px;background:#fff;border-bottom:1px solid #e8ebef;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#17212b;text-decoration:none;font-weight:800}.brand img{width:54px;height:54px;object-fit:contain}.top-actions{display:flex;gap:10px}.top-actions a{padding:10px 14px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:700}.language{color:#8d6249;background:#f7eee8}.back-home{color:#fff;background:#17212b}.booking-shell{max-width:1040px;margin:auto;padding:56px 20px 90px}.booking-intro{text-align:center;max-width:780px;margin:0 auto 32px}.eyebrow{color:#a66f4d;font-size:12px;font-weight:900;letter-spacing:.16em}.booking-intro h1{font-size:clamp(34px,6vw,58px);line-height:1.05;margin:12px 0;color:#18222c}.booking-intro>p{font-size:17px;line-height:1.8;color:#69737d;margin:0 auto 28px;max-width:680px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.step{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-radius:14px;background:#fff;border:1px solid #e8ebef;color:#69737d;font-size:13px;font-weight:700}.step b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf0f2}.step.active{border-color:#d8b9a7;color:#8d6249}.step.active b{background:#8d6249;color:#fff}.scheduler-card,.tracking-card{background:#fff;border:1px solid #e5e8eb;border-radius:24px;box-shadow:0 18px 60px rgba(28,39,49,.07);padding:34px;margin-top:20px}.section-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.section-number{width:44px;height:44px;min-width:44px;border-radius:13px;background:#f5ebe5;color:#8d6249;display:grid;place-items:center;font-weight:900}.section-head h2{margin:1px 0 5px;font-size:21px}.section-head p{margin:0;color:#7a838c;font-size:14px}.field-grid{display:grid;grid-template-columns:1.6fr .55fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:8px}.field span{font-size:13px;font-weight:800;color:#3e4953}.field input,.field textarea{width:100%;border:1px solid #dfe3e7;background:#fbfcfd;border-radius:13px;padding:14px 15px;font:inherit;color:#17212b;outline:none;transition:.2s}.field input:focus,.field textarea:focus{border-color:#a66f4d;background:#fff;box-shadow:0 0 0 4px rgba(166,111,77,.10)}.divider{height:1px;background:#edf0f2;margin:32px 0}.date-row{display:flex;align-items:end;gap:20px}.date-field{width:min(360px,100%)}.availability-status{padding:14px 0;display:flex;gap:9px;align-items:center;color:#64707a;font-size:14px}.live-dot{width:9px;height:9px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 5px rgba(34,160,107,.1)}.booking-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:18px}.slot-button{border:1px solid #dfe3e7;background:#fff;border-radius:13px;padding:12px 8px;cursor:pointer;color:#26323d;transition:.18s}.slot-button span{display:block;font-size:15px;font-weight:900}.slot-button small{display:block;color:#22a06b;font-size:10px;margin-top:4px}.slot-button:hover{transform:translateY(-1px);border-color:#a66f4d}.slot-button.selected{background:#17212b;border-color:#17212b;color:#fff}.slot-button.selected small{color:#a9e4ca}.empty-slots{grid-column:1/-1;padding:20px;border:1px dashed #d7dce0;border-radius:14px;color:#747e87;text-align:center;background:#fafbfc}.selected-appointment{margin-top:16px;padding:14px 16px;border-radius:13px;background:#edf9f3;color:#176844;font-size:14px}.notes-field{margin-top:25px}.primary-button,.secondary-button{border:0;border-radius:13px;font:inherit;font-weight:900;cursor:pointer}.primary-button{width:100%;min-height:54px;margin-top:20px;background:#17212b;color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{height:49px;padding:0 22px;background:#a66f4d;color:#fff;align-self:end}.approval-note{text-align:center;color:#7c858e;font-size:12px;line-height:1.6}.form-message,.api-alert,.track-result{margin-top:16px;padding:14px 16px;border-radius:13px;font-size:14px}.error{background:#fff0f0!important;color:#a22b2b!important;border:1px solid #ffd3d3}.success{background:#ecf9f2!important;color:#176844!important;border:1px solid #c7ecd9}.info{background:#eef6ff!important;color:#225d91!important;border:1px solid #d3e8ff}.api-alert{background:#fff4e8;color:#8a4f17;border:1px solid #f6d4ae}.tracking-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px}.track-result strong,.track-result span{display:block}.track-result strong{margin-bottom:5px}.hidden{display:none!important}.slots-loader{display:flex;gap:5px;padding:20px 0}.slots-loader span,.button-spinner{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1s infinite alternate}.slots-loader span:nth-child(2){animation-delay:.2s}.slots-loader span:nth-child(3){animation-delay:.4s}.button-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;background:transparent;animation:spin .7s linear infinite}@keyframes pulse{to{opacity:.25}}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:rgba(16,24,32,.62);z-index:100;display:grid;place-items:center;padding:20px}.success-modal{width:min(460px,100%);background:#fff;border-radius:24px;padding:36px;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.25)}.success-icon{width:68px;height:68px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#e9f8f0;color:#168154;font-size:34px;font-weight:900}.success-modal h2{margin:18px 0 8px}.success-modal p{color:#6d7780;line-height:1.7}.reference-box{background:#f7f2ef;border:1px dashed #c7a58f;border-radius:14px;padding:15px;margin:20px 0}.reference-box small,.reference-box strong{display:block}.reference-box small{font-size:10px;letter-spacing:.12em;color:#8d6249}.reference-box strong{font-size:21px;margin-top:5px;letter-spacing:.04em}html[dir=rtl] .section-head{text-align:right}@media(max-width:800px){.booking-topbar{height:auto;padding:10px 14px}.brand span{display:none}.top-actions{gap:6px}.top-actions a{padding:9px;font-size:12px}.booking-shell{padding:36px 12px 60px}.steps{grid-template-columns:1fr}.scheduler-card,.tracking-card{padding:22px 16px;border-radius:18px}.field-grid{grid-template-columns:1fr 1fr}.field-wide{grid-column:1/-1}.booking-slots{grid-template-columns:repeat(3,1fr)}.date-row{display:block}.tracking-grid{grid-template-columns:1fr}.secondary-button{height:49px}.booking-intro>p{font-size:15px}}@media(max-width:480px){.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.booking-slots{grid-template-columns:repeat(2,1fr)}.booking-intro h1{font-size:36px}}

/* Patient fields aligned with DrClinicPro MAUI AddPatientPage */
.field select { width:100%; min-height:48px; border:1px solid #e5e7eb; border-radius:12px; padding:0 14px; background:#fff; font:inherit; color:#1c1c1e; }
.phone-list { display:grid; gap:8px; margin-top:7px; }
.phone-row { display:grid; grid-template-columns:1fr auto; gap:8px; }
.phone-row input { width:100%; box-sizing:border-box; }
.remove-phone { width:44px; border:0; border-radius:10px; background:#fee2e2; color:#b91c1c; font-size:22px; cursor:pointer; }
.add-phone-button { margin-top:8px; border:0; background:transparent; color:#4500a3; font-weight:700; cursor:pointer; padding:7px 0; }
.patient-subsection { margin-top:22px; }
.patient-subsection h3 { margin:0 0 12px; font-size:15px; }
.medical-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.medical-item { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid #e5e7eb; border-radius:12px; padding:11px 12px; background:#fff; }
.medical-item input { width:20px; height:20px; accent-color:#4500a3; order:2; }
@media (max-width:640px) { .medical-grid { grid-template-columns:1fr; } }

.phone-clinic-hint{display:block;margin:4px 0 8px;color:#6b7280;font-size:.82rem;line-height:1.45}
.quick-contact{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#06374d;color:#fff;text-decoration:none;font-size:18px}.quick-contact.whatsapp{background:#25d366}.quick-contact:hover{transform:translateY(-2px)}
