/*==============================================================
  IvyCare Premium v2 — Luxury Medical Aesthetic
  All selectors prefixed #ivyApp + !important for WP override
==============================================================*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
:root{--ivy-blue:#4a90c4;--ivy-blue-dk:#3a7cb8;--ivy-accent:#4a90c4;--ivy-accent-lt:#7ab3de;--ivy-surface:#fff;--ivy-bg:#f4f6f9;--ivy-text:#1e293b;--ivy-muted:#64748b;--ivy-border:#e2e8f0}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Scrollbars */
#ivyApp *{scrollbar-width:thin!important;scrollbar-color:rgba(74,144,196,.2) transparent!important}
#ivyApp *::-webkit-scrollbar{width:5px!important;height:5px!important}
#ivyApp *::-webkit-scrollbar-track{background:transparent!important}
#ivyApp *::-webkit-scrollbar-thumb{background:rgba(74,144,196,.2)!important;border-radius:10px!important}

/* Page Header */
#ivyApp #lbl_page h3{font-family:'Inter',sans-serif!important;font-size:1.5rem!important;font-weight:700!important;color:#2c6fa0!important;margin:0!important}
#ivyApp #lbl_loggedinuser{font-family:'Inter',sans-serif!important;font-size:.82rem!important;color:#64748b!important}

/* Top Controls */
#ivyApp .top-controls{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;margin:20px 24px!important;gap:12px!important}
#ivyApp .search-and-add{display:flex!important;gap:12px!important;flex:1!important;min-width:220px!important}
#ivyApp .search-and-add input{padding:12px 16px!important;font-size:.92rem!important;font-family:'Inter',sans-serif!important;border-radius:12px!important;border:1.5px solid #e2e8f0!important;background:#fff!important;color:#1e293b!important;flex:1!important;transition:border-color .25s ease,box-shadow .25s ease!important;outline:none!important}
#ivyApp .search-and-add input:focus{border-color:#4a90c4!important;box-shadow:0 0 0 3px rgba(74,144,196,.15)!important}
#ivyApp .search-and-add input::placeholder{color:#94a3b8!important}

/* Tab Buttons */
#ivyApp .tab-buttons{display:flex!important;gap:8px!important;flex-shrink:0!important}
#ivyApp .tab-button{padding:10px 20px!important;border-radius:12px!important;border:1.5px solid #4a90c4!important;background:transparent!important;color:#4a90c4!important;font-weight:500!important;font-family:'Inter',sans-serif!important;font-size:.82rem!important;cursor:pointer!important;transition:all .25s ease!important;letter-spacing:.04em!important;text-transform:uppercase!important}
#ivyApp .tab-button:hover{background:rgba(74,144,196,.04)!important}
#ivyApp .tab-button.tab-active{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;border-color:#4a90c4!important;box-shadow:0 4px 14px rgba(74,144,196,.25)!important}

/* Add Patient */
#ivyApp #btn_add_patient{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;padding:10px 18px!important;border:none!important;border-radius:12px!important;font-size:.92rem!important;font-family:'Inter',sans-serif!important;font-weight:700!important;cursor:pointer!important;transition:all .25s ease!important;box-shadow:0 2px 8px rgba(74,144,196,.2)!important;width:44px!important;height:44px!important;flex-shrink:0!important}
#ivyApp #btn_add_patient:hover{box-shadow:0 6px 20px rgba(140,160,179,.45)!important;transform:translateY(-2px)!important}

/* PATIENT CARDS */
#ivyApp #patients-container{grid-template-columns:repeat(2,1fr)!important;gap:20px!important;padding:0 24px 12px!important}
#ivyApp .patient-card{display:flex!important;flex-direction:row!important;align-items:center!important;gap:18px!important;background:#fff!important;border-radius:16px!important;padding:20px!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 3px rgba(74,144,196,.05),0 4px 12px rgba(74,144,196,.03)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;cursor:pointer!important;position:relative!important;overflow:hidden!important}
#ivyApp .patient-card::before{content:''!important;position:absolute!important;top:0!important;left:0!important;width:4px!important;height:100%!important;background:linear-gradient(180deg,#4a90c4,#7ab3de)!important;opacity:0!important;transition:opacity .3s ease!important}
#ivyApp .patient-card:hover{box-shadow:0 8px 28px rgba(74,144,196,.1),0 2px 8px rgba(140,160,179,.08)!important;transform:translateY(-4px)!important;border-color:rgba(74,144,196,.25)!important}
#ivyApp .patient-card:hover::before{opacity:1!important}
#ivyApp .photo-wrapper{width:130px!important;height:130px!important;border-radius:14px!important;overflow:hidden!important;flex:none!important;display:flex!important;border:2px solid #e2e8f0!important;transition:border-color .3s ease!important}
#ivyApp .patient-card:hover .photo-wrapper{border-color:#4a90c4!important}
#ivyApp .patient-photo{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:inherit!important}
#ivyApp .patient-info{font-family:'Inter',sans-serif!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important}
#ivyApp .patient-info h3{margin:0!important;font-weight:600!important;font-size:1.08rem!important;color:#2c6fa0!important;font-family:'Inter',sans-serif!important}
#ivyApp .patient-info .address{font-style:normal!important;color:#64748b!important;font-size:.8rem!important;margin-bottom:6px!important}
#ivyApp .patient-info p{margin:1px 0!important;font-size:.8rem!important;color:#64748b!important;font-weight:400!important;font-family:'Inter',sans-serif!important}

