body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sidebar{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;height:100vh;left:0;min-width:256px;position:fixed;top:0;width:20%;z-index:100}.sidebar-header{border-bottom:1px solid #f3f4f6;padding:28px 24px 20px}.admin-panel-badge{align-items:center;display:flex;margin-bottom:8px}.sidebar-clinic-logo{display:block;height:auto;max-width:190px;width:100%}.admin-icon{align-items:center;background:#10b981;border-radius:6px;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.logo{gap:12px}.logo-icon{align-items:center;background:#10b981;border-radius:8px;display:flex;height:32px;width:32px}.logo h1{color:#111827;display:block;font-size:20px;font-weight:700;margin:0}.sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 24px}.menu-item{align-items:center;border-radius:12px;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:12px;margin-bottom:8px;padding:12px 16px}.menu-item:hover{background:#f9fafb}.menu-item.active{background:#ecfdf5;border:1px solid #10b981}.menu-icon{align-items:center;display:flex;font-size:20px;width:24px}.menu-label{color:#111827;flex:1 1;font-size:15px;font-weight:500}.menu-badge{background:#f3f4f6;border-radius:20px;color:#6b7280;font-size:12px;font-weight:500;min-width:24px;padding:4px 10px;text-align:center}@media (max-width:1024px){.sidebar{transform:translateX(-100%);transition:transform .3s ease}.sidebar.open{transform:translateX(0)}}.sidebar-footer{background:#fafbfc;border-top:1px solid #f3f4f6;padding:20px 24px}.logout-item{align-items:center;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:16px;padding:14px 16px;transition:all .2s ease}.logout-item:hover{background:#fee2e2;color:#dc2626}.logout-icon{font-size:20px;width:24px}.dashboard{background:#f8fafc;min-height:100%}.dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:10px 15px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.cards-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:40px;min-height:200px}.stat-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;justify-content:space-between;padding:28px 24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 20px 40px #0000001f;transform:translateY(-4px)}.card-top{margin-bottom:16px}.card-content,.card-top{align-items:center;display:flex;justify-content:space-between}.card-bottom{margin-top:auto}.card-title{font-weight:600;line-height:1.4;margin:0 0 20px}.card-info h3,.card-title{color:#64748b;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.card-info h3{font-weight:500;margin:0 0 8px}.card-value-container{align-items:baseline;display:flex;gap:8px;margin-bottom:4px}.card-value{color:#1e293b;font-size:28px;font-weight:700;line-height:1}.card-subtitle{color:#94a3b8;font-size:13px;font-weight:500}.trend{background:#10b98126;border:1px solid #10b9814d;border-radius:20px;color:#059669;font-size:12px;font-weight:700;padding:4px 12px}.card-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;width:48px}.wrapper{overflow-y:auto;padding:24px}.fab-container{justify-content:space-between;padding:20px 30px}.buttons,.fab-container{display:flex;gap:16px}.fab{align-items:center;border:none;border-radius:16px;box-shadow:0 12px 32px #00000026;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:12px;justify-content:center;min-width:180px;overflow:hidden;padding:8px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.fab:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.fab:hover:before{left:100%}.fab:hover{box-shadow:0 20px 40px #00000040;transform:translateY(-4px) scale(1.02)}.fab-generate-bill{background:#fff;color:#080101}.fab-generate-bill:hover{background:linear-gradient(135deg,#f7f6f4,#ecebe7)}.fab-new-appointment{background:linear-gradient(135deg,#11c080,#15a857);box-shadow:0 16px 40px #10b98166;color:#fff;font-size:16px;padding:8px 16px}.fab-new-appointment:hover{background:linear-gradient(135deg,#17ba5b,#11a663);box-shadow:0 24px 48px #10b98180}.fab span:first-child{font-size:24px;font-weight:300}.fab-text{font-weight:700}@media (max-width:768px){.fab-container{bottom:20px;gap:12px;right:20px}.fab{font-size:14px;min-width:160px;padding:14px 20px}.fab-new-appointment{font-size:15px;padding:18px 24px}}.hr-line{background:#e2e8f0;border:none;height:1px}.dashboard{padding-bottom:10px}.schedule-section{background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 10px 40px #0000000f;margin-bottom:8px;padding:20px}.schedule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.schedule-header h3{color:#1e293b;font-size:20px;font-weight:700;margin:0}.view-calendar-btn{background:#0000;border:none;color:#10b981;cursor:pointer;font-size:16px;font-weight:700;padding:10px 28px;transition:all .2s ease}.view-calendar-btn:hover{color:#059669}.schedule-cards-container{display:flex;flex-direction:column;gap:40px;padding:20px 0}.appointments-table1{background:#fff;border:1px solid #eef2ff;border-collapse:collapse;border-radius:12px;box-shadow:0 6px 18px #02061714;box-sizing:border-box;max-width:100%;min-width:0;overflow:hidden;table-layout:fixed;width:100%}.appointments-table1 thead{background:#f8fafc}.appointments-table-wrapper{-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-x:hidden;padding-bottom:0;padding-right:6px;width:100%}.appointments-table1 td,.appointments-table1 th{border-bottom:1px solid #f1f5f9;color:#334155;font-size:13px;min-width:0;overflow:hidden;padding:8px 12px;text-align:left;text-overflow:ellipsis;white-space:nowrap;word-break:break-word}.appointments-table1 th{color:#64748b;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.appointments-table1 tbody tr:hover{background:#fbfdff}.appointments-table1 .notes-cell{color:#475569;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{border-radius:12px;display:inline-block;padding:6px 10px}.status-scheduled{background:#3b82f614;border:1px solid #3b82f61f;color:#2563eb}.status-confirmed{background:#10b98114;border:1px solid #10b9811f;color:#059669}.status-completed{background:#94a3b814;border:1px solid #94a3b81f;color:#64748b}.status-in_progress{background:#f59e0b14;border:1px solid #f59e0b1f;color:#d97706}.empty-placeholder,.loading-placeholder{background:#fff;border:1px dashed #edf2f7;border-radius:12px;color:#64748b;font-weight:600;padding:18px;text-align:center}.schedule-card{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;display:flex;gap:24px;max-width:520px;overflow:hidden;padding:32px 36px;position:relative;transition:all .3s ease;width:55%}.schedule-card.completed{margin-left:auto;margin-right:0}.schedule-card.in-progress{margin-left:0;margin-right:auto;width:420px}.schedule-card.completed{width:360px}.card-time{flex-direction:column;margin-left:auto}.card-badge{margin-left:12px}.schedule-card:before{border-radius:20px 0 0 20px;bottom:0;content:"";left:0;position:absolute;top:0;width:5px}.completed:before{background:linear-gradient(180deg,#10b981,#059669)}.in-progress:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.schedule-card:hover{box-shadow:0 12px 48px #0000001f;transform:translateY(-2px)}.card-status{align-self:flex-start;flex-shrink:0}.status-indicator{align-items:center;border-radius:16px;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.status-card{border-radius:4px;padding:4px}.completed-indicator{background:#10b98126;border:2px solid #10b9814d}.progress-indicator{background:#f59e0b26;border:2px solid #f59e0b4d}.checkmark{height:28px;width:28px}.progress-spinner{animation:spin 1.2s linear infinite;border:3px solid #f59e0b4d;border-radius:50%;border-top-color:#f59e0b;height:24px;width:24px}.card-patient{display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:center}.patient-name{font-size:20px;font-weight:700;line-height:1.3}.service-type{color:#94a3b8;font-size:14px;font-weight:500}.card-time{align-items:center;display:flex;flex-shrink:0;gap:8px}.time-icon{color:#94a3b8;font-size:16px}.time{color:#64748b;font-size:14px;font-weight:600}.card-badge{align-self:center;flex-shrink:0}.status-badge{border:1px solid #0000;font-size:13px;font-weight:700;padding:8px 20px;white-space:nowrap}.completed-badge{background:#10b98126;border:1px solid #10b9814d;color:#10b981}.progress-badge{background:#f59e0b26;border:1px solid #f59e0b4d;color:#f59e0b}.play-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50%;box-shadow:0 8px 24px #10b98166;cursor:pointer;display:flex;flex-shrink:0;height:56px;justify-content:center;transition:all .3s ease;width:56px}.play-button:hover{box-shadow:0 12px 32px #10b98180;transform:scale(1.1)}.play-button svg{height:24px;margin-left:2px;width:24px}.in-progress .play-button{display:flex}.completed .play-button{display:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.schedule-card{width:60%}}@media (max-width:768px){.schedule-section{padding:32px 24px}.schedule-header h3{font-size:24px}.schedule-cards-container{gap:24px}.schedule-card{gap:16px;padding:24px 20px;width:100%}.schedule-card.completed,.schedule-card.in-progress{margin-left:0;margin-right:0}.play-button{height:48px;width:48px}}.schedule-queue-wrapper{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 300px;margin-top:32px;position:relative}.left-column,.right-column{display:flex;flex-direction:column}.doctor-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 12px #0000000f;display:flex;gap:16px;padding:24px 28px;transition:all .3s ease}.center-play-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50%;box-shadow:0 20px 40px #10b9812e;cursor:pointer;display:flex;height:64px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:64px;z-index:20}.center-play-button svg{height:28px;width:28px}.doctor-card:hover{box-shadow:0 12px 32px #0000001a;transform:translateY(-2px)}.doctor-left{flex-shrink:0;position:relative}.doctor-avatar{background:#e2e8f0;border-radius:12px;color:#64748b;font-size:16px;font-weight:700;height:56px;width:56px}.doctor-online-indicator{background:#10b981;border:3px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 8px #10b98166;height:14px;position:absolute;right:0;width:14px}.doctor-info{flex:1 1}.doctor-special-row{align-items:center;display:flex;gap:8px;margin-bottom:6px}.doctor-specialty{margin:0}.doctor-phone{color:#475569;font-weight:600}.doctor-card.small{align-items:stretch;background:#fff;border:1px solid #eef2f7;border-radius:12px;box-shadow:0 8px 24px #0206170a;display:flex;flex-direction:column;gap:2px;max-width:100%;overflow:hidden;padding:18px}.doctor-card.small .doctor-avatar{font-size:14px;height:48px;width:48px}.doctor-card.small .doctor-name{font-size:15px;margin-bottom:2px}.doctor-card.small .doctor-status{font-size:13px;margin-top:2px}.appointments-table1 td.doctor-col,.appointments-table1 td.patient-col,.appointments-table1 th.doctor-col,.appointments-table1 th.patient-col{width:150px}.appointments-table1 td.time-col,.appointments-table1 th.time-col{text-align:left;width:120px}.appointments-table td.status-col,.appointments-table1 th.status-col{text-align:center;width:120px}.doctors-list{display:flex;flex-direction:column;gap:5px}.doctor-card.small{width:100%}.doctors-header{align-items:center;display:flex;justify-content:space-between;padding:0 6px}.doctors-header h4{color:#1e293b;font-size:16px;font-weight:700;margin:0}.doctor-avatar{align-items:center;background:linear-gradient(180deg,#eef2ff,#f8fafc);border-radius:50%;box-shadow:0 6px 18px #0206170a;display:flex;font-weight:800;height:64px;justify-content:center;margin:0 auto 10px;width:64px}.doctor-info .doctor-meta{align-items:center;display:flex;flex-direction:column;gap:6px}.doctor-contact{align-items:center;color:#475569;display:flex;flex-wrap:wrap;font-size:13px;font-weight:600;gap:12px;justify-content:center}.doctor-email{color:#64748b;font-size:13px;font-weight:500}.doctor-phone{color:#334155}.doctor-phone,.doctor-status{font-size:13px;font-weight:700}.doctor-status{color:#0f172a;margin-top:8px;text-align:center}.doctor-left{display:flex;justify-content:center;width:100%}.doctor-info{align-items:center;display:flex;flex-direction:column;padding:0 8px}.doctor-toggle{align-self:center;margin-top:8px}.doctor-card.small .top-row{justify-content:space-between;width:100%}.doctor-card.small .top-left,.doctor-card.small .top-row{align-items:center;display:flex;gap:12px}.doctor-card.small .top-right{align-items:center;display:flex;gap:10px}.doctor-card.small .info-column,.doctor-card.small .name-block{display:flex;flex-direction:column}.doctor-card.small .info-column{align-items:flex-start;font-size:12px;gap:6px;margin-top:10px;padding-left:6px;width:100%}.doctor-card.small .info-row{width:100%}.doctor-card.small .info-label{flex:0 0 62px;width:62px}.doctor-card.small .info-val{flex:1 1 auto;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doctor-card.small .doctor-email{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doctor-card.small .doctor-phone{display:block}.doctor-card.small .doctor-specialty{color:#64748b;font-size:13px;font-weight:600}.doctor-card.small .doctor-email,.doctor-card.small .doctor-phone{color:#334155;font-size:13px;font-weight:600}.doctor-card.small .info-row{align-items:center;display:flex;gap:8px}.doctor-card.small .info-label{color:#94a3b8;font-weight:600;width:70px}.doctor-card.small .info-val{color:#0f172a;font-weight:500}.doctor-card.small .top-right .doctor-status{text-align:right}.toggle-switch{margin-left:8px}.doctor-specialty{color:#64748b;font-size:13px;font-weight:600;margin:2px 0 6px}.doctor-name{color:#1e293b;font-size:16px;font-weight:500;margin:0 0 4px}.doctor-status{color:#10b981;font-size:14px;font-weight:600;margin:0}.doctor-toggle{flex-shrink:0}.toggle-switch{background:#cbd5e1;border-radius:14px;cursor:pointer;height:28px;transition:all .3s ease;width:48px}.toggle-switch:after{background:#fff;border-radius:50%;content:"";height:24px;left:2px;position:absolute;top:2px;transition:left .3s ease;width:24px}.toggle-switch.active:after{left:22px}.queue-section{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 12px #0000000f;padding:28px}.queue-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;margin-bottom:28px;padding-bottom:20px}.queue-header,.queue-title{align-items:center;display:flex}.queue-title{gap:12px}.queue-icon{font-size:20px}.queue-title h4{color:#1e293b;font-size:18px;font-weight:700;margin:0}.token-badge{background:#10b9811a;border:1px solid #10b98133;border-radius:20px;color:#10b981;display:inline-block;font-size:13px;font-weight:700;padding:6px 16px}.queue-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding:20px 0;transition:all .2s ease}.queue-item:last-of-type{border-bottom:none}.queue-item.now-serving{background:#10b9810d;border-bottom:none;border-left:4px solid #10b981;border-radius:12px;padding:16px 20px}.queue-item.waiting{justify-content:space-between}.serving-label{background:#10b981;border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding:4px 12px}.queue-number{align-items:center;background:#f1f5f9;border-radius:12px;color:#64748b;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:48px;justify-content:center;width:48px}.queue-patient-info{align-items:center;display:flex;flex:1 1;gap:12px;justify-content:space-between}.queue-patient-name{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 4px}.queue-patient-service{color:#94a3b8;font-size:13px;font-weight:500;margin:0}.queue-time{align-items:center;display:flex;flex-shrink:0;gap:8px}.queue-time span{color:#64748b;font-size:14px;font-weight:600}.heart-icon{font-size:18px}.checkin-badge{background:#3b82f61a;border:1px solid #3b82f633;border-radius:16px;color:#3b82f6;display:inline-block;flex-shrink:0;font-size:12px;font-weight:700;padding:6px 14px}.view-queue-link{border-top:1px solid #f1f5f9;color:#94a3b8;display:block;font-size:14px;font-weight:600;text-align:center;text-decoration:none;transition:color .2s ease}.view-queue-link:hover{color:#10b981}@media (max-width:768px){.schedule-queue-wrapper{gap:20px}.doctor-card{gap:12px;padding:20px 24px}.doctor-avatar{font-size:14px;height:48px;width:48px}.queue-section{padding:24px 20px}.queue-item{padding:16px 0}}.patients-page{background:#f8fafc;min-height:100vh}.page-header2{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding:32px}.header-left h1{color:#1e293b;font-size:28px;font-weight:800;margin:0 0 8px}.header-left p{font-size:16px}.header-right{align-items:center;display:flex;gap:16px}.search-container{max-width:320px}.search-input{background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;font-size:14px;padding:14px 20px;transition:all .2s;width:100%}.search-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.add-patient-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:14px;box-shadow:0 4px 12px #10b98166;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:14px 28px;transition:all .3s;white-space:nowrap}.add-patient-btn:hover{box-shadow:0 8px 20px #10b98180;transform:translateY(-2px)}.patients-table-container{background:#fff;border-radius:20px;box-shadow:0 8px 32px #0000001f;margin:30px;overflow:hidden}.table-tabs{background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 32px}.tab{background:#fff;border:2px solid #0000;border-radius:12px;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.tab:hover{background:#f1f5f9;color:#475569}.tab.active{background:#10b981;box-shadow:0 4px 12px #10b98133;color:#fff}.patients-table{border-collapse:collapse;width:100%}.patients-table th{border-bottom:2px solid #f1f5f9;color:#64748b;font-size:14px;font-weight:700;letter-spacing:.8px;padding:20px 32px;text-align:left;text-transform:uppercase;white-space:nowrap}.patients-table td{border-bottom:1px solid #f8fafc;padding:24px 32px;vertical-align:middle}.patients-table tr:hover{background:#fdf2f8}.patient-row{gap:16px}.patient-avatar1,.patient-row{align-items:center;display:flex}.patient-avatar1{border-radius:16px;box-shadow:0 4px 12px #0000001a;flex-shrink:0;font-size:16px;font-weight:700;height:48px;justify-content:center;width:48px}.patient-name{color:#1e293b;font-size:16px;font-weight:600}.history-btn{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-radius:10px;color:#10b981;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s;white-space:nowrap}.history-btn:hover{background:#10b981;border-color:#10b981;color:#fff;transform:translateY(-1px)}@media (max-width:768px){.page-header{gap:20px}.header-right,.page-header{align-items:stretch;flex-direction:column}.header-right{gap:16px}.search-container{max-width:none}.table-tabs{flex-wrap:wrap;padding:16px 20px}}.modal-content{animation:popin .18s ease;max-width:820px}@keyframes popin{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.patient-form h3{color:#0f172a;font-size:20px;margin:0 0 12px}.form-grid{grid-gap:12px;gap:12px;margin-top:12px}.form-grid input,.form-grid select,.form-grid textarea{background:#fff;border:1px solid #e6e9ee;border-radius:8px;font-size:14px;padding:10px 12px}.form-grid textarea{grid-column:1/-1;min-height:80px;resize:vertical}.form-actions{margin-top:16px}.cancel-btn{border-radius:10px;padding:10px 14px}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.modal-content{padding:16px}}.medical-history{margin-top:12px}.medical-history-label{color:#0f172a;display:block;font-weight:700;margin-bottom:8px}.history-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 200px 1fr;margin-bottom:8px}.history-condition,.history-date,.history-notes-input{border:1px solid #e6e9ee;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.history-notes-wrap{align-items:center;display:flex;gap:8px}.remove-history-btn{background:#0000;border:1px solid #f1f5f9;border-radius:8px;color:#ef4444;cursor:pointer;padding:8px 10px}.add-history-btn{background:#0000;border:none;color:#065f46;cursor:pointer;font-weight:700;margin-top:8px}.remove-history-btn:hover{background:#fee2e2;border-color:#fecaca}.add-history-btn:hover{text-decoration:underline}.active-checkbox{align-items:center;color:#064e3b;display:inline-flex;font-weight:600;gap:8px}.active-checkbox input{accent-color:#10b981;height:16px;width:16px}.row-menu-btn{font-size:20px}.row-menu{top:36px}.detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}.detail-row{background:#fff;border:1px solid #f1f5f9;border-radius:8px;padding:8px 10px}.badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:700;padding:6px 10px}.badge.active{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}.badge.inactive{background:#fff1f2;border:1px solid #fecaca;color:#9f1239}.mh-list{margin:8px 0 0 16px;padding-left:6px}.mh-list li{margin-bottom:8px}.mh-notes{color:#475569;font-size:13px;margin-top:4px}.appointments-container{background:#f8fafc;min-height:100vh}.add-appointment-btn{align-items:center;background:linear-gradient(135deg,#06b6d4,#0ea5a3);border:none;border-radius:10px;box-shadow:0 8px 20px #0ea5a32e;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:10px 18px;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.add-appointment-btn:hover{box-shadow:0 12px 30px #0ea5a338;transform:translateY(-2px)}.add-appointment-btn:active{opacity:.95;transform:translateY(0)}.add-appointment-btn:focus{outline:3px solid #0ea5a32e;outline-offset:2px}@media (max-width:600px){.add-appointment-btn{font-size:14px;padding:8px 12px}}.appointments-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;margin-right:20px}.header-actions,.header-actions-below{display:flex;justify-content:flex-end}.header-actions{align-items:center;margin-right:20px}.simple-tabs{background:#fff;box-shadow:0 4px 20px #00000014;display:flex;gap:12px;margin-bottom:24px;padding:10px 14px}.tab-btn{background:#fff;border:1px solid #d1d5db;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.tab-btn.active,.tab-btn:hover{background:#10b981;border-color:#10b981;box-shadow:0 4px 12px #10b98133;color:#fff}.appointments-table{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:32px;overflow:visible}.table-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr .6fr}.header-cell{color:#374151;font-size:14px;font-weight:600;letter-spacing:.5px;padding:20px 24px;text-transform:uppercase}.date-col,.doctor-col,.patient-col{border-right:1px solid #f3f4f6}.actions-col,.date-col{text-align:center}.table-app,.table-body{overflow:visible}.table-row{align-items:center;border-bottom:1px solid #f9fafb;display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr .6fr;transition:all .2s}.table-row:hover{background:#fdf2f8}.table-cell{min-height:72px;padding:14px}.patient-cell,.table-cell{align-items:center;display:flex;gap:12px}.patient-cell{justify-content:flex-start}.patient-avatar{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;flex-shrink:0;font-size:14px;font-weight:700;height:28px;justify-content:center;margin-bottom:0;width:28px}.appt-patient-info,.patient-avatar{align-items:center;align-self:center;display:flex}.appt-patient-info{flex-direction:row;gap:10px;min-width:0}.appt-patient-name{color:#1f2937;font-size:16px;font-weight:600;line-height:1.15}.appt-patient-name,.appt-patient-phone{align-items:center;display:inline-flex;white-space:nowrap}.appt-patient-phone{color:#6b7280;font-size:14px;line-height:1.1}.doctor-cell .doctor-name{color:#374151;font-size:15px;font-weight:500}.date-cell{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center;text-align:center}.date{color:#1f2937;font-size:16px;font-weight:700;line-height:1}.time{color:#6b7280;font-size:13px;margin-top:4px}.status-badge{min-width:-webkit-fit-content;min-width:fit-content;padding:6px 12px}.status-badge.scheduled{background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3}.status-badge.reserved{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.status-badge.confirmed{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}.status-badge.pending{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.status-badge.completed{background:#f0fdf4;border:1px solid #bbf7d0;color:#065f46}.status-badge.cancelled{background:#fff1f2;border:1px solid #fecaca;color:#9f1239}.status-badge.no-show{background:#fff7f0;border:1px solid #fbcfe8;color:#9a3412}.modal-content{padding:24px}.modal-content input,.modal-content select{border:1px solid #e6e9ee;border-radius:8px;font-size:14px;padding:10px 12px}.modal-content .create-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 18px}.modal-content .cancel-btn{background:#0000;border:1px solid #e6e9ee;border-radius:10px;cursor:pointer;padding:10px 14px}.slot-picker{margin-top:8px}.slot-picker h4{color:#0f172a;font-size:15px;margin:0 0 8px}.slot-picker ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.slot-picker li{list-style:none}.slot-picker button{background:#fff;border:1px solid #e6e9ee;border-radius:10px;cursor:pointer;font-weight:600;padding:8px 12px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.slot-picker button:hover{box-shadow:0 8px 20px #02061714;transform:translateY(-3px)}.slot-picker button.selected{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 8px 20px #10b9812e;color:#fff}@media (max-width:600px){.slot-picker ul{gap:6px}.slot-picker button{font-size:13px;padding:8px 10px}}.row-menu-wrap{display:inline-block;position:relative}.row-menu-btn{background:#0000;border:none;border-radius:6px;color:#475569;cursor:pointer;font-size:18px;line-height:1;padding:6px 8px}.row-menu-btn:hover{background:#f1f5f9;color:#0f172a}.row-menu{background:#fff;border-radius:8px;box-shadow:0 8px 24px #0206171f;display:flex;flex-direction:column;min-width:140px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:2200}.row-menu-item{background:#0000;border:none;color:#0f172a;cursor:pointer;font-weight:600;padding:10px 14px;text-align:left;width:100%}.row-menu-item:hover{background:#f8fafc}.row-menu-item.delete{color:#b91c1c}.actions-cell{align-items:center;display:flex;gap:8px;justify-content:center;overflow:visible;position:relative}@media (max-width:768px){.table-header,.table-row{grid-template-columns:2fr 1fr 1fr}.status-col{display:none}.simple-tabs{flex-wrap:wrap;padding:16px}}.header{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border-bottom:1px solid #e5e7eb;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:12px;justify-content:space-between;padding:12px 24px;width:100%}.search-container{flex:1 1;min-width:0;position:relative}.p-h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.search-input{background:#fff;border:1px solid #e1e5e9;border-radius:24px;font-size:16px;max-width:500px;outline:none;padding:12px 20px 12px 44px;transition:all .2s ease}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-icon{color:#9ca3af;font-size:18px;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.bookings-badge{align-items:center;background:#f97316;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:600;gap:4px;padding:4px 8px;transition:background .2s ease}.bookings-badge:hover{background:#ea580c}.notif-icon{font-size:25px}.header-btns{align-items:center;display:flex;gap:16px}.date{color:#6b7280;flex-shrink:0;font-size:18px;font-weight:500;white-space:nowrap}.billing-page{background:#f1f5f9;min-height:100vh}.page-header{align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:10px 14px}.header-left h1{color:#0f172a;font-size:24px;font-weight:700;margin:0 0 4px}.header-left p{color:#64748b;font-size:14px;margin:0}.today-badge{background:#10b981;border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:6px 12px}.bell-btn{background:none;border:none;cursor:pointer;font-size:20px;padding:8px}.billing-container{display:flex;gap:0;overflow:hidden;padding:32px}.billing-card,.billing-left,.billing-right,.invoice-card{display:flex;flex:1 1;flex-direction:column}.billing-card,.invoice-card{background:#fff;box-shadow:0 4px 12px #00000014;overflow-y:auto;padding:24px}.patient-info{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.patient-field{display:flex;flex-direction:column}.patient-field label{color:#374151;font-size:14px;font-weight:500;margin-bottom:6px}.patient-field input{border:2px solid #e2e8f0;border-radius:8px;font-size:15px;padding:12px 14px;transition:all .2s}.patient-field input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.services-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.services-header h3{color:#1e293b;font-size:18px;margin:0}.add-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.services-list{display:flex;flex:1 1;flex-direction:column;gap:12px;margin-bottom:24px}.service-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:12px;padding:16px}.service-name-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:14px;padding:10px 12px}.service-controls{align-items:center;display:flex;gap:8px;min-width:200px}.qty-input,.rate-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 10px;text-align:center;width:60px}.service-total{color:#1e293b;font-weight:600;min-width:80px;text-align:right}.delete-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.billing-total{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;margin-top:auto;padding:20px}.total-display{color:#1e293b;font-size:20px;font-weight:700}.invoice-header,.total-display{display:flex;justify-content:space-between}.invoice-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;margin-bottom:24px;padding-bottom:20px}.clinic-info{align-items:flex-start;display:flex;gap:12px}.logo{align-items:center;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.clinic-info h3{color:#1e293b;font-size:20px;margin:0 0 4px}.clinic-info p{color:#64748b;font-size:14px;margin:0}.invoice-meta{text-align:right}.invoice-number span{color:#64748b;display:block;font-size:14px}.invoice-number strong{color:#1e293b;font-size:20px;font-weight:700}.invoice-patient{grid-gap:24px;border-bottom:1px solid #e2e8f0;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding-bottom:20px}.invoice-patient h4{color:#374151;font-size:15px;margin:0 0 12px}.invoice-services{display:flex;flex:1 1;flex-direction:column}.services-header-row{background:#f8fafc;border-radius:8px 8px 0 0;color:#374151;font-size:14px;font-weight:600}.service-row,.services-header-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr .8fr 1fr 1fr;padding:16px}.service-row{border-bottom:1px solid #f1f5f9}.service-row:last-child{border-bottom:none}.service-row span{color:#1e293b;font-size:14px}.invoice-footer{border-top:2px solid #e2e8f0;margin-top:auto;padding-top:24px}.grand-total{color:#1e293b;display:flex;font-size:24px;font-weight:700;justify-content:space-between;margin-bottom:24px}.pdf-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;justify-content:center;padding:16px;width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b1}.financials-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;margin-top:24px;padding:20px}.financials-section h3{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 20px}.financial-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 0}.financial-row:last-child{border-bottom:none}.financial-row.total-row{border-top:2px solid #10b981;margin-top:12px;padding-top:20px}.financial-label{color:#374151;font-size:15px;font-weight:600}.gst-toggle{align-items:center;background:#f1f5f9;border:1px solid #d1d5db;border-radius:20px;color:#64748b;cursor:pointer;display:flex;font-size:13px;gap:8px;margin-top:8px;padding:6px 12px;transition:all .2s}.gst-toggle:hover{background:#e2e8f0}.toggle-switch{background:#d1d5db;border-radius:10px;height:10px;position:relative;transition:all .2s;width:20px}.toggle-switch.active{background:#10b981}.amount-display{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.amount-display>span:first-child{color:#1e293b;font-size:20px;font-weight:700}.discount-input{background:#f8fafc;border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:5px;text-align:center;width:50px}.gst-percentage{color:#64748b;font-size:13px;font-weight:500}.total-amount{color:#10b981!important;font-size:24px!important;font-weight:800!important}.grand-total-row,.gst-row,.subtotal-row{background:#f8fafc;font-weight:600}.subtotal-row{border-top:2px solid #e2e8f0}.gst-row span:first-child{color:#3b82f6}.grand-total-row{background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;border-top:3px solid #10b981}.grand-total-amount{color:#10b981!important;font-size:22px!important;font-weight:800!important}@media (max-width:768px){.financial-row{align-items:flex-start;flex-direction:column;gap:8px}.amount-display{align-items:flex-end}}@media print{body *{visibility:hidden}.invoice-card,.invoice-card *{visibility:visible}.invoice-card{background:#fff!important;border-radius:0!important;box-shadow:none!important;left:0;margin:0 auto;max-width:800px;padding:40px!important;position:absolute;top:0;width:100%}.invoice-card .invoice-footer{display:none!important}*{overflow:visible!important}}@page{size:A4;margin:20mm}.billing-footer{align-items:center;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -4px 12px #0000000f;display:flex;gap:16px;justify-content:space-between;padding:16px 24px;width:calc(100% + 48px);width:100%}.footer-left{flex:1 1}.footer-center{flex-shrink:0}.footer-right,.whatsapp-btn{display:flex;gap:8px}.whatsapp-btn{align-items:center;background:#fff;border:1px solid #25d366;border-radius:12px;color:#25d366;cursor:pointer;font-size:14px;font-weight:600;justify-content:flex-start;padding:12px 16px;transition:all .2s ease}.whatsapp-btn:hover{background:#25d366;color:#fff}.btn-subtitle{color:#6b7280;font-size:12px;font-weight:400;margin-left:auto;white-space:nowrap}.whatsapp-btn:hover .btn-subtitle{color:#fffc}.pdf-btn{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.pdf-btn:hover{background:#f3f4f6;border-color:#9ca3af}.print-btn{align-items:center;background:linear-gradient(135deg,#16be3a,#21ba1f);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;min-width:72px;padding:12px 16px;transition:all .2s ease}.print-btn:hover,.save-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}@media (max-width:768px){.billing-footer{flex-direction:column;gap:12px;padding:16px}.footer-center,.footer-left,.footer-right{width:100%}.pdf-btn,.whatsapp-btn{justify-content:center}}.invoice-bottom-footer{border-top:2px dashed #d1d5db;margin-top:40px;padding-bottom:32px;padding-top:24px}.terms-conditions{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.terms-left{flex:1 1}.terms-left strong{color:#1e293b;display:block;font-size:14px;font-weight:700;margin-bottom:8px}.terms-left p{color:#6b7280;font-size:13px;line-height:1.5;margin:0}.signature-section{flex-shrink:0}.signature-box{background:#f8fafc;border-radius:8px;min-width:160px;padding:20px 16px;text-align:center}.signature-box span:first-child{color:#1e293b;display:block;font-size:16px;font-weight:600;margin-bottom:4px}.signature-box span:last-child{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.thank-you-section{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #bbf7d0;border-radius:12px;padding:24px 0;text-align:center}.thank-you-box{margin:0 auto;max-width:300px}.thank-you-box h4{color:#166534;font-size:18px;font-weight:700;line-height:1.3;margin:0}.thank-you-box h4:last-child{font-size:20px;margin-top:4px}@media print{.invoice-bottom-footer{border-top:2px dashed #000!important}.signature-box{background:#f5f5f5!important;border:1px solid #000!important}.thank-you-section{background:#f0f9f0!important;border:2px solid #000!important}}@media (max-width:768px){.terms-conditions{flex-direction:column;gap:16px}.signature-section{align-self:center}}.bill-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.bill-toggle{background:#f3f4f6;border-radius:8px;display:flex;padding:4px}.bill-toggle button{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-weight:600;padding:6px 16px}.bill-toggle button.active{background:#16a34a;color:#fff}.total-amount-section{align-items:center;border-top:1px dashed #e5e7eb;display:flex;justify-content:space-between;margin-top:24px;padding-top:16px}.total-label{font-size:18px;font-weight:600}.total-value{color:#16a34a;font-size:24px;font-weight:700}.simple-invoice{background:#fff;padding:32px}.simple-invoice-header{align-items:flex-start;display:flex;justify-content:space-between}.clinic-title{align-items:center;display:flex;gap:12px}.clinic-icon{color:#16a34a;font-size:20px}.clinic-logo-img{border-radius:6px;display:block;height:auto;width:130px}.clinic-title h2{font-size:22px;margin:0}.clinic-title p{color:#6b7280;font-size:12px;letter-spacing:1px;margin:0}.invoice-title{text-align:right}.invoice-title h1{color:#d1d5db;font-size:28px;letter-spacing:2px;margin:0}.invoice-title p{font-weight:600;margin-top:4px}.divider-line{background:#22c55e;height:2px;margin:20px 0}.invoice-table-header{color:#6b7280;display:flex;font-weight:600;justify-content:space-between;margin-bottom:12px}.invoice-items{display:flex;flex-direction:column;gap:14px}.invoice-item-row{display:flex;font-size:15px;justify-content:space-between}.amount-col{min-width:120px;text-align:right}.invoice-grand-total{border-top:1px solid #e5e7eb;display:flex;font-size:18px;font-weight:700;gap:40px;justify-content:flex-end;margin-top:32px}.grand-total-amount{font-size:20px}.schedule-container{background:#f8fafc;min-height:100vh}.calendar-main-layout{box-shadow:0 20px 60px #0000001a;display:flex;gap:0;overflow:hidden}.left-panel{display:flex;flex:1 1;flex-direction:column;min-width:0}.calendar-header1{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:15px;padding:10px 12px}.header-title{color:#1e293b;font-size:20px;font-weight:700}.header-tabs{display:flex;flex:1 1;gap:4px}.tab{background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px}.tab.active{background:#fff;border-color:#10b981;color:#10b981}.header-controls{align-items:center;display:flex;flex-shrink:0;gap:12px}.doctor-select-wrapper{flex-shrink:0;max-width:200px;min-width:180px}.doctor-filter{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:10px 16px}.dropdown-icon{height:16px;width:16px}.add-slot-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.calendar-left-content{border-radius:6px;box-sizing:border-box;display:grid;flex:1 1;grid-template-columns:80px 1fr;height:100%;overflow-y:auto;padding:20px}.time-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:6px 0 0 6px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:32px 12px}.time-slot{align-items:flex-end;display:flex;height:72px;padding:0 4px 8px 0;position:relative}.time-slot.blocked{background:#ef444414;border-radius:4px}.time-slot.available{background:#10b98114;border-radius:4px}.time-label{color:#6b7280;font-size:13px;font-weight:500;min-width:36px}.availability-badge{background:#10b981;border-radius:6px;bottom:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;position:absolute;right:4px}.calendar-main{background:#fff;border-radius:0 6px 6px 0;display:flex;flex-direction:column;overflow-y:auto;padding:32px}.date-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.date-header h2{color:#1e293b;font-size:22px;font-weight:700;margin:0}.today-btn-small{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#10b981;cursor:pointer;font-weight:600;padding:8px 16px}.calendar-grid{display:flex;flex-direction:column;gap:4px}.calendar-slot{border-radius:8px;cursor:pointer;height:72px;margin-right:8px;position:relative;transition:all .2s}.calendar-slot:hover{transform:translateY(-1px)}.calendar-slot.blocked-slot{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5}.blocked-indicator{background:#ef4444;border-radius:16px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.calendar-slot.available-slot{align-items:center;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #6ee7b7;display:flex;padding:16px}.calendar-slot.booked-slot{align-items:center;background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:2px solid #60a5fa;display:flex;padding:16px}.booked-indicator{background:#60a5fa;border-radius:16px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.availability-info{margin-left:auto;text-align:right}.availability-info span{color:#059669;display:block;font-size:14px}.available-slots{color:#065f46;font-size:12px;font-weight:600}.right-panel{background:#fff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;width:360px}.pending-sidebar{display:flex;flex:1 1;flex-direction:column;height:100%}.pending-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;flex-shrink:0;justify-content:space-between;padding:32px 32px 24px}.pending-header h4{color:#1e293b;font-size:18px;font-weight:700;margin:0}.pending-count{background:#fef3c7;border-radius:20px;color:#92400e;font-size:14px;font-weight:700;padding:4px 12px}.pending-list{flex:1 1;overflow-y:auto;padding:10px 12px}.pending-item{background:#fff;border:1px solid #e5e7eb;border-radius:16px;display:flex;flex-direction:column;gap:16px;margin-bottom:12px;padding:24px}.pending-item-top{align-items:center;display:flex;gap:16px}.pending-avatar.purple{align-items:center;background:linear-gradient(135deg,#c4b5fd,#a78bfa);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:48px;justify-content:center;width:48px}.pending-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.pending-name{color:#1e293b;font-size:16px;font-weight:700}.booking-type{color:#94a3b8;font-size:14px;font-weight:500}.time-ago{color:#cbd5e1;flex-shrink:0;font-size:14px;font-weight:600}.pending-actions{display:flex;gap:12px}.action-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;height:44px;justify-content:center;transition:all .2s ease}.action-btn:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.action-btn.approve{background:#10b9811a;border:1px solid #10b98133;color:#10b981}.action-btn.approve:hover{background:#10b98126}.action-btn.reschedule{background:#3b82f61a;border:1px solid #3b82f633;color:#3b82f6}.action-btn.reschedule:hover{background:#3b82f626}.action-btn.decline{background:#ef44441a;border:1px solid #ef444433;color:#ef4444}.action-btn.decline:hover{background:#ef444426}@media (max-width:1400px){.right-panel{width:320px}}@media (max-width:768px){.calendar-main-layout{flex-direction:column;height:auto}.right-panel{order:-1;width:100%}.time-sidebar{display:none}}.date-nav{gap:12px}.date-controls,.date-nav{align-items:center;display:flex}.date-controls{gap:16px}.nav-btn{background:#f8fafc;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:8px 12px}.current-time{color:#10b981;font-weight:600}.time-sidebar-title{border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:16px 12px 12px}.slot-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.slot-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;min-width:300px;padding:32px}.slot-options{display:flex;flex-direction:column;gap:12px;margin:24px 0}.slot-option{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:16px}.slot-option.available{background:#d1fae5;color:#065f46}.slot-option.blocked{background:#fee2e2;color:#991b1b}.slot-option.booked{background:#fef3c7;color:#92400e}.modal-close{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;padding:12px;width:100%}.doctor-select-container{position:relative;width:100%}.doctor-select-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;min-height:44px;overflow:hidden;padding:10px 16px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap;width:100%}.doctor-select-btn:hover{border-color:#10b981;box-shadow:0 2px 8px #10b98126}.dropdown-arrow{color:#6b7280;flex-shrink:0;height:16px;width:16px}.doctor-select-btn:hover .dropdown-arrow{color:#10b981}.doctor-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 25px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.doctor-dropdown-item{border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .2s ease}.doctor-dropdown-item:hover{background:#f8fafc;color:#10b981}.doctor-dropdown-item:last-child{border-bottom:none}.doctor-select-container:before{content:"";height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:-1}.modal-overlay{align-items:center;background:#02061799;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 24px 60px #02061773;max-width:720px;padding:20px;width:100%}.modal-content h3{color:#0f172a;font-size:18px;margin:0 0 12px}.form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.form-grid input,.form-grid select{background:#fff;border:1px solid #e6e9ee;border-radius:8px;font-size:14px;padding:10px 12px}.form-grid label{color:#0f172a;display:block;font-weight:700;margin-bottom:6px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.create-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 18px}.cancel-btn{background:#0000;border:1px solid #e6e9ee;border-radius:8px;cursor:pointer;padding:8px 12px}.form-error{color:#b91c1c;font-weight:600;margin-top:8px}.settings-page{background:#f8faf7;min-height:100vh}.settings-topbar{justify-content:space-between;padding:16px 32px}.search-box,.settings-topbar{align-items:center;display:flex}.search-box{background:#f1f5f0;border-radius:10px;gap:10px;padding:10px 16px;width:320px}.search-box input{background:#0000;border:none;outline:none;width:100%}.topbar-right{gap:20px}.booking-btn,.topbar-right{align-items:center;display:flex}.booking-btn{background:#fff;border:1px solid #fed7aa;border-radius:999px;color:#ea580c;font-weight:600;gap:8px;padding:8px 16px}.booking-btn .dot{background:#ea580c;border-radius:50%;height:8px;width:8px}.bell-icon{font-size:20px}.date-text{color:#6b7280}.settings-header{padding:0 32px 24px}.settings-header h1{font-size:36px;margin-bottom:6px}.settings-header p{color:#6b7280}.settings-content{display:flex;gap:24px;padding:0 32px}.settings-sidebar{background:#fff;border-radius:16px;padding:16px;width:240px}.sidebar-item{align-items:center;border-radius:12px;color:#374151;cursor:pointer;display:flex;font-weight:600;gap:12px;padding:14px 16px}.sidebar-item.active{background:#eafff1;color:#22c55e}.settings-panel{background:#fff;border-radius:16px;flex:1 1;padding:24px}.panel-header{align-items:center;display:flex;justify-content:space-between}.panel-header h2{font-size:24px}.panel-header p{color:#6b7280}.add-doctor-btn{background:#22c55e;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;padding:12px 20px}.doctor-card1{border:1px solid #e5e7eb;border-radius:16px;justify-content:space-between;margin-top:24px;padding:16px 20px}.doctor-card1,.doctor-info1{align-items:center;display:flex}.doctor-info1{gap:16px}.avatar-wrapper{position:relative}.avatar-wrapper img{border-radius:50%;height:56px;width:56px}.status-dot{background:#22c55e;border:2px solid #fff;border-radius:50%;bottom:4px;height:10px;position:absolute;right:4px;width:10px}.doctor-card1 h3{margin:0}.admin-badge{background:#dcfce7;border-radius:999px;color:#16a34a;font-size:12px;margin-left:8px;padding:4px 10px}.doctor-card1 p{color:#6b7280;margin:4px 0 0}.edit-icon{color:#6b7280;cursor:pointer;font-size:20px}.doctor-actions{align-items:center;display:flex;gap:8px}.small-btn{background:#fff;border:1px solid #e6e9ee;border-radius:8px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;white-space:nowrap}.small-btn:hover{background:#f8fafc;box-shadow:0 8px 20px #0206170f;transform:translateY(-2px)}.small-btn.danger{background:#fff7f7;border-color:#fecaca;color:#991b1b}.small-btn.danger:hover{background:#fee2e2;box-shadow:0 8px 20px #b91c1c0f}@media (max-width:480px){.small-btn{font-size:12px;padding:6px 8px}}.layout{background:#f9fafb;display:flex;flex:1 1;flex-direction:column;height:100vh}.layout-content{flex:1 1;margin-left:20%;min-height:0;overflow-y:auto}@media (max-width:1024px){.layout-content{margin-left:0}}*{font-family:Segoe UI,sans-serif}.login-wrapper{align-items:center;background:linear-gradient(135deg,#90a99b,#8fa89c);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:14px;box-shadow:0 25px 60px #00000026;padding:32px 28px;position:relative;text-align:center;width:380px}.top-bar{background:#1ce45a;border-radius:14px 14px 0 0;height:6px;left:0;position:absolute;right:0;top:0}.logo-circle{align-items:center;background:#eafff1;border-radius:50%;display:flex;height:64px;justify-content:center;margin:20px auto 10px;width:64px}.login-clinic-logo{display:block;height:auto;margin:20px auto 8px;max-width:280px;width:100%}.logo-icon{color:#18b857;font-size:26px}.clinic-name{color:#1f2937;font-weight:700;margin:8px 0 2px}.clinic-subtitle{color:#18b857;font-size:14px;font-weight:600;margin-bottom:16px}.admin-text{color:#9ca3af;display:block;font-size:13px;margin-bottom:22px}.mode-toggle{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;display:inline-flex;gap:4px;margin:0 auto 18px;padding:4px}.mode-toggle button{background:#0000;border:none;border-radius:8px;color:#4b5563;cursor:pointer;font-size:14px;font-weight:600;padding:8px 14px;transition:all .2s ease}.mode-toggle button.active{background:#fff;box-shadow:0 2px 8px #0f172a1f;color:#0f172a}.mode-toggle button:hover:not(.active){background:#e5e7eb}.form-group{margin-bottom:16px;text-align:left}.form-group label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-group input{border:1px solid #e5e7eb;border-radius:10px;font-size:14px;outline:none;padding:12px 14px;width:100%}.form-group input:focus{border-color:#1ce45a}.options-row{font-size:13px;justify-content:space-between;margin:10px 0 20px}.checkbox,.options-row{align-items:center;display:flex}.checkbox{color:#4b5563;gap:6px}.forgot-link{color:#18b857;font-weight:600;text-decoration:none}.login-btn{background:#1ce45a;border:none;border-radius:12px;color:#000;cursor:pointer;font-size:15px;font-weight:700;padding:14px;transition:all .25s ease;width:100%}.login-btn:hover{background:#17c94f}.ssl-text{color:#6b7280;font-size:12px;margin-top:18px}.footer-text{color:#f1f5f9;font-size:13px;margin-top:20px}*{box-sizing:border-box;margin:0;padding:0}body{background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app,body{height:100vh;overflow:hidden}.app{display:flex;width:100vw}.sidebar-container{background:linear-gradient(180deg,#1e293b,#0f172a);box-shadow:4px 0 20px #0000001a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;position:relative;width:260px;z-index:1000}.layout-container{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.top-nav{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;display:flex;flex-shrink:0;height:70px;padding:0 24px}.main-content{background:#f8fafc;flex:1 1;overflow:hidden;overflow-y:auto;padding:32px}.menu-item.active{background:#10b98133;border-right:4px solid #10b981;color:#10b981}@media (max-width:1024px){.sidebar-container{width:240px}}@media (max-width:768px){.app{flex-direction:column}.sidebar-container{flex-direction:row;height:70px;width:100%}.layout-container{height:calc(100vh - 70px)}}.main-content,.sidebar-container,.top-nav{transition:all .3s cubic-bezier(.4,0,.2,1)}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.main-content::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.main-content::-webkit-scrollbar-thumb:hover{background:#94a3b1}.loading{align-items:center;color:#64748b;display:flex;justify-content:center}.full-height,.loading{height:100%}.no-scroll{overflow:hidden!important}.menu-item{transition:all .2s ease}.menu-item:hover{background:#ffffff1a}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-active{background:#10b98133;color:#10b981}.status-inactive{background:#ef444433;color:#ef4444}.card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:24px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#374151}.btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}
/*# sourceMappingURL=main.6bf5e9ad.css.map*/