@import "https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700&display=swap";.bm-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#153e3675;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.bm-modal{background:var(--surface);border:1px solid var(--border);width:500px;max-width:100%;max-height:90vh;box-shadow:var(--shadow-lift);direction:rtl;border-radius:18px;flex-direction:column;animation:.22s bmIn;display:flex;overflow-y:auto}@keyframes bmIn{0%{opacity:0;transform:scale(.97)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.bm-header{background:var(--primary);border-radius:18px 18px 0 0;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 20px;display:flex}.bm-header-text h3{color:#f8fbf5;margin:0 0 4px;font-size:18px;font-weight:700}.bm-header-text p{color:#f8fbf5c2;margin:0;font-size:12px}.bm-close{color:#f8fbf5;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff29;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:background .18s;display:flex}.bm-close:hover{background:#ffffff38}.bm-body{flex-direction:column;gap:14px;padding:22px 24px;display:flex}.bm-row{gap:14px;display:flex}.bm-row .bm-field{flex:1;min-width:0}.bm-field{flex-direction:column;gap:5px;display:flex}.bm-field label{color:var(--text);font-size:12px;font-weight:600}.bm-required{color:var(--danger-text)}.bm-input{border:1px solid var(--border-strong);min-height:44px;color:var(--text);background:var(--surface-soft);direction:rtl;border-radius:10px;outline:none;padding:9px 12px;font-family:Cairo,sans-serif;font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s}.bm-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #205b4b1a}.bm-input--ltr,.bm-input[dir=ltr]{text-align:right;direction:ltr}.bm-readonly{background:var(--primary-mist);color:var(--muted);cursor:default}.bm-readonly:focus{border-color:var(--border-strong);box-shadow:none;background:var(--primary-mist)}.bm-slot{color:var(--primary);font-weight:600}.bm-radios{gap:20px;padding:11px 0;display:flex}.bm-radio-label{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.bm-radio-label input[type=radio]{accent-color:var(--primary)}.bm-payment-options{flex-direction:column;gap:8px;display:flex}.bm-payment-opt{border:1px solid var(--border-strong);cursor:pointer;min-height:44px;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-family:Cairo,sans-serif;font-size:13px;transition:border-color .18s,background .18s,color .18s;display:flex}.bm-payment-opt:hover{border-color:var(--primary-mid);background:var(--primary-mist)}.bm-payment-opt.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.bm-payment-opt input[type=radio]{accent-color:var(--primary)}.bm-payment-opt svg{color:var(--primary-mid)}.bm-notice{text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px 16px;font-size:12.5px;font-weight:600;line-height:1.7;display:flex}.bm-notice--warn{background:var(--warning-bg);color:var(--warning-text)}.bm-notice--success{background:var(--primary-soft);color:var(--primary-dark);margin-top:8px}.bm-actions{border-top:1px solid var(--border);background:var(--surface);justify-content:flex-start;gap:10px;padding:16px 24px 20px;display:flex}.bm-btn-save{background:var(--primary);color:#f8fbf5;border:1px solid var(--primary);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 30px;font-family:Cairo,sans-serif;font-size:14px;font-weight:700;transition:background .18s,border-color .18s}.bm-btn-save:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.bm-btn-save:disabled,.bm-btn-save:disabled:hover{background:var(--border-strong);border-color:var(--border-strong);color:var(--muted);cursor:not-allowed;box-shadow:none}.bm-btn-cancel{background:var(--surface);min-height:44px;color:var(--text);border:1px solid var(--border-strong);cursor:pointer;border-radius:10px;padding:10px 24px;font-family:Cairo,sans-serif;font-size:14px;transition:background .18s,border-color .18s}.bm-btn-cancel:hover{background:var(--surface-soft);border-color:var(--primary-mid)}.bm-toast{z-index:999999;box-shadow:var(--shadow-soft);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:14px 28px;font-size:14px;font-weight:700;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.bm-toast[data-type=success]{background:var(--primary-soft);color:var(--primary-dark)}.bm-toast[data-type=error]{background:var(--danger-bg);color:var(--danger-text);border-color:#e5c8c0}@media (width<=520px){.bm-overlay{padding:12px}.bm-header{padding:18px 18px 16px}.bm-body{padding:18px}.bm-actions{padding:14px 18px 18px}}@media (width<=440px){.bm-row{flex-direction:column}}:root{--ivory:#f7f5ee;--surface:#fffef9;--surface-soft:#fbf9f2;--primary:#205b4b;--primary-dark:#174438;--primary-mid:#2e6b59;--primary-soft:#e7eee2;--primary-mist:#f0f4ec;--text:#153e36;--muted:#5c7067;--muted-light:#5e7269;--border:#dbe1d4;--border-strong:#c9d2c1;--gold:#a98b5f;--warning-bg:#f5eddd;--warning-text:#7a5a22;--danger-bg:#f7e8e4;--danger-text:#8a3f33;--success-bg:#e7eee2;--success-text:#1f5a43;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--shadow-soft:0 1px 2px #153e360a, 0 12px 32px #153e360b;--shadow-lift:0 18px 50px #153e361f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;direction:rtl;font-family:Cairo,sans-serif}body,button,input,select,textarea{font-family:Cairo,sans-serif}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{color:inherit}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-soft);color:var(--text)}.container,.patients-container{background:var(--ivory);flex-direction:column;min-height:100vh;display:flex}.page-shell{width:100%;max-width:1240px;margin-inline:auto}.main,.patients-main{width:100%;padding:var(--space-8) var(--space-8) var(--space-16);flex:1}.sidebar{z-index:100;justify-content:space-between;align-items:center;gap:var(--space-6);border-bottom:1px solid var(--border);text-align:right;background:#f7f5eef7;flex-direction:row;width:100%;height:auto;padding:12px max(24px,50vw - 620px);display:flex;position:sticky;top:0}.sidebar>div:first-child{align-items:center;gap:var(--space-8);min-width:0;display:flex}.sidebar-brand{justify-content:flex-end;align-items:center;gap:var(--space-3);border:0;flex-direction:row-reverse;flex-shrink:0;margin:0;padding:0;display:flex}.sidebar-brand-icon{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;justify-content:center;align-items:center;width:46px;height:46px;display:flex;overflow:hidden}.sidebar-logo{object-fit:contain;width:100%;height:100%;padding:3px}.sidebar-brand-text h3{color:var(--text);text-align:right;font-size:16px;font-weight:700;line-height:1.3}.sidebar-brand-text span{color:var(--muted);text-align:right;font-size:11px;line-height:1.5;display:block}.sidebar-section-label{display:none}.sidebar ul{flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar ul li{margin:0}.sidebar ul li a{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:44px;color:var(--muted);white-space:nowrap;padding:10px 13px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .18s,color .18s;display:flex}.sidebar ul li a svg{opacity:.8}.sidebar ul li a:hover{background:var(--primary-soft);color:var(--text)}.sidebar ul li.active a{background:var(--primary);color:#f8fbf5}.sidebar ul li.active a svg{opacity:1}.sidebar ul li.nav-staff a{border:1px solid var(--border-strong);color:var(--text);margin-inline-start:var(--space-2)}.sidebar ul li.nav-staff a:hover{background:var(--surface);border-color:var(--primary-mid)}.sidebar ul li.nav-staff.active a{background:var(--primary);border-color:var(--primary);color:#f8fbf5}.sidebar .demo-toggle{align-items:center;gap:var(--space-2);border:1px dashed var(--gold);border-radius:var(--radius-sm);width:fit-content;min-height:44px;color:var(--warning-text);white-space:nowrap;cursor:pointer;background:0 0;flex-shrink:0;padding:10px 13px;font-family:Cairo,sans-serif;font-size:13.5px;font-weight:600;transition:background .18s,border-color .18s;display:flex}.sidebar .demo-toggle:hover{background:var(--warning-bg);border-color:var(--gold)}.sidebar .demo-toggle.is-active{background:var(--warning-bg);color:var(--warning-text);border-style:solid;border-color:#d8c39c}.demo-banner{margin-bottom:var(--space-4);background:var(--warning-bg);color:var(--warning-text);border-radius:var(--radius-sm);border:1px solid #e2d3b8;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:600;line-height:1.7;display:flex}.demo-banner-icon{flex-shrink:0;align-items:center;display:inline-flex}.demo-banner-note{opacity:.9;margin-inline-start:auto;font-weight:500}.demo-lock-note{background:var(--warning-bg);color:var(--warning-text);border-radius:var(--radius-sm);text-align:center;border:1px solid #e2d3b8;padding:10px 14px;font-size:12.5px;font-weight:600;line-height:1.7}.btn-save:disabled,.btn-enter:disabled,.bm-btn-save:disabled{background:var(--border-strong);border-color:var(--border-strong);color:var(--muted);cursor:not-allowed;box-shadow:none}.sidebar-footer{border-top:0;flex-shrink:0;padding:0}.sidebar-footer-info{align-items:center;gap:var(--space-3);justify-content:flex-end;display:flex}.sidebar-footer-avatar{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-footer-text{text-align:right;line-height:1.45}.sidebar-footer-text h4{color:var(--text);font-size:12.5px;font-weight:700}.sidebar-footer-text span{color:var(--muted);font-size:10.5px;display:block}.sidebar-footer-text span:last-child{white-space:nowrap;margin-top:1px}.access-denied-message{color:#f8fbf5;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#153e368c;justify-content:center;align-items:center;font-family:Cairo,sans-serif;font-size:20px;font-weight:700;display:flex;position:fixed;inset:0}.success-message{background:var(--success-bg);color:var(--success-text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);z-index:9999;box-shadow:var(--shadow-soft);padding:12px 24px;font-size:14px;font-weight:600;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-track{background:0 0}@media (width<=1100px){.sidebar{gap:var(--space-4)}.sidebar>div:first-child{gap:var(--space-4);flex-wrap:wrap}.sidebar ul{flex-wrap:nowrap}.sidebar-footer-text span:last-child{white-space:normal;max-width:150px}}@media (width<=960px){.sidebar{gap:var(--space-3);flex-wrap:wrap;padding:12px 16px}.sidebar>div:first-child{flex-direction:column;align-items:stretch;gap:10px;width:100%}.sidebar>div:first-child>.sidebar-demo-toggle{align-self:flex-start}.sidebar ul{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.sidebar ul li{flex:none}.sidebar-footer{display:none}.main,.patients-main{padding:var(--space-6) var(--space-4) var(--space-12)}}@media (width<=560px){.sidebar-brand-text h3{font-size:15px}.sidebar-brand-text span{font-size:10px}.sidebar-brand-icon{width:42px;height:42px}.sidebar ul li a{padding:9px 11px;font-size:13px}.sidebar .demo-toggle{padding:9px 11px;font-size:12.5px}.demo-banner-note{width:100%;margin-inline-start:0}}@media (width<=430px){.sidebar ul{gap:2px}.sidebar ul li a{gap:0;padding:9px 10px;font-size:12.5px}.sidebar ul li a svg{display:none}.sidebar ul li.nav-staff a{margin-inline-start:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.booking-shell{gap:var(--space-8);flex-direction:column;display:flex}.booking-hero{align-items:stretch;gap:var(--space-16);padding:var(--space-4) 0 var(--space-2);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);display:grid}.booking-hero-copy{max-width:620px;padding-block:var(--space-6);flex-direction:column;justify-content:center;display:flex}.eyebrow{color:var(--primary);letter-spacing:.02em;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.booking-headline{letter-spacing:-.015em;color:var(--text);margin:var(--space-4) 0 var(--space-6);font-size:clamp(2.5rem,4.4vw,4rem);font-weight:600;line-height:1.3}.booking-headline span{color:var(--primary);display:block}.booking-intro{color:var(--muted);max-width:440px;font-size:16px;line-height:1.9}.doctor-card{justify-content:flex-end;align-items:stretch;display:flex}.doctor-card-inner{background:var(--primary-soft);text-align:center;border:1px solid #d5e0cc;border-radius:170px 170px 18px 18px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:360px;min-height:376px;padding:46px 28px 30px;display:flex;position:relative;overflow:hidden}.doctor-card-inner:after{content:"";pointer-events:none;border:1px solid #205b4b17;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-105px;left:-55px}.doctor-card-label{color:var(--primary-mid);letter-spacing:.08em;margin-bottom:var(--space-4);font-size:11px;font-weight:600}.doctor-card-avatar{background:var(--surface);width:78px;height:78px;color:var(--primary);margin-bottom:var(--space-4);z-index:1;border:1px solid #d5e0cc;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.doctor-card-name{color:var(--text);z-index:1;font-size:20px;font-weight:700;line-height:1.5;position:relative}.doctor-card-specialty{color:var(--muted);z-index:1;margin-top:2px;font-size:13px;position:relative}.doctor-card-divider{width:44px;height:1px;margin:var(--space-4) 0 var(--space-3);background:#c9d6c0}.doctor-card-hours{color:var(--primary-dark);z-index:1;justify-content:center;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1.8;display:flex;position:relative}.doctor-card-hours svg{color:var(--primary-mid)}.booking-panel{background:var(--surface);border:1px solid var(--border);padding:var(--space-8);box-shadow:var(--shadow-soft);border-radius:18px}.booking-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6);display:flex}.booking-kicker{color:var(--muted);letter-spacing:.04em;margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.booking-panel-heading h2{color:var(--text);font-size:24px;font-weight:700;line-height:1.4}.booking-stats{gap:var(--space-2);flex-shrink:0;grid-template-columns:repeat(3,minmax(118px,1fr));display:grid}.booking-stat{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:10px 13px;display:flex}.booking-stat-icon{background:var(--primary-mist);width:32px;height:32px;color:var(--primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.booking-stat--warning .booking-stat-icon{background:var(--warning-bg);color:var(--warning-text)}.booking-stat--success .booking-stat-icon{background:var(--primary-soft);color:var(--primary)}.booking-stat-info{text-align:right;flex-direction:column;line-height:1.25;display:flex}.booking-stat-info strong{color:var(--text);font-size:18px;font-weight:700}.booking-stat-info span{color:var(--muted);white-space:nowrap;font-size:10.5px}.booking-filters{align-items:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-soft);border:1px solid var(--border);margin-bottom:var(--space-6);border-radius:12px;display:flex}.btn-add-day{border:1px solid var(--primary);background:var(--primary);color:#f8fbf5;cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 17px;font-size:13px;font-weight:600;transition:background .18s,border-color .18s;display:inline-flex}.btn-add-day:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.booking-filters-center{justify-content:center;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;flex:1;display:flex}.booking-filter-group{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.booking-filter-group label{color:var(--muted);padding-inline-start:2px;font-size:11px;font-weight:500}.booking-filter-group select{border:1px solid var(--border-strong);background:var(--surface);min-width:116px;height:44px;color:var(--text);cursor:pointer;border-radius:10px;outline:none;padding:0 12px;font-size:13px;transition:border-color .18s,box-shadow .18s}.booking-filter-group select:hover{border-color:var(--primary-mid)}.booking-filter-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #205b4b1a}.day-tabs{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.day-tab{text-align:right;background:var(--surface-soft);border:1px solid var(--border);cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:1px;min-height:88px;padding:14px 16px;transition:background .18s,border-color .18s,color .18s;display:flex}.day-tab:hover{border-color:var(--primary-mid);background:var(--primary-mist)}.day-tab-weekday{color:var(--text);font-size:13.5px;font-weight:700;line-height:1.5}.day-tab-date{color:var(--muted);font-size:12px;line-height:1.5}.day-tab-count{color:var(--muted-light);align-items:center;gap:4px;margin-top:auto;padding-top:6px;font-size:10.5px;font-weight:500;display:flex}.day-tab.active{background:var(--primary);border-color:var(--primary)}.day-tab.active .day-tab-weekday{color:#f8fbf5}.day-tab.active .day-tab-date{color:#f8fbf5cc}.day-tab.active .day-tab-count{color:#f8fbf5b8}.times-panel{background:var(--surface-soft);border:1px solid var(--border);padding:var(--space-6);border-radius:14px}.times-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.times-head h3{color:var(--text);font-size:16px;font-weight:700;line-height:1.5}.times-subtitle{color:var(--muted);margin-top:1px;font-size:12px}.times-count{background:var(--primary-mist);border:1px solid var(--border);color:var(--primary);white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.times-grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:10px;display:grid}.time-slot{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-height:54px;padding:10px 14px;font-size:13.5px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.time-slot-time{color:var(--text);direction:rtl;align-items:center;gap:6px;font-weight:600;display:inline-flex}.time-slot-time svg{color:var(--muted-light)}.time-slot-label{color:var(--primary);font-size:11.5px;font-weight:600}.time-slot.available:hover{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 4px 14px #205b4b12}.time-slot.available:hover .time-slot-time svg{color:var(--primary)}.time-slot.booked{color:var(--muted-light);cursor:not-allowed;background:#f3f1e9;border-color:#e5e2d8}.time-slot.booked .time-slot-time,.time-slot.booked .time-slot-label{color:var(--muted-light)}.time-slot:disabled{opacity:1}.booking-footnote{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.booking-footnote svg{color:var(--muted-light)}@media (width<=1080px){.booking-hero{gap:var(--space-8)}.booking-headline{font-size:clamp(2.3rem,4.9vw,3.3rem)}.booking-panel{padding:var(--space-6)}.booking-panel-head{flex-direction:column;align-items:stretch}.booking-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}}@media (width<=860px){.booking-hero{gap:var(--space-6);grid-template-columns:1fr;padding-top:0}.booking-hero-copy{max-width:none;padding-block:0}.booking-headline{margin-bottom:var(--space-4);font-size:clamp(2.25rem,7vw,3rem)}.booking-intro{max-width:560px}.doctor-card{justify-content:center}.doctor-card-inner{border-radius:140px 140px 16px 16px;max-width:440px;min-height:0;padding:36px 24px 26px}}@media (width<=700px){.booking-shell{gap:var(--space-6)}.booking-panel{padding:var(--space-4);border-radius:16px}.booking-stats{gap:6px}.booking-stat{gap:7px;padding:9px 10px}.booking-stat-icon{border-radius:8px;width:28px;height:28px}.booking-stat-info strong{font-size:16px}.booking-stat-info span{white-space:normal;font-size:9.5px}.booking-filters{padding:var(--space-3);flex-direction:column;align-items:stretch}.btn-add-day{width:100%}.booking-filters-center{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.booking-filter-group{min-width:0}.booking-filter-group select{width:100%;min-width:0;padding:0 8px;font-size:12px}.day-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.day-tab{min-height:82px;padding:12px 14px}.times-panel{padding:var(--space-4)}.times-head{align-items:flex-start}.times-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.time-slot{min-height:52px;padding:9px 12px}}@media (width<=430px){.booking-headline{font-size:2.1rem}.booking-intro{font-size:14.5px}.doctor-card-inner{border-radius:120px 120px 16px 16px;padding:32px 20px 24px}.booking-panel{padding:14px}.booking-stats{grid-template-columns:1fr}.booking-stat{justify-content:flex-start}.booking-stat-info span{white-space:nowrap}.booking-filters-center{grid-template-columns:1fr}.booking-filter-group label{font-size:10.5px}.times-grid{grid-template-columns:1fr}}.rec-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.rec-header-right{flex-direction:column;gap:4px;display:flex}.rec-subtitle{color:var(--primary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.rec-title{color:var(--text);font-size:30px;font-weight:700;line-height:1.4}.rec-desc{color:var(--muted);font-size:13.5px;line-height:1.8}.rec-new-btn{background:var(--primary);color:#f8fbf5;border:1px solid var(--primary);cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;min-height:44px;padding:10px 20px;font-family:Cairo,sans-serif;font-size:14px;font-weight:600;transition:background .18s}.rec-new-btn:hover{background:var(--primary-dark)}.rec-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rec-stat-card{background:var(--surface);border:1px solid var(--border);align-items:center;gap:var(--space-4);border-radius:16px;padding:20px 22px;display:flex;position:relative;box-shadow:0 1px 2px #153e3608}.rec-stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.rec-stat-icon.warning{background:var(--warning-bg);color:var(--warning-text)}.rec-stat-icon.success{background:var(--primary-soft);color:var(--primary)}.rec-stat-icon.neutral{background:var(--primary-mist);color:var(--primary)}.rec-stat-info{text-align:right;flex:1}.rec-stat-info h3{color:var(--text);margin:0 0 5px;font-size:30px;font-weight:700;line-height:1}.rec-stat-info span{color:var(--muted);font-size:12px}.rec-stat-badge{color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-self:flex-start;margin-inline-start:auto;padding:3px 9px;font-size:11px;font-weight:500}.rec-filters-bar{align-items:flex-end;gap:var(--space-3);background:var(--surface);border:1px solid var(--border);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:12px;display:flex}.rec-filters-center{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;flex:1;justify-content:center;display:flex}.rec-filter-group{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.rec-filter-group label{color:var(--muted);padding-inline-start:2px;font-size:11px;font-weight:500}.rec-filter-group select{border:1px solid var(--border-strong);background:var(--surface-soft);min-width:116px;height:44px;color:var(--text);cursor:pointer;border-radius:10px;outline:none;padding:0 12px;font-size:13px;transition:border-color .18s,box-shadow .18s}.rec-filter-group select:hover{border-color:var(--primary-mid)}.rec-filter-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #205b4b1a}.rec-filter-btn-blue{border:1px solid var(--primary);background:var(--primary);color:#f8fbf5;cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 17px;font-size:13px;font-weight:600;transition:background .18s;display:inline-flex}.rec-filter-btn-blue:hover{background:var(--primary-dark)}.rec-tabs{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.rec-tab{text-align:center;min-height:48px;color:var(--muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-family:Cairo,sans-serif;font-size:13px;font-weight:600;transition:background .18s,border-color .18s,color .18s;display:flex}.rec-tab:hover{background:var(--primary-mist);border-color:var(--primary-mid)}.rec-tab.active{background:var(--primary);border-color:var(--primary);color:#f8fbf5}.rec-tab-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.rec-tab.active .rec-tab-dot{background:#f8fbf5}.rec-table{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.rec-table-header{background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--muted);text-align:right;grid-template-columns:140px 1fr 1fr 1fr 150px;padding:13px 20px;font-size:12.5px;font-weight:600;display:grid}.rec-row{border-bottom:1px solid var(--border);color:var(--text);text-align:right;grid-template-columns:140px 1fr 1fr 1fr 150px;align-items:center;min-height:60px;padding:13px 20px;font-size:13.5px;transition:background .15s;display:grid}.rec-row:last-child{border-bottom:none}.rec-row:hover{background:var(--primary-mist)}.rec-time{color:var(--text);align-items:center;gap:6px;font-weight:600;display:flex}.rec-time svg{color:var(--muted-light)}.rec-time span{font-variant-numeric:tabular-nums;direction:ltr}.rec-row [dir=ltr]{font-variant-numeric:tabular-nums}.rec-book-bar{border:1px dashed var(--border-strong);min-height:44px;color:var(--primary);cursor:pointer;background:0 0;border-radius:9px;grid-column:2/6;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-family:Cairo,sans-serif;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.rec-book-bar:hover{background:var(--primary-soft);border-color:var(--primary)}.rec-status{white-space:nowrap;border-radius:999px;justify-content:center;justify-self:start;align-items:center;padding:4px 12px;font-size:11.5px;font-weight:600;display:inline-flex}.rec-status.pending{background:var(--warning-bg);color:var(--warning-text)}.rec-status.paid{background:var(--primary-soft);color:var(--primary-dark)}.rec-status.cancelled{background:var(--danger-bg);color:var(--danger-text)}@media (width<=1080px){.rec-table-header,.rec-row{grid-template-columns:120px 1fr 1fr 1fr 130px}}@media (width<=860px){.rec-stats{grid-template-columns:1fr}.rec-filters-bar{flex-direction:column;align-items:stretch}.rec-filter-btn-blue{width:100%}.rec-filters-center{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.rec-filter-group{min-width:0}.rec-filter-group select{width:100%;min-width:0;padding:0 8px;font-size:12px}.rec-tabs{padding-bottom:2px;overflow-x:auto}.rec-tab{flex:none;min-width:132px}.rec-table{overflow-x:auto}.rec-table-header,.rec-row{min-width:780px}.rec-book-bar{justify-content:flex-start;padding-inline:16px}}@media (width<=560px){.rec-title{font-size:24px}.rec-stat-card{padding:16px 18px}.rec-filters-center{grid-template-columns:1fr}}.patients-header{margin-bottom:var(--space-6)}.patients-subtitle{color:var(--primary);margin:0 0 4px;font-size:12.5px;font-weight:600}.patients-title{color:var(--text);font-size:30px;font-weight:700;line-height:1.4}.stats-row{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);align-items:center;gap:var(--space-4);border-radius:16px;padding:18px 22px;display:flex;box-shadow:0 1px 2px #153e3608}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.stat-icon--pending{background:var(--warning-bg);color:var(--warning-text)}.stat-icon--finished{background:var(--primary-soft);color:var(--primary)}.stat-icon--total{background:var(--primary-mist);color:var(--primary)}.stat-info{flex-direction:column;gap:2px;display:flex}.stat-number{color:var(--text);font-size:27px;font-weight:700;line-height:1}.stat-label{color:var(--muted);font-size:12px}.day-section{margin-bottom:var(--space-8)}.day-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.day-header-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.day-name{color:var(--text);font-size:18px;font-weight:700}.today-badge{background:var(--primary);color:#f8fbf5;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:700}.day-full-date{color:var(--muted);font-size:12.5px}.day-count{color:var(--muted);white-space:nowrap;font-size:12px}.day-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.appt-row{background:var(--surface);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:14px;padding:12px 16px;transition:border-color .18s,box-shadow .18s;display:flex}.appt-row:hover{border-color:var(--border-strong);box-shadow:0 8px 24px #153e360d}.appt-row--finished{background:var(--surface-soft)}.appt-name{color:var(--text);cursor:pointer;text-align:right;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;min-height:44px;padding:0;font-family:Cairo,sans-serif;font-size:13.5px;font-weight:600;transition:color .15s;display:flex}.appt-name>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.appt-name:hover{color:var(--primary)}.appt-row--finished .appt-name{color:var(--muted)}.appt-avatar{background:var(--primary-mist);width:32px;height:32px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.appt-row--finished .appt-avatar{background:var(--surface);color:var(--muted-light)}.appt-time{color:var(--text);white-space:nowrap;direction:ltr;flex-shrink:0;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:flex}.clock-icon{color:var(--muted-light);align-items:center;display:flex}.appt-row--finished .appt-time{color:var(--muted)}.btn-enter{background:var(--primary);color:#f8fbf5;border:1px solid var(--primary);cursor:pointer;white-space:nowrap;border-radius:9px;flex-shrink:0;min-width:66px;min-height:44px;padding:8px 16px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .18s}.btn-enter:hover{background:var(--primary-dark)}.btn-enter:disabled,.btn-enter:disabled:hover{background:var(--border-strong);border-color:var(--border-strong);color:var(--muted);cursor:not-allowed}.btn-finished{background:var(--surface-soft);min-height:44px;color:var(--muted-light);border:1px solid var(--border);cursor:not-allowed;white-space:nowrap;border-radius:9px;flex-shrink:0;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:600}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#153e3673;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--border);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lift);border-radius:18px;padding:26px;animation:.2s modalIn;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.97)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:6px;display:flex}.modal-title{color:var(--text);align-items:center;gap:7px;font-size:18px;font-weight:700;display:flex}.modal-title svg{color:var(--primary)}.modal-close-x{background:var(--primary-mist);border:1px solid var(--border);cursor:pointer;width:44px;height:44px;color:var(--primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.modal-close-x:hover{background:var(--primary-soft)}.modal-patient-name{color:var(--primary);margin:0 0 18px;font-size:13.5px;font-weight:600}.modal-fields{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.field-group{flex-direction:column;gap:5px;display:flex}.field-group label{color:var(--text);font-size:12px;font-weight:600}.field-group textarea{resize:none;border:1px solid var(--border-strong);color:var(--text);background:var(--surface-soft);direction:rtl;border-radius:10px;outline:none;height:78px;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s}.field-group textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #205b4b1a}.field-group textarea:disabled{opacity:.7;cursor:not-allowed}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.btn-save{background:var(--primary);color:#f8fbf5;border:1px solid var(--primary);cursor:pointer;border-radius:9px;min-height:44px;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:background .18s}.btn-save:hover{background:var(--primary-dark)}.btn-save:disabled,.btn-save:disabled:hover{background:var(--border-strong);border-color:var(--border-strong);color:var(--muted);cursor:not-allowed}.btn-cancel{background:var(--surface);min-height:44px;color:var(--text);border:1px solid var(--border-strong);cursor:pointer;border-radius:9px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .18s,border-color .18s}.btn-cancel:hover{background:var(--surface-soft);border-color:var(--primary-mid)}.success-toast{background:var(--primary);color:#f8fbf5;z-index:2000;box-shadow:var(--shadow-lift);text-align:center;border-radius:10px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:12px 28px;font-size:13px;font-weight:600;animation:.25s toastIn;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=900px){.stats-row{grid-template-columns:1fr;gap:10px}.day-grid{grid-template-columns:1fr}}@media (width<=560px){.patients-title{font-size:24px}.appt-row{flex-wrap:wrap;gap:10px}.appt-name{flex:100%}.appt-time{margin-inline-start:auto}.modal-box{width:95%;padding:20px 16px}.modal-actions{flex-direction:column-reverse}.btn-save,.btn-cancel{width:100%}}.panel-overlay{z-index:900;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#153e3666;position:fixed;inset:0}.panel{background:var(--surface);border-left:1px solid var(--border);z-index:901;direction:rtl;flex-direction:column;width:370px;max-width:100vw;height:100vh;animation:.25s slideIn;display:flex;position:fixed;top:0;right:0;overflow:hidden;box-shadow:-10px 0 45px #153e3624}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.panel-header{background:var(--primary);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:28px 20px 24px;display:flex;position:relative}.panel-close{color:#f8fbf5;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff29;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:flex;position:absolute;top:14px;left:14px}.panel-close:hover{background:#ffffff38}.panel-avatar{color:#f8fbf5;background:#ffffff1f;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.panel-name{color:#f8fbf5;text-align:center;margin:0;font-size:18px;font-weight:700}.panel-phone{color:#f8fbf5c7;direction:ltr;align-items:center;gap:5px;margin:0;font-size:12.5px;display:flex}.phone-icon{align-items:center;display:flex}.panel-badges{gap:8px;margin-top:4px;display:flex}.badge{border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:11.5px;font-weight:600;display:flex}.badge--active{color:var(--primary-dark);background:#f8fbf5}.badge--visits{color:#f8fbf5;background:#ffffff1f;border:1px solid #ffffff29}.panel-body{background:var(--ivory);flex-direction:column;flex:1;gap:12px;padding:20px 16px;display:flex;overflow-y:auto}.panel-section-title{color:var(--text);align-items:center;gap:7px;margin-bottom:4px;font-size:14px;font-weight:700;display:flex}.panel-section-title svg{color:var(--primary)}.records-count{color:var(--muted);margin-inline-start:auto;font-size:11.5px;font-weight:400}.visit-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;flex-direction:column;gap:12px;padding:14px 16px;display:flex;box-shadow:0 1px 2px #153e3608}.visit-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-bottom:10px;display:flex}.visit-day{color:var(--text);font-size:13px;font-weight:700}.visit-date{color:var(--primary);font-size:11.5px;font-weight:600}.visit-field{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:3px 6px;display:grid}.field-label{color:var(--muted);grid-column:1/-1;font-size:10.5px;font-weight:500}.field-icon{justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.field-icon--diagnosis{color:var(--primary)}.field-icon--medicine{color:var(--gold)}.field-icon--notes{color:var(--muted)}.field-value{color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.7}.field-value--diagnosis{color:var(--primary-dark)}.field-value--medicine{color:var(--text)}.empty-state{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:12px;padding:32px 0;font-size:13px}@media (width<=480px){.panel{width:100vw}.panel-header{padding-top:24px}}.login-container{background:var(--surface);border:1px solid var(--border);width:calc(100% - 48px);max-width:1240px;min-height:calc(100vh - 48px);box-shadow:var(--shadow-soft);direction:rtl;border-radius:24px;grid-template-columns:1.05fr .95fr;margin:24px auto;font-family:Cairo,sans-serif;display:grid;overflow:hidden}.login-left{background:var(--primary);justify-content:space-between;gap:var(--space-12);flex-direction:column;padding:52px 54px 46px;display:flex;position:relative;overflow:hidden}.login-left:before{content:"";pointer-events:none;border:1px solid #f8fbf51f;border-radius:50%;width:340px;height:340px;position:absolute;top:-130px;left:-110px}.login-left:after{content:"";pointer-events:none;background:#f8fbf50b;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-150px;right:-100px}.login-brand{justify-content:flex-start;align-items:center;gap:var(--space-3);z-index:1;flex-direction:row-reverse;display:flex}.login-brand-icon{color:#f8fbf5;background:#f8fbf51f;border:1px solid #f8fbf529;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.login-brand-text{text-align:right}.login-brand-text h3{color:#f8fbf5;margin:0;font-size:16px;font-weight:700}.login-brand-text span{color:#f8fbf5c2;font-size:11px;display:block}.login-hero{z-index:1;max-width:440px}.login-hero h1{color:#f8fbf5;letter-spacing:-.01em;margin-bottom:var(--space-3);font-size:clamp(2rem,3.3vw,2.75rem);font-weight:600;line-height:1.5}.login-hero p{color:#f8fbf5c2;text-align:right;font-size:14px;line-height:1.9}.login-stats{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.login-stat{text-align:center;background:#f8fbf514;border:1px solid #f8fbf51f;border-radius:12px;padding:14px 16px}.login-stat .stat-value{color:#f8fbf5;font-size:20px;font-weight:700;display:block}.login-stat .stat-label{color:#f8fbf5c7;margin-top:2px;font-size:11px;display:block}.login-right{background:var(--surface);flex-direction:column;justify-content:center;padding:56px clamp(28px,5vw,68px);display:flex}.login-right>*{width:100%;max-width:380px;margin-inline:auto}.login-header{text-align:right;margin-bottom:var(--space-8)}.login-kicker{color:var(--primary);letter-spacing:.04em;margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.login-header h2{color:var(--text);font-size:26px;font-weight:700;line-height:1.4}.login-header p{color:var(--muted);margin-top:6px;font-size:12.5px;line-height:1.8}.form-group{margin-bottom:1.1rem}.form-label{color:var(--text);text-align:right;margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.form-input{border:1px solid var(--border-strong);width:100%;min-height:48px;color:var(--text);background:var(--surface-soft);direction:rtl;border-radius:10px;outline:none;padding:11px 14px;font-family:Cairo,sans-serif;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}.form-input--ltr{text-align:left;direction:ltr}.form-input::placeholder{color:var(--muted-light)}.form-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #205b4b1a}.role-selector{grid-template-columns:1fr 1fr;gap:10px;display:grid}.role-btn{border:1px solid var(--border-strong);background:var(--surface-soft);min-height:48px;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px;font-family:Cairo,sans-serif;font-size:13px;transition:border-color .18s,background .18s,color .18s;display:flex}.role-btn:hover{border-color:var(--primary-mid);background:var(--primary-mist)}.role-btn.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.role-icon{align-items:center;display:flex}.login-btn{background:var(--primary);color:#f8fbf5;border:1px solid var(--primary);cursor:pointer;border-radius:10px;width:100%;min-height:50px;margin-top:.5rem;padding:12px;font-family:Cairo,sans-serif;font-size:15px;font-weight:700;transition:background .18s}.login-btn:hover{background:var(--primary-dark)}.login-error{background:var(--danger-bg);color:var(--danger-text);text-align:right;border:1px solid #e5c8c0;border-radius:10px;margin-bottom:.75rem;padding:10px 14px;font-size:12.5px}.login-terms{text-align:center;color:var(--muted-light);margin-top:1rem;font-size:10.5px;line-height:1.8}@media (width<=900px){.login-container{border-radius:18px;grid-template-columns:1fr;width:calc(100% - 24px);min-height:0;margin:12px auto}.login-left{gap:var(--space-6);padding:32px 24px}.login-hero h1{font-size:27px}.login-hero p{font-size:13px}.login-right{padding:34px 24px}.login-header{margin-bottom:var(--space-6)}}@media (width<=480px){.login-left{padding:26px 20px}.login-hero h1{font-size:23px}.login-stats{gap:6px}.login-stat{padding:10px 8px}.login-stat .stat-value{font-size:17px}.login-stat .stat-label{font-size:10px}.login-right{padding:28px 20px}.login-header h2{font-size:23px}}