/* PAGINATION */
#ivyApp #paginationControls{justify-content:center!important;align-items:center!important;gap:6px!important;padding:16px 24px!important;font-family:'Inter',sans-serif!important;flex-wrap:wrap!important}
#ivyApp .pagination-btn{padding:8px 14px!important;border-radius:10px!important;border:1.5px solid #e2e8f0!important;background:#fff!important;color:#4a90c4!important;font-weight:500!important;font-family:'Inter',sans-serif!important;font-size:.82rem!important;cursor:pointer!important;transition:all .25s ease!important}
#ivyApp .pagination-btn:hover:not(:disabled){background:#4a90c4!important;color:#ffffff!important;border-color:#4a90c4!important}
#ivyApp .pagination-btn.active{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;border-color:#4a90c4!important;box-shadow:0 2px 8px rgba(74,144,196,.2)!important}
#ivyApp .pagination-btn:disabled{opacity:.35!important;cursor:not-allowed!important}
#ivyApp .pagination-info{font-size:.78rem!important;color:#64748b!important;padding:0 8px!important}

/* MODALS */
#ivyApp .modal-backdrop{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:rgba(74,144,196,.6)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;justify-content:center!important;align-items:flex-start!important;z-index:1000!important;overflow-y:auto!important;padding:40px 20px!important;box-sizing:border-box!important;animation:fadeIn .2s ease!important}
#ivyApp .modal-content{background:#fff!important;padding:32px!important;border-radius:16px!important;overflow-y:auto!important;width:95%!important;max-width:720px!important;font-family:'Inter',sans-serif!important;margin:auto!important;max-height:calc(100vh - 80px)!important;box-shadow:0 8px 40px rgba(74,144,196,.15)!important;border:none!important;animation:slideUp .3s ease!important}
#ivyApp .modal-content h2{font-family:'Inter',sans-serif!important;font-weight:700!important;font-size:1.3rem!important;color:#2c6fa0!important}

/* Forms */
#ivyApp .form-section label,#ivyApp .consultation-form label{display:block!important;margin-top:14px!important;font-weight:600!important;font-size:.72rem!important;color:#64748b!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-family:'Inter',sans-serif!important}
#ivyApp .form-section input,#ivyApp .form-section select,#ivyApp .form-section textarea,#ivyApp .consultation-form input,#ivyApp .consultation-form textarea,#ivyApp .consultation-form select{width:100%!important;padding:10px 14px!important;border-radius:10px!important;border:1.5px solid #e2e8f0!important;margin-top:4px!important;font-size:.9rem!important;font-family:'Inter',sans-serif!important;color:#1e293b!important;background:#fff!important;transition:border-color .25s ease,box-shadow .25s ease!important;outline:none!important}
#ivyApp .form-section input:focus,#ivyApp .form-section select:focus,#ivyApp .form-section textarea:focus,#ivyApp .consultation-form input:focus,#ivyApp .consultation-form textarea:focus,#ivyApp .consultation-form select:focus{border-color:#4a90c4!important;box-shadow:0 0 0 3px rgba(74,144,196,.12)!important}
#ivyApp .form-section textarea,#ivyApp .consultation-form textarea{min-height:60px!important;resize:vertical!important}
#ivyApp .modal-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:24px!important}
#ivyApp .modal-actions button{padding:10px 22px!important;border-radius:10px!important;border:none!important;font-weight:600!important;font-family:'Inter',sans-serif!important;font-size:.88rem!important;cursor:pointer!important;transition:all .25s ease!important}
#ivyApp .modal-actions button[type="submit"]{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;box-shadow:0 2px 8px rgba(74,144,196,.2)!important}
#ivyApp .modal-actions button[type="submit"]:hover{box-shadow:0 4px 16px rgba(74,144,196,.3)!important;transform:translateY(-1px)!important}
#ivyApp .modal-actions button[type="button"]{background:#f4f6f9!important;color:#64748b!important;border:1px solid #e2e8f0!important}
#ivyApp .modal-actions button[type="button"]:hover{background:#e2e8f0!important}
#ivyApp .vital-group{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
#ivyApp .vital-group input{flex:1 1 45%!important}

