*{margin:0;padding:0;box-sizing:border-box}[hx-get],[hx-post],[hx-put],[hx-delete],[hx-patch]{cursor:pointer}:root{--primary:#2563eb;--primary-dark:#1e40af;--primary-light:#3b82f6;--secondary:#10b981;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--brand-primary:var(--primary);--brand-secondary:var(--primary-dark);--brand-primary-hover:var(--primary-dark);--brand-primary-light:var(--primary-light);--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--sidebar-width:260px;--sidebar-bg:#1e293b;--sidebar-text:#e2e8f0;--sidebar-active:var(--primary);--header-height:80px;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 1px 3px 0 rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--radius-sm:.25rem;--radius:.5rem;--radius-lg:.75rem;--radius-xl:1rem}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--gray-800);background:var(--gray-50);display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;box-shadow:var(--shadow-lg);z-index:100}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h1{font-size:1.5rem;margin-bottom:.25rem;color:#fff}.sidebar-logo{width:100%;max-width:180px;margin-bottom:.5rem}.sidebar-logo img{width:100%;height:auto;max-height:60px;object-fit:contain}.sidebar-subtitle{font-size:.875rem;color:var(--gray-400)}.sidebar-nav{flex:1;padding:var(--spacing-md) 0}.nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);color:var(--sidebar-text);text-decoration:none;transition:all .2s;border-left:3px solid transparent}.nav-item:hover{background:rgba(255,255,255,.05);color:#fff}.nav-item.active{background:rgba(37,99,235,.1);border-left-color:var(--sidebar-active);color:#fff}.nav-icon{font-size:1.25rem}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.user-name{font-weight:600;color:#fff;font-size:.875rem}.user-role{font-size:.75rem;color:var(--gray-400)}.main-content{margin-left:var(--sidebar-width);flex:1;padding:var(--spacing-lg);max-width:calc(100vw - var(--sidebar-width))}.page-header{margin-bottom:var(--spacing-xl)}.header-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1{font-size:2rem;color:var(--gray-900);margin-bottom:.25rem}.header-subtitle{color:var(--gray-500);font-size:.95rem}.header-date{text-align:right}.date-label{display:block;font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.date-value{display:block;font-size:1.125rem;font-weight:600;color:var(--gray-900)}.header-actions{display:flex;gap:var(--spacing-sm)}.back-link{display:inline-block;color:var(--primary);text-decoration:none;font-size:.95rem;margin-bottom:var(--spacing-sm);transition:color .2s}.back-link:hover{color:var(--primary-dark)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:0;border-radius:var(--radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--brand-primary,var(--primary));color:#fff}.btn-primary:hover{background:var(--brand-primary-hover,var(--primary-dark));box-shadow:var(--shadow-md)}.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-300)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626;box-shadow:var(--shadow-md)}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.btn-icon{background:none;border:0;font-size:1.25rem;cursor:pointer;padding:.25rem;transition:transform .2s}.btn-icon:hover{transform:scale(1.1)}.btn-link{color:var(--primary);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s}.btn-link:hover{color:var(--primary-dark)}.btn-text{background:none;border:0;color:var(--primary);font-size:.875rem;cursor:pointer;padding:.25rem .5rem;transition:color .2s}.btn-text:hover{color:var(--primary-dark);text-decoration:underline}.btn-loading{position:relative}.btn-loading .btn-spinner{display:none;width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-spin .6s linear infinite}.htmx-request .btn-loading .btn-spinner,.btn-loading.loading .btn-spinner{display:inline-block;margin-left:.5rem}.htmx-request .btn-loading .btn-label,.btn-loading.loading .btn-label{opacity:.7}.htmx-request .btn-loading,.btn-loading.loading{pointer-events:none;opacity:.8}@keyframes btn-spin{to{transform:rotate(360deg)}}.text-danger{color:var(--danger)!important}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;align-items:center;gap:var(--spacing-md);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.75rem}.stat-content{flex:1}.stat-label{font-size:.875rem;color:var(--gray-500);margin-bottom:.25rem}.stat-value{font-size:2rem;font-weight:700;color:var(--gray-900)}.stat-trend{font-size:.8rem;color:var(--gray-500)}.stat-trend.up{color:var(--success)}.quick-actions{margin-bottom:var(--spacing-xl)}.section-title{font-size:1.5rem;color:var(--gray-900);margin-bottom:var(--spacing-md)}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-md)}.action-card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:all .2s;border:2px solid transparent}.action-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.action-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.action-card h3{font-size:1.125rem;color:var(--gray-900);margin-bottom:.5rem}.action-card p{font-size:.875rem;color:var(--gray-500)}.schedule-preview,.recent-patients{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.schedule-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.schedule-item{display:flex;align-items:center;padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius);gap:var(--spacing-md);transition:background .2s}.schedule-item:hover{background:var(--gray-100)}.schedule-item.gap{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.schedule-time{font-weight:600;color:var(--primary);min-width:90px}.schedule-details{flex:1;display:flex;align-items:center;gap:var(--spacing-sm)}.patient-name{font-weight:500;color:var(--gray-900)}.patient-type{padding:.25rem .75rem;border-radius:var(--radius);font-size:.8rem;font-weight:500}.patient-type.medical-aid{background:#dbeafe;color:#1e40af}.patient-type.cash{background:#d1fae5;color:#065f46}.patient-type.gap-time{background:rgba(0,0,0,.1);color:#78350f}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--gray-100);position:sticky;top:0;z-index:10}.data-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);font-weight:600;color:var(--gray-700);font-size:.875rem;border-bottom:2px solid var(--gray-200)}.data-table td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-200)}.data-table tbody tr{transition:background .2s;cursor:pointer}.data-table tbody tr:hover{background:var(--gray-50)}.patient-info{display:flex;align-items:center;gap:var(--spacing-sm)}.patient-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.patient-name-cell{font-weight:500;color:var(--gray-900)}.patient-meta{font-size:.8rem;color:var(--gray-500)}.badge{display:inline-block;padding:.25rem .625rem;border-radius:var(--radius);font-size:.8rem;font-weight:500}.badge-medical{background:#dbeafe;color:#1e40af}.badge-cash{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.count{color:var(--gray-500);font-weight:normal}.calendar-controls{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.date-navigator{display:flex;align-items:center;gap:var(--spacing-md)}.current-date{text-align:center}.date-display{display:block;font-size:1.25rem;font-weight:600;color:var(--gray-900)}.day-of-week{font-size:.875rem;color:var(--gray-500)}.daily-schedule{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.schedule-summary{display:flex;gap:var(--spacing-md);font-size:.9rem}.summary-item{color:var(--gray-600)}.timeline-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.time-slot{display:flex;gap:var(--spacing-md);align-items:start}.time-label{min-width:90px;font-weight:600;color:var(--gray-600);padding-top:var(--spacing-md)}.appointment-card{flex:1;background:var(--gray-50);border-radius:var(--radius-lg);padding:var(--spacing-md);border-left:4px solid var(--gray-300);transition:all .2s}.appointment-card.booked{background:#fff;border-left-color:var(--primary);box-shadow:var(--shadow-sm)}.appointment-card.booked:hover{box-shadow:var(--shadow-md)}.appointment-card.cash-patient{border-left-color:var(--success)}.appointment-card.available{cursor:pointer;border-style:dashed}.appointment-card.available:hover{background:var(--gray-100);border-color:var(--primary)}.appointment-card.gap{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left-color:var(--warning)}.available-slot{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:var(--gray-500)}.available-icon{font-size:1.5rem;color:var(--primary)}.appointment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.appointment-details{display:flex;flex-direction:column;gap:.25rem;margin-bottom:var(--spacing-sm)}.detail-item{font-size:.875rem;color:var(--gray-600)}.appointment-actions{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--gray-200)}.gap-content{display:flex;align-items:center;gap:var(--spacing-md)}.gap-icon{font-size:2rem}.gap-title{font-weight:600;color:var(--gray-900)}.gap-description{font-size:.875rem;color:var(--gray-600)}.sidebar-section{margin-bottom:2rem}.sidebar-section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--gray-700)}.sidebar-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sidebar-section-header .sidebar-section-title{margin:0}.sidebar-list{list-style:none;padding:0;margin:0}.sidebar-item{padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:.5rem}.sidebar-item .item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.sidebar-item .time{font-weight:500;color:var(--gray-600)}.sidebar-item .name{font-weight:600;color:var(--gray-800)}.sidebar-item .item-notes{font-size:.875rem;color:var(--gray-500);margin-bottom:.5rem}.sidebar-item .item-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.sidebar-item .item-actions .btn{font-size:.75rem;padding:.25rem .5rem}.sidebar-item .btn-icon{font-size:1rem;color:var(--gray-400);padding:0;background:none;border:0;cursor:pointer}.sidebar-item .btn-icon:hover{color:var(--danger)}.empty-state{color:var(--gray-500);font-style:italic;padding:1rem 0}.search-section{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg)}.search-box{position:relative;margin-bottom:var(--spacing-md)}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem}.search-input{width:100%;padding:.875rem 3rem .875rem 3rem;border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:1rem;transition:border-color .2s}.search-input:focus{outline:0;border-color:var(--primary)}.search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:var(--gray-300);border:0;border-radius:50%;width:1.5rem;height:1.5rem;cursor:pointer;font-size:.875rem;color:var(--gray-600);display:none;align-items:center;justify-content:center;transition:background .2s;line-height:1}.search-clear:hover{background:var(--gray-400);color:var(--gray-800)}.search-box.has-value .search-clear{display:flex}.empty-state-card{padding:3rem 2rem;text-align:center;color:var(--gray-500);background:var(--gray-50);border-radius:var(--radius-lg);border:2px dashed var(--gray-200)}.empty-state-card .empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-state-card p{margin-bottom:1.5rem;font-size:1rem}.empty-state-card .btn{margin:0 auto}.contact-link{color:var(--primary);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background .2s,color .2s}.contact-link:hover{background:var(--primary);color:#fff;text-decoration:none}.whatsapp-link{color:#25d366}.whatsapp-link:hover{background:#25d366;color:#fff}.copy-btn{background:transparent;border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:.25rem .5rem;cursor:pointer;font-size:.8rem;transition:all .2s;opacity:.7}.copy-btn:hover{background:var(--gray-100);opacity:1;border-color:var(--gray-400)}.copy-btn.copied{background:var(--success);color:#fff;border-color:var(--success);opacity:1}.shortcut-hint{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-top:.75rem;font-size:.75rem;color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s}.shortcut-hint:hover{background:rgba(255,255,255,.1);color:var(--gray-200)}.shortcut-hint kbd{background:rgba(255,255,255,.15);padding:.15rem .4rem;border-radius:3px;font-family:inherit;font-size:.7rem}kbd{display:inline-block;padding:.2rem .5rem;font-size:.8rem;font-family:var(--font-sans);background:var(--gray-100);border:1px solid var(--gray-300);border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.1)}.shortcut-group{margin-bottom:1rem}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--gray-100)}.shortcut-item:last-child{border-bottom:0}.shortcut-keys{display:flex;align-items:center;gap:.25rem}.shortcut-desc{color:var(--gray-600);font-size:.9rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:1.5rem;flex-wrap:wrap}.breadcrumb a{color:var(--primary);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--primary-dark);text-decoration:underline}.breadcrumb-separator{color:var(--gray-400)}.breadcrumb-current{color:var(--gray-600);font-weight:500}.search-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filter-chip{padding:.5rem 1rem;border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-lg);font-size:.875rem;cursor:pointer;transition:all .2s}.filter-chip:hover{border-color:var(--primary);background:var(--gray-50)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.patient-list{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.sort-options{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem}.form-control-sm{padding:.375rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.875rem}.patient-profile{margin-bottom:var(--spacing-lg)}.profile-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.profile-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg)}.profile-avatar-large{width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;border:4px solid rgba(255,255,255,.3)}.profile-info h2{font-size:2rem;margin-bottom:var(--spacing-sm)}.profile-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:center}.meta-item{font-size:.95rem;opacity:.95}.profile-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);padding:var(--spacing-xl)}.detail-section h3{font-size:1.125rem;color:var(--gray-900);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--gray-200)}.detail-item{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:.95rem}.detail-label{color:var(--gray-600);min-width:140px}.detail-value{color:var(--gray-900);font-weight:500}.visit-history-section{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.visit-timeline{display:flex;flex-direction:column;gap:var(--spacing-lg)}.visit-card{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-lg);border-left:4px solid var(--primary)}.visit-date-badge{min-width:80px;background:var(--primary);color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-md);text-align:center;height:fit-content}.visit-day{font-size:2rem;font-weight:700;line-height:1}.visit-month{font-size:.875rem;font-weight:600}.visit-year{font-size:.75rem;opacity:.9}.visit-content{flex:1}.visit-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--spacing-sm)}.visit-header h3{font-size:1.25rem;color:var(--gray-900)}.visit-codes{display:flex;gap:var(--spacing-sm)}.code-badge{padding:.25rem .625rem;background:var(--gray-200);border-radius:var(--radius);font-size:.8rem;color:var(--gray-700);font-weight:500}.visit-notes{margin-bottom:var(--spacing-md);line-height:1.7;color:var(--gray-700)}.visit-footer{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-sm);border-top:1px solid var(--gray-200)}.visit-meta{font-size:.875rem;color:var(--gray-500)}.form-section-title{font-size:1.125rem;color:var(--gray-900);margin:var(--spacing-lg) 0 var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--gray-200)}.form-section-title:first-child{margin-top:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:.5rem}.form-control{padding:.625rem .875rem;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:.95rem;transition:border-color .2s}.form-control:focus{outline:0;border-color:var(--primary)}textarea.form-control{resize:vertical;font-family:inherit}select.form-control{cursor:pointer}.side-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:none}.side-panel.active{display:flex;justify-content:flex-end}.side-panel-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);cursor:pointer}.side-panel-content{position:relative;width:100%;max-width:600px;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}.side-panel-header{background:var(--primary);color:#fff;padding:var(--spacing-lg);flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start}.side-panel-header h2{font-size:24px;font-weight:700;margin:0;color:#fff}.side-panel-header .header-subtitle{font-size:14px;opacity:.9;margin-top:var(--spacing-xs)}.side-panel-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.info-card{background:var(--gray-100);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.info-card-title{font-size:18px;font-weight:600;margin-bottom:var(--spacing-md);color:var(--gray-900)}.info-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.info-item{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.info-label{font-size:14px;font-weight:500;min-width:130px;color:var(--gray-700)}.info-value{font-size:14px;color:var(--gray-900)}.info-message{background:var(--gray-100);padding:var(--spacing-md);border-radius:var(--radius);display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--gray-700);font-size:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-sm)}.calendar-day{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius);padding:var(--spacing-sm);min-height:150px;display:flex;flex-direction:column}.calendar-day.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.calendar-day-header{text-align:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-200)}.day-name{font-size:12px;color:var(--gray-600);text-transform:uppercase}.day-number{font-size:20px;font-weight:700;color:var(--gray-900);margin-top:var(--spacing-xs)}.day-number.today{color:var(--primary)}.calendar-appointments{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.calendar-appointment{background:var(--gray-100);padding:var(--spacing-xs);border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.calendar-appointment:hover{background:var(--gray-200)}.calendar-appointment.cancelled{text-decoration:line-through;opacity:.5}.appointment-time{font-weight:600;color:var(--gray-900)}.appointment-patient{color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-appointments{font-size:12px;text-align:center;color:var(--gray-500);margin-top:var(--spacing-md)}.more-appointments{font-size:12px;text-align:center;color:var(--gray-600);margin-top:var(--spacing-xs)}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:var(--spacing-lg)}.spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.htmx-transition{transition:opacity .2s ease-in-out}@media(max-width:968px){.sidebar{transform:translateX(-100%);transition:transform .3s}.sidebar.active{transform:translateX(0)}.main-content{margin-left:0;max-width:100vw}.profile-header{flex-direction:column;text-align:center}.profile-details-grid{grid-template-columns:1fr}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr}.header-content{flex-direction:column}.form-row{grid-template-columns:1fr}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.page-title{font-size:1.875rem;font-weight:700;color:var(--gray-900)}.card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg)}.search-box{margin-bottom:var(--spacing-md);position:relative}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:1rem;transition:border-color .2s}.search-input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.mobile-header{display:none;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#fff;border-bottom:1px solid var(--gray-200);position:fixed;top:0;left:0;right:0;height:60px;z-index:90;box-shadow:var(--shadow-sm)}.mobile-header h1{font-size:1.125rem;margin:0;color:var(--gray-900);font-weight:600}.mobile-logo{height:36px;width:auto;max-width:150px;object-fit:contain}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:95;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s;backdrop-filter:blur(2px)}.sidebar-overlay.active{opacity:1;visibility:visible;pointer-events:auto}@media(max-width:1024px){.sidebar{transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-xl)}.sidebar.active{transform:translateX(0)}.main-content{margin-left:0;max-width:100%;padding-top:calc(60px + var(--spacing-md))}.mobile-header{display:flex}.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.header-content{flex-direction:column;width:100%;gap:var(--spacing-sm)}.header-actions{width:100%;justify-content:flex-start;margin-top:var(--spacing-sm);flex-wrap:wrap}.header-date{text-align:left;margin-top:var(--spacing-xs)}}@media(max-width:640px){:root{--spacing-lg:1.25rem;--spacing-xl:1.5rem}.main-content{padding:var(--spacing-md);padding-top:calc(60px + var(--spacing-md))}table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.card{padding:var(--spacing-md);border-radius:var(--radius)}.form-row{grid-template-columns:1fr!important;gap:var(--spacing-sm)}.form-group{margin-bottom:var(--spacing-sm)}.btn{width:100%;justify-content:center;margin-bottom:var(--spacing-xs)}.header-actions .btn{width:100%;margin-bottom:var(--spacing-xs)}.btn-icon{width:auto;margin-bottom:0}.modal-content{width:95%;margin:var(--spacing-md) auto;max-height:90vh;overflow-y:auto}}.calendar-layout{display:grid;grid-template-columns:3fr 1fr;gap:2rem}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-md)}.date-navigator{display:flex;align-items:center;gap:var(--spacing-md)}.current-date{text-align:center}.current-date .date-display{display:block;font-weight:600;font-size:1.125rem}.current-date .day-of-week{display:block;font-size:.875rem;color:var(--gray-500)}.timeline-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.time-slot{display:flex;gap:var(--spacing-md)}.time-label{width:80px;flex-shrink:0;font-weight:500;color:var(--gray-500);padding-top:var(--spacing-sm)}@media(max-width:1024px){.calendar-layout{grid-template-columns:1fr}}@media(max-width:640px){.calendar-controls{flex-direction:column;align-items:stretch}.date-navigator{justify-content:space-between}.view-options{justify-content:space-between;width:100%}.time-slot{flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-100)}.time-label{width:auto;padding-top:0;font-size:.875rem;color:var(--primary);font-weight:600}}.show-on-mobile{display:none}@media(max-width:768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:inline-block}.data-table th,.data-table td{padding:.75rem .5rem}.data-table td:last-child{text-align:right;white-space:nowrap}}@media(max-width:640px){.side-panel-content{max-width:100%;width:100%}.side-panel-header{padding:var(--spacing-md)}.side-panel-body{padding:var(--spacing-md)}}.patient-profile-container{padding:2rem;max-width:1200px;margin:0 auto}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;background:var(--primary);padding:2rem;border-radius:var(--radius);color:#fff}.profile-name{margin-bottom:.5rem;font-size:2rem;color:#fff}.profile-subtitle{color:rgba(255,255,255,.9);font-size:1.1rem}.profile-actions{display:flex;gap:1rem}.btn-white{background:#fff;color:var(--primary);border:0}.btn-white:hover{background:var(--gray-100)}.profile-card{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}.profile-card:last-child{margin-bottom:0}.card-title{margin-bottom:1rem;font-size:1.1rem;color:var(--gray-800);border-bottom:1px solid var(--gray-200);padding-bottom:.5rem}.card-title-lg{font-size:1.25rem;margin:0;color:var(--gray-900)}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.info-grid{display:grid;gap:.75rem}.info-label{color:var(--gray-500);font-size:.9rem;display:block}.info-value{color:var(--gray-900);font-weight:500}.info-value-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.profile-main{display:flex;flex-direction:column;gap:1.5rem}.profile-grid{display:grid;grid-template-columns:350px 1fr;gap:2rem;align-items:start}@media(max-width:768px){.profile-grid{grid-template-columns:1fr}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}100%{opacity:1}}.close-btn{background:none;border:0;font-size:1.5rem;color:var(--gray-500);cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:var(--gray-700)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.checkbox-label input[type="checkbox"]{width:1rem;height:1rem}.color-input{height:40px;padding:.25rem;cursor:pointer}.patient-form-details{margin-top:var(--spacing-lg);border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--gray-50)}.patient-form-details-summary{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:600;color:var(--gray-700);cursor:pointer;user-select:none;list-style:none;transition:background-color .2s,color .2s}.patient-form-details-summary::-webkit-details-marker{display:none}.patient-form-details-summary:hover{background:var(--gray-100);color:var(--primary)}.patient-form-details-summary .details-chevron{transition:transform .2s ease;color:var(--gray-400)}.patient-form-details[open] .patient-form-details-summary{border-bottom:1px solid var(--gray-200)}.patient-form-details[open] .patient-form-details-summary .details-chevron{transform:rotate(90deg);color:var(--primary)}.patient-form-details-content{padding:var(--spacing-lg);background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.appointment-form-details{margin-top:var(--spacing-lg);border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--gray-50)}.appointment-form-details-summary{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:600;color:var(--gray-700);cursor:pointer;user-select:none;list-style:none;transition:background-color .2s,color .2s}.appointment-form-details-summary::-webkit-details-marker{display:none}.appointment-form-details-summary:hover{background:var(--gray-100);color:var(--primary)}.appointment-form-details-summary .details-chevron{transition:transform .2s ease;color:var(--gray-400)}.appointment-form-details[open] .appointment-form-details-summary{border-bottom:1px solid var(--gray-200)}.appointment-form-details[open] .appointment-form-details-summary .details-chevron{transform:rotate(90deg);color:var(--primary)}.appointment-form-details-content{padding:var(--spacing-lg);background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:3rem}.password-toggle{position:absolute;right:.75rem;background:none;border:0;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:color .2s}.password-toggle:hover{color:var(--gray-700)}.password-toggle .eye-icon{font-size:1.125rem;line-height:1}.password-toggle.active{color:var(--primary)}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius)}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-title{height:1.5rem;width:50%;margin-bottom:1rem}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-card{padding:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.skeleton-row{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--gray-100)}.skeleton-row:last-child{border-bottom:0}.skeleton-stat{flex:1;height:80px;border-radius:var(--radius-lg)}.patient-hover-trigger{position:relative;cursor:pointer}.patient-hover-card{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:.5rem;width:280px;padding:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 25px -5px rgba(0,0,0,.15),0 8px 10px -6px rgba(0,0,0,.1);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}.patient-hover-trigger:hover .patient-hover-card,.patient-hover-card:hover{opacity:1;visibility:visible;pointer-events:auto}.patient-hover-card::before{content:'';position:absolute;left:-8px;top:50%;transform:translateY(-50%);border:8px solid transparent;border-right-color:#fff}.hover-card-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--gray-100);margin-bottom:.75rem}.hover-card-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.hover-card-name{font-weight:600;color:var(--gray-800)}.hover-card-subtitle{font-size:.75rem;color:var(--gray-500)}.hover-card-info{display:flex;flex-direction:column;gap:.5rem}.hover-card-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.hover-card-row .icon{width:16px;text-align:center;color:var(--gray-400)}.hover-card-row a{color:var(--primary);text-decoration:none}.hover-card-row a:hover{text-decoration:underline}.hover-card-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--success);color:#fff;border-radius:var(--radius);font-size:.6875rem;font-weight:500;margin-top:.5rem}.hover-card-badge.cash{background:var(--gray-500)}.sidebar{transition:width .2s ease}.sidebar.collapsed{width:70px}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-text,.sidebar.collapsed .dark-mode-toggle span:not(.toggle-icon),.sidebar.collapsed .shortcut-hint{display:none}.sidebar.collapsed .sidebar-header{padding:1rem .5rem}.sidebar.collapsed .logo{justify-content:center;padding:0}.sidebar.collapsed .logo-icon{margin-right:0}.sidebar.collapsed .nav-item{justify-content:center;padding:.875rem}.sidebar.collapsed .nav-icon{margin-right:0;font-size:1.25rem}.sidebar.collapsed .sidebar-footer{padding:.5rem}.sidebar.collapsed .dark-mode-toggle{justify-content:center;padding:.75rem}.main-content{transition:margin-left .2s ease}.sidebar.collapsed+.main-content{margin-left:70px}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:100%;height:36px;background:rgba(255,255,255,.1);border:0;border-radius:var(--radius);color:var(--sidebar-text);cursor:pointer;transition:background .2s,transform .2s;margin-top:.5rem}.sidebar-collapse-btn:hover{background:rgba(255,255,255,.2)}.sidebar.collapsed .sidebar-collapse-btn{transform:rotate(180deg);width:36px;margin:.5rem auto 0}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--danger);background-color:#fef2f2}.form-group.has-success input,.form-group.has-success select,.form-group.has-success textarea{border-color:var(--success)}.validation-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:1rem;pointer-events:none}.validation-icon.error{color:var(--danger)}.validation-icon.success{color:var(--success)}.form-hint{font-size:.75rem;color:var(--gray-500);margin-top:.25rem}.form-hint.error{color:var(--danger)}.input-with-validation{position:relative}.input-with-validation input{padding-right:2.5rem}.recent-patients-dropdown{position:relative}.recent-patients-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;font-size:.875rem;color:var(--gray-700);transition:all .2s}.recent-patients-btn:hover{background:var(--gray-200)}.recent-patients-menu{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:280px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 25px -5px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s;z-index:1000}.recent-patients-dropdown.open .recent-patients-menu{opacity:1;visibility:visible;transform:translateY(0)}.recent-patients-header{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);font-weight:600;font-size:.8125rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.025em}.recent-patient-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s;text-decoration:none;color:inherit}.recent-patient-item:hover{background:var(--gray-50)}.recent-patient-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;flex-shrink:0}.recent-patient-info{flex:1;min-width:0}.recent-patient-name{font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-patient-meta{font-size:.75rem;color:var(--gray-500)}.recent-patients-empty{padding:1.5rem 1rem;text-align:center;color:var(--gray-500);font-size:.875rem}.pull-to-refresh{position:relative;overflow:hidden}.pull-indicator{position:absolute;top:-50px;left:50%;transform:translateX(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:var(--shadow);transition:transform .2s;z-index:100}.pull-to-refresh.pulling .pull-indicator{transform:translateX(-50%) translateY(60px)}.pull-to-refresh.refreshing .pull-indicator{transform:translateX(-50%) translateY(60px);animation:spin 1s linear infinite}@keyframes spin{from{transform:translateX(-50%) translateY(60px) rotate(0deg)}to{transform:translateX(-50%) translateY(60px) rotate(360deg)}}.swipe-container{position:relative;overflow:hidden}.swipe-content{position:relative;transition:transform .2s ease-out;background:#fff;z-index:2}.swipe-actions{position:absolute;top:0;bottom:0;right:0;display:flex;z-index:1}.swipe-action{display:flex;align-items:center;justify-content:center;width:80px;color:#fff;font-size:.75rem;font-weight:500;flex-direction:column;gap:.25rem}.swipe-action.edit{background:var(--primary)}.swipe-action.book{background:var(--success)}.swipe-action.delete{background:var(--danger)}.swipe-action .action-icon{font-size:1.25rem}@media(min-width:769px){.swipe-actions{display:none}}.htmx-swapping{opacity:0;transition:opacity 200ms ease-out}.htmx-settling{opacity:1;transition:opacity 200ms ease-in}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem;border-bottom:1px solid var(--border-color,#e5e7eb);vertical-align:middle}.table th{text-align:left;font-weight:600;font-size:.85rem;color:var(--text-muted,#6b7280);text-transform:uppercase;letter-spacing:.025em;background:var(--table-header-bg,#f8fafc);border-bottom:2px solid var(--border-color,#e2e8f0)}.table tbody tr:hover{background-color:var(--bg-hover,#f8f9fa)}.table-responsive{overflow-x:auto}.inactive-row{opacity:.6}.row-danger{background:rgba(220,53,69,.05)}.code-badge{display:inline-block;font-family:monospace;background:var(--bg-secondary,#f0f0f0);padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.icd10-code{background:var(--icd10-bg,#fce7f3);color:var(--icd10-color,#be185d)}.category-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.cat-consultation{background:#e3f2fd;color:#1565c0}.cat-procedure{background:#f3e5f5;color:#7b1fa2}.cat-modality{background:#e8f5e9;color:#2e7d32}.cat-consumable{background:#fff3e0;color:#e65100}.cat-homevisit{background:#fce4ec;color:#c2185b}.cat-hospitalvisit{background:#e0f7fa;color:#00838f}.cat-report{background:#efebe9;color:#5d4037}.cat-other{background:#eceff1;color:#546e7a}.category-musculoskeletal{background:#dbeafe;color:#1e40af}.category-injury{background:#fee2e2;color:#b91c1c}.category-neurological{background:#f3e8ff;color:#7c3aed}.category-respiratory{background:#dcfce7;color:#15803d}.category-circulatory{background:#fce7f3;color:#be185d}.category-pain{background:#fef3c7;color:#b45309}.category-rehabilitation{background:#cffafe;color:#0891b2}.category-other{background:#f1f5f9;color:#475569}.description-cell{display:flex;flex-direction:column;gap:.25rem}.primary-description{font-weight:500}.full-description{font-size:.8rem}.unit-badge{color:var(--text-muted);font-size:.75rem}.chapter-code{font-family:monospace;font-size:.85rem}.price-override{color:var(--color-primary,#2563eb);font-weight:500;text-decoration:underline dotted}.text-right{text-align:right}.action-buttons{display:flex;gap:.5rem}.actions{text-align:right;white-space:nowrap}.btn-icon{background:none;border:0;cursor:pointer;font-size:1.25rem;padding:.25rem;line-height:1;color:var(--text-muted);transition:transform .1s;border-radius:4px}.btn-icon:hover{transform:scale(1.2);background:var(--hover-bg,#f1f5f9)}.btn-icon.favorite{color:#f59e0b}.btn-icon.delete:hover{background:#fee2e2}.timestamp,.ip-address{font-family:var(--font-mono,monospace);font-size:.875rem}.status-success{color:var(--success,#28a745);font-weight:500}.status-failed{color:var(--danger,#dc3545);font-weight:500}.failure-reason{color:var(--danger,#dc3545);font-size:.875rem}.user-agent-hint{font-size:.875rem;color:var(--text-muted)}.branch-name{display:flex;align-items:center;gap:.5rem}.branches-table{overflow-x:auto}.branches-table table{width:100%;border-collapse:collapse}.branches-table th,.branches-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.branches-table th{font-weight:600;color:#6b7280;font-size:.85rem;text-transform:uppercase}.branches-table tr.inactive{opacity:.6}.list-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.results-count{font-size:.875rem;color:var(--text-muted,#6b7280)}.page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted,#6b7280)}.page-size-selector select{padding:.375rem .625rem;border:1px solid var(--border-color,#d1d5db);border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.page-size-selector select:hover{border-color:var(--color-primary,#3b82f6)}.pagination-bar{display:flex;justify-content:center;align-items:center;gap:.25rem;padding:1rem 0;margin-top:1rem;border-top:1px solid var(--border-color,#e5e7eb)}.page-btn{padding:.5rem .875rem;border:1px solid var(--border-color,#d1d5db);background:#fff;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .15s;color:var(--text-color,#374151)}.page-btn:hover:not([disabled]){background:var(--bg-secondary,#f9fafb);border-color:var(--color-primary,#3b82f6);color:var(--color-primary,#3b82f6)}.page-btn[disabled],.page-btn.disabled{opacity:.4;cursor:not-allowed}.page-numbers{display:flex;align-items:center;gap:.25rem;margin:0 .5rem}.page-num{min-width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .15s;color:var(--text-muted,#6b7280)}.page-num:hover:not(.active){background:var(--bg-secondary,#f3f4f6);color:var(--text-color,#374151)}.page-num.active{background:var(--color-primary,#3b82f6);color:#fff;font-weight:500}.page-ellipsis{padding:0 .375rem;color:var(--text-muted,#9ca3af)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem}.pagination-info{color:var(--text-muted)}.pagination-container{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color,#e2e8f0)}.badge{display:inline-block;padding:.25rem .625rem;border-radius:4px;font-size:.75rem;font-weight:500}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-secondary{background:#f3f4f6;color:#6b7280}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.badge-primary{background:#dbeafe;color:#1d4ed8}.badge-muted{background:#f3f4f6;color:#6b7280}.badge-premium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.badge-override{background:#ddd6fe;color:#7c3aed}.empty-state{text-align:center;padding:3rem;color:#6b7280}.empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.empty-state-icon{width:64px;height:64px;margin:0 auto 1rem;color:#9ca3af;stroke-width:1.5}.empty-state-title{margin:0 0 .5rem 0;color:#374151;font-size:1.125rem;font-weight:600}.empty-state-text{margin:0;color:var(--text-muted);font-size:.875rem}.empty-state h3{margin:0 0 .5rem 0;color:#374151}.empty-state p{margin:0 0 1.5rem 0;color:var(--text-muted)}.search-empty{padding:2rem;text-align:center;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.search-empty .empty-icon{font-size:2rem;opacity:.5}.list-summary{padding:1rem;text-align:center;color:var(--text-muted);font-size:.875rem}.text-muted{color:var(--text-muted,#64748b)}.text-danger{color:var(--danger,#dc3545)!important}code{background:var(--bg-secondary,#f3f4f6);padding:.125rem .375rem;border-radius:4px;font-size:.875rem;font-family:monospace}.mt-3{margin-top:1rem}.p-0{padding:0}.w-full{width:100%}.form-grid{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;gap:1rem}.form-row.two-col{grid-template-columns:1fr 1fr}.form-row.vat-row{align-items:flex-start;background:var(--bg-secondary,#f8f9fa);padding:1rem;border-radius:8px;margin:.5rem 0}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-weight:500;font-size:.875rem;color:var(--gray-700);margin-bottom:.25rem}.form-group label.required::after{content:" *";color:#ef4444}.form-input,.form-select{padding:.5rem .75rem;border:1px solid var(--border-color,#d1d5db);border-radius:6px;font-size:.875rem;background:var(--input-bg,#fff);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:0;border-color:var(--color-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-input.is-invalid{border-color:#ef4444}.input-group{display:flex;align-items:stretch}.input-prefix{display:flex;align-items:center;padding:0 .75rem;background:var(--bg-secondary,#f3f4f6);border:1px solid var(--border-color,#d1d5db);border-right:0;border-radius:6px 0 0 6px;font-size:.875rem;color:var(--text-muted)}.input-group .form-input{border-radius:0 6px 6px 0;flex:1}.form-hint,.help-text{font-size:.75rem;color:var(--text-muted,#64748b)}.error-message{color:#ef4444;font-size:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:normal}.checkbox-label input[type="checkbox"]{width:1rem;height:1rem;cursor:pointer}.checkbox-group{padding-top:.5rem}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;user-select:none}.override-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:1rem;margin-top:1rem}.override-info h4{margin:0 0 .5rem 0;font-size:.875rem}.override-info p{margin:.25rem 0;font-size:.875rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--border-color,#e2e8f0);margin-top:1.5rem}.filter-form{margin:0}.filter-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.filter-row .form-group{flex:1;min-width:150px}.filter-buttons{display:flex;gap:.5rem;min-width:auto!important;flex:0!important}.color-picker-group{display:flex;gap:.5rem;align-items:center}.color-input{width:50px;height:40px;padding:2px;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.color-hex-input{width:100px;font-family:monospace;text-transform:uppercase}.color-swatch{display:inline-block;width:20px;height:20px;border-radius:4px;border:1px solid #e5e7eb}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.detail-group{display:flex;flex-direction:column;gap:.25rem}.detail-group label{font-size:.85rem;color:#6b7280;font-weight:500}.detail-group span{font-size:1rem}.search-field{position:relative}.search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:#fff;border:1px solid var(--border-color,#d1d5db);border-top:0;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.1)}.search-dropdown:empty{display:none}.dropdown-item{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid #f3f4f6;font-size:.875rem}.dropdown-item:last-child{border-bottom:0}.dropdown-item:hover,.dropdown-item:focus{background:var(--color-primary-light,#eff6ff)}.dropdown-item .dropdown-title{font-weight:500;color:var(--text-primary,#1f2937)}.dropdown-item .dropdown-subtitle{font-size:.75rem;color:var(--text-muted,#6b7280)}.patient-selected,.diagnosis-selected,.selected-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-primary-light,#eff6ff);border:1px solid var(--color-primary,#2563eb);border-radius:6px;font-size:.875rem}.patient-selected.search-mode,.diagnosis-selected.search-mode{background:transparent;border:0;padding:0;display:block;position:relative}.selected-display{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.selected-meta{font-size:.75rem;color:var(--text-muted,#6b7280);margin-top:.125rem}.selected-info{display:flex;flex-direction:column;gap:.125rem}.selected-name{font-weight:500;color:var(--text-primary,#1f2937)}.selected-detail{font-size:.75rem;color:var(--text-muted,#6b7280)}.btn-clear{background:none;border:0;color:var(--text-muted,#6b7280);cursor:pointer;padding:.25rem;font-size:1rem;line-height:1;transition:color .2s}.btn-clear:hover{color:#ef4444}.medical-aid-details{margin-top:.75rem;padding:.75rem;background:var(--bg-secondary,#f8f9fa);border-radius:6px;display:flex;flex-direction:column;gap:.75rem}.medical-aid-details.hidden{display:none}.line-items-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-bottom:1rem}.line-items-table th{text-align:left;padding:.75rem .5rem;background:var(--bg-secondary,#f8f9fa);font-weight:500;font-size:.75rem;text-transform:uppercase;color:var(--text-muted,#6b7280);border-bottom:2px solid var(--border-color,#e2e8f0)}.line-items-table td{padding:.625rem .5rem;border-bottom:1px solid var(--border-color,#e2e8f0);vertical-align:middle}.line-items-table tbody tr:hover{background:var(--bg-secondary,#f8f9fa)}.line-items-table tfoot tr{background:transparent}.line-items-table tfoot td{padding:.5rem;border-bottom:0}.line-items-table .form-input,.line-items-table .form-select{padding:.375rem .5rem;font-size:.8125rem}.line-items-table .btn-icon{padding:.25rem .5rem}.diagnosis-search-input{width:100%;min-width:300px}.invoice-totals{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;padding:.75rem;background:var(--bg-secondary,#f8f9fa);border-radius:6px;margin-top:.5rem}.total-row{display:flex;justify-content:space-between;min-width:200px;font-size:.875rem}.total-row.grand-total{font-weight:600;font-size:1rem;padding-top:.5rem;border-top:1px solid var(--border-color,#e2e8f0);margin-top:.25rem}@media(max-width:640px){.form-row.two-col{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}.line-items-table{font-size:.8125rem}.line-items-table th,.line-items-table td{padding:.375rem}}:root{--modal-padding:1.5rem;--modal-padding-compact:1rem;--modal-header-height:56px;--modal-footer-height:64px;--modal-border-color:var(--border-color,#e2e8f0);--modal-header-bg:var(--card-background,#fff);--modal-body-bg:var(--card-background,#fff);--modal-footer-bg:var(--bg-secondary,#f8fafc);--modal-shadow:0 25px 50px -12px rgba(0,0,0,.25);--modal-radius:12px;--modal-margin:5vh 3vw}dialog.modal{border:0;border-radius:var(--modal-radius);padding:0;max-width:560px;width:calc(100% - 6vw);box-shadow:var(--modal-shadow);background:var(--modal-body-bg);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;margin:0;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}dialog.modal:not([open]){display:none}dialog.modal[open]{display:flex;flex-direction:column}dialog.modal::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}dialog.modal.modal-sm{max-width:420px}dialog.modal,dialog.modal.modal-md{max-width:580px}dialog.modal.modal-lg{max-width:740px}dialog.modal.modal-xl{max-width:980px}dialog.modal.modal-full{max-width:calc(100vw - 6vw);max-height:80vh;width:calc(100vw - 6vw)}dialog.modal.modal-compact{max-height:fit-content;height:auto}dialog.modal.modal-compact .modal-content{max-height:none;height:auto}dialog.modal.modal-compact .modal-body{overflow-y:visible;flex:0 1 auto}#modal-container{display:contents}dialog.modal .modal-content{display:flex;flex-direction:column;height:100%;width:100%;min-height:0;max-height:80vh;overflow:hidden}.modal:not(dialog) .modal-content{display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}dialog.modal .modal-content>form:only-child,dialog.modal>.modal-content>form{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}dialog.modal .modal-header,.modal-header{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:var(--modal-padding-compact) var(--modal-padding);background:var(--modal-header-bg);border-bottom:1px solid var(--modal-border-color);min-height:var(--modal-header-height)}dialog.modal .modal-header h2,dialog.modal .modal-header h3,.modal-header h2,.modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-color,#111827);line-height:1.4}.modal-header .modal-title{display:flex;flex-direction:column;gap:.125rem}.modal-header .modal-title h2{font-size:1.125rem;font-weight:600;margin:0}.modal-header .modal-subtitle,.modal-header .text-sm{font-size:.8125rem;color:var(--text-muted,#6b7280);margin:0}dialog.modal .modal-close,dialog.modal .close-btn,.modal-close,.close-btn,.btn-close{background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--text-muted,#6b7280);padding:.5rem;line-height:1;border-radius:6px;transition:all .15s ease;margin:-.5rem -.5rem -.5rem 0}dialog.modal .modal-close:hover,dialog.modal .close-btn:hover,.modal-close:hover,.close-btn:hover,.btn-close:hover{color:var(--text-color,#111827);background:var(--bg-hover,rgba(0,0,0,.05))}dialog.modal .modal-body,.modal-body{flex:0 1 auto;overflow-y:auto;overflow-x:hidden;padding:var(--modal-padding);min-height:0;background:var(--modal-body-bg)}dialog.modal .modal-content>form>.form-row:first-child,dialog.modal .modal-content>form>.form-group:first-child{padding-top:var(--modal-padding)}dialog.modal .modal-content>form>.form-row,dialog.modal .modal-content>form>.form-group,dialog.modal .modal-content>form>.form-grid{padding-left:var(--modal-padding);padding-right:var(--modal-padding)}dialog.modal .modal-content>form{overflow-y:auto}dialog.modal .modal-body .form-section,.modal-body .form-section{margin-bottom:1.5rem}dialog.modal .modal-body .form-section:last-child,.modal-body .form-section:last-child{margin-bottom:0}dialog.modal .modal-footer,.modal-footer{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:var(--modal-padding-compact) var(--modal-padding);background:var(--modal-footer-bg);border-top:1px solid var(--modal-border-color);min-height:var(--modal-footer-height)}.modal-footer.modal-footer-split{justify-content:space-between}.modal-footer-left{display:flex;align-items:center;gap:.75rem}.modal-footer-right{display:flex;align-items:center;gap:.75rem}dialog.modal .form-actions,dialog.modal .modal-actions,.form-actions,.modal-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:.75rem;padding:var(--modal-padding-compact) var(--modal-padding);background:var(--modal-footer-bg);border-top:1px solid var(--modal-border-color);margin-top:auto;margin-left:calc(-1*var(--modal-padding));margin-right:calc(-1*var(--modal-padding));margin-bottom:calc(-1*var(--modal-padding))}dialog.modal .modal-body .form-actions,dialog.modal .modal-body .modal-actions{margin-left:calc(-1*var(--modal-padding));margin-right:calc(-1*var(--modal-padding));margin-bottom:calc(-1*var(--modal-padding));position:sticky;bottom:calc(-1*var(--modal-padding))}.modal:not(dialog){display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal:not(dialog).active{display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal:not(dialog)>.modal-content{position:relative;background:var(--modal-body-bg);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);max-width:580px;width:calc(100% - 6vw);max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal:not(dialog)>.modal-content>form{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;overflow:hidden}.modal:not(dialog).modal-large>.modal-content,.modal:not(dialog)>.modal-content.modal-large{max-width:800px}.modal:not(dialog)>.modal-content.modal-compact{max-height:fit-content;height:auto}.modal:not(dialog)>.modal-content.modal-compact .modal-body{overflow-y:visible}#feature-modal .modal-content{position:relative;background:var(--modal-body-bg);border-radius:var(--modal-radius);padding:var(--modal-padding);max-width:500px;width:calc(100% - 2rem);max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:var(--modal-shadow)}.feature-preview{padding:1rem;background:var(--primary-light,#eff6ff);border-radius:8px;margin-bottom:1.5rem}.feature-preview h4{margin:0 0 .25rem 0;font-size:1rem}.feature-preview p{margin:0 0 .5rem 0;font-size:.875rem;color:var(--text-muted,#6b7280)}.feature-preview code{font-size:.75rem;padding:.125rem .375rem;background:rgba(0,0,0,.05);border-radius:4px}.detail-grid{display:grid;gap:.75rem}.detail-row{display:flex;gap:1rem}.detail-label{font-weight:500;color:var(--text-muted);min-width:140px}.detail-value{flex:1}.json-section{margin-top:1.5rem}.json-section h4{font-size:.875rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.json-display{background:var(--bg-secondary,#f3f4f6);border:1px solid var(--border-color);border-radius:4px;padding:1rem;overflow-x:auto;font-size:.8125rem;margin:0;font-family:monospace}.user-agent{white-space:pre-wrap;word-break:break-all}.feature-locked-notice{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;text-align:center}.feature-locked-notice p:first-child{font-size:1.1rem;margin-bottom:.5rem}@media(max-width:640px){:root{--modal-padding:1rem;--modal-padding-compact:.75rem}dialog.modal,dialog.modal.modal-sm,dialog.modal.modal-md,dialog.modal.modal-lg,dialog.modal.modal-xl{max-width:calc(100vw - 1rem);width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);border-radius:8px}dialog.modal .modal-header h2,.modal-header h2{font-size:1rem}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1;min-width:100px}}[data-theme="dark"]{--modal-border-color:#475569;--modal-header-bg:#1e293b;--modal-body-bg:#334155;--modal-footer-bg:#1e293b}[data-theme="dark"] dialog.modal,[data-theme="dark"] .modal-content{color:#e2e8f0}[data-theme="dark"] dialog.modal .modal-header h2,[data-theme="dark"] .modal-header h2{color:#f1f5f9}[data-theme="dark"] .feature-locked-notice{background:#1e293b;border-color:#475569}[data-theme="dark"] .json-display{background:#1e293b;border-color:#475569}:root{--sidebar-width:260px;--sidebar-width-collapsed:72px;--sidebar-bg:linear-gradient(180deg,#1e293b 0%,#0f172a 100%);--sidebar-text:#94a3b8;--sidebar-text-hover:#fff;--sidebar-active-bg:rgba(59,130,246,.15);--sidebar-active-border:#3b82f6;--sidebar-border:rgba(255,255,255,.08);--sidebar-transition:.2s cubic-bezier(.4,0,.2,1)}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100;transition:width var(--sidebar-transition);overflow:hidden}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-group-indicator,.sidebar.collapsed .user-details,.sidebar.collapsed .footer-action-label,.sidebar.collapsed .utility-label{opacity:0;width:0;overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-brand-text .brand-clinic,.sidebar.collapsed .sidebar-brand-text .brand-diary{display:none}.sidebar.collapsed .sidebar-brand-text::before{content:"CD";color:#fff;font-size:1.25rem;font-weight:700}.sidebar.collapsed .sidebar-brand-text::before{background:linear-gradient(90deg,#fff 50%,#3b82f6 50%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar.collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar-header{padding:1.25rem 1rem;border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;justify-content:space-between;min-height:64px}.sidebar-brand{display:flex;align-items:center;gap:.5rem}.sidebar-brand-text{font-size:1.375rem;font-weight:700;letter-spacing:-.025em;transition:opacity var(--sidebar-transition),width var(--sidebar-transition)}.brand-clinic{color:#fff}.brand-diary{color:#3b82f6}.sidebar.collapsed .sidebar-brand-text{font-size:1.125rem}.sidebar.collapsed .brand-clinic::after{content:none}.sidebar.collapsed .sidebar-brand-text::after{content:"CD";position:absolute}.sidebar-logo{max-width:180px;margin:0 auto}.sidebar-logo img{width:100%;height:auto;max-height:50px;object-fit:contain}.sidebar-collapse-btn{background:transparent;border:0;color:var(--sidebar-text);cursor:pointer;padding:.375rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--sidebar-transition);opacity:0;flex-shrink:0}.sidebar:hover .sidebar-collapse-btn,.sidebar.collapsed .sidebar-collapse-btn{opacity:1}.sidebar-collapse-btn:hover{background:rgba(255,255,255,.1);color:#fff}.sidebar-collapse-btn svg{transition:transform var(--sidebar-transition)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:4px}.nav-item{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;color:var(--sidebar-text);text-decoration:none;transition:all var(--sidebar-transition);border-left:3px solid transparent;margin:.125rem 0;position:relative}.nav-item:hover{background:rgba(255,255,255,.05);color:var(--sidebar-text-hover)}.nav-item.active{background:var(--sidebar-active-bg);border-left-color:var(--sidebar-active-border);color:var(--sidebar-text-hover)}.nav-icon{font-size:1.25rem;width:1.5rem;text-align:center;flex-shrink:0}.nav-label{font-size:.9375rem;font-weight:500;white-space:nowrap;transition:opacity var(--sidebar-transition),width var(--sidebar-transition)}.nav-item-nested{padding-left:2.75rem}.nav-item-nested .nav-icon{font-size:1rem}.nav-group{margin:.25rem 0}.nav-group-toggle{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;width:100%;background:transparent;border:0;border-left:3px solid transparent;color:var(--sidebar-text);cursor:pointer;text-align:left;transition:all var(--sidebar-transition)}.nav-group-toggle:hover{background:rgba(255,255,255,.05);color:var(--sidebar-text-hover)}.nav-group.expanded>.nav-group-toggle{color:var(--sidebar-text-hover)}.nav-group-indicator{margin-left:auto;display:flex;align-items:center;transition:transform var(--sidebar-transition)}.nav-group-indicator svg{width:16px;height:16px}.nav-group.expanded .nav-group-indicator{transform:rotate(90deg)}.nav-group-items{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background:rgba(0,0,0,.15)}.nav-group.expanded .nav-group-items{max-height:500px}.nav-badge{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;margin-left:auto;min-width:1.25rem;text-align:center}.nav-badge-primary{background:var(--sidebar-active-border);color:#fff}.nav-badge-warning{background:#f59e0b;color:#fff;animation:pulse-badge 2s ease-in-out infinite}.nav-badge-danger{background:#ef4444;color:#fff}@keyframes pulse-badge{0%,100%{opacity:1}50%{opacity:.7}}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;background:rgba(255,255,255,.03)}.user-avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9375rem;flex-shrink:0}.user-avatar-text{text-transform:uppercase}.user-details{overflow:hidden;transition:opacity var(--sidebar-transition),width var(--sidebar-transition)}.user-name{font-weight:600;color:#fff;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--sidebar-text);white-space:nowrap}.sidebar-footer-actions{display:flex;gap:.5rem}.footer-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem .75rem;background:rgba(255,255,255,.05);border:1px solid var(--sidebar-border);border-radius:8px;color:var(--sidebar-text);text-decoration:none;font-size:.8125rem;cursor:pointer;transition:all var(--sidebar-transition)}.footer-action-btn:hover{background:rgba(255,255,255,.1);color:var(--sidebar-text-hover);border-color:rgba(255,255,255,.15)}.footer-action-btn.active{background:var(--sidebar-active-bg);border-color:var(--sidebar-active-border);color:var(--sidebar-text-hover)}.footer-action-logout:hover{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#fca5a5}.footer-logout-form{flex:1;display:contents}.footer-action-label{transition:opacity var(--sidebar-transition),width var(--sidebar-transition)}.sidebar-utilities{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--sidebar-border)}.utility-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;background:transparent;border:0;border-radius:6px;color:var(--sidebar-text);font-size:.75rem;cursor:pointer;transition:all var(--sidebar-transition)}.utility-btn:hover{background:rgba(255,255,255,.05);color:var(--sidebar-text-hover)}.utility-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;font-size:.6875rem;font-family:inherit;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--sidebar-text)}.utility-icon{font-size:1rem}.utility-label{transition:opacity var(--sidebar-transition),width var(--sidebar-transition)}.sidebar.collapsed .nav-item,.sidebar.collapsed .nav-group-toggle{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-item-nested{padding-left:.75rem}.sidebar.collapsed .sidebar-user{justify-content:center;padding:.5rem}.sidebar.collapsed .sidebar-footer-actions{flex-direction:column}.sidebar.collapsed .footer-action-btn{padding:.625rem}.sidebar.collapsed .sidebar-utilities{flex-direction:column}.sidebar.collapsed .sidebar-header{padding:1rem .75rem;align-items:center}.sidebar.collapsed .sidebar-brand{justify-content:center}.sidebar.collapsed .nav-item::after,.sidebar.collapsed .nav-group-toggle::after{content:attr(title);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#1e293b;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .15s ease;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.3)}.sidebar.collapsed .nav-item:hover::after,.sidebar.collapsed .nav-group-toggle:hover::after{opacity:1;visibility:visible}@media(max-width:768px){.sidebar{transform:translateX(-100%);box-shadow:none}.sidebar.mobile-open{transform:translateX(0);box-shadow:0 0 50px rgba(0,0,0,.5)}.sidebar-collapse-btn{display:none}.sidebar .nav-label,.sidebar .sidebar-brand-text,.sidebar .sidebar-practice-name,.sidebar .user-details,.sidebar .footer-action-label,.sidebar .utility-label{opacity:1!important;width:auto!important}}[data-theme="dark"]{--sidebar-bg:linear-gradient(180deg,#0f172a 0%,#020617 100%);--sidebar-border:rgba(255,255,255,.05)}.main-content{transition:margin-left var(--sidebar-transition)}.sidebar.collapsed~.main-content{margin-left:var(--sidebar-width-collapsed);max-width:calc(100vw - var(--sidebar-width-collapsed))}:root{--filter-bar-height:56px;--filter-bar-bg:var(--bg-card,#fff);--filter-bar-border:var(--border-color,#e5e7eb);--filter-bar-radius:12px;--filter-bar-shadow:0 1px 3px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03);--filter-pill-bg:var(--bg-secondary,#f3f4f6);--filter-pill-active-bg:var(--primary,#3b82f6);--filter-pill-active-text:#fff;--filter-transition:.15s cubic-bezier(.4,0,.2,1)}.filter-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--filter-bar-bg);border:1px solid var(--filter-bar-border);border-radius:var(--filter-bar-radius);box-shadow:var(--filter-bar-shadow);margin-bottom:1rem;min-height:var(--filter-bar-height);flex-wrap:wrap}.filter-bar-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.filter-bar-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.filter-search-wrapper{position:relative;flex:1;max-width:320px;min-width:180px}.filter-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-muted,#9ca3af);pointer-events:none;font-size:.875rem;z-index:1;line-height:1}.filter-search-input{width:100%;padding:.5rem 2.5rem .5rem 2.5rem;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;font-size:.875rem;background:var(--bg-input,#f9fafb);transition:all var(--filter-transition);height:38px}.filter-search-input:hover{background:var(--bg-card,#fff);border-color:var(--gray-300,#d1d5db)}.filter-search-input:focus{outline:0;background:var(--bg-card,#fff);border-color:var(--primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.filter-search-input::placeholder{color:var(--text-muted,#9ca3af)}.filter-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--text-muted,#9ca3af);cursor:pointer;padding:.25rem;border-radius:4px;display:none;align-items:center;justify-content:center;font-size:1.125rem;line-height:1;transition:all var(--filter-transition)}.filter-search-input:not(:placeholder-shown)+.filter-search-clear,.filter-search-wrapper:focus-within .filter-search-clear{display:flex}.filter-search-clear:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-color,#374151)}.filter-pills{display:flex;align-items:center;gap:.375rem;padding:.25rem;background:var(--bg-secondary,#f3f4f6);border-radius:8px}.filter-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:0;border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-muted,#6b7280);background:transparent;cursor:pointer;transition:all var(--filter-transition);white-space:nowrap}.filter-pill:hover{color:var(--text-color,#374151);background:rgba(255,255,255,.7)}.filter-pill.active{color:var(--filter-pill-active-text);background:var(--filter-pill-active-bg);box-shadow:0 1px 2px rgba(0,0,0,.1)}.filter-pill-icon{font-size:.875rem}.filter-pill-count{font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;background:rgba(0,0,0,.1);min-width:1.25rem;text-align:center}.filter-pill.active .filter-pill-count{background:rgba(255,255,255,.25)}.filter-pills-scroll{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;max-width:100%}.filter-pills-scroll::-webkit-scrollbar{display:none}.filter-select-wrapper{position:relative;min-width:140px}.filter-select{appearance:none;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;font-size:.8125rem;font-weight:500;background:var(--bg-card,#fff);color:var(--text-color,#374151);cursor:pointer;transition:all var(--filter-transition);height:38px;width:100%}.filter-select:hover{border-color:var(--gray-300,#d1d5db)}.filter-select:focus{outline:0;border-color:var(--primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.filter-select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted,#9ca3af);font-size:.625rem;line-height:1}.filter-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-muted,#6b7280);background:var(--bg-card,#fff);cursor:pointer;transition:all var(--filter-transition);user-select:none;height:38px}.filter-toggle:hover{border-color:var(--gray-300,#d1d5db);color:var(--text-color,#374151)}.filter-toggle.active{border-color:var(--primary,#3b82f6);background:rgba(59,130,246,.05);color:var(--primary,#3b82f6)}.filter-toggle input{display:none}.filter-toggle-icon{font-size:1rem;transition:transform var(--filter-transition)}.filter-toggle.active .filter-toggle-icon{transform:scale(1.1)}.filter-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all var(--filter-transition);height:38px;white-space:nowrap}.filter-btn-primary{background:var(--primary,#3b82f6);color:#fff}.filter-btn-primary:hover{background:var(--primary-dark,#2563eb);box-shadow:0 2px 4px rgba(59,130,246,.3)}.filter-btn-secondary{background:var(--bg-card,#fff);border-color:var(--border-color,#e5e7eb);color:var(--text-color,#374151)}.filter-btn-secondary:hover{background:var(--bg-secondary,#f3f4f6);border-color:var(--gray-300,#d1d5db)}.filter-btn-ghost{background:transparent;color:var(--text-muted,#6b7280)}.filter-btn-ghost:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-color,#374151)}.filter-btn-icon{font-size:1rem}.filter-divider{width:1px;height:24px;background:var(--border-color,#e5e7eb);flex-shrink:0}.filter-results{display:inline-flex;align-items:center;gap:0;padding:.5rem 1rem;background:var(--bg-secondary,#f3f4f6);border-radius:8px;font-size:.8125rem;color:var(--text-muted,#6b7280);margin-bottom:1rem}.filter-results-count{font-weight:600;color:var(--text-color,#374151);margin-right:.35rem}.filter-results-filtered{margin-left:.35rem;color:var(--primary,#3b82f6);font-weight:500}.filter-active-tags{display:flex;align-items:center;gap:.375rem}.filter-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--primary-light,#eff6ff);color:var(--primary,#3b82f6);border-radius:4px;font-size:.75rem;font-weight:500}.filter-tag-remove{background:none;border:0;color:inherit;cursor:pointer;padding:0;font-size:1rem;line-height:1;opacity:.7;transition:opacity var(--filter-transition)}.filter-tag-remove:hover{opacity:1}.page-header-compact{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.page-header-compact h1{font-size:1.5rem;font-weight:700;color:var(--text-color,#111827);margin:0;display:flex;align-items:center;gap:.5rem}.page-header-compact .page-icon{font-size:1.25rem}.page-header-compact .page-subtitle{font-size:.875rem;color:var(--text-muted,#6b7280);margin:.25rem 0 0 0}.page-header-actions{display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.filter-bar{flex-direction:column;align-items:stretch;padding:.75rem;gap:.75rem}.filter-bar-left{flex-direction:column;align-items:stretch}.filter-bar-right{flex-wrap:wrap;justify-content:flex-start}.filter-search-wrapper{max-width:none}.filter-pills{overflow-x:auto;padding-bottom:.25rem}.filter-select-wrapper{flex:1;min-width:0}.filter-divider{display:none}.page-header-compact{flex-direction:column;align-items:flex-start}}[data-theme="dark"]{--filter-bar-bg:var(--bg-card,#1e293b);--filter-bar-border:#334155;--filter-bar-shadow:0 1px 3px rgba(0,0,0,.2);--filter-pill-bg:#334155}[data-theme="dark"] .filter-search-input{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme="dark"] .filter-search-input:hover,[data-theme="dark"] .filter-search-input:focus{background:#0f172a}[data-theme="dark"] .filter-select{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme="dark"] .filter-toggle{background:#1e293b;border-color:#334155;color:#94a3b8}[data-theme="dark"] .filter-pill{color:#94a3b8}[data-theme="dark"] .filter-pill:hover{background:rgba(255,255,255,.1);color:#e2e8f0}.filter-card{background:var(--filter-bar-bg);border:1px solid var(--filter-bar-border);border-radius:var(--filter-bar-radius);padding:1rem;margin-bottom:1rem;box-shadow:var(--filter-bar-shadow)}.filter-grid{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.filter-item{display:flex;flex-direction:column;gap:.375rem}.filter-item label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.filter-search{flex:1;min-width:200px}.filter-input{padding:.5rem .875rem;border:1px solid var(--border-color,#d1d5db);border-radius:8px;font-size:.875rem;background:var(--bg-input,#fff);transition:border-color .15s,box-shadow .15s;min-width:150px;height:38px}.filter-input:focus{outline:0;border-color:var(--primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.filter-checkbox{justify-content:flex-end;padding-bottom:.35rem}.filter-actions{margin-left:auto;justify-content:flex-end;padding-bottom:.1rem}.btn-ghost{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .15s;height:38px}.btn-ghost:hover{background:var(--bg-secondary);color:var(--text-color)}.search-dropdown{display:none;background:#fff;border:1px solid var(--gray-300,#d1d5db);border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:200px;overflow-y:auto;margin-top:.25rem}.search-dropdown:has(*){display:block}.search-field{position:relative}.search-selection{display:block;font-size:.875rem;color:var(--gray-500);margin-top:.25rem}.search-selection.active{color:var(--primary)}.search-results{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-color,#e5e7eb);transition:background-color .1s;gap:1rem}.search-result-item:last-child{border-bottom:0}.search-result-item:hover{background-color:var(--bg-hover,#f3f4f6)}.search-result-item.favorite{background-color:#fffbeb}.search-result-item.favorite:hover{background-color:#fef3c7}.result-main{display:flex;align-items:center;gap:.75rem;flex:1}.result-code{font-family:monospace;font-weight:600;font-size:.875rem;color:var(--primary,#2563eb);background:var(--bg-secondary,#f0f0f0);padding:.25rem .5rem;border-radius:4px;min-width:60px;text-align:center}.result-description{font-size:.875rem;color:var(--text-color)}.result-pricing{display:flex;align-items:center;gap:.5rem;min-width:150px;justify-content:flex-end}.price-cash{font-weight:600;color:var(--success,#10b981)}.price-medical{font-size:.75rem;color:var(--text-muted)}.vat-badge{font-size:.625rem;font-weight:600;background:var(--warning,#f59e0b);color:#fff;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase}.result-meta{display:flex;align-items:center;gap:.5rem;min-width:120px;justify-content:flex-end}.result-category{font-size:.75rem;padding:.125rem .5rem;border-radius:4px;background:var(--bg-secondary,#f3f4f6);color:var(--text-muted)}.result-category.category-consultation{background:#dbeafe;color:#1d4ed8}.result-category.category-modality{background:#dcfce7;color:#15803d}.result-category.category-procedure{background:#fef3c7;color:#b45309}.result-category.category-visit{background:#f3e8ff;color:#7e22ce}.result-category.category-report{background:#e0e7ff;color:#4338ca}.result-category.category-consumable{background:#fee2e2;color:#dc2626}.favorite-badge,.common-badge{font-size:.75rem}.results-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;color:var(--text-muted);font-size:.9rem}@media(max-width:768px){.filter-grid{flex-direction:column}.filter-item{width:100%}.filter-search{min-width:100%}.filter-actions{margin-left:0;margin-top:.5rem}}.page-container{max-width:1400px;margin:0 auto;padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-header-content h1{margin:0 0 .25rem 0;font-size:1.75rem}.page-subtitle{margin:0;color:var(--text-muted);font-size:.9rem}.page-actions{display:flex;gap:.5rem}.page-header-left{display:flex;flex-direction:column;gap:.25rem}.back-link{font-size:.875rem;color:var(--text-muted);text-decoration:none;display:inline-block;margin-bottom:.5rem}.back-link:hover{color:var(--primary)}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-top:1rem;margin-bottom:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.card-header h3{margin:0;font-size:1.1rem}.card-body{padding:1.5rem}.card-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color,#e5e7eb)}.header-content{display:flex;flex-direction:column;gap:.25rem}.settings-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}@media(max-width:1024px){.settings-grid{grid-template-columns:1fr}}.settings-links{display:flex;flex-direction:column;gap:.75rem}.settings-link{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s;border:1px solid #e5e7eb}.settings-link:hover:not(.disabled){background:#f3f4f6}.settings-link.disabled{opacity:.6;cursor:not-allowed}.link-icon{font-size:1.5rem}.link-text{display:flex;flex-direction:column;flex:1}.link-text strong{font-weight:600}.link-text small{font-size:.85rem;color:#6b7280}.form-section-title{font-size:1.125rem;color:var(--gray-900);margin:var(--spacing-lg) 0 var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--gray-200);display:flex;align-items:center;gap:.5rem}.form-section-title:first-child{margin-top:0}.feature-not-available{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:2rem}.feature-not-available-icon{font-size:4rem;margin-bottom:1rem}.feature-not-available h1{margin:0 0 .5rem 0;font-size:1.75rem;color:var(--text-color,#111827)}.feature-not-available-message{margin:0 0 .5rem 0;font-size:1rem;color:var(--text-muted,#6b7280)}.feature-not-available-message code{padding:.125rem .5rem;background:var(--code-background,#f3f4f6);border-radius:4px;font-size:.875rem}.feature-not-available-hint{margin:0 0 1.5rem 0;font-size:.875rem;color:var(--text-muted,#6b7280)}.feature-not-available-actions{display:flex;gap:1rem}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.admin-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--card-background,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.admin-card:not(.disabled):hover{border-color:var(--primary,#2563eb);box-shadow:0 4px 12px rgba(37,99,235,.15);transform:translateY(-2px)}.admin-card.disabled{opacity:.6;cursor:not-allowed}.admin-card-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--primary-light,#eff6ff);border-radius:12px;flex-shrink:0}.admin-card-content{flex:1}.admin-card-content h3{margin:0 0 .25rem 0;font-size:1.1rem;font-weight:600}.admin-card-content p{margin:0;font-size:.875rem;color:var(--text-muted,#6b7280)}.admin-card-arrow{font-size:1.5rem;color:var(--text-muted,#6b7280);transition:transform .2s ease}.admin-card:not(.disabled):hover .admin-card-arrow{transform:translateX(4px);color:var(--primary,#2563eb)}.audit-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.audit-stats .stat-card{background:var(--surface,#fff);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.5rem;display:flex;flex-direction:column}.audit-stats .stat-card.stat-warning{border-color:var(--danger,#dc3545);background:rgba(220,53,69,.05)}.audit-stats .stat-card.stat-warning .stat-value{color:var(--danger,#dc3545)}.audit-stats .stat-value{font-size:1.5rem;font-weight:600;color:var(--primary)}.audit-stats .stat-label{font-size:.875rem;color:var(--text-muted)}.feature-flags-container{margin-top:1.5rem}.feature-legend{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--card-background,#fff);border-radius:8px;border:1px solid var(--border-color,#e5e7eb)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted,#6b7280)}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.status-core{background:#10b981}.status-dot.status-premium{background:#8b5cf6}.status-dot.status-beta{background:#f59e0b}.feature-group{margin-bottom:2rem}.feature-group-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:600;color:var(--text-color,#111827)}.feature-count{font-weight:400;color:var(--text-muted,#6b7280)}.feature-list{display:flex;flex-direction:column;gap:.75rem}.feature-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--card-background,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;transition:all .2s ease}.feature-item.enabled{border-left:3px solid #10b981}.feature-item.disabled{border-left:3px solid #ef4444;background:var(--card-background-muted,#f9fafb)}.feature-item.expired{opacity:.7}.feature-info{flex:1}.feature-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.feature-name{margin:0;font-size:.95rem;font-weight:600}.feature-description{margin:0 0 .5rem 0;font-size:.875rem;color:var(--text-muted,#6b7280)}.feature-key{display:inline-block;padding:.125rem .375rem;background:var(--code-background,#f3f4f6);border-radius:4px;font-size:.75rem;font-family:monospace;color:var(--text-muted,#6b7280)}.feature-notes{margin:.5rem 0 0 0;padding:.5rem;background:var(--warning-light,#fef3c7);border-radius:4px;font-size:.8rem;color:var(--warning-dark,#92400e)}.feature-actions{flex-shrink:0}.feature-toggle{display:flex;align-items:center;gap:.75rem}.toggle-label{font-size:.8rem;font-weight:500;min-width:60px}.feature-item.enabled .toggle-label{color:#10b981}.feature-item.disabled .toggle-label{color:#ef4444}@media(max-width:640px){.feature-item{flex-direction:column}.feature-actions{width:100%;padding-top:.75rem;border-top:1px solid var(--border-color,#e5e7eb)}.feature-toggle{justify-content:space-between}}.practitioners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.practitioner-card{background:#f9fafb;border-radius:8px;padding:1rem;border:1px solid #e5e7eb}.practitioner-card.inactive{opacity:.6}.practitioner-header{display:flex;gap:1rem;margin-bottom:1rem}.practitioner-header .avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.practitioner-info h3{margin:0;font-size:1rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.practitioner-info .title{color:#6b7280}.practitioner-info .specialty{margin:.25rem 0 0 0;font-size:.9rem;color:#6b7280}.practitioner-details{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;font-size:.9rem}.practitioner-details .detail{display:flex;gap:.5rem}.practitioner-details .detail .label{color:#6b7280;min-width:60px}.practitioner-status{margin-bottom:1rem}.practitioner-actions{display:flex;gap:.5rem}.logo-upload-group{margin-bottom:1.5rem}.logo-upload-container{display:flex;align-items:flex-start;gap:1.5rem}.logo-preview{position:relative;width:120px;height:120px;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb;display:flex;align-items:center;justify-content:center}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-delete-btn{position:absolute;top:4px;right:4px;padding:.25rem .5rem;font-size:.75rem;opacity:0;transition:opacity .2s}.logo-preview:hover .logo-delete-btn{opacity:1}.logo-placeholder{width:120px;height:120px;border:2px dashed #d1d5db;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f9fafb;color:#9ca3af}.logo-placeholder span{font-size:2rem;margin-bottom:.25rem}.logo-upload-actions{display:flex;flex-direction:column;gap:.5rem}.stat-carousel{position:relative;overflow:hidden;min-height:24px}.stat-slide{display:none;animation:statFadeIn .3s ease-in-out;font-size:.85rem;color:var(--gray-500)}.stat-slide.active{display:block}.stat-slide strong{font-weight:600;color:var(--gray-700)}@keyframes statFadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:1rem;grid-column:1/-1}.dot{width:8px;height:8px;border-radius:50%;background:var(--gray-300);cursor:pointer;transition:background .2s}.dot.active{background:var(--primary);transform:scale(1.2)}body.login-page{font-family:var(--font-sans);background:linear-gradient(135deg,var(--login-gradient-start,#1e40af) 0%,var(--login-gradient-end,#2563eb) 100%);color:var(--gray-800);display:block!important;height:100%;margin:0}html.login-page{height:100%;margin:0}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:1.5rem}.login-card{background:#fff;padding:3rem 2.5rem;border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:100%;max-width:440px;animation:slideUp .4s ease-out;position:relative;overflow:hidden;margin:auto}.login-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--login-accent-start,var(--primary)),var(--login-accent-end,var(--secondary)))}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo-img{max-width:180px;max-height:80px;width:auto;height:auto;margin:0 auto 1.5rem;display:block}.login-logo{width:64px;height:64px;background:var(--primary-light);color:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 1.5rem;box-shadow:0 4px 6px -1px rgba(37,99,235,.2)}.login-header h2{color:var(--gray-900);font-size:1.75rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.025em}.login-header p{color:var(--gray-500);font-size:.95rem;margin:0}.login-card .form-group{margin-bottom:1.25rem}.login-card .form-label{display:block;margin-bottom:.5rem;color:var(--gray-700);font-weight:600;font-size:.875rem}.login-card .form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:1rem;transition:all .2s;background:var(--gray-50);box-sizing:border-box}.login-card .form-input:focus{outline:0;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.login-card .btn-primary{width:100%;justify-content:center;padding:.875rem;font-size:1rem;font-weight:600;margin-top:1rem}.login-card .text-danger{color:var(--danger);font-size:.875rem;margin-top:.25rem;display:block}.login-error{display:flex;align-items:center;gap:.75rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.875rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.9rem;animation:shake .4s ease-out}.login-error .error-icon{font-size:1.125rem;flex-shrink:0}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.field-error{color:#dc2626;font-size:.8rem;margin-top:.25rem;display:block}.login-card .form-input.input-error{border-color:#fca5a5;background:#fef2f2}.login-card .form-input.input-error:focus{border-color:#f87171;box-shadow:0 0 0 3px rgba(239,68,68,.15)}@media(max-width:640px){.login-card{padding:2rem 1.5rem}}.debtors-dashboard{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;margin-top:1rem}.debtors-main{min-width:0}.debtors-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:1024px){.debtors-dashboard{grid-template-columns:1fr}.debtors-sidebar{order:-1}}.debtors-summary-cards{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:1200px){.debtors-summary-cards{grid-template-columns:repeat(3,1fr)}.summary-card-total{grid-column:span 3}}@media(max-width:768px){.debtors-summary-cards{grid-template-columns:repeat(2,1fr)}.summary-card-total{grid-column:span 2}}.summary-card{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover,0 4px 12px rgba(0,0,0,.1))}.summary-card.active{border-color:var(--primary);background:var(--primary-light,rgba(59,130,246,.08))}.summary-card-total{background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border-width:2px}.summary-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.summary-card-icon{font-size:1rem}.summary-card-title{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.summary-card-value{font-size:1.75rem;font-weight:700;line-height:1.2;margin-bottom:.25rem}.summary-card-total .summary-card-value{font-size:2rem}.summary-card-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-tertiary)}.summary-card-age{color:var(--text-secondary);font-style:italic}.summary-card.has-alert{border-color:var(--danger,#ef4444);animation:pulse-border 2s ease-in-out infinite}.summary-card-alert-badge{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--danger,#ef4444);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 2px 4px rgba(239,68,68,.3)}@keyframes pulse-border{0%,100%{border-color:var(--danger)}50%{border-color:rgba(239,68,68,.5)}}.summary-card-success{border-left:3px solid var(--success,#22c55e)}.summary-card-warning{border-left:3px solid var(--warning,#f59e0b)}.summary-card-orange{border-left:3px solid #ea580c}.summary-card-danger{border-left:3px solid var(--danger,#ef4444)}.sidebar-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem}.sidebar-section-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.sidebar-section-icon{font-size:1rem}.medical-aid-list{display:flex;flex-direction:column;gap:.5rem}.medical-aid-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--bg-primary);border-radius:8px;border:1px solid transparent;transition:all .15s ease}.medical-aid-item:hover{border-color:var(--border-color);background:var(--bg-tertiary)}.medical-aid-item.has-overdue{border-left:3px solid var(--warning,#f59e0b)}.medical-aid-header{display:flex;align-items:center;gap:.375rem;min-width:0}.medical-aid-name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.medical-aid-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.medical-aid-amount{font-size:.85rem;font-weight:600}.medical-aid-count{font-size:.7rem;color:var(--text-tertiary)}.medical-aid-action{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-secondary);text-decoration:none;transition:all .15s ease}.medical-aid-action:hover{background:var(--primary);color:#fff}.medical-aid-more{margin-top:.5rem}.medical-aid-more summary{font-size:.75rem;color:var(--primary);cursor:pointer;padding:.25rem 0}.quick-actions-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem}.quick-actions-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.quick-actions-icon{font-size:1rem}.quick-actions-grid{display:flex;flex-direction:column;gap:.5rem}.quick-action-btn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.125rem .75rem;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;text-align:left;cursor:pointer;transition:all .15s ease;text-decoration:none;color:inherit}.quick-action-btn:hover:not([disabled]){border-color:var(--primary);background:var(--primary-light,rgba(59,130,246,.05))}.quick-action-btn[disabled]{opacity:.5;cursor:not-allowed}.quick-action-btn.disabled-coming-soon{opacity:.6;cursor:not-allowed;background:var(--bg-secondary)}.quick-action-btn.attention{border-color:var(--warning,#f59e0b);background:rgba(245,158,11,.05)}.quick-action-btn.attention:hover{background:rgba(245,158,11,.1)}.quick-action-icon{grid-row:span 2;font-size:1.25rem;display:flex;align-items:center}.quick-action-label{font-size:.85rem;font-weight:500}.quick-action-desc{font-size:.75rem;color:var(--text-secondary)}.header-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;vertical-align:middle;margin-left:.5rem}.header-badge.badge-warning{background:rgba(245,158,11,.15);color:var(--warning,#f59e0b)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.summary-value{font-size:1.5rem;font-weight:700}.summary-count{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.summary-toggle{cursor:pointer;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;font-weight:600}.patient-info{display:flex;flex-direction:column;gap:.25rem}.patient-name{font-weight:500}.patient-contact{font-size:.75rem;color:var(--text-secondary)}.totals-row{background:var(--bg-secondary);font-weight:600}.patient-contact-bar{display:flex;gap:1.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem;font-size:.9rem}.age-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.age-box{text-align:center;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.age-box.has-balance{border-color:currentColor}.age-box.danger{background:rgba(220,38,38,.1)}.age-label{font-size:.75rem;color:var(--text-secondary)}.age-value{font-size:1.1rem;font-weight:600}.total-outstanding{display:flex;justify-content:space-between;padding:1rem;background:var(--bg-tertiary);border-radius:8px;font-size:1.1rem}.total-outstanding strong{font-size:1.25rem}.section-title{font-size:1rem;font-weight:600;margin-bottom:.75rem}.data-table.compact td,.data-table.compact th{padding:.5rem .75rem;font-size:.85rem}.statement-header{display:flex;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem}.statement-meta{text-align:right;font-size:.9rem}.age-summary-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.age-item{text-align:center;padding:.5rem;background:var(--bg-secondary);border-radius:4px}.age-item .age-label{display:block;font-size:.7rem;color:var(--text-secondary)}.age-item .age-value{font-weight:600;font-size:.9rem}.statement-totals{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.total-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.total-row:last-child{border-bottom:0}.total-closing{padding-top:.75rem;font-size:1.1rem}.email-status{margin-top:1rem;padding:.75rem;background:var(--success-light);color:var(--success);border-radius:8px;font-size:.85rem}.text-orange{color:#ea580c}.badge-orange{background:#ea580c;color:#fff}.badge-sm{font-size:.65rem;padding:.125rem .375rem}.filter-input-wrapper{position:relative;display:flex;align-items:center}.filter-input-prefix{position:absolute;left:.625rem;color:var(--text-secondary);font-size:.85rem;font-weight:500;pointer-events:none}.filter-input-sm{width:100px;padding:.5rem .625rem .5rem 1.5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);font-size:.85rem}.filter-input-sm:focus{outline:0;border-color:var(--primary)}.statements-dashboard{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;margin-top:1rem}.statements-main{min-width:0}.statements-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:1024px){.statements-dashboard{grid-template-columns:1fr}.statements-sidebar{order:-1}}.statements-summary-cards{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:1200px){.statements-summary-cards{grid-template-columns:repeat(3,1fr)}.statements-summary-cards .summary-card-total{grid-column:span 3}}@media(max-width:768px){.statements-summary-cards{grid-template-columns:repeat(2,1fr)}.statements-summary-cards .summary-card-total{grid-column:span 2}}.summary-card-primary{border-left:3px solid var(--primary,#3b82f6)}.patient-statements-list{display:flex;flex-direction:column;gap:.5rem}.patient-statement-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--bg-primary);border-radius:8px;border:1px solid transparent;transition:all .15s ease}.patient-statement-item:hover{border-color:var(--border-color);background:var(--bg-tertiary)}.patient-statement-item.has-pending{border-left:3px solid var(--warning,#f59e0b)}.patient-statement-header{display:flex;align-items:center;gap:.375rem;min-width:0}.patient-statement-name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-statement-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.patient-statement-amount{font-size:.85rem;font-weight:600}.patient-statement-count{font-size:.7rem;color:var(--text-tertiary)}.patient-statement-action{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-secondary);text-decoration:none;transition:all .15s ease}.patient-statement-action:hover{background:var(--primary);color:#fff}.filter-date-group{display:flex;align-items:center;gap:.5rem}.filter-date-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.filter-date-input{padding:.5rem .625rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);font-size:.85rem;width:140px}.filter-date-input:focus{outline:0;border-color:var(--primary)}.text-primary{color:var(--primary,#3b82f6)}#modal-dialog.modal-xl{max-width:900px}.invoices-dashboard .dashboard-layout{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;margin-top:1rem}.invoices-dashboard .dashboard-main{min-width:0}.invoices-dashboard .dashboard-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:1024px){.invoices-dashboard .dashboard-layout{grid-template-columns:1fr}.invoices-dashboard .dashboard-sidebar{order:-1}}.invoices-summary-cards{display:grid;grid-template-columns:1.25fr repeat(5,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:1400px){.invoices-summary-cards{grid-template-columns:repeat(3,1fr)}.invoices-summary-cards .summary-card-total{grid-column:span 3}}@media(max-width:768px){.invoices-summary-cards{grid-template-columns:repeat(2,1fr)}.invoices-summary-cards .summary-card-total{grid-column:span 2}}.invoices-filters{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem;margin-bottom:1rem}.invoices-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.invoices-filter-group{display:flex;align-items:center;gap:.5rem}.invoices-filter-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.invoices-filter-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);font-size:.85rem;min-width:150px}.invoices-filter-input:focus{outline:0;border-color:var(--primary)}.invoices-filter-date{width:140px}.filter-pill-group{display:flex;gap:.25rem;background:var(--bg-tertiary);padding:.25rem;border-radius:8px}.filter-pill{padding:.375rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:0;background:transparent;color:var(--text-secondary)}.filter-pill:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.filter-pill.active{background:var(--primary);color:#fff}.invoices-clear-btn{margin-left:auto;padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.invoices-clear-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.page-header-compact{padding:.75rem 0;margin-bottom:.5rem}.page-header-compact h1{font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.page-header-compact .header-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary)}.quick-action-badge{position:absolute;top:.25rem;right:.25rem;min-width:18px;height:18px;padding:0 .375rem;background:var(--warning,#f59e0b);color:#fff;border-radius:999px;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.quick-action-btn{position:relative}.recent-invoices-list{display:flex;flex-direction:column;gap:.5rem}.recent-invoice-item{padding:.625rem .75rem;background:var(--bg-primary);border-radius:8px;border:1px solid transparent;transition:all .15s ease}.recent-invoice-item:hover{border-color:var(--border-color);background:var(--bg-tertiary)}.recent-invoice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.recent-invoice-number{font-size:.85rem;font-weight:600;color:var(--text-primary)}.recent-invoice-status{font-size:.65rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase}.recent-invoice-status.status-paid{background:rgba(34,197,94,.15);color:var(--success,#22c55e)}.recent-invoice-status.status-partial{background:rgba(59,130,246,.15);color:var(--primary,#3b82f6)}.recent-invoice-status.status-issued{background:rgba(245,158,11,.15);color:var(--warning,#f59e0b)}.recent-invoice-status.status-draft{background:var(--bg-tertiary);color:var(--text-secondary)}.recent-invoice-status.status-other{background:var(--bg-tertiary);color:var(--text-secondary)}.recent-invoice-patient{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-invoice-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.375rem;font-size:.75rem}.recent-invoice-date{color:var(--text-tertiary)}.recent-invoice-amount{font-weight:600;color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-warning{color:var(--warning,#f59e0b)}.text-danger{color:var(--danger,#ef4444)}.text-success{color:var(--success,#22c55e)}.summary-card-secondary{border-left:3px solid var(--text-secondary)}.diary-layout{display:flex;gap:1.5rem;height:calc(100vh - 80px);overflow:hidden}.diary-main-column{flex:0 0 70%;overflow-y:auto;padding-right:.5rem}.diary-side-column{flex:0 0 calc(30% - 1.5rem);display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.diary-header-section{background:var(--white);border-radius:var(--radius-lg);padding:1rem;border:1px solid var(--gray-200)}.diary-header-section .breadcrumb{margin-bottom:.5rem;font-size:.875rem}.diary-title{font-size:1.5rem;margin:0 0 .75rem 0;color:var(--gray-900)}.diary-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.diary-controls-section{background:var(--white);border-radius:var(--radius-lg);padding:1rem;border:1px solid var(--gray-200)}.diary-date-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.diary-current-date{text-align:center;flex:1}.diary-date-display{display:block;font-weight:600;font-size:1rem;color:var(--gray-900)}.diary-day-of-week{display:block;font-size:.75rem;color:var(--gray-500);text-transform:uppercase}.diary-date-actions{display:flex;gap:.5rem;align-items:center}.diary-date-actions input[type="date"]{flex:1;min-width:0}.diary-sidebar-section{flex:1;overflow-y:auto;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.diary-summary-bar{display:flex;gap:1.5rem;padding:.75rem 1rem;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.diary-summary-item{color:var(--gray-600)}.diary-summary-warning{color:#dc2626}.diary-date-header{display:flex;flex-direction:column;padding:1rem 0;margin-bottom:.5rem}.diary-date-header-day{font-size:1.5rem;font-weight:600;color:var(--gray-900);line-height:1.2}.diary-date-header-date{font-size:.875rem;color:var(--gray-500);margin-top:.125rem}.diary-time-grid{display:flex;gap:0;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;background:var(--white)}.diary-time-labels{flex-shrink:0;width:55px;background:var(--gray-50);border-right:1px solid var(--gray-200)}.diary-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding-right:8px;font-size:.75rem;color:var(--gray-500);font-weight:500;border-bottom:1px solid transparent}.diary-time-label span{transform:translateY(-50%)}.diary-appointments-column{flex:1;position:relative;min-width:0}.diary-grid-lines{position:relative}.diary-grid-line{border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .15s}.diary-grid-line.hour-line{border-bottom-color:var(--gray-200)}.diary-grid-line.outside-hours{background:repeating-linear-gradient(-45deg,var(--gray-50),var(--gray-50) 4px,var(--gray-100) 4px,var(--gray-100) 8px)}.diary-grid-line:hover{background:var(--primary-50,#eff6ff)}.diary-timeblocks-layer{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.diary-timeblock{position:absolute;left:0;right:0;border-left:4px solid;border-radius:var(--radius-sm);pointer-events:auto;cursor:pointer;opacity:.85;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease,z-index 0s;overflow:hidden;z-index:1}.diary-timeblock:hover{opacity:1;z-index:200;transform:translateY(-2px) scale(1.01);box-shadow:0 10px 25px -5px rgba(0,0,0,.15),0 8px 10px -6px rgba(0,0,0,.1)}.diary-timeblock-content{padding:6px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diary-timeblock-title{font-weight:600;font-size:.8125rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.diary-timeblock-time{font-size:.75rem;color:rgba(255,255,255,.9)}.diary-timeblock-recurring{font-size:.75rem}.diary-timeblock-notes{font-size:.75rem;color:rgba(255,255,255,.85);font-style:italic;flex-basis:100%}.diary-appointments-layer{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:2}.diary-appointment{position:absolute;background:rgba(255,255,255,.97);border:1px solid var(--gray-300);border-left:4px solid var(--primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;pointer-events:auto;transition:transform .2s ease,box-shadow .2s ease,z-index 0s}.diary-appointment:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 10px 25px -5px rgba(0,0,0,.15),0 8px 10px -6px rgba(0,0,0,.1);z-index:100!important}.diary-appointment.cash-patient{border-left-color:var(--success);background:linear-gradient(135deg,rgba(240,253,244,.98) 0%,rgba(255,255,255,.98) 30%)}.diary-appointment.iod-patient{border-left-color:var(--warning);background:linear-gradient(135deg,rgba(254,243,199,.98) 0%,rgba(255,255,255,.98) 30%)}.diary-appointment.completed{opacity:.7;background:var(--gray-50)}.diary-appointment.confirmed{border-left-width:5px}.diary-appt-content{padding:8px 10px;display:flex;flex-direction:column;gap:4px;font-size:.8125rem}.diary-appt-header{display:flex;justify-content:space-between;align-items:center}.diary-appt-time-info{display:flex;align-items:center;gap:6px}.diary-appt-time{font-weight:700;font-size:.8125rem;color:var(--gray-700)}.diary-appt-duration{font-size:.75rem;color:var(--gray-500)}.diary-appt-quick-actions{display:flex;gap:4px}.diary-action-btn{width:26px;height:26px;border:0;background:var(--gray-100);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background .15s}.diary-action-btn:hover{background:var(--gray-200)}.diary-appt-patient-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diary-appt-patient{font-weight:600;font-size:.9375rem;color:var(--gray-900)}.diary-appt-practitioner{font-size:.75rem;font-weight:500}.diary-appt-treatment{font-size:.8125rem;color:var(--gray-700)}.diary-appt-contact{display:flex;align-items:center;gap:6px}.diary-contact-link{font-size:.75rem;color:var(--primary);text-decoration:none;padding:2px 6px;background:var(--gray-50);border-radius:4px;transition:background .15s}.diary-contact-link:hover{background:var(--gray-100)}.diary-whatsapp{background:#dcfce7}.diary-whatsapp:hover{background:#bbf7d0}.diary-appt-payment{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diary-payment-date{font-size:.75rem;color:var(--gray-500)}.diary-ma-info{font-size:.75rem;color:var(--gray-600)}.diary-ma-number{font-size:.75rem;color:var(--gray-600);display:flex;align-items:center;gap:4px}.copy-btn-sm{border:0;background:none;cursor:pointer;padding:0;font-size:.75rem;opacity:.7}.copy-btn-sm:hover{opacity:1}.diary-appt-codes{font-size:.75rem;color:var(--gray-600);display:flex;gap:12px}.diary-appt-invoice{margin-top:2px}.diary-invoice-number{font-size:.875rem;font-weight:700;color:var(--primary);cursor:pointer}.diary-invoice-number:hover{text-decoration:underline}.diary-invoice-missing{font-size:.875rem;font-weight:700;color:#dc2626;cursor:pointer}.diary-invoice-missing:hover{text-decoration:underline}.diary-appt-notes{font-size:.75rem;color:var(--gray-600);font-style:italic;padding-top:4px;border-top:1px solid var(--gray-100);margin-top:4px}.diary-appt-actions{display:flex;flex-wrap:wrap;gap:4px;padding-top:6px;border-top:1px solid var(--gray-100);margin-top:6px}.diary-appt-actions .btn-text{font-size:.75rem;padding:3px 8px;border-radius:4px;background:var(--gray-50)}.diary-appt-actions .btn-text:hover{background:var(--gray-100)}.badge-cash,.badge-medical,.badge-iod{font-size:.6875rem;padding:2px 6px;border-radius:4px;font-weight:600}.badge-cash{background:#dcfce7;color:#166534}.badge-medical{background:#dbeafe;color:#1e40af}.badge-iod{background:#fef3c7;color:#92400e}.badge-success-sm,.badge-info-sm{font-size:.625rem;padding:1px 5px;border-radius:3px;font-weight:600}.badge-success-sm{background:#dcfce7;color:#166534}.badge-info-sm{background:#e0f2fe;color:#0369a1}.recurrence-options{background:var(--gray-50);padding:1rem;border-radius:var(--radius-md);margin-top:.5rem}.recurrence-options.hidden{display:none}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-text{font-size:.875rem}.timeblock-preview{margin-top:1rem;padding:1rem;background:var(--gray-50);border-radius:var(--radius-md)}.timeblock-preview-card{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border-radius:var(--radius-md);border-left:4px solid}.timeblock-preview-title{font-weight:600;font-size:.875rem}.timeblock-preview-time{font-size:.75rem;color:var(--gray-600)}@media(max-width:1024px){.diary-layout{flex-direction:column;height:auto;overflow:visible}.diary-main-column,.diary-side-column{flex:none;width:100%}.diary-main-column{order:2}.diary-side-column{order:1;flex-direction:row;flex-wrap:wrap}.diary-header-section,.diary-controls-section{flex:1 1 45%}.diary-sidebar-section{flex:1 1 100%}}@media(max-width:768px){.diary-time-labels{width:45px}.diary-appt-content{padding:6px 8px}.diary-appt-patient{font-size:.875rem}}