/* PATIENT DETAIL MODAL */
#ivyApp .patient-detail-grid{display:flex!important;gap:48px!important;background:#fff!important;border-radius:16px!important;padding:40px!important;max-width:1100px!important;width:100%!important;box-shadow:0 8px 40px rgba(74,144,196,.15)!important;font-family:'Inter',sans-serif!important;position:relative!important;border:none!important;animation:slideUp .3s ease!important}
#ivyApp .patient-summary{flex:1!important;min-width:280px!important}
#ivyApp .consultation-history{flex:2!important;min-width:400px!important}
#ivyApp .photo-and-name{display:flex!important;align-items:center!important;gap:18px!important;margin-bottom:28px!important}
#ivyApp img.detail-photo{width:120px!important;height:120px!important;border-radius:14px!important;object-fit:cover!important;border:2px solid #e2e8f0!important;flex-shrink:0!important;transition:border-color .3s ease!important}
#ivyApp img.detail-photo:hover{border-color:#4a90c4!important}
#ivyApp .text-info h2{font-size:1.4rem!important;margin:0!important;color:#2c6fa0!important;font-weight:700!important;font-family:'Inter',sans-serif!important}
#ivyApp .text-info p{margin:4px 0!important;color:#64748b!important;font-size:.88rem!important;font-family:'Inter',sans-serif!important}
#ivyApp .summary-block{margin-top:24px!important;padding-top:20px!important;border-top:1px solid #e2e8f0!important}
#ivyApp .summary-block h3{margin-bottom:10px!important;font-size:.78rem!important;color:#4a90c4!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-weight:600!important;font-family:'Inter',sans-serif!important}
#ivyApp .close-modal-btn{position:absolute!important;top:16px!important;right:16px!important;background:#f4f6f9!important;border:1px solid #e2e8f0!important;font-size:.9rem!important;color:#64748b!important;cursor:pointer!important;padding:6px 10px!important;border-radius:8px!important;transition:all .25s ease!important}
#ivyApp .close-modal-btn:hover{background:#e2e8f0!important;color:#1e293b!important}

/* Timeline */
#ivyApp #timelineEntries{display:flex!important;flex-direction:column!important;gap:16px!important;font-size:.92rem!important;max-height:90vh!important;overflow-y:auto!important;margin-top:1rem!important}
#ivyApp .timeline-header{display:flex!important;align-items:center!important;gap:14px!important;margin-bottom:16px!important}
#ivyApp .timeline-header h3{margin:0!important;font-size:1.15rem!important;color:#2c6fa0!important;font-weight:600!important;font-family:'Inter',sans-serif!important}
#ivyApp #btnAddConsultation{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;border:none!important;padding:10px 18px!important;font-size:.85rem!important;font-family:'Inter',sans-serif!important;font-weight:500!important;border-radius:10px!important;cursor:pointer!important;transition:all .25s ease!important;box-shadow:0 2px 8px rgba(74,144,196,.15)!important}
#ivyApp #btnAddConsultation:hover{box-shadow:0 6px 20px rgba(74,144,196,.25)!important;transform:translateY(-2px)!important}
#ivyApp .consultation-entry{padding:1.2rem 1.4rem!important;background:#f8f9fb!important;border-radius:12px!important;margin-bottom:4px!important;font-size:.88rem!important;border:1px solid #e2e8f0!important;transition:border-color .25s ease,box-shadow .25s ease!important;font-family:'Inter',sans-serif!important}
#ivyApp .consultation-entry:hover{border-color:rgba(74,144,196,.25)!important;box-shadow:0 2px 8px rgba(74,144,196,.04)!important}
#ivyApp .consultation-entry.editing{background:#fff!important;border:1.5px solid #4a90c4!important;box-shadow:0 0 0 3px rgba(140,160,179,.08)!important}
#ivyApp .consultation-grid{display:flex!important;justify-content:space-between!important;gap:32px!important;margin-top:10px!important;flex-wrap:wrap!important;font-size:.9rem!important}
#ivyApp .consultation-grid>div{flex:1 1 45%!important;min-width:200px!important}
#ivyApp .consult-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:6px!important;font-size:.95rem!important}
#ivyApp .tab-controls{display:flex!important;gap:6px!important}
#ivyApp .tab-btn{padding:7px 16px!important;border-radius:8px!important;border:1.5px solid #4a90c4!important;background:transparent!important;color:#4a90c4!important;font-weight:500!important;cursor:pointer!important;font-family:'Inter',sans-serif!important;font-size:.78rem!important;transition:all .25s ease!important}
#ivyApp .tab-btn:hover{background:rgba(74,144,196,.04)!important}
#ivyApp .tab-btn.active{background:#4a90c4!important;color:#ffffff!important;border-color:#4a90c4!important;box-shadow:0 2px 8px rgba(74,144,196,.2)!important}

/* Badges */
#ivyApp .consult-badge-container{margin-top:12px!important;display:flex!important;justify-content:flex-end!important}
#ivyApp .consult-badge{padding:4px 12px!important;border-radius:20px!important;font-size:.68rem!important;font-weight:600!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:.06em!important}
#ivyApp .badge-ambulatory{background:linear-gradient(135deg,#3b82c4,#60a5fa)!important}
#ivyApp .badge-urgentcare{background:linear-gradient(135deg,#d97706,#f59e0b)!important}
#ivyApp .badge-inpatientcare{background:linear-gradient(135deg,#dc2626,#ef4444)!important}

/* Edit Buttons */
#ivyApp .edit-btn{background:none!important;border:none!important;font-size:.92rem!important;cursor:pointer!important;color:#64748b!important;padding:4px 8px!important;border-radius:8px!important;transition:color .25s ease!important}
#ivyApp .edit-btn:hover{color:#4a90c4!important;background:rgba(74,144,196,.08)!important}
#ivyApp .btn-save,#ivyApp .btn-cancel{padding:7px 14px!important;border-radius:8px!important;font-size:.82rem!important;font-family:'Inter',sans-serif!important;font-weight:500!important;border:none!important;cursor:pointer!important;transition:all .25s ease!important}
#ivyApp .btn-save{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;margin-right:8px!important;box-shadow:0 2px 6px rgba(74,144,196,.15)!important}
#ivyApp .btn-save:hover{box-shadow:0 4px 12px rgba(74,144,196,.25)!important;transform:translateY(-1px)!important}
#ivyApp .btn-cancel{background:#f4f6f9!important;color:#64748b!important;border:1px solid #e2e8f0!important}
#ivyApp .btn-cancel:hover{background:#e2e8f0!important}

/* Inline Edits */
#ivyApp textarea.inline-edit{width:100%!important;min-height:100px!important;padding:12px 14px!important;font-size:.9rem!important;border-radius:10px!important;border:1.5px solid #e2e8f0!important;font-family:'Inter',sans-serif!important;color:#1e293b!important;resize:vertical!important;outline:none!important}
#ivyApp textarea.inline-edit:focus{border-color:#4a90c4!important;box-shadow:0 0 0 3px rgba(74,144,196,.12)!important}
#ivyApp .modern-field{padding:10px 12px!important;border:1.5px solid #e2e8f0!important;border-radius:10px!important;font-size:.88rem!important;font-family:'Inter',sans-serif!important;width:100%!important;box-sizing:border-box!important;color:#1e293b!important;outline:none!important}
#ivyApp .modern-field:focus{border-color:#4a90c4!important;box-shadow:0 0 0 3px rgba(74,144,196,.12)!important}

/* REPORTS GLASSMORPHIC CALENDAR */
#ivyApp #reports-container{font-family:'Inter',sans-serif!important;padding:0 24px!important}
#ivyApp #calendarNav{display:flex!important;justify-content:center!important;align-items:center!important;gap:16px!important;margin-bottom:20px!important}
#ivyApp #calendarMonthHeader{font-weight:700!important;font-size:1.4rem!important;text-align:center!important;color:#2c6fa0!important;font-family:'Inter',sans-serif!important}
#ivyApp #prevMonth,#ivyApp #nextMonth{background:rgba(255,255,255,.7)!important;color:#4a90c4!important;border:1.5px solid rgba(226,232,240,.6)!important;padding:8px 16px!important;border-radius:10px!important;font-weight:500!important;font-family:'Inter',sans-serif!important;cursor:pointer!important;transition:all .25s ease!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
#ivyApp #prevMonth:hover,#ivyApp #nextMonth:hover{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;border-color:#4a90c4!important;box-shadow:0 4px 12px rgba(74,144,196,.2)!important}

/* Day Headers */
#ivyApp #calendarDayHeaders{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:6px!important;padding:0 12px!important;margin-bottom:6px!important}
#ivyApp .calendar-day-label{font-weight:600!important;text-align:center!important;padding:10px 0!important;background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;border-radius:10px!important;font-size:.72rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;font-family:'Inter',sans-serif!important;box-shadow:0 2px 6px rgba(74,144,196,.12)!important}

/* Calendar Grid */
#ivyApp #calendarGrid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:6px!important;padding:0 12px!important}
#ivyApp .calendar-cell{background:rgba(255,255,255,.65)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border:1px solid rgba(226,232,240,.5)!important;border-radius:12px!important;padding:10px 8px!important;font-size:.78rem!important;min-height:85px!important;box-shadow:0 1px 4px rgba(74,144,196,.04),inset 0 1px 0 rgba(255,255,255,.6)!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;transition:all .3s ease!important;font-family:'Inter',sans-serif!important;position:relative!important}
#ivyApp .calendar-cell:hover{border-color:rgba(74,144,196,.3)!important;box-shadow:0 4px 16px rgba(74,144,196,.08),0 0 0 1px rgba(74,144,196,.2)!important;transform:translateY(-2px)!important;background:rgba(255,255,255,.85)!important}
#ivyApp .calendar-cell strong{font-weight:700!important;margin-bottom:4px!important;color:#2c6fa0!important;font-size:.92rem!important;font-family:'Inter',sans-serif!important}
#ivyApp .calendar-cell span.no-activity{font-style:italic!important;color:#c1c9d4!important;font-size:.72rem!important}
#ivyApp .calendar-cell .classification-line{display:block!important;line-height:1.4!important;margin:2px 0!important;padding:2px 8px!important;color:#1e293b!important;font-size:.7rem!important;background:rgba(244,246,249,.8)!important;border-radius:6px!important;cursor:default!important;transition:all .2s ease!important;font-weight:500!important;position:relative!important}
#ivyApp .calendar-cell .classification-line:hover{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#fff!important;transform:scale(1.02)!important}

/* Calendar Tooltip */
#ivyApp .ivy-tooltip{position:absolute!important;bottom:calc(100% + 8px)!important;left:50%!important;transform:translateX(-50%)!important;background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;padding:10px 14px!important;border-radius:10px!important;font-size:.75rem!important;font-family:'Inter',sans-serif!important;box-shadow:0 8px 24px rgba(74,144,196,.3)!important;z-index:100!important;white-space:pre-line!important;pointer-events:none!important;opacity:0!important;transition:opacity .2s ease!important;border:1px solid rgba(74,144,196,.25)!important;line-height:1.5!important;max-width:220px!important}
#ivyApp .ivy-tooltip::after{content:''!important;position:absolute!important;top:100%!important;left:50%!important;transform:translateX(-50%)!important;border:6px solid transparent!important;border-top-color:#3a7cb8!important}
#ivyApp .classification-line:hover .ivy-tooltip{opacity:1!important}

/* REPORT SECTIONS (Accordion) */
#ivyApp .report-row{display:flex!important;flex-wrap:wrap!important;gap:16px!important;margin-bottom:20px!important}
#ivyApp .report-row .report-section{flex:1!important;min-width:280px!important}
#ivyApp .report-section{margin:20px auto!important;max-width:600px!important;background:rgba(255,255,255,.7)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;padding:24px!important;border-radius:14px!important;box-shadow:0 1px 4px rgba(74,144,196,.04),inset 0 1px 0 rgba(255,255,255,.6)!important;border:1px solid rgba(226,232,240,.5)!important;font-family:'Inter',sans-serif!important}
#ivyApp .report-section h3{margin:0 0 12px!important;color:#2c6fa0!important;font-weight:700!important;font-size:.95rem!important;display:flex!important;align-items:center!important;gap:8px!important;font-family:'Inter',sans-serif!important}
#ivyApp .report-section h3::before{content:''!important;display:inline-block!important;width:3px!important;height:18px!important;background:linear-gradient(180deg,#4a90c4,#7ab3de)!important;border-radius:2px!important}
#ivyApp .report-list{list-style:none!important;padding-left:0!important;margin:0!important}
#ivyApp .report-list li{padding:0!important;font-size:.9rem!important;color:#1e293b!important;border-bottom:1px solid rgba(226,232,240,.5)!important;font-family:'Inter',sans-serif!important}
#ivyApp .report-list li:last-child{border-bottom:none!important}

/* Accordion */
#ivyApp .accordion-header{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:10px 0!important;cursor:pointer!important;transition:color .2s ease!important;user-select:none!important}
#ivyApp .accordion-header:hover{color:#4a90c4!important}
#ivyApp .accordion-header .acc-label{font-weight:500!important}
#ivyApp .accordion-header .acc-count{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;padding:2px 10px!important;border-radius:20px!important;font-size:.72rem!important;font-weight:600!important;min-width:28px!important;text-align:center!important;display:inline-block!important}
#ivyApp .accordion-arrow{font-size:.65rem!important;transition:transform .25s ease!important;color:#64748b!important;margin-left:8px!important}
#ivyApp .accordion-header.open .accordion-arrow{transform:rotate(180deg)!important}
#ivyApp .accordion-body{max-height:0!important;overflow:hidden!important;transition:max-height .35s cubic-bezier(.4,0,.2,1),padding .35s ease!important;padding:0 0 0 12px!important}
#ivyApp .accordion-body.open{max-height:300px!important;padding:4px 0 10px 12px!important;overflow-y:auto!important}
#ivyApp .accordion-body .acc-patient{padding:3px 0!important;font-size:.82rem!important;color:#64748b!important;border-left:2px solid #e2e8f0!important;padding-left:10px!important;margin:2px 0!important;transition:border-color .2s ease,color .2s ease!important}
#ivyApp .accordion-body .acc-patient:hover{border-left-color:#4a90c4!important;color:#4a90c4!important}

/* Generate Excel */
#ivyApp #btn_generate_excel{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;font-weight:600!important;padding:14px 28px!important;border-radius:12px!important;border:none!important;font-size:.9rem!important;font-family:'Inter',sans-serif!important;cursor:pointer!important;transition:all .25s ease!important;box-shadow:0 2px 8px rgba(74,144,196,.15)!important;letter-spacing:.03em!important}
#ivyApp #btn_generate_excel:hover{box-shadow:0 8px 24px rgba(74,144,196,.25)!important;transform:translateY(-2px)!important}

/* Report Layout */
#ivyApp .report-layout{display:flex!important;gap:30px!important;padding:24px!important;flex-wrap:wrap!important;align-items:flex-start!important}
#ivyApp .report-sidebar{flex:1!important;max-width:300px!important;min-width:220px!important;font-family:'Inter',sans-serif!important;font-size:.88rem!important}
#ivyApp .report-chart-container{flex:2!important;min-width:300px!important}
#ivyApp .filter-group{margin-bottom:16px!important;border-radius:12px!important;border:1px solid rgba(226,232,240,.5)!important;background:rgba(255,255,255,.7)!important;backdrop-filter:blur(12px)!important;box-shadow:0 1px 4px rgba(74,144,196,.04)!important;padding:14px 16px!important}
#ivyApp .filter-group h4{margin:0 0 8px!important;font-size:.7rem!important;font-weight:600!important;color:#4a90c4!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-family:'Inter',sans-serif!important}
#ivyApp .filter-options{max-height:140px!important;overflow-y:auto!important;padding-right:5px!important}
#ivyApp .filter-options label{display:block!important;margin:5px 0!important;cursor:pointer!important;white-space:nowrap!important;color:#1e293b!important;font-size:.82rem!important;font-family:'Inter',sans-serif!important}

/* Labs */
#ivyApp #labsTableWrapper{overflow-x:auto!important;max-width:100%!important;position:relative!important}
#ivyApp .right-scroll-shadow{position:absolute!important;top:0!important;right:0!important;width:24px!important;height:100%!important;background:linear-gradient(to left,rgba(74,144,196,.06),transparent)!important;pointer-events:none!important;z-index:10!important}
#ivyApp .labs-table{border-collapse:collapse!important;font-family:'Inter',sans-serif!important;font-size:.82rem!important;table-layout:fixed!important;min-width:800px!important;width:100%!important;border:1px solid #e2e8f0!important}
#ivyApp .labs-table th:first-child,#ivyApp .labs-table td:first-child{position:sticky!important;left:0!important;background:#fff!important;z-index:2!important;white-space:nowrap!important;box-shadow:2px 0 6px rgba(74,144,196,.04)!important;width:200px!important;font-weight:500!important}
#ivyApp .labs-table th,#ivyApp .labs-table td{border-top:1px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important;border-right:1px solid rgba(226,232,240,.5)!important;padding:8px 12px!important;text-align:center!important;min-width:200px!important;white-space:nowrap!important}
#ivyApp .labs-table th{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;font-weight:600!important;color:#ffffff!important;font-size:.75rem!important;text-transform:uppercase!important}
#ivyApp .labs-table td[colspan]{background:#f4f6f9!important;font-weight:600!important;text-align:left!important;color:#2c6fa0!important}
#ivyApp .labs-table td{background:#fff!important}
#ivyApp .labs-table td.editing{background:rgba(74,144,196,.12)!important;box-shadow:inset 0 0 0 1.5px #4a90c4!important}
#ivyApp .labs-table td.saved{background:rgba(16,185,129,.12)!important;transition:background-color .5s ease!important}

/* Baseline */
#ivyApp #baselineConsultation p{font-size:.9rem!important;margin-bottom:12px!important;line-height:1.5!important;color:#1e293b!important;font-family:'Inter',sans-serif!important}
#ivyApp #baselineConsultation strong{font-weight:500!important;color:#2c6fa0!important}
#ivyApp #detailFH,#ivyApp #detailPMH{font-size:.9rem!important;color:#1e293b!important;line-height:1.5!important}
#ivyApp .scrollable-block{max-height:180px!important;overflow-y:auto!important;padding-right:6px!important;font-size:.88rem!important;line-height:1.5!important}

/* Camera */
#ivyApp .photo-capture-card{margin-top:20px!important;padding:20px!important;background:#f8f9fb!important;border:1px solid #e2e8f0!important;border-radius:14px!important;font-family:'Inter',sans-serif!important}
#ivyApp .photo-capture-card h4{margin:0 0 16px!important;font-size:.78rem!important;color:#4a90c4!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:600!important}
#ivyApp .photo-preview-area{display:flex!important;flex-direction:column!important;align-items:center!important}
#ivyApp #cameraStream,#ivyApp #photoCanvas,#ivyApp #photoPreview{display:none!important;width:100%!important;max-width:300px!important;border-radius:12px!important;margin-bottom:10px!important}
#ivyApp .photo-button-group{display:flex!important;flex-wrap:wrap!important;gap:10px!important;justify-content:center!important;margin-top:12px!important}
#ivyApp .photo-button-group input[type="file"]{padding:8px 14px!important;font-size:.85rem!important;font-family:'Inter',sans-serif!important;border:1.5px solid #e2e8f0!important;border-radius:10px!important;background:#fff!important;cursor:pointer!important}
#ivyApp .photo-button-group button{background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;border:none!important;border-radius:10px!important;padding:10px 16px!important;font-size:.85rem!important;font-family:'Inter',sans-serif!important;cursor:pointer!important;transition:all .25s ease!important}
#ivyApp .photo-button-group button:hover{box-shadow:0 4px 12px rgba(74,144,196,.2)!important;transform:translateY(-1px)!important}
#ivyApp .photo-edit-btn{position:absolute!important;bottom:38px!important;right:38px!important;background:rgba(74,144,196,.7)!important;backdrop-filter:blur(4px)!important;border:none!important;border-radius:50%!important;padding:6px!important;font-size:1rem!important;cursor:pointer!important;color:#ffffff!important;box-shadow:0 2px 8px rgba(0,0,0,.2)!important;transition:all .25s ease!important}
#ivyApp .photo-edit-btn:hover{background:#4a90c4!important;transform:scale(1.1)!important}

/* Alert */
#ivyAlertBox{position:fixed!important;top:-100px!important;left:50%!important;transform:translateX(-50%)!important;background:linear-gradient(135deg,#4a90c4,#3a7cb8)!important;color:#ffffff!important;padding:14px 28px!important;border-radius:12px!important;box-shadow:0 8px 32px rgba(74,144,196,.3)!important;font-family:'Inter',sans-serif!important;font-size:.88rem!important;font-weight:500!important;z-index:9999!important;opacity:0!important;transition:top .4s cubic-bezier(.4,0,.2,1),opacity .4s ease!important;border:1px solid rgba(74,144,196,.25)!important}
#ivyAlertBox.show{top:40px!important;opacity:1!important}

/* ALL CONSULTATIONS */
#allConsultationsContainer{padding:24px!important;max-width:900px!important;margin:0 auto!important;font-family:'Inter',sans-serif!important}
#allConsultationsContainer .all-consults-header{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:28px!important}
#allConsultationsContainer .all-consults-header h2{font-size:1.3rem!important;font-weight:700!important;color:#2c6fa0!important;margin:0!important;font-family:'Inter',sans-serif!important}
#allConsultationsContainer .consult-count{font-size:.82rem!important;color:#64748b!important;background:#fff!important;padding:4px 12px!important;border-radius:20px!important;border:1px solid #e2e8f0!important;font-weight:500!important;display:inline-block!important}
#allConsultationsContainer .consult-timeline{position:relative!important;padding-left:32px!important}
#allConsultationsContainer .consult-timeline::before{content:''!important;position:absolute!important;top:0!important;left:11px!important;width:2px!important;height:100%!important;background:linear-gradient(180deg,#4a90c4,#dce8f0)!important;border-radius:1px!important;display:block!important}
#allConsultationsContainer .consult-timeline-item{position:relative!important;margin-bottom:20px!important;display:block!important}
#allConsultationsContainer .consult-timeline-item::before{content:''!important;position:absolute!important;left:-25px!important;top:20px!important;width:10px!important;height:10px!important;border-radius:50%!important;background:#4a90c4!important;border:2px solid #fff!important;box-shadow:0 0 0 3px rgba(140,160,179,.2)!important;z-index:1!important;display:block!important}
#allConsultationsContainer .consult-timeline-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;padding:20px 24px!important;box-shadow:0 1px 3px rgba(74,144,196,.06),0 4px 12px rgba(74,144,196,.04)!important;transition:all .25s ease!important;display:block!important}
#allConsultationsContainer .consult-timeline-card:hover{border-color:rgba(74,144,196,.25)!important;box-shadow:0 4px 16px rgba(74,144,196,.08),0 8px 32px rgba(74,144,196,.04)!important;transform:translateX(4px)!important}
#allConsultationsContainer .consult-timeline-date{font-size:.75rem!important;font-weight:600!important;color:#4a90c4!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin:0 0 6px!important;display:block!important}
#allConsultationsContainer .consult-timeline-patient{font-size:1.05rem!important;font-weight:600!important;color:#2c6fa0!important;margin:0 0 4px!important;display:block!important}
#allConsultationsContainer .consult-timeline-meta{font-size:.82rem!important;color:#64748b!important;margin:0 0 10px!important;display:block!important}
#allConsultationsContainer .consult-timeline-body{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px 24px!important;font-size:.85rem!important;color:#1e293b!important}
#allConsultationsContainer .field-label{font-size:.72rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#64748b!important;margin:0 0 2px!important;display:block!important}
#allConsultationsContainer .field-value{margin:0 0 8px!important;line-height:1.4!important;color:#1e293b!important;display:block!important}
#allConsultationsContainer .consult-timeline-badge{display:inline-block!important;margin-top:10px!important;padding:3px 10px!important;border-radius:20px!important;font-size:.68rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#fff!important}
#allConsultationsContainer .consult-timeline-divider{text-align:center!important;padding:16px 0 8px!important;position:relative!important;display:block!important}
#allConsultationsContainer .consult-timeline-divider span{background:#f4f6f9!important;padding:4px 14px!important;font-size:.78rem!important;font-weight:600!important;color:#4a90c4!important;border-radius:20px!important;border:1px solid #e2e8f0!important;position:relative!important;z-index:1!important;display:inline-block!important}

/* Mobile */
@media(max-width:768px){
#ivyApp #patients-container{grid-template-columns:1fr!important}
#ivyApp .patient-card{flex-direction:column!important;align-items:center!important;text-align:center!important}
#ivyApp .photo-wrapper{width:100%!important;max-width:260px!important;aspect-ratio:1/1!important}
#ivyApp .patient-info{align-items:center!important}
#ivyApp .patient-detail-grid{flex-direction:column!important;padding:24px!important;gap:24px!important}
#ivyApp .consultation-history{min-width:unset!important}
#allConsultationsContainer .consult-timeline-body{grid-template-columns:1fr!important}
#ivyApp #calendarDayHeaders{display:none!important}
}
@media(max-width:600px){
#ivyApp .tab-buttons{width:100%!important;justify-content:center!important;flex-wrap:wrap!important}
#ivyApp .top-controls{flex-direction:column!important;align-items:stretch!important}
}
